Routines |
Prev: DABF | Up: Map | Next: DB7E |
|
||||||||||||
Print_Numbers | DB2E | PUSH AF | Stash AF on the stack. | |||||||||
DB2F | CALL Calculate_ScreenBlockAddress | Call Calculate_ScreenBlockAddress. | ||||||||||
DB32 | POP AF | Restore AF from the stack. | ||||||||||
DB33 | RRCA | RRCA. | ||||||||||
DB34 | LD B,A | B=A. | ||||||||||
This entry point is used by the routines at Print_Score and Print_Level.
|
||||||||||||
Print_Numbers_0 | DB35 | LD A,(DE) | A=*DE. | |||||||||
DB36 | LD C,A | C=A. | ||||||||||
DB37 | AND %11110000 | Keep only bits 4-7. | ||||||||||
DB39 | RRCA | RRCA. | ||||||||||
DB3A | CALL Print_Numbers_1 | Call Print_Numbers_1. | ||||||||||
DB3D | INC HL | Increment HL by one. | ||||||||||
DB3E | LD A,C | A=C. | ||||||||||
DB3F | AND %00001111 | Keep only bits 0-3. | ||||||||||
DB41 | RLCA | RLCA. | ||||||||||
DB42 | RLCA | |||||||||||
DB43 | RLCA | |||||||||||
DB44 | CALL Print_Numbers_1 | Call Print_Numbers_1. | ||||||||||
DB47 | INC DE | Increment DE by one. | ||||||||||
DB48 | INC HL | Increment HL by one. | ||||||||||
DB49 | DJNZ Print_Numbers_0 | Decrease counter by one and loop back to Print_Numbers_0 until counter is zero. | ||||||||||
DB4B | RET | Return. | ||||||||||
Print_Numbers_1 | DB4C | PUSH BC | Stash BC, DE and HL on the stack. | |||||||||
DB4D | PUSH DE | |||||||||||
DB4E | PUSH HL | |||||||||||
DB4F | LD B,$00 | B=00. | ||||||||||
DB51 | LD C,A | C=A. | ||||||||||
DB52 | PUSH HL | Stash HL on the stack. | ||||||||||
DB53 | LD HL,$F2CE | HL=CustomFont. | ||||||||||
DB56 | ADD HL,BC | HL+=BC. | ||||||||||
DB57 | POP DE | Restore DE from the stack. | ||||||||||
DB58 | LD B,$08 | B=08. | ||||||||||
Print_Numbers_2 | DB5A | LD A,(HL) | A=*HL. | |||||||||
DB5B | LD (DE),A | Write A to *DE. | ||||||||||
DB5C | INC HL | Increment HL by one. | ||||||||||
DB5D | LD IX,$D83A | IX=Time. | ||||||||||
DB61 | BIT 1,(IX+$00) | Test bit 1 of *IX+00. | ||||||||||
DB65 | JR Z,Print_Numbers_3 | Jump to Print_Numbers_3 if HL is zero. | ||||||||||
DB67 | LD A,B | Jump to Print_Numbers_3 if B is not equal to 05. | ||||||||||
DB68 | CP $05 | |||||||||||
DB6A | JR NZ,Print_Numbers_3 | |||||||||||
DB6C | PUSH HL | Stash HL on the stack. | ||||||||||
DB6D | EX DE,HL | Exchange the DE and HL registers. | ||||||||||
DB6E | LD DE,$06E0 | HL-=06E0. | ||||||||||
DB71 | SBC HL,DE | |||||||||||
DB73 | EX DE,HL | Exchange the DE and HL registers. | ||||||||||
DB74 | POP HL | Restore HL from the stack. | ||||||||||
DB75 | JR Print_Numbers_4 | Jump to Print_Numbers_4. | ||||||||||
Print_Numbers_3 | DB77 | INC D | Increment D by one. | |||||||||
Print_Numbers_4 | DB78 | DJNZ Print_Numbers_2 | Decrease counter by one and loop back to Print_Numbers_2 until counter is zero. | |||||||||
DB7A | POP HL | Restore HL, DE and BC from the stack. | ||||||||||
DB7B | POP DE | |||||||||||
DB7C | POP BC | |||||||||||
DB7D | RET | Return. |
Prev: DABF | Up: Map | Next: DB7E |