Prev: 25622 Up: Map Next: 25734
25640: Start Game
Used by the routine at GameInitialisation.
StartGame 25640 CALL ResetAttributes Call ResetAttributes.
25643 CALL ResetScreen Call ResetScreen.
25646 LD A,(24333) If Sound_Enable is not zero then jump to SkipMusic.
25649 AND A
25650 JR NZ,SkipMusic
25652 LD DE,26056 DE=MusicData.
25655 CALL PlayMusic Call PlayMusic.
SkipMusic 25658 XOR A Write 0 to;
25659 LD (24368),A
25662 LD (24372),A
25665 LD HL,24334 Write 0 to 118 bytes, from 24334 to 24452.
25668 LD (HL),0
25670 LD D,H
25671 LD E,L
25672 INC DE
25673 LD BC,118
25676 LDIR
25678 CALL PlayersInit Call PlayersInit.
25681 CALL 29062 Call 29062.
25684 CALL GameInit Call GameInit.
This entry point is used by the routine at 29080.
MainLoopResetStack 25687 LD SP,24320 Set the stack pointer to SecurityCheck.
25690 EI Enable interrupts.
25691 LD IX,24405 IX=BufferIngredients.
25695 XOR A Write 0 to 24347 to reset the current nasties.
25696 LD (24347),A
This entry point is used by the routines at FrameUpdate and 29080.
MainLoop 25699 LD A,(23672) Compare FRAMES and LastFrame.
25702 LD C,A
25703 LD A,(24354)
If interrupts are enabled, then FrameUpdate will be called and DI executed.
25706 CP C If they are not equal call FrameUpdate.
25707 CALL NZ,FrameUpdate
25710 LD HL,29091 HL=29091.
25713 PUSH HL Stash HL on the stack.
25714 LD HL,25734 HL=25734.
25717 LD A,(IX+0) A=IX+0.
This entry point is used by the routine at 26088.
StartGame_0 25720 RLCA A=A * 2.
25721 AND %01111110 Keep only bits 1-6.
25723 LD C,A Create an offset in BC.
25724 LD B,0
25726 ADD HL,BC HL=HL + offset.
25727 LD A,(HL)
25728 INC HL Increment HL by one.
25729 LD H,(HL)
25730 LD L,A
25731 JP 23728 Jump to NMIADD which should just jump to the address in HL.
View the equivalent code in;
Prev: 25622 Up: Map Next: 25734