Prev: 46453 Up: Map Next: 46749
46503: Initialise: Madrid
Madrid_Initialise 46503 LD IX,25152 IX=25152.
46507 LD B,96 B=96.
Madrid_Initialise_0 46509 LD DE,46330 DE=46330.
46512 LD L,(IX+2) L=*IX+2.
46515 LD H,(IX+3) H=*IX+3.
46518 AND A Set flags.
46519 SBC HL,DE HL-=DE (with carry).
46521 JR Z,Madrid_Initialise_3 Jump to Madrid_Initialise_3 if the result is zero.
Madrid_Initialise_1 46523 PUSH IX Stash IX on the stack.
46525 CALL 38425 Call 38425.
46528 LD A,(39333) A=*39333.
46531 POP IX Restore IX from the stack.
46533 AND (IX+4) Merge the bits of A with *IX+4.
46536 JR Z,Madrid_Initialise_1 Jump to Madrid_Initialise_1 if the result is zero.
46538 CP 64 Jump to Madrid_Initialise_1 if A is equal to 64.
46540 JR Z,Madrid_Initialise_1
Madrid_Initialise_2 46542 LD (IX+4),A Write A to *IX+4.
46545 LD DE,6 IX+=0006.
46548 ADD IX,DE
46550 DJNZ Madrid_Initialise_0 Decrease counter by one and loop back to Madrid_Initialise_0 until counter is zero.
46552 LD HL,31652 Write 31652 to *29276.
46555 LD (29276),HL
46558 LD HL,29280 Write 29280 to *39352.
46561 LD (39352),HL
46564 LD A,1 A=1.
46566 LD (29272),A Write A to *29272.
46569 DEC A Decrease A by one.
46570 LD (39338),A Write A to *39338.
46573 CALL 39209 Call 39209.
46576 LD IX,46627 IX=46627.
46580 LD DE,32 Write 0032 to *37486.
46583 LD (37486),DE
46587 LD DE,29696 Write 29696 to *39352.
46590 LD (39352),DE
46594 LD B,9 B=9.
46596 JP 37414 Jump to 37414.
Madrid_Initialise_3 46599 PUSH IX Stash IX on the stack.
46601 LD DE,65348 DE=65348.
46604 POP HL Restore HL from the stack.
46605 ADD HL,DE HL+=DE.
46606 LD A,(HL) A=*HL.
46607 AND %00000111 Keep only bits 0-2.
46609 RLCA RLCA.
46610 RLCA
46611 RLCA
46612 LD C,A C=A.
46613 LD A,(HL) A=*HL.
46614 AND %00111000 Keep only bits 3-5.
46616 RRCA RRCA.
46617 RRCA
46618 RRCA
46619 LD E,A E=A.
46620 LD A,(HL) A=*HL.
46621 AND %01000000 Keep only bits 6.
46623 OR C Set the bits from C.
46624 OR E Set the bits from E.
46625 JR Madrid_Initialise_2 Jump to Madrid_Initialise_2.
46627 DEFB 80,182,64,124,0,80,182,136
46635 DEFB 124,0,80,182,188,124,0,96
46643 DEFB 182,196,124,0,88,182,6,125
46651 DEFB 0,96,182,12,125,0,80,182
46659 DEFB 14,125,0,80,182,54,125,0
46667 DEFB 88,182,58,125,0,104,182,2
46675 DEFB 2,152,182,0,0,136,182,1
46683 DEFB 1,152,182,0,0,144,182,1
46691 DEFB 1,152,182,0,0,7,31,63
46699 DEFB 63,127,127,255,255,255,127,63
46707 DEFB 63,31,15,7,7,224,248,252
46715 DEFB 252,254,254,255,255,255,254,252
46723 DEFB 252,248,240,224,224,0,3,7
46731 DEFB 15,15,31,31,223,0,192,224
46739 DEFB 240,240,248,248,254,7,7,7
46747 DEFB 7,160
Prev: 46453 Up: Map Next: 46749