2014-05-31 08:22:15 +00:00
|
|
|
SoftReset::
|
|
|
|
call StopAllSounds
|
|
|
|
call GBPalWhiteOut
|
2015-07-03 19:37:53 +00:00
|
|
|
ld c, 32
|
2014-05-31 08:22:15 +00:00
|
|
|
call DelayFrames
|
|
|
|
; fallthrough
|
|
|
|
|
|
|
|
Init::
|
|
|
|
; Program init.
|
|
|
|
|
|
|
|
; * LCD enabled
|
|
|
|
; * Window tile map at $9C00
|
|
|
|
; * Window display enabled
|
|
|
|
; * BG and window tile data at $8800
|
|
|
|
; * BG tile map at $9800
|
|
|
|
; * 8x8 OBJ size
|
|
|
|
; * OBJ display enabled
|
|
|
|
; * BG display enabled
|
2024-09-24 14:48:10 +00:00
|
|
|
DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << rLCDC_WINDOW_ENABLE) | (1 << rLCDC_SPRITES_ENABLE) | (1 << rLCDC_BG_PRIORITY)
|
2014-05-31 08:22:15 +00:00
|
|
|
|
|
|
|
di
|
|
|
|
|
|
|
|
xor a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [rIF], a
|
|
|
|
ldh [rIE], a
|
|
|
|
ldh [rSCX], a
|
|
|
|
ldh [rSCY], a
|
|
|
|
ldh [rSB], a
|
|
|
|
ldh [rSC], a
|
|
|
|
ldh [rWX], a
|
|
|
|
ldh [rWY], a
|
|
|
|
ldh [rTMA], a
|
|
|
|
ldh [rTAC], a
|
|
|
|
ldh [rBGP], a
|
|
|
|
ldh [rOBP0], a
|
|
|
|
ldh [rOBP1], a
|
2014-05-31 08:22:15 +00:00
|
|
|
|
2024-09-24 14:48:10 +00:00
|
|
|
ld a, 1 << rLCDC_ENABLE
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [rLCDC], a
|
2014-05-31 08:22:15 +00:00
|
|
|
call DisableLCD
|
|
|
|
|
|
|
|
ld sp, wStack
|
|
|
|
|
2024-01-03 15:59:04 +00:00
|
|
|
ld hl, STARTOF(WRAM0)
|
|
|
|
ld bc, SIZEOF(WRAM0)
|
2014-05-31 08:22:15 +00:00
|
|
|
.loop
|
|
|
|
ld [hl], 0
|
|
|
|
inc hl
|
|
|
|
dec bc
|
|
|
|
ld a, b
|
|
|
|
or c
|
|
|
|
jr nz, .loop
|
|
|
|
|
|
|
|
call ClearVram
|
|
|
|
|
2024-01-03 15:59:04 +00:00
|
|
|
ld hl, STARTOF(HRAM)
|
|
|
|
ld bc, SIZEOF(HRAM)
|
2014-05-31 08:22:15 +00:00
|
|
|
call FillMemory
|
|
|
|
|
|
|
|
call ClearSprites
|
|
|
|
|
2020-07-04 02:11:35 +00:00
|
|
|
ld a, BANK(WriteDMACodeToHRAM)
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hLoadedROMBank], a
|
2014-09-14 18:29:18 +00:00
|
|
|
ld [MBC1RomBank], a
|
2014-05-31 08:22:15 +00:00
|
|
|
call WriteDMACodeToHRAM
|
|
|
|
|
|
|
|
xor a
|
2020-11-29 20:17:29 +00:00
|
|
|
ldh [hTileAnimations], a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [rSTAT], a
|
|
|
|
ldh [hSCX], a
|
|
|
|
ldh [hSCY], a
|
|
|
|
ldh [rIF], a
|
2014-05-31 08:22:15 +00:00
|
|
|
ld a, 1 << VBLANK + 1 << TIMER + 1 << SERIAL
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [rIE], a
|
2014-05-31 08:22:15 +00:00
|
|
|
|
|
|
|
ld a, 144 ; move the window off-screen
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hWY], a
|
|
|
|
ldh [rWY], a
|
2014-05-31 08:22:15 +00:00
|
|
|
ld a, 7
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [rWX], a
|
2014-05-31 08:22:15 +00:00
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
ld a, CONNECTION_NOT_ESTABLISHED
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSerialConnectionStatus], a
|
2014-05-31 08:22:15 +00:00
|
|
|
|
2020-07-07 15:10:29 +00:00
|
|
|
ld h, HIGH(vBGMap0)
|
2014-05-31 08:22:15 +00:00
|
|
|
call ClearBgMap
|
2020-07-07 15:10:29 +00:00
|
|
|
ld h, HIGH(vBGMap1)
|
2014-05-31 08:22:15 +00:00
|
|
|
call ClearBgMap
|
|
|
|
|
|
|
|
ld a, rLCDC_DEFAULT
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [rLCDC], a
|
2014-05-31 08:22:15 +00:00
|
|
|
ld a, 16
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSoftReset], a
|
2014-05-31 08:22:15 +00:00
|
|
|
call StopAllSounds
|
|
|
|
|
|
|
|
ei
|
|
|
|
|
2014-06-16 20:25:46 +00:00
|
|
|
predef LoadSGB
|
2014-05-31 08:22:15 +00:00
|
|
|
|
2015-07-22 14:57:31 +00:00
|
|
|
ld a, BANK(SFX_Shooting_Star)
|
2015-08-09 05:32:44 +00:00
|
|
|
ld [wAudioROMBank], a
|
|
|
|
ld [wAudioSavedROMBank], a
|
2014-05-31 08:22:15 +00:00
|
|
|
ld a, $9c
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hAutoBGTransferDest + 1], a
|
2014-05-31 08:22:15 +00:00
|
|
|
xor a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hAutoBGTransferDest], a
|
2014-05-31 08:22:15 +00:00
|
|
|
dec a
|
2014-09-13 07:50:56 +00:00
|
|
|
ld [wUpdateSpritesEnabled], a
|
2014-05-31 08:22:15 +00:00
|
|
|
|
2014-06-16 20:25:46 +00:00
|
|
|
predef PlayIntro
|
2014-05-31 08:22:15 +00:00
|
|
|
|
|
|
|
call DisableLCD
|
|
|
|
call ClearVram
|
|
|
|
call GBPalNormal
|
|
|
|
call ClearSprites
|
|
|
|
ld a, rLCDC_DEFAULT
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [rLCDC], a
|
2014-05-31 08:22:15 +00:00
|
|
|
|
2023-02-26 16:14:21 +00:00
|
|
|
jp PrepareTitleScreen
|
2014-05-31 08:22:15 +00:00
|
|
|
|
2020-06-27 19:32:24 +00:00
|
|
|
ClearVram::
|
2024-01-03 15:59:04 +00:00
|
|
|
ld hl, STARTOF(VRAM)
|
|
|
|
ld bc, SIZEOF(VRAM)
|
2014-05-31 08:22:15 +00:00
|
|
|
xor a
|
|
|
|
jp FillMemory
|
|
|
|
|
|
|
|
|
|
|
|
StopAllSounds::
|
2020-11-05 15:50:30 +00:00
|
|
|
ld a, BANK("Audio Engine 1")
|
2015-08-09 05:32:44 +00:00
|
|
|
ld [wAudioROMBank], a
|
|
|
|
ld [wAudioSavedROMBank], a
|
2014-05-31 08:22:15 +00:00
|
|
|
xor a
|
2015-08-09 05:32:44 +00:00
|
|
|
ld [wAudioFadeOutControl], a
|
|
|
|
ld [wNewSoundID], a
|
|
|
|
ld [wLastMusicSoundID], a
|
2014-05-31 08:22:15 +00:00
|
|
|
dec a
|
|
|
|
jp PlaySound
|