![]() |
Routines |
Prev: 64599 | Up: Map |
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 |