Prev: F81C Up: Map Next: F913
F842: Run demo.
Input
Output
Demo F842 XOR A Check for an 'any key' press.
F843 IN A,($FE)
F845 OR $E0
F847 CP $FF
F849 JP NZ,Game_Start
F84C LD HL,(Demo_NextPtr)
F84F LD A,(HL)
F850 INC HL
F851 CP $FF
F853 JR NZ,Demo_0
F855 LD A,(HL)
F856 INC HL
F857 CP $FF End of demo.
F859 JP Z,Main_Title
F85C LD (Wally_RoomNo),A Start a new room based on data.
F85F LD E,(HL)
F860 INC HL
F861 LD D,(HL)
F862 INC HL
F863 LD (Demo_NextPtr),HL
F866 LD (Wally_X),DE
F86A CALL Wally_Reset
F86D CALL Room_Enter
F870 JP Demo_10
Demo_0 F873 PUSH AF
F874 PUSH HL
F875 LD A,(Wally_CharAligned)
F878 OR A
F879 JR NZ,Demo_1
F87B LD HL,(Wally_X) Check colour of the tile Wally(x+1, y+1) and store it.
F87E LD A,L
F87F ADD A,$08
F881 LD L,A
F882 LD A,H
F883 ADD A,$20
F885 LD H,A
F886 CALL A=ATTR(pixel_HY, pixel_LX)
F889 LD (Wally_ATTR),A
F88C LD A,($AE35)
F88F LD (Wally_ATTRAlt),A
F892 JR Demo_2
Demo_1 F894 LD A,($AE38)
F897 LD (Wally_ATTRAlt),A
F89A LD (Wally_ATTR),A
Demo_2 F89D LD A,(Wally_JumpDir)
F8A0 OR A
F8A1 JR NZ,Demo_3
F8A3 LD A,(Wally_ATTR)
F8A6 CP $45 Bright Cyan
F8A8 JR Z,Demo_3
F8AA CP $42 Bright Red
F8AC JR Z,Demo_3
F8AE LD A,$01
F8B0 LD (Wally_Falling),A
Demo_3 F8B3 POP HL
F8B4 LD A,(Wally_Falling)
F8B7 OR A
F8B8 JR Z,Demo_4
F8BA CALL Wally_CheckFall
F8BD POP AF
F8BE JP Demo_10
Demo_4 F8C1 LD A,(Wally_JumpDir)
F8C4 OR A
F8C5 JR NZ,Demo_9
F8C7 LD (Demo_NextPtr),HL
F8CA POP AF
F8CB OR A
F8CC JR NZ,Demo_5
F8CE DEC A
F8CF LD (Wally_Dir),A
F8D2 CALL Wally_MoveLeft
F8D5 JP Demo_10
Demo_5 F8D8 CP $01
F8DA JR NZ,Demo_6
F8DC LD (Wally_Dir),A
F8DF CALL Wally_Move
F8E2 JP Demo_10
Demo_6 F8E5 CP $FE
F8E7 JR NZ,Demo_7
F8E9 JP Action10_LiftOffFromEarth
Demo_7 F8EC CP $FD
F8EE JR NZ,Demo_8
F8F0 JP Action11_LiftOffFromMoon
Demo_8 F8F3 CALL Wally_JumpDemoEntry
F8F6 JP Demo_10
Demo_9 F8F9 POP AF
F8FA CALL Wally_JumpHandlerEntry
F8FD LD A,(Wally_JumpDir)
F900 OR A
F901 JR NZ,Demo_10
F903 LD HL,(Demo_NextPtr)
F906 INC HL
F907 LD (Demo_NextPtr),HL
This entry point is used by the routine at Action_LiftRocket.
Demo_10 F90A CALL Room_EventCaller
F90D CALL Pause_Short
F910 JP Demo
Prev: F81C Up: Map Next: F913