Routines |
Prev: 64599 | Up: Map | Next: 64738 |
Used by the routine at 64338 to scroll the screen up and down a row 7 times when Sam hits the ground after being dropped from the roof of a building by a gangster.
|
||||
64618 | LD HL,59552 | Change the instruction at 59552 to RET | ||
64621 | LD (HL),201 | |||
64623 | LD L,220 | Change the instruction at 59612 to RET | ||
64625 | LD (HL),201 | |||
64627 | LD HL,59372 | Set the instruction at 59371 to 'LD BC,32' | ||
64630 | LD (HL),32 | |||
64632 | LD L,239 | Set the instruction at 59374 to 'LDIR' | ||
64634 | LD (HL),176 | |||
64636 | LD H,7 | We will scroll the screen up and down a row 7 times | ||
64638 | PUSH HL | Save the scroll counter | ||
64639 | LD HL,16384 | Save the top 8 rows of pixels on the screen in page 126 | ||
64642 | LD DE,32256 | |||
64645 | LD BC,32 | |||
64648 | LD A,8 | |||
64650 | LDIR | |||
64652 | INC H | |||
64653 | LD L,B | |||
64654 | LD C,32 | |||
64656 | DEC A | |||
64657 | JR NZ,64650 | |||
64659 | LD H,88 | Save the top row of attribute bytes (22528-22559) in the first 32 bytes of the screen refresh buffer at 32512 | ||
64661 | LDIR | |||
64663 | CALL 59528 | Scroll the screen up a row | ||
64666 | LD HL,20576 | Fill the top line of bytes on the 20th row of the screen with 9s; this is a bug | ||
64669 | LD B,32 | |||
64671 | LD (HL),9 | |||
64673 | INC L | |||
64674 | DJNZ 64671 | |||
64676 | POP HL | Restore the scroll counter (1-7) to H | ||
64677 | PUSH HL | Save the scroll counter again | ||
64678 | LD A,H | Prepare the sound effect parameters | ||
64679 | LD DE,384 | |||
64682 | LD C,192 | |||
64684 | CALL 64740 | Make a sound effect | ||
64687 | CALL 59587 | Scroll the screen down a row | ||
64690 | LD HL,32256 | Restore the top 8 rows of pixels on the screen from page 126 | ||
64693 | LD DE,16384 | |||
64696 | LD A,8 | |||
64698 | LD C,32 | |||
64700 | LDIR | |||
64702 | INC D | |||
64703 | LD E,B | |||
64704 | LD C,32 | |||
64706 | DEC A | |||
64707 | JR NZ,64700 | |||
64709 | LD D,88 | Restore the top row of attribute bytes (22528-22559) from where they were saved earlier | ||
64711 | LDIR | |||
64713 | POP HL | Restore the scroll counter (1-7) to H | ||
64714 | LD DE,256 | Prepare the sound effect parameters | ||
64717 | LD C,96 | |||
64719 | LD A,H | |||
64720 | CALL 64740 | Make a sound effect | ||
64723 | DEC H | Decrement the scroll counter | ||
64724 | JR NZ,64638 | Jump back until we've scrolled the screen up and down 7 times | ||
64726 | LD HL,59552 | Change the instruction at 59552 back to 'LD HL,32767' | ||
64729 | LD (HL),33 | |||
64731 | LD L,220 | Change the instruction at 59612 back to 'LD HL,32767' | ||
64733 | LD (HL),33 | |||
64735 | JP 64582 | Regenerate the table of mirrored values of 0-255 at 32256 |
Prev: 64599 | Up: Map | Next: 64738 |