quinta-feira, 18 de abril de 2024

Sigma 2 (MIA)


Para este último programa que sacámos das cassetes que o José Miguel ofereceu ao Museu LOAD ZX, necessitamos da ajuda da comunidade. Aparentemente parece ser mais um copiador, ou talvez um compactador ou codificador anti-pirataria, ou até algo semelhante. Quem nos ajuda?

Eis a listagem:

46912 62 2 LD A,2
46914 205 1 22 CALL 5633
46917 17 104 91 LD DE,23400
46920 1 43 0 LD BC,43
46923 205 58 91 CALL 23354
46926 62 7 LD A,7
46928 211 254 OUT (254),A
46930 245 PUSH AF
46931 33 1 0 LD HL,1
46934 34 94 91 LD (23390),HL
46937 205 142 2 CALL 654
46940 123 LD A,E
46941 254 255 CP 255
46943 32 21 JR NZ,46966
46945 42 94 91 LD HL,(23390)
46948 43 DEC HL
46949 34 94 91 LD (23390),HL
46952 124 LD A,H
46953 181 OR L
46954 0 NOP
46955 0 NOP
46956 0 NOP
46957 32 234 JR NZ,46937
46959 43 DEC HL
46960 241 POP AF
46961 61 DEC A
46962 32 220 JR NZ,46928
46964 24 216 JR 46926
46966 241 POP AF
46967 195 8 64 JP 16392
46970 120 LD A,B
46971 177 OR C
46972 11 DEC BC
46973 200 RET Z
46974 33 208 7 LD HL,2000
46977 43 DEC HL
46978 26 LD A,(DE)
46979 203 39 SLA A
46981 203 39 SLA A
46983 203 39 SLA A
46985 211 254 OUT (254),A
46987 124 LD A,H
46988 181 OR L
46989 32 242 JR NZ,46977
46991 26 LD A,(DE)
46992 19 INC DE
46993 215 RST 16
46994 24 230 JR 46970
46996 0 NOP
46997 0 NOP
46998 0 NOP
46999 0 NOP
47000 0 NOP
47001 0 NOP
47002 0 NOP
47003 0 NOP
47004 0 NOP
47005 0 NOP
47006 1 0 0 LD BC,0
47009 0 NOP
47010 0 NOP
47011 0 NOP
47012 0 NOP
47013 0 NOP
47014 0 NOP
47015 0 NOP
47016 16 INK 6
47018 22 line 20
47020 1
47021 (c) Pegasus Software
47039 16 INK 3
47041 22 line 21
47043 1
47044 Tecle uma tecla

Poderão aqui descarregar este programa, que parece ter origem nacional.

2 comentários:

  1. Nuno Cardoso19/4/24 12:29

    Pela análise rápida, parece ser uma espécie de copiador.
    Fica aqui uma listagem mais completa, dado que uma parte do código estava na inicio do screen e o endereço de memoria da rotina inicial começa em 23296:

    16392 LD SP,16392
    16395 LD IX,16455
    16399 LD DE,65535
    16402 SCF
    16403 INC D
    16404 EX AF,AF'
    16405 DEC D
    16406 DI
    16407 LD HL,16413
    16410 JP 01377;LD_HEADERLESS

    16413 LD HL,65535
    16416 AND A
    16417 SBC HL,DE
    16419 DEC HL
    16420 DEC HL
    16421 LD (16393),HL
    16424 CALL 00654;KEY-SCAN

    16427 LD A,E
    16428 CP 009;key ´J´
    16430 JR Z,16395

    16432 CP 030;key 'S'
    16434 JR NZ,16424
    16436 LD A,(16455)
    16439 LD DE,(16393)
    16443 LD IX,16456
    16447 LD HL,16424
    16450 JP 01221;SA_BYTES

    ;start

    23296 LD A,002
    23298 CALL 05633;CHAN-OPEN

    23301 LD DE,23400
    23304 LD BC,00043
    23307 CALL 23354

    23310 LD A,007
    23312 OUT (254),A
    23314 PUSH AF
    23315 LD HL,00001
    23318 LD (23390),HL
    23321 CALL 00654;KEY-SCAN

    23324 LD A,E
    23325 CP 255
    23327 JR NZ,23350

    23329 LD HL,(23390)
    23332 DEC HL
    23333 LD (23390),HL
    23336 LD A,H
    23337 OR L
    23338 NOP
    23339 NOP
    23340 NOP
    23341 JR NZ,23321

    23343 DEC HL
    23344 POP AF
    23345 DEC A
    23346 JR NZ,23312

    23348 JR 23310

    23350 POP AF
    23351 JP 16392

    23354 LD A,B
    23355 OR C
    23356 DEC BC
    23357 RET Z

    23358 LD HL,02000
    23361 DEC HL
    23362 LD A,(DE)
    23363 SLA A
    23365 SLA A
    23367 SLA A
    23369 OUT (254),A
    23371 LD A,H
    23372 OR L
    23373 JR NZ,23361

    23375 LD A,(DE)
    23376 INC DE
    23377 RST 016,PRINT-A-1
    23378 JR 23354

    23380 defb 0,0,0,0,0,0,0,0,0,0
    23390 defb 01,00,00
    23393 defb 0,0,0,0,0,0,0
    23400 defb,(INK 6),(line 20),/n,(c) Pegasus Software, (INK 3), (line 21),/n, Tecle uma tecla

    ResponderEliminar
    Respostas
    1. Obrigado Nuno, já vi para alia as teclas de Load e Save :)

      Eliminar