![]() |
Routines |
Prev: 61618 | Up: Map |
Used by the routine at 30989. Ends the cutscene by entering demo mode or resuming the game in the next mode.
|
||||||||
61630 | CALL 60121 | Check the keyboard (to flush any recent keypress) | ||||||
61633 | LD HL,(32670) | 32670 holds the number of bucks Sam has left | ||||||
61636 | LD A,H | Has Sam's cash supply run out? | ||||||
61637 | OR L | |||||||
61638 | JR Z,61651 | Jump if so | ||||||
61640 | LD HL,32607 | Set every bit of the screen refresh buffer so that the entire display will be updated | ||||||
61643 | LD (HL),255 | |||||||
61645 | DEC L | |||||||
61646 | JR NZ,61643 | |||||||
61648 | JP 60032 | Update the display | ||||||
Sam is out of money, so it must be the end of the game. Time to check for a new high score and enter demo mode.
|
||||||||
61651 | LD HL,(65516) | Collect the old high score from 65516 | ||||||
61654 | LD DE,(32668) | Collect the score from 32668 | ||||||
61658 | SBC HL,DE | Do we have a new high score? | ||||||
61660 | JR NC,61671 | Jump if not | ||||||
61662 | LD (65516),DE | Otherwise set the new high score | ||||||
61666 | JR 61671 | Jump forward to enter demo mode | ||||||
61668 | CALL 56576 | This startup routine prepares the bottom 4 lines of the screen just after the game has loaded | ||||||
61671 | XOR A | A=0 (demo mode) | ||||||
61672 | JR 61676 | |||||||
This entry point is used by the routine at 31126 to start a new game.
|
||||||||
61674 | LD A,1 | A=1 (new game) | ||||||
61676 | LD (65518),A | Store the game mode (0 or 1) at 65518, from where it will be copied to 32750 | ||||||
61679 | LD SP,23898 | Reset the stack pointer | ||||||
61682 | NOP | |||||||
61683 | CALL 63662 | Prepare for demo mode or a new game | ||||||
61686 | JP 61503 | Enter the main loop |
Prev: 61618 | Up: Map |