ROM:0400 ; --------------------------------------------------------------------------- ROM:0400 ; File Name : rom_sprint.bin ROM:0400 ; Format : Binary file ROM:0400 ; Base Address: 0000h Range: 0400h - 0600h Loaded length: 0200h ROM:0400 ROM:0400 ; Processor : z80 [] ROM:0400 ; Target assembler: Zilog Macro Assembler ROM:0400 ROM:0400 ; --------------------------------------------------------------------------- ROM:0400 ROM:0400 ; Segment type: Pure code ROM:0400 segment ROM ; Estos 512 bytes se repiten desde la direccion 0000h hasta la 3FFFh ROM:0400 org 400h ; Desensamblamos solamente la porcion que va desde 0400h a 05FFh. ROM:0400 ei ROM:0401 jp 4 ; Este 4 tiene sentido aqui porque esta parte del codigo esta mapeado tambien en 0000h ROM:0404 ; --------------------------------------------------------------------------- ROM:0404 ld a, 0 ; De hecho, el JP anterior salta a este punto. ROM:0406 out (0BFh), a ; Despaginar la ROM del Sprint? ROM:0406 ; --------------------------------------------------------------------------- ROM:0408 .defb 0,0,0,0,0,0,0,0 ROM:0410 ROM:0410 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ ROM:0410 ROM:0410 ROM:0410 sub_410: ; CODE XREF: sub_480+8Bp ROM:0410 ; sub_480+9Dp ... ROM:0410 ld a, l ROM:0411 xor h ROM:0412 ld l, a ROM:0413 scf ROM:0414 rl h ROM:0416 ROM:0416 loc_416: ; CODE XREF: sub_410+3Cj ROM:0416 ld a, 80h ; 'Ç' ROM:0418 out (7Fh), a ROM:041A ld b, 9 ROM:041C jr nc, loc_421 ROM:041E ld b, 19h ROM:0420 nop ROM:0421 ROM:0421 loc_421: ; CODE XREF: sub_410+Cj ROM:0421 ex af, af' ROM:0422 ROM:0422 loc_422: ; CODE XREF: sub_410:loc_422j ROM:0422 djnz $ ROM:0424 ld a, 7Fh ; '' ROM:0426 in a, (0FEh) ROM:0428 rra ROM:0429 ret nc ROM:042A ld a, c ROM:042B xor 16h ROM:042D ld c, a ROM:042E out (0FEh), a ROM:0430 nop ROM:0431 nop ROM:0432 ld a, 0 ROM:0434 out (7Fh), a ROM:0436 ex af, af' ROM:0437 nop ROM:0438 inc b ROM:0439 inc b ROM:043A inc b ROM:043B jr nc, loc_440 ROM:043D ld b, 13h ROM:043F nop ROM:0440 ROM:0440 loc_440: ; CODE XREF: sub_410+2Bj ROM:0440 ; sub_410:loc_440j ROM:0440 djnz $ ROM:0442 sla h ROM:0444 ret z ROM:0445 nop ROM:0446 nop ROM:0447 nop ROM:0448 ld b, 7 ROM:044A ROM:044A loc_44A: ; CODE XREF: sub_410:loc_44Aj ROM:044A djnz $ ROM:044C jr loc_416 ROM:044C ; End of function sub_410 ROM:044C ROM:044C ; --------------------------------------------------------------------------- ROM:044E .defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ROM:044E .defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ROM:0480 ROM:0480 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ ROM:0480 ROM:0480 ROM:0480 sub_480: ; CODE XREF: ROM:05C2p ROM:0480 ; ROM:loc_5CEp ... ROM:0480 ld h, 1 ROM:0482 ROM:0482 loc_482: ; CODE XREF: sub_480+25j ROM:0482 ld a, 7Fh ; '' ROM:0484 in a, (0FEh) ROM:0486 rra ROM:0487 jr nc, loc_4A8 ROM:0489 exx ROM:048A ld a, c ROM:048B xor b ROM:048C ld c, a ROM:048D out (0FEh), a ROM:048F exx ROM:0490 ld l, 1Eh ROM:0492 ROM:0492 loc_492: ; CODE XREF: sub_480+17j ROM:0492 dec l ROM:0493 jr z, loc_4A8 ROM:0495 in a, (c) ROM:0497 jp m, loc_492 ROM:049A ROM:049A loc_49A: ; CODE XREF: sub_480+20j ROM:049A dec l ROM:049B jr z, loc_4A8 ROM:049D rra ROM:049E in a, (c) ROM:04A0 jp p, loc_49A ROM:04A3 rl h ROM:04A5 jr nc, loc_482 ROM:04A7 ret ROM:04A8 ; --------------------------------------------------------------------------- ROM:04A8 ROM:04A8 loc_4A8: ; CODE XREF: sub_480+7j ROM:04A8 ; sub_480+13j ... ROM:04A8 jp loc_535 ROM:04A8 ; --------------------------------------------------------------------------- ROM:04AB .defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ROM:04C2 ; --------------------------------------------------------------------------- ROM:04C2 nop ; Direccion original de comienzo de SA_BYTES ROM:04C3 nop ROM:04C4 nop ROM:04C5 nop ROM:04C6 ex af, af' ROM:04C7 ld hl, 53Bh ROM:04CA push hl ROM:04CB ld c, 2 ROM:04CD di ROM:04CE nop ROM:04CF ld h, 18h ROM:04D1 ROM:04D1 loc_4D1: ; CODE XREF: sub_480+72j ROM:04D1 ld a, 80h ; 'Ç' ROM:04D3 out (7Fh), a ROM:04D5 ld b, 28h ; '(' ROM:04D7 ROM:04D7 loc_4D7: ; CODE XREF: sub_480:loc_4D7j ROM:04D7 djnz $ ROM:04D9 nop ROM:04DA ld a, 0 ROM:04DC out (7Fh), a ROM:04DE ld b, 22h ; '"' ROM:04E0 ROM:04E0 loc_4E0: ; CODE XREF: sub_480:loc_4E0j ROM:04E0 djnz $ ROM:04E2 ld a, 7Fh ; '' ROM:04E4 in a, (0FEh) ROM:04E6 rra ROM:04E7 ret nc ROM:04E8 nop ROM:04E9 ld a, c ROM:04EA xor 15h ROM:04EC ld c, a ROM:04ED out (0FEh), a ROM:04EF dec hl ROM:04F0 ld a, h ROM:04F1 or l ROM:04F2 jr nz, loc_4D1 ROM:04F4 dec hl ROM:04F5 ld a, 80h ; 'Ç' ROM:04F7 out (7Fh), a ROM:04F9 ld b, 0Bh ROM:04FB ROM:04FB loc_4FB: ; CODE XREF: sub_480:loc_4FBj ROM:04FB djnz $ ROM:04FD nop ROM:04FE ld a, 0 ROM:0500 out (7Fh), a ROM:0502 ld b, 8 ROM:0504 ROM:0504 loc_504: ; CODE XREF: sub_480:loc_504j ROM:0504 djnz $ ROM:0506 ex af, af' ROM:0507 ld l, b ROM:0508 ld h, a ROM:0509 ld c, 1 ROM:050B call sub_410 ROM:050E jr nc, loc_520 ROM:0510 inc de ROM:0511 nop ROM:0512 ROM:0512 loc_512: ; CODE XREF: sub_480+A1j ROM:0512 dec de ROM:0513 ld h, (ix+0) ROM:0516 inc ix ROM:0518 ld a, d ROM:0519 or e ROM:051A jp z, loc_523 ROM:051D call sub_410 ROM:0520 ROM:0520 loc_520: ; CODE XREF: sub_480+8Ej ROM:0520 ret nc ROM:0521 jr loc_512 ROM:0523 ; --------------------------------------------------------------------------- ROM:0523 ROM:0523 loc_523: ; CODE XREF: sub_480+9Aj ROM:0523 ld h, l ROM:0524 call sub_410 ROM:0527 nop ROM:0528 ld b, 8 ROM:052A ROM:052A loc_52A: ; CODE XREF: sub_480:loc_52Aj ROM:052A djnz $ ROM:052C ld a, 80h ; 'Ç' ROM:052E out (7Fh), a ROM:0530 ret ROM:0530 ; --------------------------------------------------------------------------- ROM:0531 .defb 0,0,0,0 ROM:0535 ; --------------------------------------------------------------------------- ROM:0535 ROM:0535 loc_535: ; CODE XREF: sub_480:loc_4A8j ROM:0535 pop hl ROM:0536 xor h ROM:0537 ret ROM:0537 ROM:0538 ; --------------------------------------------------------------------------- ROM:0538 exx ROM:0539 pop bc ROM:053A exx ROM:053B ld a, 0 ROM:053D out (0BFh), a ROM:053D ; --------------------------------------------------------------------------- ROM:053F .defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ROM:0556 ; --------------------------------------------------------------------------- ROM:0556 nop ; Direccion original de comienzo de LD_BYTES ROM:0557 nop ROM:0558 nop ROM:0559 di ROM:055A ld b, 0 ROM:055C ROM:055C loc_55C: ; CODE XREF: ROM:loc_55Cj ROM:055C djnz $ ROM:055E exx ROM:055F push bc ROM:0560 ld bc, 1601h ROM:0563 exx ROM:0564 ex af, af' ROM:0565 ld bc, 538h ROM:0568 push bc ROM:0569 ld c, 0FFh ROM:056B ROM:056B loc_56B: ; CODE XREF: ROM:059Aj ROM:056B ; ROM:05ADj ROM:056B ld a, 2 ROM:056D out (0FEh), a ROM:056F ROM:056F loc_56F: ; CODE XREF: ROM:057Dj ROM:056F ; ROM:0585j ... ROM:056F ld h, 0 ROM:0571 ROM:0571 loc_571: ; CODE XREF: ROM:loc_571j ROM:0571 djnz $ ROM:0573 dec b ROM:0574 ROM:0574 loc_574: ; CODE XREF: ROM:0590j ROM:0574 ld a, 7Fh ; '' ROM:0576 in a, (0FEh) ROM:0578 rra ROM:0579 ret nc ROM:057A ld l, 2Dh ; '-' ROM:057C ROM:057C loc_57C: ; CODE XREF: ROM:0581j ROM:057C dec l ROM:057D jr z, loc_56F ROM:057F in a, (c) ROM:0581 jp m, loc_57C ROM:0584 ROM:0584 loc_584: ; CODE XREF: ROM:058Aj ROM:0584 dec l ROM:0585 jr z, loc_56F ROM:0587 rra ROM:0588 in a, (c) ROM:058A jp p, loc_584 ROM:058D jr nc, loc_56F ROM:058F dec h ROM:0590 jr nz, loc_574 ROM:0592 ld h, 2 ROM:0594 ROM:0594 loc_594: ; CODE XREF: ROM:05B7j ROM:0594 ld a, h ROM:0595 out (0FEh), a ROM:0597 ld l, 1Ah ROM:0599 ROM:0599 loc_599: ; CODE XREF: ROM:059Ej ROM:0599 dec l ROM:059A jr z, loc_56B ROM:059C in a, (c) ROM:059E jp m, loc_599 ROM:05A1 ld a, 10h ROM:05A3 cp l ROM:05A4 jr c, loc_5B9 ROM:05A6 ld a, h ROM:05A7 xor 15h ROM:05A9 ld h, a ROM:05AA ld l, 1Ah ROM:05AC ROM:05AC loc_5AC: ; CODE XREF: ROM:05B1j ROM:05AC dec l ROM:05AD jr z, loc_56B ROM:05AF in a, (c) ROM:05B1 jp p, loc_5AC ROM:05B4 ld a, 10h ROM:05B6 cp l ROM:05B7 jr nc, loc_594 ROM:05B9 ROM:05B9 loc_5B9: ; CODE XREF: ROM:05A4j ROM:05B9 ld a, 0 ROM:05BB out (7Fh), a ROM:05BD ROM:05BD loc_5BD: ; CODE XREF: ROM:05BFj ROM:05BD in a, (c) ROM:05BF jp p, loc_5BD ROM:05C2 call sub_480 ; Comprueba si se pulso SPACE ROM:05C5 ex af, af' ROM:05C6 rl l ROM:05C8 xor h ROM:05C9 ret nz ROM:05CA ld a, h ROM:05CB rr l ROM:05CD ex af, af' ROM:05CE ROM:05CE loc_5CE: ; CODE XREF: ROM:05E8j ROM:05CE call sub_480 ROM:05D1 ex af, af' ROM:05D2 jr nc, loc_5DC ROM:05D4 ld (ix+0), h ROM:05D7 xor h ROM:05D8 scf ROM:05D9 ex af, af' ROM:05DA jr loc_5E3 ROM:05DC ; --------------------------------------------------------------------------- ROM:05DC ROM:05DC loc_5DC: ; CODE XREF: ROM:05D2j ROM:05DC xor h ROM:05DD ex af, af' ROM:05DE ld a, (ix+0) ROM:05E1 xor h ROM:05E2 ret nz ROM:05E3 ROM:05E3 loc_5E3: ; CODE XREF: ROM:05DAj ROM:05E3 inc ix ROM:05E5 dec de ROM:05E6 ld a, d ROM:05E7 or e ROM:05E8 jr nz, loc_5CE ROM:05EA call sub_480 ROM:05ED ex af, af' ROM:05EE xor h ROM:05EF cp 1 ROM:05F1 ret ROM:05F1 ; --------------------------------------------------------------------------- ROM:05F2 .defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0 ROM:0600 ; end of 'ROM' ROM:0600 ROM:0600 ROM:0600 end