diff options
| -rw-r--r-- | main.asm | 456 | 
1 files changed, 440 insertions, 16 deletions
| @@ -7948,6 +7948,7 @@ Predef: ; 3E6D  	ret  ;loads hl from cc4f, de from cc51, and bc from cc53 +  Load16BitRegisters: ;3e94  	ld a, [$cc4f]  	ld h, a @@ -7964,7 +7965,75 @@ Load16BitRegisters: ;3e94  	ret  ; 0x3ead -INCBIN "baserom.gbc",$3EAD,$4000 - $3EAD +INCBIN "baserom.gbc",$3EAD,$3F22 - $3EAD + +; 0x3F22 +	dw $66ee +	dw $66f8 +	dw $5b8e +	dw $5b81 +	dw $6960 +	dw $697e +	dw $6983 +	dw $6cbd +	dw $5bbe +	dw $5ba8 +	dw $5bd4 +	dw $6453 +	dw $6458 +	dw $6511 +	dw $64a3 +	dw $64a8 +	dw $64ad +	dw $64b2 +	dw $64d0 +	dw $64d5 +	dw $6502 +	dw $64da +	dw $64df +	dw $64e4 +	dw $64b7 +	dw $64bc +	dw $64c1 +	dw $64c6 +	dw $64cb +	dw $6508 +	dw $6529 +	dw $69aa +	dw $5ced +	dw $5865 +	dw $5878 +	dw FoundHiddenItemText +	dw HiddenItemBagFullText +	dw $5df7 +	dw $6a3d +	dw $7e79 +	dw $7e7e +	dw $7e83 +	dw FoundHiddenCoinsText +	dw DroppedHiddenCoinsText +	dw $6bdd +	dw $6be2 +	dw $6c05 +	dw $6b69 +	dw $6a25 +	dw $7f37 +	dw $7f32 +	dw $5c29 +	dw $69a4 +	dw $6a2a +	dw $6a10 +	dw $6a1d +	dw $6953 +	dw $7bbf +	dw $5ec8 +	dw $5edb +	dw $5eef +	dw $5f02 +	dw $7c12 +	dw $7be8 +	dw $7c0d +	dw $7c45  SECTION "bank1",DATA,BANK[$1] @@ -8334,7 +8403,7 @@ MainMenu: ; 0x5af2  	ld hl,$D72E  	res 6,[hl]  	call ClearScreen -	call $3DED +	call GoPAL_SET_CF1C  	call LoadTextBoxTilePatterns  	call LoadFontTilePatterns  	ld hl,$D730 @@ -8416,7 +8485,7 @@ MainMenu: ; 0x5af2  	jp nz,.next0\@  	jr .next6\@  .next5\@ -	call $3DD4 +	call GBPalWhiteOutWithDelay3  	call ClearScreen  	ld a,4  	ld [$D52A],a @@ -26936,7 +27005,7 @@ NameRaterText1: ; 0x1da56  	ld [$cc35], a  	call $13fc  	push af -	call $3dd4 +	call GBPalWhiteOutWithDelay3  	call $3dbe  	call $20ba  	pop af @@ -45018,8 +45087,91 @@ RocketHideout2Script: ; 0x44e27  	ret  ; 0x44e3a -RocketHideout2_Unknown44e3a: ; 0x44ea -INCBIN "baserom.gbc",$44e3a,$28d +RocketHideout2_Unknown44e3a: ; 0x44e3a +INCBIN "baserom.gbc",$44e3a,$45023-$44e3a + +; 0x45023 XXX: it looks to me this is probably data for copying tiles into memory, maybe to mix and match a few tilesets, but I don't really know for sure +	dw $5087 ;address from within tileset graphics +	db 1     ;number of tiles to copy? +	db $11   ;bank of tileset graphics +	dw $9200 ;where to load in VRAM +	 +	dw $5097 +	db 1 +	db $11 +	dw $9210 +	 +	dw $50A7 +	db 1 +	db $11 +	dw $9300 +	 +	dw $50B7 +	db 1 +	db $11 +	dw $9310 +	 +	dw Tset16_GFX + $200 +	db 1 +	db $1A +	dw $9200 +	 +	dw Tset16_GFX + $210 +	db 1 +	db $1A +	dw $9210 +	 +	dw Tset16_GFX + $300 +	db 1 +	db $1A +	dw $9300 +	 +	dw Tset16_GFX + $310 +	db 1 +	db $1A +	dw $9310 +	 +	dw $5097 +	db 1 +	db $11 +	dw $93C0 +	 +	dw $50B7 +	db 1 +	db $11 +	dw $93D0 +	 +	dw $5087 +	db 1 +	db $11 +	dw $94C0 +	 +	dw $50A7 +	db 1 +	db $11 +	dw $94D0 +	 +	dw Tset05_GFX + $3C0 +	db 1 +	db $1A +	dw $93C0 +	 +	dw Tset05_GFX + $3D0 +	db 1 +	db $1A +	dw $93D0 +	 +	dw Tset05_GFX + $4C0 +	db 1 +	db $1A +	dw $94C0 +	 +	dw Tset05_GFX + $4D0 +	db 1 +	db $1A +	dw $94D0 + +INCBIN "baserom.gbc",$45083,$450c7-$45083  RocketHideout2Texts: ; 0x450c7  	dw RocketHideout2Text1, RocketHideout2Text2, RocketHideout2Text3, RocketHideout2Text4, RocketHideout2Text5 @@ -57994,7 +58146,7 @@ DayCareMText1: ; 0x56254  	ld [$cc35], a  	call $13fc  	push af -	call $3dd4 +	call GBPalWhiteOutWithDelay3  	call $3dbe  	call $20ba  	pop af @@ -69835,20 +69987,20 @@ Unnamed_ASM_74872: ; 0x74872  ; code similar to this appears in a lot of banks; this particular  ; one is called after you beat the Rocket that gives you TM28 DIG.  ; the screen then fades out, he disappears, and fades back in -	call $20EF +	call GBFadeIn1  	ld a, $07  	ld [$CC4D], a  	ld a, $15 -	call $3E6D +	call Predef  	ld a, $09  	ld [$CC4D], a  	ld a, $11 -	call $3E6D +	call Predef  	ld a, $06  	ld [$CC4D], a  	ld a, $11  	call Predef -	call $20D1 +	call GBFadeOut1  	ret  ViridianGym_h: ; 0x74897 to 0x748a3 (12 bytes) (id=45) @@ -71180,7 +71332,14 @@ FuchsiaGymScript: ; 0x7543d  ; 0x75453  FuchsiaGymScript_Unknown75453: ; 0x75453 -INCBIN "baserom.gbc",$75453,$12 +	ld hl, $D126 +	bit 6, [hl] +	res 6, [hl] +	ret z +	ld hl, Gym5CityName +	ld de, Gym5LeaderName +	call $317F +	ret  Gym5CityName: ; 0x75465  	db "FUCHSIA CITY@" @@ -71570,7 +71729,22 @@ CinnabarGymScript: ; 0x7574a  ; 0x75759  CinnabarGymScript_Unknown75759: ; 0x75759 -INCBIN "baserom.gbc",$75759,$7577B - $75759 +	ld hl, $D126 +	bit 6, [hl] +	res 6, [hl] +	push hl +	call nz, CinnabarGymScript_Unknown75772 +	pop hl +	bit 5, [hl] +	res 5, [hl] +	call nz, $3EAD +	ld hl, $D79B +	res 7, [hl] +	ret +CinnabarGymScript_Unknown75772: ; 0x75772 +	ld hl, Gym7CityName +	ld de, Gym7LeaderName +	jp $317F  Gym7CityName: ; 0x7577B  	db "CINNABAR ISLAND@" @@ -72975,8 +73149,119 @@ AgathaObject: ; 0x76534 (size=44)  AgathaBlocks: ; 0x76560 30  	INCBIN "maps/agatha.blk" -Unknown_7657e: ;0x7657e (has to do with the hall of fame on the PC) -INCBIN "baserom.gbc",$7657e,$76670 - $7657e +Unknown_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ; 0x7657e +	ld hl, UnnamedText_76683 +	call PrintText +	ld hl, $D730 +	set 6, [hl] +	push hl +	ld a, [$CFCB] +	push af +	ld a, [$FF00+$D7] +	push af +	xor a +	ld [$FF00+$D7], a +	ld [$D0AA], a +	ld [$CFCB], a +	ld [$CD41], a +	ld [$CD42], a +	ld a, [$D5A2] +	ld b, a +	cp a, $33 +	jr c, .first +	ld b, $32 +	sub b +	ld [$CD42], a +.first +	ld hl, $CD42 +	inc [hl] +	push bc +	ld a, [$CD41] +	ld [$CD3D], a +	ld b, $1C +	ld hl, $7B3F +	call Bankswitch +	call Unknown_765e5 +	pop bc +	jr c, .second +	ld hl, $CD41 +	inc [hl] +	ld a, [hl] +	cp b +	jr nz, .first +.second +	pop af +	ld [$FF00+$D7], a +	pop af +	ld [$CFCB], a +	pop hl +	res 6, [hl] +	call GBPalWhiteOutWithDelay3 +	call ClearScreen +	call GoPAL_SET_CF1C +	jp GBPalNormal +Unknown_765e5: ; 0x765e5 +	ld c, 6 +.third +	push bc +	call Unknown_76610 +	call $3865 +	ld a, [$FF00+$B4] +	bit 1, a +	jr nz, .fifth +	ld hl, $CC6B +	ld de, $CC5B +	ld bc, $0050 +	call CopyData +	pop bc +	ld a, [$CC5B] +	cp a, $FF +	jr z, .fourth +	dec c +	jr nz, .third +.fourth +	and a +	ret  +.fifth +	pop bc +	scf  +	ret  +Unknown_76610: ; 0x76610 +	call GBPalWhiteOutWithDelay3 +	call ClearScreen +	ld hl, $CC5B +	ld a, [hli] +	ld [$CD3D], a +	ld [$CF91], a +	ld [$D0B5], a +	ld [$CFD9], a +	ld [$CF1D], a +	ld a, [hli] +	ld [$CD3F], a +	ld de, $CD6D +	ld bc, $000B +	call CopyData +	ld b, $0B +	ld c, 0 +	call GoPAL_SET +	ld hl, $C410 +	call GetBaseStats +	call $1389 +	call GBPalNormal +	ld hl, $C4A4 +	ld b, 2 +	ld c, $12 +	call TextBoxBorder +	ld hl, $C4CD +	ld de, HallOfFameNoText +	call PlaceString +	ld hl, $C4DC +	ld de, $CD42 +	ld bc, $0103 +	call PrintNumber +	ld b, $1C +	ld hl, $42F0 +	jp Bankswitch  HallOfFameNoText: ; 0x76670  	db "HALL OF FAME No   @" @@ -74735,7 +75020,146 @@ INCBIN "baserom.gbc",$7B068,$7C000 - $7B068  SECTION "bank1F",DATA,BANK[$1F] -INCBIN "baserom.gbc",$7C000,$4000 +INCBIN "baserom.gbc",$7C000,$7C45E-$7C000 + +IF _RED +UnknSong_md_7c45e: ;0x7C45E +	mus_duty duty50 +		mus_note noteD, note4_16 + +	db $f4 + +		mus_note noteC, note16 +		mus_note noteC, note2 +		mus_note noteD, note4 + +	mus_octave oct3 +		mus_note noteG#, note16 +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 + +	mus_octave oct3 +		mus_note noteRst, note16 + +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 + +	mus_octave oct3 +		mus_note noteC, note16 +		mus_note noteC, note2 +		mus_note noteD, note8_16 + +	mus_octave oct3 +		mus_note noteA#, note16 +		mus_note noteC, note2 + +	mus_end +UnknSong_md_7c475: ;0x7C475 +	mus_duty duty50 +		mus_note noteD, note4_16 +		mus_note noteC, note2_16 +		mus_note noteC, note16 +		mus_note noteC, note16 +		mus_note noteD, note4 + +	db $d4 + +		mus_note noteC, note8 +		mus_note noteC, note2 +		mus_note noteD, note4 +		mus_note noteRst, note4_16 + +		mus_note noteG#, note8 +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 +		mus_note noteRst, note4_16 + +		mus_note noteRst, note8 + +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 +		mus_note noteRst, note4_16 + +		mus_note noteC, note8 +		mus_note noteC, note2 +		mus_note noteD, note8_16 +		mus_note noteRst, note4_16 + +		mus_note noteA#, note8 +		mus_note noteC, note2 + +	mus_end +ENDC +IF _BLUE +UnknSong_md_7c45e: ;0x7C45E +	mus_duty duty50 +		mus_note noteD, note4 + +	mus_octave oct3 +		mus_note noteC, note16 +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 + +	mus_octave oct3 +		mus_note noteG#, note16 +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 + +	mus_octave oct3 +		mus_note noteRst, note16 + +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 + +	mus_octave oct3 +		mus_note noteC, note16 +		mus_note noteC, note2 +		mus_note noteD, note1 + +	db $f2 + +	mus_octave oct7 +		mus_note noteC, note2 + +	mus_end +UnknSong_md_7c475: ; 0x7C475 +	mus_duty duty50 +		mus_note noteD, note4 +		mus_note noteC, note2_16 +		mus_note noteC, note16 +		mus_note noteC, note16 +		mus_note noteD, note4 +		mus_note noteRst, note4_16 + +		mus_note noteC, note8 +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 +		mus_note noteRst, note4_16 + +		mus_note noteG#, note8 +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 +		mus_note noteRst, note4_16 + +		mus_note noteRst, note8 + +		mus_note noteC, note4_8_16 +		mus_note noteD, note4 +		mus_note noteRst, note4_16 + +		mus_note noteC, note8 +		mus_note noteC, note2 +		mus_note noteD, note1 + +	db $d2 + +	mus_octave oct6 +		mus_note noteC, note2 + +	mus_end +ENDC + +INCBIN "baserom.gbc",$7C490,$80000-$7C490  SECTION "bank20",DATA,BANK[$20] | 
