![]() |
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 |