From c74453452847a60126816b61ae71f230c6c1c5ae Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 22 May 2016 23:30:24 -0400 Subject: Disassemble diploma in bank 3a --- engine/diploma_3a.asm | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100755 engine/diploma_3a.asm (limited to 'engine/diploma_3a.asm') diff --git a/engine/diploma_3a.asm b/engine/diploma_3a.asm new file mode 100755 index 00000000..20c4ba43 --- /dev/null +++ b/engine/diploma_3a.asm @@ -0,0 +1,137 @@ +_DisplayDiploma: ; e9a08 (3a:5a08) + call GBPalWhiteOutWithDelay3 + call ClearScreen + ld de, SurfingPikachu3Graphics + ld hl, vChars2 + lb bc, BANK(SurfingPikachu3Graphics), (SurfingPikachu3GraphicsEnd - SurfingPikachu3Graphics) / $10 + call CopyVideoData + + coord hl, 0, 0 + call Func_e9bdf + + coord hl, 0, 0 + call Func_e9beb + + coord hl, 19, 0 + call Func_e9beb + + ld a, $00 + coord hl, 0, 0 + ld [hl], a + coord hl, 19, 0 + ld [hl], a + + ld de, String_e9a73 + coord hl, 5, 2 + call PlaceString + + ld de, String_e9a7d + coord hl, 3, 4 + call PlaceString + + ld de, wPlayerName + coord hl, 10, 4 + call PlaceString + + ld de, String_e9a84 + coord hl, 2, 6 + call PlaceString + + ld de, String_e9ac8 + coord hl, 9, 16 + call PlaceString + + ld b, SET_PAL_GENERIC + call RunPaletteCommand + ld a, $01 + ld [$ffba], a + call Delay3 + call GBPalNormal + ret + +; e9a73 +String_e9a73: + db $10, "Diploma", $10, "@" + +String_e9a7d: + db "Player@" + +String_e9a84: + db "Congrats! This" + next "diploma certifies" + next "that you have" + next "completed your" + next "#DEX.@" + +String_e9ac8: + db "GAME FREAK@" + +Func_e9ad3: + call ClearScreen + coord hl, 0, 17 + call Func_e9bdf + coord hl, 0, 0 + call Func_e9beb + coord hl, 19, 0 + call Func_e9beb + ld a, $00 + coord hl, 0, 17 + ld [hl], a + coord hl, 19, 17 + ld [hl], a + ld de, Tilemap_e9b3e + coord hl, 6, 2 + lb bc, 10, 12 + call $525d ; Func_e925d + ld de, Tilemap_e9bb6 + coord hl, 5, 13 + lb bc, 1, 11 + call $525d ; Func_e925d + ld de, String_e9bd5 + coord hl, 2, 15 + call PlaceString + coord hl, 12, 15 + ld de, wPlayTimeHours + 1 + lb bc, $40 | 1, 3 + call PrintNumber + ld [hl], $16 + inc hl + ld de, wPlayTimeMinutes + 1 + lb bc, $80 | 1, 2 + call PrintNumber + ld a, [wNumSetBits] + cp 151 + ret nz + ld de, TileMap_e9bc1 + coord hl, 2, 0 + lb bc, 4, 5 + call $525d ; Func_e925d + ret + +Tilemap_e9b3e: INCBIN "gfx/unknown_e9b3e.tilemap" +Tilemap_e9bb6: INCBIN "gfx/unknown_e9bb6.tilemap" +TileMap_e9bc1: INCBIN "gfx/unknown_e9bc1.tilemap" +String_e9bd5: db "PLAY TIME@" + +Func_e9bdf: + ld c, 10 +.asm_e9be1 + ld [hl], $02 + inc hl + ld [hl], $01 + inc hl + dec c + jr nz, .asm_e9be1 + ret + +Func_e9beb: + ld c, 9 + ld de, SCREEN_WIDTH +.asm_e9bed + ld [hl], $04 + add hl, de + ld [hl], $03 + add hl, de + dec c + jr nz, .asm_e9bed + ret -- cgit v1.3.1-sl0p From 2f6075ece09988de1630874d3f2ddd0e1f6d74c3 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 22 May 2016 23:35:36 -0400 Subject: Resolve hard-coded calls --- engine/diploma_3a.asm | 6 +++--- engine/printer.asm | 14 +++++++------- main.asm | 15 +++++++++++++-- 3 files changed, 23 insertions(+), 12 deletions(-) (limited to 'engine/diploma_3a.asm') diff --git a/engine/diploma_3a.asm b/engine/diploma_3a.asm index 20c4ba43..471703d6 100755 --- a/engine/diploma_3a.asm +++ b/engine/diploma_3a.asm @@ -82,11 +82,11 @@ Func_e9ad3: ld de, Tilemap_e9b3e coord hl, 6, 2 lb bc, 10, 12 - call $525d ; Func_e925d + call Func_e925d ld de, Tilemap_e9bb6 coord hl, 5, 13 lb bc, 1, 11 - call $525d ; Func_e925d + call Func_e925d ld de, String_e9bd5 coord hl, 2, 15 call PlaceString @@ -105,7 +105,7 @@ Func_e9ad3: ld de, TileMap_e9bc1 coord hl, 2, 0 lb bc, 4, 5 - call $525d ; Func_e925d + call Func_e925d ret Tilemap_e9b3e: INCBIN "gfx/unknown_e9b3e.tilemap" diff --git a/engine/printer.asm b/engine/printer.asm index e91376ee..6218f6a7 100755 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -731,7 +731,7 @@ Func_e8c5c: xor a ld [$ffdb], a call Func_e8f24 - call $510a ; Func_e910a + call Func_e910a ld a, [rIE] push af xor a @@ -773,7 +773,7 @@ Func_e8cb1: xor a ld [$ffdb], a call Func_e8f24 - call $5a08 ; Func_e9a08 + call _DisplayDiploma ld a, [rIE] push af xor a @@ -794,7 +794,7 @@ Func_e8cb1: call SaveScreenTilesToBuffer1 xor a ld [$ffba], a - call $5ad3 ; Func_e9ad3 + call Func_e9ad3 call Func_e8783 ld a, $03 ld [$cae2], a @@ -858,7 +858,7 @@ Func_e8d35:: ; e8d35 (3a:4e79) call SaveScreenTilesToBuffer1 xor a ld [H_AUTOBGTRANSFERENABLED], a - call $588a ; Func_e988a + call Func_e988a call Func_e8783 ld a, $10 ld [$cae2], a @@ -873,7 +873,7 @@ Func_e8d35:: ; e8d35 (3a:4e79) call DelayFrames xor a ld [H_AUTOBGTRANSFERENABLED], a - call $58ec ; Func_e98ec + call Func_e98ec call Func_e8783 ld a, $00 ld [$cae2], a @@ -888,7 +888,7 @@ Func_e8d35:: ; e8d35 (3a:4e79) call DelayFrames xor a ld [H_AUTOBGTRANSFERENABLED], a - call $5907 ; Func_e9907 + call Func_e9907 call Func_e8783 ld a, $00 ld [$cae2], a @@ -903,7 +903,7 @@ Func_e8d35:: ; e8d35 (3a:4e79) call DelayFrames xor a ld [H_AUTOBGTRANSFERENABLED], a - call $5922 ; Func_e9922 + call Func_e9922 call Func_e8783 ld a, $03 ld [$cae2], a diff --git a/main.asm b/main.asm index ec76673b..029142dc 100755 --- a/main.asm +++ b/main.asm @@ -915,9 +915,20 @@ Func_e8f3b: ; e8f3b (3a:4f3b) Func_e8f51: ; e8f51 (3a:4f51) dr $e8f51,$e8f82 Func_e8f82: ; e8f82 (3a:4f82) - dr $e8f82,$e928a + dr $e8f82,$e910a +Func_e910a: + dr $e910a,$e925d +Func_e925d: + dr $e925d,$e928a SurfingPikachu2Graphics: INCBIN "gfx/surfing_pikachu_2.2bpp" - dr $e988a,$e9a08 +Func_e988a: + dr $e988a,$e98ec +Func_e98ec: + dr $e98ec,$e9907 +Func_e9907: + dr $e9907,$e9922 +Func_e9922: + dr $e9922,$e9a08 INCLUDE "engine/diploma_3a.asm" -- cgit v1.3.1-sl0p From 2876e629ccc31699d45e7f7092f52e314b24f23c Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Mon, 23 May 2016 14:12:42 -0400 Subject: Move diploma tilemaps out of incbins --- engine/diploma_3a.asm | 36 +++++++++++++++++++++++++++++++++--- gfx/unknown_e9b3e.tilemap | 1 - gfx/unknown_e9bb6.tilemap | 2 -- gfx/unknown_e9bc1.tilemap | 1 - 4 files changed, 33 insertions(+), 7 deletions(-) delete mode 100644 gfx/unknown_e9b3e.tilemap delete mode 100644 gfx/unknown_e9bb6.tilemap delete mode 100644 gfx/unknown_e9bc1.tilemap (limited to 'engine/diploma_3a.asm') diff --git a/engine/diploma_3a.asm b/engine/diploma_3a.asm index 471703d6..c8a7e740 100755 --- a/engine/diploma_3a.asm +++ b/engine/diploma_3a.asm @@ -108,9 +108,39 @@ Func_e9ad3: call Func_e925d ret -Tilemap_e9b3e: INCBIN "gfx/unknown_e9b3e.tilemap" -Tilemap_e9bb6: INCBIN "gfx/unknown_e9bb6.tilemap" -TileMap_e9bc1: INCBIN "gfx/unknown_e9bc1.tilemap" +Tilemap_e9b3e: + db $7f, $7f, $7f, $1a, $1b, $7f, $7f, $7f, $7f, $7f + db $7f, $7f, $7f, $7f, $7f, $1c, $1d, $1e, $1f, $20 + db $7f, $21, $22, $23, $7f, $24, $25, $26, $27, $28 + db $29, $2a, $2b, $2c, $2d, $2e, $2f, $30, $31, $32 + db $33, $34, $35, $36, $37, $38, $39, $3a, $3b, $3c + db $7f, $3d, $3e, $3f, $40, $41, $42, $43, $29, $44 + db $45, $46, $47, $48, $49, $4a, $4b, $29, $29, $4c + db $4d, $4e, $4f, $50, $51, $52, $53, $54, $55, $56 + db $57, $58, $59, $7f, $7f, $7f, $5a, $5b, $5c, $5d + db $5e, $5f, $60, $61, $62, $7f, $7f, $7f, $7f, $63 + db $64, $65, $66, $67, $68, $7f, $7f, $7f, $7f, $7f + db $7f, $69, $6a, $6b, $6c, $6d, $6e, $7f, $7f, $7f + +Tilemap_e9bb6: + db $05 + db $06 + db $07 + db $08 + db $09 + db $0a + db $0b + db $0c + db $0d + db $0e + db $0f + +TileMap_e9bc1: + db $70, $71, $7f, $72, $7f + db $73, $74, $75, $76, $77 + db $7f, $78, $11, $12, $13 + db $7f, $7f, $14, $15, $7f + String_e9bd5: db "PLAY TIME@" Func_e9bdf: diff --git a/gfx/unknown_e9b3e.tilemap b/gfx/unknown_e9b3e.tilemap deleted file mode 100644 index 95386372..00000000 --- a/gfx/unknown_e9b3e.tilemap +++ /dev/null @@ -1 +0,0 @@ - !"#$%&'()*+,-./0123456789:;<=>?@ABC)DEFGHIJK))LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn \ No newline at end of file diff --git a/gfx/unknown_e9bb6.tilemap b/gfx/unknown_e9bb6.tilemap deleted file mode 100644 index 1fc3cd90..00000000 --- a/gfx/unknown_e9bb6.tilemap +++ /dev/null @@ -1,2 +0,0 @@ - -  \ No newline at end of file diff --git a/gfx/unknown_e9bc1.tilemap b/gfx/unknown_e9bc1.tilemap deleted file mode 100644 index 13521d1e..00000000 --- a/gfx/unknown_e9bc1.tilemap +++ /dev/null @@ -1 +0,0 @@ -pqrstuvwx \ No newline at end of file -- cgit v1.3.1-sl0p