diff options
Diffstat (limited to 'engine')
| -rwxr-xr-x | engine/dma_transfer.asm | 625 | ||||
| -rw-r--r-- | engine/gbc_only.asm | 149 | ||||
| -rwxr-xr-x | engine/init_gender.asm | 2 | ||||
| -rwxr-xr-x | engine/print_party.asm | 362 | ||||
| -rw-r--r-- | engine/unused_title.asm | 556 | 
5 files changed, 1693 insertions, 1 deletions
| diff --git a/engine/dma_transfer.asm b/engine/dma_transfer.asm new file mode 100755 index 000000000..a0dad0dde --- /dev/null +++ b/engine/dma_transfer.asm @@ -0,0 +1,625 @@ +HDMATransferAttrMapAndTileMapToWRAMBank3:: ; 104000 +	ld hl, .Function +	jp CallInSafeGFXMode + +.Function: +	decoord 0, 0, AttrMap +	ld hl, wScratchAttrMap +	call CutAndPasteAttrMap +	decoord 0, 0 +	ld hl, wScratchTileMap +	call CutAndPasteTilemap +	ld a, $0 +	ld [rVBK], a +	ld hl, wScratchTileMap +	call HDMATransferToWRAMBank3 +	ld a, $1 +	ld [rVBK], a +	ld hl, wScratchAttrMap +	call HDMATransferToWRAMBank3 +	ret +; 10402d + +HDMATransferTileMapToWRAMBank3:: ; 10402d +	ld hl, .Function +	jp CallInSafeGFXMode + +.Function: +	decoord 0, 0 +	ld hl, wScratchTileMap +	call CutAndPasteTilemap +	ld a, $0 +	ld [rVBK], a +	ld hl, wScratchTileMap +	call HDMATransferToWRAMBank3 +	ret +; 104047 + +HDMATransferAttrMapToWRAMBank3: ; 104047 +	ld hl, .Function +	jp CallInSafeGFXMode + +.Function: +	decoord 0, 0, AttrMap +	ld hl, wScratchAttrMap +	call CutAndPasteAttrMap +	ld a, $1 +	ld [rVBK], a +	ld hl, wScratchAttrMap +	call HDMATransferToWRAMBank3 +	ret +; 104061 + +ReloadMapPart:: ; 104061 +	ld hl, .Function +	jp CallInSafeGFXMode + +.Function: +	decoord 0, 0, AttrMap +	ld hl, wScratchAttrMap +	call CutAndPasteAttrMap +	decoord 0, 0 +	ld hl, wScratchTileMap +	call CutAndPasteTilemap +	call DelayFrame + +	di +	ld a, [rVBK] +	push af +	ld a, $1 +	ld [rVBK], a +	ld hl, wScratchAttrMap +	call HDMATransfer_Wait127Scanlines_toBGMap +	ld a, $0 +	ld [rVBK], a +	ld hl, wScratchTileMap +	call HDMATransfer_Wait127Scanlines_toBGMap +	pop af +	ld [rVBK], a +	ei + +	ret + +Mobile_ReloadMapPart: ; 104099 +	ld hl, ReloadMapPart ; useless +	ld hl, .Function +	jp CallInSafeGFXMode + +.Function: +	decoord 0, 0, AttrMap +	ld hl, wScratchAttrMap +	call CutAndPasteAttrMap +	decoord 0, 0 +	ld hl, wScratchTileMap +	call CutAndPasteTilemap +	call DelayFrame + +	di +	ld a, [rVBK] +	push af +	ld a, $1 +	ld [rVBK], a +	ld hl, wScratchAttrMap +	call HDMATransfer_NoDI +	ld a, $0 +	ld [rVBK], a +	ld hl, wScratchTileMap +	call HDMATransfer_NoDI +	pop af +	ld [rVBK], a +	ei + +	ret +; 1040d4 + +; XXX +	ld hl, .unreferenced_1040da +	jp CallInSafeGFXMode + +.unreferenced_1040da +	ld a, $1 +	ld [rVBK], a +	ld a, $3 +	ld [rSVBK], a +	ld de, w3_d800 +	ld a, [hBGMapAddress + 1] +	ld [rHDMA1], a +	ld a, [hBGMapAddress] +	ld [rHDMA2], a +	ld a, d +	ld [rHDMA3], a +	ld a, e +	ld [rHDMA4], a +	ld a, $23 +	ld [hDMATransfer], a +	call WaitDMATransfer +	ret +; 1040fb + +; XXX +	ld hl, .unreferenced_104101 +	jp CallInSafeGFXMode + +.unreferenced_104101 +	ld a, $1 +	ld [rVBK], a +	ld a, $3 +	ld [rSVBK], a +	ld hl, w3_d800 +	call HDMATransferToWRAMBank3 +	ret +; 104110 + +OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 104110 +; OpenText +	ld hl, .Function +	jp CallInSafeGFXMode + +.Function: +	; Transfer AttrMap and Tilemap to BGMap +	; Fill vBGAttrs with $00 +	; Fill vBGTiles with " " +	decoord 0, 0, AttrMap +	ld hl, wScratchAttrMap +	call CutAndPasteAttrMap +	decoord 0, 0 +	ld hl, wScratchTileMap +	call CutAndPasteTilemap +	call DelayFrame + +	di +	ld a, [rVBK] +	push af +	ld a, $1 +	ld [rVBK], a +	ld hl, wScratchAttrMap +	call HDMATransfer_Wait123Scanlines_toBGMap +	ld a, $0 +	ld [rVBK], a +	ld hl, wScratchTileMap +	call HDMATransfer_Wait123Scanlines_toBGMap +	pop af +	ld [rVBK], a +	ei +	ret +; 104148 + +Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap: ; 104148 (41:4148) +	ld hl, .Function +	jp CallInSafeGFXMode + +.Function: +	; Transfer AttrMap and Tilemap to BGMap +	; Fill vBGAttrs with $00 +	; Fill vBGTiles with $ff +	decoord 0, 0, AttrMap +	ld hl, wScratchAttrMap +	call CutAndPasteAttrMap +	ld c, $ff +	decoord 0, 0 +	ld hl, wScratchTileMap +	call CutAndPasteMap + +	ld a, $1 +	ld [rVBK], a +	ld hl, wScratchAttrMap +	call HDMATransfer_Wait127Scanlines_toBGMap +	ld a, $0 +	ld [rVBK], a +	ld hl, wScratchTileMap +	call HDMATransfer_Wait127Scanlines_toBGMap +	ret +; 104177 + +CallInSafeGFXMode: ; 104177 +	ld a, [hBGMapMode] +	push af +	ld a, [hMapAnims] +	push af +	xor a +	ld [hBGMapMode], a +	ld [hMapAnims], a +	ld a, [rSVBK] +	push af +	ld a, $6 +	ld [rSVBK], a +	ld a, [rVBK] +	push af + +	call ._hl_ + +	pop af +	ld [rVBK], a +	pop af +	ld [rSVBK], a +	pop af +	ld [hMapAnims], a +	pop af +	ld [hBGMapMode], a +	ret +; 10419c + +._hl_ ; 10419c +	jp hl +; 10419d + + +HDMATransferToWRAMBank3: ; 10419d (41:419d) +	call _LoadHDMAParameters +	ld a, $23 +	ld [hDMATransfer], a + +WaitDMATransfer: ; 104a14 +.loop +	call DelayFrame +	ld a, [hDMATransfer] +	and a +	jr nz, .loop +	ret + +HDMATransfer_Wait127Scanlines_toBGMap: ; 1041ad (41:41ad) +; HDMA transfer from hl to [hBGMapAddress] +; hBGMapAddress -> de +; 2 * SCREEN_HEIGHT -> c +	ld a, [hBGMapAddress + 1] +	ld d, a +	ld a, [hBGMapAddress] +	ld e, a +	ld c, 2 * SCREEN_HEIGHT +	jr HDMATransfer_Wait127Scanlines + +HDMATransfer_Wait123Scanlines_toBGMap: ; 1041b7 (41:41b7) +; HDMA transfer from hl to [hBGMapAddress] +; hBGMapAddress -> de +; 2 * SCREEN_HEIGHT -> c +; $7b --> b +	ld a, [hBGMapAddress + 1] +	ld d, a +	ld a, [hBGMapAddress] +	ld e, a +	ld c, 2 * SCREEN_HEIGHT +	jr HDMATransfer_Wait123Scanlines +; 1041c1 (41:41c1) + +HDMATransfer_NoDI: ; 1041c1 +; HDMA transfer from hl to [hBGMapAddress] +; [hBGMapAddress] --> de +; 2 * SCREEN_HEIGHT --> c +	ld a, [hBGMapAddress + 1] +	ld d, a +	ld a, [hBGMapAddress] +	ld e, a +	ld c, 2 * SCREEN_HEIGHT + +	; [rHDMA1, rHDMA2] = hl & $fff0 +	ld a, h +	ld [rHDMA1], a +	ld a, l +	and $f0 +	ld [rHDMA2], a +	; [rHDMA3, rHDMA4] = de & $1ff0 +	ld a, d +	and $1f +	ld [rHDMA3], a +	ld a, e +	and $f0 +	ld [rHDMA4], a +	; b = c | %10000000 +	ld a, c +	dec c +	or $80 +	ld b, a +	; d = $7f - c + 1 +	ld a, $7f +	sub c +	ld d, a +	; while [rLY] >= d: pass +.loop1 +	ld a, [rLY] +	cp d +	jr nc, .loop1 +	; while not [rSTAT] & 3: pass +.loop2 +	ld a, [rSTAT] +	and $3 +	jr z, .loop2 +	; load the 5th byte of HDMA +	ld a, b +	ld [rHDMA5], a +	; wait until rLY advances (c + 1) times +	ld a, [rLY] +	inc c +	ld hl, rLY +.loop3 +	cp [hl] +	jr z, .loop3 +	ld a, [hl] +	dec c +	jr nz, .loop3 +	ld hl, rHDMA5 +	res 7, [hl] +	ret +; 104205 + +HDMATransfer_Wait123Scanlines: +	ld b, $7b +	jr _continue_HDMATransfer + + +HDMATransfer_Wait127Scanlines: +	ld b, $7f +_continue_HDMATransfer: +; a lot of waiting around for hardware registers +	; [rHDMA1, rHDMA2] = hl & $fff0 +	ld a, h +	ld [rHDMA1], a +	ld a, l +	and $f0 ; high nybble +	ld [rHDMA2], a +	; [rHDMA3, rHDMA4] = de & $1ff0 +	ld a, d +	and $1f ; lower 5 bits +	ld [rHDMA3], a +	ld a, e +	and $f0 ; high nybble +	ld [rHDMA4], a +	; e = c | %10000000 +	ld a, c +	dec c +	or $80 +	ld e, a +	; d = b - c + 1 +	ld a, b +	sub c +	ld d, a +	; while [rLY] >= d: pass +.ly_loop +	ld a, [rLY] +	cp d +	jr nc, .ly_loop + +	di +	; while [rSTAT] & 3: pass +.rstat_loop_1 +	ld a, [rSTAT] +	and $3 +	jr nz, .rstat_loop_1 +	; while not [rSTAT] & 3: pass +.rstat_loop_2 +	ld a, [rSTAT] +	and $3 +	jr z, .rstat_loop_2 +	; load the 5th byte of HDMA +	ld a, e +	ld [rHDMA5], a +	; wait until rLY advances (c + 1) times +	ld a, [rLY] +	inc c +	ld hl, rLY +.final_ly_loop +	cp [hl] +	jr z, .final_ly_loop +	ld a, [hl] +	dec c +	jr nz, .final_ly_loop +	ld hl, rHDMA5 +	res 7, [hl] +	ei + +	ret +; 10424e + + +_LoadHDMAParameters: ; 10424e (41:424e) +	ld a, h +	ld [rHDMA1], a +	ld a, l +	ld [rHDMA2], a +	ld a, [hBGMapAddress + 1] +	and $1f +	ld [rHDMA3], a +	ld a, [hBGMapAddress] +	ld [rHDMA4], a +	ret + +CutAndPasteTilemap: ; 10425f (41:425f) +	ld c, " " +	jr CutAndPasteMap + +CutAndPasteAttrMap: ; 104263 (41:4263) +	ld c, $0 + +CutAndPasteMap: ; 104265 (41:4265) +; back up the value of c to hMapObjectIndexBuffer +	ld a, [hMapObjectIndexBuffer] +	push af +	ld a, c +	ld [hMapObjectIndexBuffer], a + +; for each row on the screen +	ld c, SCREEN_HEIGHT +.loop1 +; for each tile in the row +	ld b, SCREEN_WIDTH +.loop2 +; copy from de to hl +	ld a, [de] +	inc de +	ld [hli], a +	dec b +	jr nz, .loop2 + +; load the original value of c into hl 12 times +	ld a, [hMapObjectIndexBuffer] +	ld b, BG_MAP_WIDTH - SCREEN_WIDTH +.loop3 +	ld [hli], a +	dec b +	jr nz, .loop3 + +	dec c +	jr nz, .loop1 + +; restore the original value of hMapObjectIndexBuffer +	pop af +	ld [hMapObjectIndexBuffer], a +	ret + + +_Get2bpp:: ; 104284 +	; 2bpp when [rLCDC] & $80 +	; switch to WRAM bank 6 +	ld a, [rSVBK] +	push af +	ld a, $6 +	ld [rSVBK], a + +	push bc +	push hl + +	; Copy c tiles of the 2bpp from b:de to wScratchTileMap +	ld a, b ; bank +	ld l, c ; number of tiles +	ld h, $0 +	; multiply by 16 (16 bytes of a 2bpp = 8 x 8 tile) +	add hl, hl +	add hl, hl +	add hl, hl +	add hl, hl +	ld b, h +	ld c, l +	ld h, d ; address +	ld l, e +	ld de, wScratchTileMap +	call FarCopyBytes + +	pop hl +	pop bc + +	push bc +	call DelayFrame +	pop bc + +	ld d, h +	ld e, l +	ld hl, wScratchTileMap +	call HDMATransfer_Wait127Scanlines + +	; restore the previous bank +	pop af +	ld [rSVBK], a +	ret +; 1042b2 + +_Get1bpp:: ; 1042b2 +	; 1bpp when [rLCDC] & $80 +.loop +	ld a, c +	cp $10 +	jp c, .bankswitch +	jp z, .bankswitch +	push bc +	push hl +	push de +	ld c, $10 +	call .bankswitch +	pop de +	ld hl, $80 +	add hl, de +	ld d, h +	ld e, l +	pop hl +	lb bc, 1, 0 +	add hl, bc +	pop bc +	ld a, c +	sub $10 +	ld c, a +	jr .loop +; 1042d6 + +.bankswitch ; 1042d6 +	ld a, [rSVBK] +	push af +	ld a, $6 +	ld [rSVBK], a + +	push bc +	push hl + +	ld a, b +	ld l, c +	ld h, $0 +	add hl, hl ; multiply by 8 +	add hl, hl ; multiply by 8 +	add hl, hl ; multiply by 8 +	ld c, l +	ld b, h +	ld h, d +	ld l, e +	ld de, wScratchTileMap +	call FarCopyBytesDouble_DoubleBankSwitch + +	pop hl +	pop bc + +	push bc +	call DelayFrame +	pop bc + +	ld d, h +	ld e, l +	ld hl, wScratchTileMap +	call HDMATransfer_Wait127Scanlines + +	pop af +	ld [rSVBK], a +	ret +; 104303 + +HDMATransfer_OnlyTopFourRows: ; 104303 +	ld hl, .Function +	jp CallInSafeGFXMode +; 104309 + +.Function: +	ld hl, wScratchTileMap +	decoord 0, 0 +	call .Copy +	ld hl, wScratchTileMap + $80 +	decoord 0, 0, AttrMap +	call .Copy +	ld a, $1 +	ld [rVBK], a +	ld c, $8 +	ld hl, wScratchTileMap + $80 +	debgcoord 0, 0, VBGMap1 +	call HDMATransfer_Wait127Scanlines +	ld a, $0 +	ld [rVBK], a +	ld c, $8 +	ld hl, wScratchTileMap +	debgcoord 0, 0, VBGMap1 +	call HDMATransfer_Wait127Scanlines +	ret + +.Copy: ; 10433a (41:433a) +	ld b, 4 +.outer_loop +	ld c, SCREEN_WIDTH +.inner_loop +	ld a, [de] +	ld [hli], a +	inc de +	dec c +	jr nz, .inner_loop +	ld a, l +	add BG_MAP_WIDTH - SCREEN_WIDTH +	ld l, a +	ld a, h +	adc $0 +	ld h, a +	dec b +	jr nz, .outer_loop +	ret +; 104350 diff --git a/engine/gbc_only.asm b/engine/gbc_only.asm new file mode 100644 index 000000000..a77a44d72 --- /dev/null +++ b/engine/gbc_only.asm @@ -0,0 +1,149 @@ +GBCOnlyScreen: ; 4ea82 + +	ld a, [hCGB] +	and a +	ret nz + +	ld de, MUSIC_NONE +	call PlayMusic + +	call ClearTileMap + +	ld hl, GBCOnlyGFX +	ld de, $d000 +	ld a, [rSVBK] +	push af +	ld a, 0 +	ld [rSVBK], a +	call Decompress +	pop af +	ld [rSVBK], a + +	ld de, $d000 +	ld hl, VTiles2 +	lb bc, BANK(GBCOnlyGFX), $54 +	call Get2bpp + +	ld de, Font +	ld hl, VTiles1 +	lb bc, BANK(Font), $80 +	call Get1bpp + +	call DrawGBCOnlyScreen + +	call WaitBGMap + +; better luck next time +.loop +	call DelayFrame +	jr .loop +; 4eac5 + + +DrawGBCOnlyScreen: ; 4eac5 + +	call DrawGBCOnlyBorder + +	; Pokemon +	hlcoord 3, 2 +	ld b, 14 +	ld c, 4 +	ld a, $8 +	call DrawGBCOnlyGraphic + +	; Crystal +	hlcoord 5, 6 +	ld b, 10 +	ld c, 2 +	ld a, $40 +	call DrawGBCOnlyGraphic + +	ld de, GBCOnlyString +	hlcoord 1, 10 +	call PlaceString + +	ret +; 4eaea + + +DrawGBCOnlyBorder: ; 4eaea + +	hlcoord 0, 0 +	ld [hl], 0 ; top-left + +	inc hl +	ld a, 1 ; top +	call .FillRow + +	ld [hl], 2 ; top-right + +	hlcoord 0, 1 +	ld a, 3 ; left +	call .FillColumn + +	hlcoord 19, 1 +	ld a, 4 ; right +	call .FillColumn + +	hlcoord 0, 17 +	ld [hl], 5 ; bottom-left + +	inc hl +	ld a, 6 ; bottom +	call .FillRow + +	ld [hl], 7 ; bottom-right +	ret +; 4eb15 + +.FillRow: ; 4eb15 +	ld c, SCREEN_WIDTH - 2 +.next_column +	ld [hli], a +	dec c +	jr nz, .next_column +	ret +; 4eb1c + +.FillColumn: ; 4eb1c +	ld de, SCREEN_WIDTH +	ld c, SCREEN_HEIGHT - 2 +.next_row +	ld [hl], a +	add hl, de +	dec c +	jr nz, .next_row +	ret +; 4eb27 + + +DrawGBCOnlyGraphic: ; 4eb27 +	ld de, SCREEN_WIDTH +.y +	push bc +	push hl +.x +	ld [hli], a +	inc a +	dec b +	jr nz, .x +	pop hl +	add hl, de +	pop bc +	dec c +	jr nz, .y +	ret +; 4eb38 + + +GBCOnlyString: ; 4eb38 +	db   "This Game Pak is" +	next "designed only for" +	next "use on the" +	next "Game Boy Color.@" +; 4eb76 + + +GBCOnlyGFX: ; 4eb76 +INCBIN "gfx/sgb/gbc_only.2bpp.lz" +; 4f0bc diff --git a/engine/init_gender.asm b/engine/init_gender.asm index 3ae856029..dfb3fbdd4 100755 --- a/engine/init_gender.asm +++ b/engine/init_gender.asm @@ -20,7 +20,7 @@ InitCrystalData: ; 48000  	ret  ; 4802f -INCLUDE "misc/mobile_12.asm" +INCLUDE "mobile/mobile_12.asm"  InitGender: ; 48dcb (12:4dcb)  	call InitGenderScreen diff --git a/engine/print_party.asm b/engine/print_party.asm new file mode 100755 index 000000000..9bf98767b --- /dev/null +++ b/engine/print_party.asm @@ -0,0 +1,362 @@ +PrintPage1: ; 1dc1b0 +	hlcoord 0, 0 +	decoord 0, 0, wPrinterTileMapBuffer +	ld bc, 17 * SCREEN_WIDTH +	call CopyBytes +	hlcoord 17, 1, wPrinterTileMapBuffer +	ld a, $62 +	ld [hli], a +	inc a +	ld [hl], a +	hlcoord 17, 2, wPrinterTileMapBuffer +	ld a, $64 +	ld [hli], a +	inc a +	ld [hl], a +	hlcoord 1, 9, wPrinterTileMapBuffer +	ld a, " " +	ld [hli], a +	ld [hl], a +	hlcoord 1, 10, wPrinterTileMapBuffer +	ld a, $61 +	ld [hli], a +	ld [hl], a +	hlcoord 2, 11, wPrinterTileMapBuffer +	lb bc, 5, 18 +	call ClearBox +	ld a, [wd265] +	dec a +	call CheckCaughtMon +	push af +	ld a, [wd265] +	ld b, a +	ld c, 1 ; get page 1 +	callba GetDexEntryPagePointer +	pop af +	ld a, b +	hlcoord 1, 11, wPrinterTileMapBuffer +	call nz, FarString +	hlcoord 19, 0, wPrinterTileMapBuffer +	ld [hl], $35 +	ld de, SCREEN_WIDTH +	add hl, de +	ld b, $f +.column_loop +	ld [hl], $37 +	add hl, de +	dec b +	jr nz, .column_loop +	ld [hl], $3a +	ret +; 1dc213 + +PrintPage2: ; 1dc213 +	hlcoord 0, 0, wPrinterTileMapBuffer +	ld bc, 8 * SCREEN_WIDTH +	ld a, " " +	call ByteFill +	hlcoord 0, 0, wPrinterTileMapBuffer +	ld a, $36 +	ld b, 6 +	call .FillColumn +	hlcoord 19, 0, wPrinterTileMapBuffer +	ld a, $37 +	ld b, 6 +	call .FillColumn +	hlcoord 0, 6, wPrinterTileMapBuffer +	ld [hl], $38 +	inc hl +	ld a, $39 +	ld bc, SCREEN_HEIGHT +	call ByteFill +	ld [hl], $3a +	hlcoord 0, 7, wPrinterTileMapBuffer +	ld bc, SCREEN_WIDTH +	ld a, $32 +	call ByteFill +	ld a, [wd265] +	dec a +	call CheckCaughtMon +	push af +	ld a, [wd265] +	ld b, a +	ld c, 2 ; get page 2 +	callba GetDexEntryPagePointer +	pop af +	hlcoord 1, 1, wPrinterTileMapBuffer +	ld a, b +	call nz, FarString +	ret +; 1dc26a + +.FillColumn: ; 1dc26a +	push de +	ld de, SCREEN_WIDTH +.column_loop +	ld [hl], a +	add hl, de +	dec b +	jr nz, .column_loop +	pop de +	ret +; 1dc275 + +GBPrinterStrings: +GBPrinterString_Null: db "@" +GBPrinterString_CheckingLink: next " CHECKING LINK...@" +GBPrinterString_Transmitting: next "  TRANSMITTING...@" +GBPrinterString_Printing: next "    PRINTING...@" +GBPrinterString_PrinterError1: +	db   " Printer Error 1" +	next "" +	next "Check the Game Boy" +	next "Printer Manual." +	db   "@" +GBPrinterString_PrinterError2: +	db   " Printer Error 2" +	next "" +	next "Check the Game Boy" +	next "Printer Manual." +	db   "@" +GBPrinterString_PrinterError3: +	db   " Printer Error 3" +	next "" +	next "Check the Game Boy" +	next "Printer Manual." +	db   "@" +GBPrinterString_PrinterError4: +	db   " Printer Error 4" +	next "" +	next "Check the Game Boy" +	next "Printer Manual." +	db   "@" +; 1dc381 + +PrintPartyMonPage1: ; 1dc381 +	call ClearBGPalettes +	call ClearTileMap +	call ClearSprites +	xor a +	ld [hBGMapMode], a +	call LoadFontsBattleExtra + +	ld de, GBPrinterHPIcon +	ld hl, VTiles2 tile $71 +	lb bc, BANK(GBPrinterHPIcon), 1 +	call Request1bpp + +	ld de, GBPrinterLvIcon +	ld hl, VTiles2 tile $6e +	lb bc, BANK(GBPrinterLvIcon), 1 +	call Request1bpp + +	ld de, ShinyIconGFX +	ld hl, VTiles2 tile $3f +	lb bc, BANK(ShinyIconGFX), 1 +	call Get2bpp + +	xor a +	ld [MonType], a +	callba CopyPkmnToTempMon +	hlcoord 0, 7 +	ld b, 9 +	ld c, 18 +	call TextBox +	hlcoord 8, 2 +	ld a, [TempMonLevel] +	call PrintLevel_Force3Digits +	hlcoord 12, 2 +	ld [hl], "◀" ; Filled left triangle +	inc hl +	ld de, TempMonMaxHP +	lb bc, 2, 3 +	call PrintNum +	ld a, [CurPartySpecies] +	ld [wd265], a +	ld [CurSpecies], a +	ld hl, PartyMonNicknames +	call Function1dc50e +	hlcoord 8, 4 +	call PlaceString +	hlcoord 9, 6 +	ld [hl], "/" +	call GetPokemonName +	hlcoord 10, 6 +	call PlaceString +	hlcoord 8, 0 +	ld [hl], "№" +	inc hl +	ld [hl], "." +	inc hl +	ld de, wd265 +	lb bc, PRINTNUM_LEADINGZEROS | 1, 3 +	call PrintNum +	hlcoord 1, 9 +	ld de, String1dc550 +	call PlaceString +	ld hl, PartyMonOT +	call Function1dc50e +	hlcoord 4, 9 +	call PlaceString +	hlcoord 1, 11 +	ld de, String1dc559 +	call PlaceString +	hlcoord 4, 11 +	ld de, TempMonID +	lb bc, PRINTNUM_LEADINGZEROS | 2, 5 +	call PrintNum +	hlcoord 1, 14 +	ld de, String1dc554 +	call PlaceString +	hlcoord 7, 14 +	ld a, [TempMonMoves + 0] +	call Function1dc51a +	call Function1dc52c +	ld hl, TempMonDVs +	predef GetUnownLetter +	ld hl, wBoxAlignment +	xor a +	ld [hl], a +	ld a, [CurPartySpecies] +	cp UNOWN +	jr z, .asm_1dc469 +	inc [hl] + +.asm_1dc469 +	hlcoord 0, 0 +	call _PrepMonFrontpic +	call WaitBGMap +	ld b, SCGB_STATS_SCREEN_HP_PALS +	call GetSGBLayout +	call SetPalettes +	ret +; 1dc47b + +PrintPartyMonPage2: ; 1dc47b +	call ClearBGPalettes +	call ClearTileMap +	call ClearSprites +	xor a +	ld [hBGMapMode], a +	call LoadFontsBattleExtra +	xor a +	ld [MonType], a +	callba CopyPkmnToTempMon +	hlcoord 0, 0 +	ld b, 15 +	ld c, 18 +	call TextBox +	ld bc, SCREEN_WIDTH +	decoord 0, 0 +	hlcoord 0, 1 +	call CopyBytes +	hlcoord 7, 0 +	ld a, [TempMonMoves + 1] +	call Function1dc51a +	hlcoord 7, 2 +	ld a, [TempMonMoves + 2] +	call Function1dc51a +	hlcoord 7, 4 +	ld a, [TempMonMoves + 3] +	call Function1dc51a +	hlcoord 7, 7 +	ld de, String1dc55d +	call PlaceString +	hlcoord 16, 7 +	ld de, TempMonAttack +	call .PrintTempMonStats +	hlcoord 16, 9 +	ld de, TempMonDefense +	call .PrintTempMonStats +	hlcoord 16, 11 +	ld de, TempMonSpclAtk +	call .PrintTempMonStats +	hlcoord 16, 13 +	ld de, TempMonSpclDef +	call .PrintTempMonStats +	hlcoord 16, 15 +	ld de, TempMonSpeed +	call .PrintTempMonStats +	call WaitBGMap +	ld b, SCGB_STATS_SCREEN_HP_PALS +	call GetSGBLayout +	call SetPalettes +	ret +; 1dc507 + +.PrintTempMonStats: ; 1dc507 +	lb bc, 2, 3 +	call PrintNum +	ret +; 1dc50e + +Function1dc50e: ; 1dc50e +	ld bc, NAME_LENGTH +	ld a, [CurPartyMon] +	call AddNTimes +	ld e, l +	ld d, h +	ret +; 1dc51a + +Function1dc51a: ; 1dc51a +	and a +	jr z, .no_move + +	ld [wd265], a +	call GetMoveName +	jr .got_string + +.no_move +	ld de, String1dc584 + +.got_string +	call PlaceString +	ret +; 1dc52c + +Function1dc52c: ; 1dc52c +	callba GetGender +	ld a, " " +	jr c, .got_gender +	ld a, "♂" +	jr nz, .got_gender +	ld a, "♀" + +.got_gender +	hlcoord 17, 2 +	ld [hl], a +	ld bc, TempMonDVs +	callba CheckShininess +	ret nc +	hlcoord 18, 2 +	ld [hl], "<SHINY>" +	ret +; 1dc550 + +String1dc550: ; 1dc550 +	db "OT/@" + +String1dc554: ; 1dc554 +	db "MOVE@" + +String1dc559: ; 1dc559 +	db "<ID>№.@" + +String1dc55d: ; 1dc55d +	db   "ATTACK" +	next "DEFENSE" +	next "SPCL.ATK" +	next "SPCL.DEF" +	next "SPEED" +	db   "@" + +String1dc584: ; 1dc584 +	db "------------@" +; 1dc591 + +GBPrinterHPIcon: ; 1dc591 +INCBIN "gfx/printer/hp.1bpp" + +GBPrinterLvIcon: ; 1dc599 +INCBIN "gfx/printer/lv.1bpp" diff --git a/engine/unused_title.asm b/engine/unused_title.asm new file mode 100644 index 000000000..6cd79237b --- /dev/null +++ b/engine/unused_title.asm @@ -0,0 +1,556 @@ +UnusedTitleScreen: ; 10c000 + +	call ClearBGPalettes +	call ClearTileMap +	call DisableLCD +	xor a +	ld [hBGMapMode], a + +	ld hl, wJumptableIndex +	ld [hli], a +	ld [hli], a +	ld [hli], a +	ld [hl], a + +	ld hl, UnusedTitleBG_GFX +	ld de, VTiles2 +	ld bc, VBGMap0 - VTiles2 +	call CopyBytes + +	ld hl, UnusedTitleBG_GFX + $800 +	ld de, VTiles1 +	ld bc, VTiles2 - VTiles1 +	call CopyBytes + +	ld hl, UnusedTitleFG_GFX +	ld de, VTiles0 +	ld bc, VTiles1 - VTiles0 +	call CopyBytes + +	ld hl, UnusedTitleBG_Tilemap +	debgcoord 0, 0 +	ld bc, 32 * 32 +.copy +	ld a, 0 +	ld [rVBK], a +	ld a, [hli] +	ld [de], a +	ld a, 1 +	ld [rVBK], a +	ld a, [hli] +	ld [de], a +	inc de +	dec bc +	ld a, b +	or c +	jr nz, .copy + +	ld hl, UnusedTitleFG_OAM +	ld de, Sprites +	ld bc, $a0 +	call CopyBytes + +	call EnableLCD +	ld a, [rLCDC] +	set 1, a +	set 2, a +	ld [rLCDC], a + +	call DelayFrame + +	ld a, [rSVBK] +	push af +	ld a, $5 +	ld [rSVBK], a + +	ld hl, UnusedTitleBG_Palettes +	ld de, UnknBGPals +	ld bc, $40 +	call CopyBytes + +	ld hl, UnusedTitleFG_Palettes +	ld de, UnknOBPals +	ld bc, $40 +	call CopyBytes + +	ld hl, UnusedTitleBG_Palettes +	ld de, BGPals +	ld bc, $40 +	call CopyBytes + +	ld hl, UnusedTitleFG_Palettes +	ld de, OBPals +	ld bc, $40 +	call CopyBytes + +	pop af +	ld [rSVBK], a + +	ld a, $1 +	ld [hCGBPalUpdate], a + +	ld de, MUSIC_TITLE +	call PlayMusic + +	ret +; 10c0b1 + +UnusedTitleBG_GFX: ; 10c0b1 +INCBIN "gfx/title/old_bg.2bpp" +; 10d0b1 + +UnusedTitleBG_Tilemap: ; 10d0b1 +; 32x32 (tile, attributes) +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +; 10d8b1 + +UnusedTitleBG_Palettes: ; 10d8b1 +	RGB 00, 00, 00 +	RGB 25, 15, 28 +	RGB 22, 11, 28 +	RGB 19, 08, 26 + +	RGB 00, 00, 00 +	RGB 17, 07, 22 +	RGB 13, 07, 16 +	RGB 19, 08, 26 + +	RGB 25, 15, 28 +	RGB 22, 11, 28 +	RGB 19, 08, 26 +	RGB 17, 07, 22 + +	RGB 22, 11, 28 +	RGB 19, 08, 26 +	RGB 17, 07, 22 +	RGB 13, 07, 16 + +	RGB 00, 00, 00 +	RGB 31, 31, 31 +	RGB 16, 16, 24 +	RGB 02, 13, 21 + +	RGB 00, 00, 00 +	RGB 31, 31, 31 +	RGB 20, 20, 20 +	RGB 12, 12, 12 + +	RGB 00, 00, 00 +	RGB 01, 11, 23 +	RGB 16, 16, 24 +	RGB 02, 13, 21 + +	RGB 00, 00, 00 +	RGB 22, 10, 31 +	RGB 19, 08, 26 +	RGB 17, 07, 22 + + +	RGB 31, 31, 31 +	RGB 31, 31, 31 +	RGB 31, 31, 31 +	RGB 31, 31, 31 + +	RGB 31, 31, 31 +	RGB 20, 04, 20 +	RGB 16, 08, 16 +	RGB 24, 00, 24 + +	rept 54 +	RGB 31, 31, 31 +	RGB 31, 31, 31 +	RGB 31, 31, 31 +	RGB 31, 31, 31 +	endr +; 10dab1 + +UnusedTitleFG_GFX: ; 10dab1 +INCBIN "gfx/title/old_fg.2bpp" +; 10eab1 + +UnusedTitleFG_Palettes: ; 10eab1 +	RGB 00, 00, 00 +	RGB 31, 31, 31 +	RGB 16, 16, 24 +	RGB 02, 13, 21 + +	RGB 00, 00, 00 +	RGB 31, 31, 31 +	RGB 20, 20, 20 +	RGB 12, 12, 12 + +	RGB 00, 00, 00 +	RGB 01, 11, 23 +	RGB 16, 16, 24 +	RGB 02, 13, 21 + +	RGB 00, 00, 00 +	RGB 31, 22, 00 +	RGB 31, 27, 00 +	RGB 31, 31, 00 + +	RGB 00, 00, 00 +	RGB 31, 31, 31 +	RGB 16, 16, 24 +	RGB 02, 13, 21 + +	RGB 00, 00, 00 +	RGB 31, 31, 31 +	RGB 20, 20, 20 +	RGB 12, 12, 12 + +	RGB 00, 00, 00 +	RGB 01, 11, 23 +	RGB 16, 16, 24 +	RGB 02, 13, 21 + +	RGB 16, 31, 00 +	RGB 22, 31, 00 +	RGB 27, 31, 00 +	RGB 31, 31, 00 + + +	RGB 31, 00, 18 +	RGB 31, 31, 31 +	RGB 16, 16, 24 +	RGB 02, 13, 21 + +	RGB 00, 00, 00 +	RGB 31, 31, 31 +	RGB 20, 20, 20 +	RGB 12, 12, 12 + +	RGB 00, 00, 00 +	RGB 01, 11, 23 +	RGB 16, 16, 24 +	RGB 02, 13, 21 + +	RGB 16, 31, 00 +	RGB 22, 31, 00 +	RGB 27, 31, 00 +	RGB 31, 31, 00 + +	RGB 24, 18, 31 +	RGB 31, 31, 00 +	RGB 31, 31, 01 +	RGB 31, 31, 03 + +	RGB 31, 31, 05 +	RGB 31, 31, 08 +	RGB 31, 31, 10 +	RGB 31, 31, 12 + +	RGB 31, 31, 14 +	RGB 31, 31, 16 +	RGB 31, 31, 18 +	RGB 31, 31, 20 + +	RGB 31, 31, 22 +	RGB 31, 31, 25 +	RGB 31, 31, 27 +	RGB 31, 31, 29 + +	RGB 24, 06, 06 +	RGB 01, 01, 01 +	RGB 03, 03, 03 +	RGB 05, 05, 05 + +	RGB 08, 08, 08 +	RGB 10, 10, 10 +	RGB 12, 12, 12 +	RGB 14, 14, 14 + +	RGB 16, 16, 16 +	RGB 18, 18, 18 +	RGB 20, 20, 20 +	RGB 22, 22, 22 + +	RGB 25, 25, 25 +	RGB 27, 27, 27 +	RGB 29, 29, 29 +	RGB 31, 31, 31 + +	RGB 18, 24, 18 +	RGB 31, 29, 01 +	RGB 31, 27, 03 +	RGB 31, 25, 05 + +	RGB 31, 22, 08 +	RGB 31, 20, 10 +	RGB 31, 18, 12 +	RGB 31, 16, 14 + +	RGB 31, 14, 16 +	RGB 31, 12, 18 +	RGB 31, 10, 20 +	RGB 31, 08, 22 + +	RGB 31, 05, 25 +	RGB 31, 03, 27 +	RGB 31, 01, 29 +	RGB 31, 00, 31 + +	RGB 18, 06, 31 +	RGB 00, 31, 31 +	RGB 00, 31, 29 +	RGB 00, 31, 27 + +	RGB 00, 31, 25 +	RGB 00, 31, 22 +	RGB 00, 31, 20 +	RGB 00, 31, 18 + +	RGB 00, 31, 16 +	RGB 00, 31, 14 +	RGB 00, 31, 12 +	RGB 00, 31, 10 + +	RGB 00, 31, 08 +	RGB 00, 31, 05 +	RGB 00, 31, 03 +	RGB 00, 31, 01 + +	RGB 12, 31, 06 +	RGB 00, 00, 31 +	RGB 00, 01, 31 +	RGB 00, 03, 31 + +	RGB 00, 05, 31 +	RGB 00, 08, 31 +	RGB 00, 10, 31 +	RGB 00, 12, 31 + +	RGB 00, 14, 31 +	RGB 00, 16, 31 +	RGB 00, 18, 31 +	RGB 00, 20, 31 + +	RGB 00, 22, 31 +	RGB 00, 25, 31 +	RGB 00, 27, 31 +	RGB 00, 29, 31 + +	RGB 00, 00, 00 +	RGB 06, 00, 04 +	RGB 19, 02, 09 +	RGB 28, 04, 11 + +	RGB 31, 07, 16 +	RGB 31, 17, 23 +	RGB 31, 26, 30 +	RGB 07, 05, 10 + +	RGB 14, 10, 18 +	RGB 20, 20, 25 +	RGB 25, 27, 31 +	RGB 09, 05, 06 + +	RGB 23, 16, 13 +	RGB 30, 23, 22 +	RGB 31, 28, 28 +	RGB 31, 31, 31 + +	RGB 06, 31, 31 +	RGB 04, 00, 04 +	RGB 11, 02, 04 +	RGB 17, 02, 04 + +	RGB 24, 05, 04 +	RGB 28, 07, 04 +	RGB 31, 11, 04 +	RGB 02, 01, 15 + +	RGB 04, 11, 22 +	RGB 12, 25, 25 +	RGB 20, 31, 31 +	RGB 09, 04, 03 + +	RGB 22, 11, 08 +	RGB 27, 19, 16 +	RGB 30, 28, 26 +	RGB 31, 31, 31 + +	RGB 06, 18, 06 +	RGB 04, 04, 02 +	RGB 07, 07, 02 +	RGB 18, 18, 04 + +	RGB 24, 24, 06 +	RGB 27, 27, 11 +	RGB 31, 31, 20 +	RGB 02, 03, 10 + +	RGB 04, 05, 13 +	RGB 06, 10, 25 +	RGB 08, 15, 31 +	RGB 04, 00, 06 + +	RGB 11, 07, 14 +	RGB 21, 16, 23 +	RGB 29, 26, 31 +	RGB 31, 31, 31 + +	RGB 06, 00, 18 +	RGB 00, 04, 03 +	RGB 02, 09, 05 +	RGB 11, 19, 07 + +	RGB 16, 24, 08 +	RGB 22, 31, 09 +	RGB 24, 31, 18 +	RGB 03, 01, 03 + +	RGB 10, 04, 10 +	RGB 20, 08, 20 +	RGB 31, 17, 31 +	RGB 01, 03, 06 + +	RGB 05, 09, 10 +	RGB 15, 21, 21 +	RGB 23, 25, 25 +	RGB 31, 31, 31 + +	RGB 00, 18, 31 +	RGB 00, 05, 07 +	RGB 00, 08, 13 +	RGB 00, 12, 17 + +	RGB 01, 20, 24 +	RGB 04, 27, 31 +	RGB 14, 31, 31 +	RGB 04, 02, 02 + +	RGB 15, 01, 03 +	RGB 26, 04, 07 +	RGB 31, 13, 16 +	RGB 00, 05, 02 + +	RGB 01, 11, 03 +	RGB 06, 21, 06 +	RGB 13, 31, 16 +	RGB 31, 31, 31 + +	RGB 00, 06, 06 +	RGB 00, 01, 08 +	RGB 00, 05, 14 +	RGB 00, 08, 19 + +	RGB 02, 14, 26 +	RGB 04, 21, 31 +	RGB 06, 26, 31 +	RGB 13, 00, 00 + +	RGB 27, 07, 00 +	RGB 31, 17, 05 +	RGB 31, 25, 16 +	RGB 02, 04, 00 + +	RGB 07, 11, 03 +	RGB 17, 19, 05 +	RGB 27, 31, 16 +	RGB 31, 31, 31 + +	RGB 02, 00, 00 +	RGB 04, 01, 06 +	RGB 11, 03, 14 +	RGB 16, 04, 19 + +	RGB 20, 07, 22 +	RGB 26, 12, 27 +	RGB 26, 20, 31 +	RGB 04, 07, 00 + +	RGB 16, 20, 07 +	RGB 24, 28, 15 +	RGB 29, 31, 24 +	RGB 05, 02, 02 + +	RGB 15, 04, 02 +	RGB 24, 11, 10 +	RGB 31, 22, 20 +	RGB 31, 31, 31 + +	RGB 00, 00, 14 +	RGB 12, 00, 00 +	RGB 27, 05, 00 +	RGB 31, 15, 05 + +	RGB 31, 26, 13 +	RGB 31, 30, 21 +	RGB 05, 07, 16 +	RGB 04, 16, 20 + +	RGB 04, 24, 26 +	RGB 08, 31, 31 +	RGB 23, 31, 31 +	RGB 00, 00, 00 + +	RGB 05, 05, 05 +	RGB 17, 17, 15 +	RGB 28, 28, 24 +	RGB 31, 31, 31 +; 10ecb1 + +UnusedTitleFG_OAM: ; 10ecb1 +	db $18, $38, $00, $01,  $18, $40, $02, $01,  $18, $48, $04, $01,  $18, $50, $06, $01 +	db $18, $58, $08, $01,  $18, $60, $0a, $01,  $18, $68, $0c, $01,  $18, $70, $0e, $01 + +	db $28, $38, $10, $00,  $28, $40, $12, $00,  $28, $48, $14, $00,  $28, $50, $16, $00 +	db $28, $58, $18, $00,  $28, $60, $1a, $00,  $28, $68, $1c, $00,  $28, $70, $1e, $00 + +	db $38, $38, $20, $00,  $38, $40, $22, $00,  $38, $48, $24, $00,  $38, $50, $26, $00 +	db $38, $58, $28, $00,  $38, $60, $2a, $00,  $38, $68, $2c, $00,  $38, $70, $2e, $00 + +	db $48, $38, $30, $02,  $48, $40, $32, $02,  $48, $48, $34, $02,  $48, $50, $36, $02 +	db $48, $58, $38, $02,  $48, $60, $3a, $02,  $48, $68, $3c, $02,  $48, $70, $3e, $02 + +	db $58, $38, $40, $01,  $58, $40, $42, $01,  $58, $48, $44, $01,  $58, $50, $46, $01 +	db $58, $58, $48, $01,  $58, $60, $4a, $01,  $58, $68, $4c, $01,  $58, $70, $4e, $01 +; 10ed51 + + +Function10ed51: ; 10ed51 +	call _TitleScreen +.loop +	call JoyTextDelay +	ld a, [hJoyLast] +	ld b, a +	and 1 +	jr nz, .done +	call SuicuneFrameIterator +	call DelayFrame +	jr .loop +.done +	ret +; 10ed67 | 
