Prev: 42436 Up: Map Next: 42554
42445: Routine at A5CD
Used by the routines at 42436 and 42707.
42445 LD A,(IX+0) A=*IX+0.
42448 BIT 7,A Jump to 42482 if bit 7 of A is not set.
42450 JR Z,42482
42452 AND %01111111 Keep only bits 0-6.
42454 LD D,A D=A.
42455 LD E,(IX+1) E=*IX+1.
42458 INC IX Increment IX by one.
42460 AND %11110000 Keep only bits 4-7.
42462 CP 48 Jump to 42567 if A is equal to 48.
42464 JR Z,42567
42466 CP 32 Jump to 42567 if A is equal to 32.
42468 JR Z,42567
42470 CP 96 Jump to 42567 if A is equal to 96.
42472 JR Z,42567
This entry point is used by the routine at 43066.
42474 CALL 43143 Call 43143.
42477 INC IX Increment IX by one.
42479 OR %00000001 Set bit 0.
42481 RET Return.
42482 CP 32 Jump to 42529 if A is less than 32.
42484 JR C,42529
42486 CP 96 Jump to 43066 if A is greater than 96.
42488 JP NC,43066
42491 CP 64 Jump to 42524 if A is less than 64.
42493 JR C,42524
42495 AND %00011111 Keep only bits 0-4.
42497 INC A Increment A by one.
42498 LD B,A B=A.
42499 PUSH IX HL=IX (using the stack).
42501 POP HL
42502 INC HL Increment HL by one.
42503 LD C,0 C=0.
42505 CALL 43408 Call 43408.
42508 CALL 43447 Call 43447.
42511 DJNZ 42505 Decrease counter by one and loop back to 42505 until counter is zero.
42513 PUSH HL IX=HL (using the stack).
42514 POP IX
42516 LD A,C A=C.
42517 AND A Set flags.
42518 JR NZ,42477 Jump to 42477 if HL is not equal to A.
42520 DEC IX Decrease IX by one.
42522 JR 42477 Jump to 42477.
42524 CALL 43447 Call 43447.
42527 JR 42477 Jump to 42477.
42529 PUSH DE Stash DE on the stack.
42530 LD E,A E=A.
42531 LD D,0 D=0.
42533 LD HL,42333 HL=42333+(DE*2).
42536 ADD HL,DE
42537 ADD HL,DE
42538 LD E,(HL) E=*HL.
42539 INC HL Increment HL by one.
42540 LD D,(HL) D=*HL.
42541 EX DE,HL Exchange the DE and HL registers.
42542 POP DE Restore DE from the stack.
42543 CP 29 Jump to 42435 if A is greater than or equal to 29.
42545 JR NC,42435
42547 CALL 42435 Call 42435.
42550 JR Z,42477 Jump to 42477 if A is equal to 29.
42552 JR 42474 Jump to 42474.
Prev: 42436 Up: Map Next: 42554