![]() |
Routines |
| Prev: 21746 | Up: Map | Next: 22000 |
|
Continues from the routine at 33204. Counts down from 9 to 0, giving the user a chance to set the input method and change the characters' names before the game starts.
|
||||||||||||
| 21920 | LDIR | Copy 256 bytes from 23296 to 33024 | ||||||||||
| 21922 | LD H,88 | INK 1: PAPER 1 | ||||||||||
| 21924 | LD B,3 | |||||||||||
| 21926 | LD D,H | |||||||||||
| 21927 | INC E | |||||||||||
| 21928 | LD (HL),9 | |||||||||||
| 21930 | LDIR | |||||||||||
| 21932 | LD HL,23611 | Reset bit 5 at 23611, ready for future keypresses | ||||||||||
| 21935 | RES 5,(HL) | |||||||||||
| 21937 | EXX | Point HL' at the last byte of the graphic data for the digit '9' in the ROM | ||||||||||
| 21938 | LD HL,15823 | |||||||||||
| 21941 | EXX | |||||||||||
| 21942 | LD DE,1084 | Wait approximately one second | ||||||||||
| 21945 | DJNZ 21945 | |||||||||||
| 21947 | DEC DE | |||||||||||
| 21948 | LD A,D | |||||||||||
| 21949 | OR E | |||||||||||
| 21950 | JR NZ,21945 | |||||||||||
| 21952 | LD HL,23020 | 23020 is the attribute file address where the bottom row of 'big pixels' will be drawn | ||||||||||
| 21955 | LD DE,65496 | DE=-40 | ||||||||||
| 21958 | LD C,8 | There are 8 pixel rows per countdown digit | ||||||||||
| 21960 | EXX | |||||||||||
| 21961 | BIT 7,L | Set the zero flag when HL' hits 15743 | ||||||||||
| 21963 | LD A,(HL) | Pick up a digit pixel row byte | ||||||||||
| 21964 | DEC HL | Move HL' to the next pixel row up | ||||||||||
| 21965 | EXX | |||||||||||
| 21966 | JP Z,21737 | Start the game if we've already printed '0' | ||||||||||
| 21969 | LD B,8 | There are 8 bits per pixel row | ||||||||||
| 21971 | LD (HL),9 | INK 1: PAPER 1 (blue) for a reset pixel | ||||||||||
| 21973 | RLCA | Is this a reset pixel? | ||||||||||
| 21974 | JR NC,21978 | Jump if so | ||||||||||
| 21976 | LD (HL),36 | INK 4: PAPER 4 (green) for a set pixel | ||||||||||
| 21978 | INC HL | Move HL along to the next attribute file address | ||||||||||
| 21979 | DJNZ 21971 | Jump back until all 8 'big pixels' have been drawn | ||||||||||
| 21981 | ADD HL,DE | Move HL back 8 spaces and up one row of the attribute file | ||||||||||
| 21982 | DEC C | Next pixel row | ||||||||||
| 21983 | JR NZ,21960 | Jump back until all 8 pixel rows have been drawn | ||||||||||
| 21985 | CALL 29012 | Make a ticking sound effect | ||||||||||
| 21988 | LD HL,23611 | |||||||||||
| 21991 | BIT 5,(HL) | Reset the zero flag if a key was pressed | ||||||||||
| 21993 | RES 5,(HL) | Reset bit 5 at 23611, ready for future keypresses | ||||||||||
| 21995 | JP NZ,21425 | Jump if a key was pressed | ||||||||||
| 21998 | JR 21942 | Wait roughly one second, then print the next digit | ||||||||||
| Prev: 21746 | Up: Map | Next: 22000 |