Routines |
Prev: 909E | Up: Map | Next: 9200 |
|
||||
90D0 | DEFB %00011101 | |||
This entry point is used by the routines at Start_1UP_Game and Start_2UP_Game.
|
||||
Intro_Music | 90D1 | DI | Disable interrupts. | |
90D2 | LD A,($B2FA) | If Flag_Sound is zero then return. | ||
90D5 | AND A | |||
90D6 | RET Z | |||
90D7 | LD A,($90D0) | A=90D0. | ||
90DA | AND %00011111 | Keep only bits 0-4. | ||
90DC | LD H,A | H=A. | ||
90DD | AND %00000111 | Keep only bits 0-2. | ||
90DF | LD L,A | L=A. | ||
90E0 | LD IX,$9128 | IX=Intro_Music_Data | ||
The
|
||||
Intro_Music_Loop | 90E4 | LD C,(IX+$00) | C=the next note byte from IX+00. | |
90E7 | XOR A | If the current note is 00 then return. | ||
90E8 | OR C | |||
90E9 | RET Z | |||
90EA | INC IX | Move the index onto the next note. | ||
90EC | LD B,(IX+$00) | B=the next note byte from IX+00. | ||
90EF | INC IX | Move the index onto the next note. | ||
90F1 | LD E,(IX+$00) | E=the next note byte from IX+00. | ||
90F4 | INC IX | Move the index onto the next note. | ||
90F6 | LD D,(IX+$00) | D=the next note byte from IX+00. | ||
90F9 | INC IX | Move the index onto the next note. | ||
90FB | LD A,B | |||
90FC | AND A | |||
90FD | JR NZ,Intro_Music_Play | |||
90FF | INC A | |||
9100 | CP C | |||
9101 | JR NZ,Intro_Music_Play | |||
Introduce a small delay.
|
||||
9103 | LD BC,$0AF4 | BC=0AF4. | ||
Intro_Music_Delay | 9106 | DEC BC | Decrease BC by one. | |
9107 | LD A,B | Jump back to Intro_Music_Delay until BC is zero. | ||
9108 | OR C | |||
9109 | JR NZ,Intro_Music_Delay | |||
Jump back to continue playing the music.
|
||||
910B | JR Intro_Music_Loop | Jump to Intro_Music_Loop. | ||
Process the note data and create the sounds.
|
||||
Intro_Music_Play | 910D | PUSH BC | Stash BC on the stack. | |
910E | LD A,H | |||
910F | OUT ($FE),A | |||
Intro_Music_Delay_1 | 9111 | DEC BC | Decrease BC by one. | |
9112 | LD A,B | Jump back to Intro_Music_Delay_1 until BC is zero. | ||
9113 | OR C | |||
9114 | JR NZ,Intro_Music_Delay_1 | |||
9116 | LD A,L | |||
9117 | OUT ($FE),A | |||
9119 | POP BC | Restore BC from the stack. | ||
911A | PUSH BC | But stash a copy of it back on the stack for the next loop. | ||
Intro_Music_Delay_2 | 911B | DEC BC | Decrease BC by one. | |
911C | LD A,B | Jump back to Intro_Music_Delay_2 until BC is zero. | ||
911D | OR C | |||
911E | JR NZ,Intro_Music_Delay_2 | |||
9120 | POP BC | Restore BC from the stack again. | ||
9121 | DEC DE | Decrease DE by one. | ||
9122 | LD A,D | Jump back to Intro_Music_Play until DE is zero. | ||
9123 | OR E | |||
9124 | JR NZ,Intro_Music_Play | |||
9126 | JR Intro_Music_Loop | Jump to Intro_Music_Loop. | ||
Intro_Music_Data | 9128 | DEFB $6D,$00,$8C,$00 | ||
912C | DEFB $01,$00,$00,$00 | |||
9130 | DEFB $6D,$00,$8C,$00 | |||
9134 | DEFB $01,$00,$00,$00 | |||
9138 | DEFB $81,$00,$76,$00 | |||
913C | DEFB $01,$00,$00,$00 | |||
9140 | DEFB $81,$00,$76,$00 | |||
9144 | DEFB $01,$00,$00,$00 | |||
9148 | DEFB $90,$00,$69,$00 | |||
914C | DEFB $01,$00,$00,$00 | |||
9150 | DEFB $90,$00,$69,$00 | |||
9154 | DEFB $01,$00,$00,$00 | |||
9158 | DEFB $81,$00,$76,$00 | |||
915C | DEFB $01,$00,$00,$00 | |||
9160 | DEFB $81,$00,$76,$00 | |||
9164 | DEFB $01,$00,$00,$00 | |||
9168 | DEFB $6D,$00,$26,$00 | |||
916C | DEFB $01,$00,$00,$00 | |||
9170 | DEFB $6D,$00,$26,$00 | |||
9174 | DEFB $01,$00,$00,$00 | |||
9178 | DEFB $6D,$00,$26,$00 | |||
917C | DEFB $01,$00,$00,$00 | |||
9180 | DEFB $6D,$00,$26,$00 | |||
9184 | DEFB $01,$00,$00,$00 | |||
9188 | DEFB $6D,$00,$26,$00 | |||
918C | DEFB $01,$00,$00,$00 | |||
9190 | DEFB $6D,$00,$26,$00 | |||
9194 | DEFB $01,$00,$00,$00 | |||
9198 | DEFB $6D,$00,$26,$00 | |||
919C | DEFB $01,$00,$00,$00 | |||
91A0 | DEFB $6D,$00,$26,$00 | |||
91A4 | DEFB $01,$00,$00,$00 | |||
91A8 | DEFB $6D,$00,$26,$00 | |||
91AC | DEFB $01,$00,$00,$00 | |||
91B0 | DEFB $6D,$00,$26,$00 | |||
91B4 | DEFB $01,$00,$00,$00 | |||
91B8 | DEFB $6D,$00,$26,$00 | |||
91BC | DEFB $01,$00,$00,$00 | |||
91C0 | DEFB $6D,$00,$26,$00 | |||
91C4 | DEFB $01,$00,$00,$00 | |||
91C8 | DEFB $6D,$00,$25,$01 | |||
91CC | DEFB $01,$00,$00,$00 | |||
91D0 | DEFB $00,$1F,$01,$00 | |||
91D4 | DEFB $00,$00,$00,$00 | |||
91D8 | DEFB $00,$FF,$F0,$00 | |||
91DC | DEFB $00,$00,$00,$00 | |||
91E0 | DEFB $00,$FF,$00,$01 | |||
91E4 | DEFB $03,$06,$0D,$1B | |||
91E8 | DEFB $00,$00,$00,$B6 | |||
91EC | DEFB $6D,$DB,$B6,$6D | |||
91F0 | DEFB $DB,$36,$00,$C0 | |||
91F4 | DEFB $B6,$6D,$DB,$B6 | |||
91F8 | DEFB $6D,$DB,$01,$00 | |||
91FC | DEFB $D8,$B6,$6D,$DB |
Prev: 909E | Up: Map | Next: 9200 |