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,246914 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.
Pela análise rápida, parece ser uma espécie de copiador.
ResponderEliminarFica 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
Obrigado Nuno, já vi para alia as teclas de Load e Save :)
Eliminar