Routines |
Prev: 21494 | Up: Map | Next: 21746 |
Continues from 21425.
|
||||
21664 | CALL 29154 | Wait for a keypress, and collect its ASCII code in A | ||
21667 | JR Z,21664 | |||
21669 | OR 32 | Convert the keypress to lower case | ||
21671 | CP 99 | Was 'c' (Cursor) pressed? | ||
21673 | JR Z,21705 | Jump if so | ||
21675 | CP 110 | Was 'n' (None) pressed? | ||
21677 | JR Z,21705 | Jump if so | ||
21679 | CP 107 | Was 'k' (Kempston) pressed? | ||
21681 | JR NZ,21690 | Jump if not | ||
21683 | LD A,1 | Set 32748 to 1: using Kempston | ||
21685 | LD (32748),A | |||
21688 | JR 21705 | |||
21690 | CP 105 | Was 'i' (Int2) pressed? | ||
21692 | JR NZ,21664 | Jump back to wait for another keypress if not | ||
21694 | LD HL,21494 | Copy the 10-byte table at 21494 into the keypress offset table at 58624 if Int2 is being used | ||
21697 | LD DE,58624 | |||
21700 | LD BC,10 | |||
21703 | LDIR | |||
The input method has been established. Now prepare the screen for the cast of characters.
|
||||
21705 | LD HL,46849 | Draw a line (the catwalk) across the screen, and set byte 1 of each character's buffer (which holds the character's x-coordinate) to a number between 1 and 32 (so that they are off-screen: the column of the play area at the far left of the screen, stored at 32767, was set to 128 earlier on) | ||
21708 | LD DE,18560 | |||
21711 | LD B,32 | |||
21713 | LD A,255 | |||
21715 | LD (HL),B | |||
21716 | LD (DE),A | |||
21717 | INC H | |||
21718 | INC E | |||
21719 | DJNZ 21715 | |||
21721 | LD HL,53762 | Set byte 2 of ERIC's character buffer (which holds his y-coordinate) to 8; this will be the y-coordinate of the characters as they proceed along the catwalk | ||
21724 | LD (HL),8 | |||
21726 | LD A,248 | Message 248: 'THE CHARACTERS' | ||
21728 | LD HL,16448 | Print this message | ||
21731 | CALL 20668 | |||
21734 | CALL 21152 | Display the main characters and let the user change their names | ||
This entry point is used by the routine at 21920.
|
||||
21737 | LD HL,20650 | Do the POKEs specified by the table at 20650 | ||
21740 | CALL 21408 | |||
21743 | JP 63189 | Start the game |
Prev: 21494 | Up: Map | Next: 21746 |