Source for Emerald Jirachi and Celebi

This commit is contained in:
notblisy
2023-12-28 14:31:32 -05:00
committed by GitHub
parent 526d6ba755
commit 2c67cd4e20
32 changed files with 1991 additions and 0 deletions

View File

@@ -0,0 +1,174 @@
INCLUDE "../macros.asm"
SECTION "eonticket",ROM0[$100]
jp Start
db $00
TicketSprite: ; 104
INCBIN "celebis.bin"
TicketPalette: ; 1604
INCBIN "celebispal.bin"
Prologue:
INCBIN "prologue-{REGION_NAME}.bin"
DataPacket: ; 164a
INCBIN "eonticket-{REGION_NAME}.mev"
db 0,0,0 ; padding
INCLUDE "../common/mem_struct.asm"
SpriteData:
dw TicketSprite,TicketPalette
db $07,$07,$01,$01,$01,$01,$01 ; 64 x 64 size
Instructions1: ; 1921
db "Link e-Reader to Pokémon Emerald\n"
db "and use MYSTERY EVENTS by talking\n"
db "to the MYSTERY GIFT MAN\n"
db "Press the B Button to cancel.\0"
Instructions2: ; 199d
db "Press the A Button on the Game Boy\n"
db "Advance containing Pokémon Emerald\n"
db "to begin sending the UNLOCKED\n"
db "CELEBI EVENT.\0"
DeliveryInProcess: ; 1a0d
db "UNLOCKED EVENT delivery in Progress\0"
TicketDelivered: ; 1a2f
db "UNLOCKED CELEBI EVENT delivered!\n"
db "\n"
db "Press the A Button to resend.\n"
db "Press the B Button to cancel.\0"
; this function is subtly different than the one
; on the Battle e cards, for no apparent reason
TransferData:
LD_IND_HL SomeVar1
push de
ld hl, $bbbb
LD_IND_HL Space_1
EX_DE_HL
LD_IND_HL Space_2
API_0C7 Space_1
wait $01
pop hl
inc hl
ld b, $01
call WordShiftRight
LD_IND_HL SomeVar2
.asm_1aa1
LD_HL_IND SomeVar2
ld a, l
or h
ret z
ld hl, $8888
LD_IND_HL Space_1
ld e, $01
.asm_1aaf
ld a, e
cp $08
jr nc, .asm_1ad9
push de
LD_HL_IND SomeVar1
ld c, [hl]
inc hl
ld b, [hl]
inc hl
LD_IND_HL SomeVar1
ld l, e
ld h, $00
add hl, hl
ld de, Space_1
add hl, de
ld [hl], c
inc hl
ld [hl], b
pop de
LD_HL_IND SomeVar2
dec hl
LD_IND_HL SomeVar2
ld a, l
or h
jr z, .asm_1ad9
inc e
jr .asm_1aaf
.asm_1ad9
API_0C7 Space_1
wait $01
jr .asm_1aa1
Start: ; 1ae2
API_121
CreateCustomSprite SpriteHandlePtr, $80, SpriteData
SetSpritePos SpriteHandlePtr, 120, 64
SpriteHide SpriteHandlePtr
CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4
ld h, a
ld l, $00
SetTextSize
API_09B RegionHandlePtr, $0102
SetTextColor RegionHandlePtr, 2, 0
SetRegionColor RegionHandlePtr, 0
SetBackgroundPalette 16, $0040, TicketPalette
FadeIn 16
wait 16
API $0C6
DrawText RegionHandlePtr, Instructions1, 8, 4
API $08D
INCLUDE "../common/wait_for_link.asm"
SpriteShow SpriteHandlePtr
DrawText RegionHandlePtr, Instructions2, 8, 4
API $08D
ld a, b
nop
UNKNOWN_VALUE EQU $0078
INCLUDE "../common/wait_for_ready.asm"
DrawText RegionHandlePtr, DeliveryInProcess, 8, 4
DATA_TRANSFER_LENGTH EQU 6144
INCLUDE "../common/transfer_data.asm"
ld hl, $5fff
LD_IND_HL Space_1
API_0C7 Space_1
wait $80
SpriteHide SpriteHandlePtr
DrawText RegionHandlePtr, TicketDelivered, 8, 4
API $08D
ld c, a
nop
INCLUDE "../common/wrap_up.asm"
INCLUDE "../common/word_shift_right.asm"
SomeVar1: ; 1CA2
db $FF,0 ; mark EOF
RegionHandlePtr: db 0 ; 1CA4
SpriteHandlePtr: db 0,0 ; 1CA5
SomeVar2: db 0,0 ; 1CA7

Binary file not shown.

View File

@@ -0,0 +1,40 @@
all: 00-C000-EN.raw verify
verify:
md5sum --check eonticket.md5
eonticket-%.tx: eonticket.asm
python ../scripts/regionalize.py $< $@ $* $*
eonticket-%.o: eonticket-%.tx
./rgbasm -o $@ $<
eonticket-%.gbc: eonticket-%.o
./rgblink -o $@ $<
eonticket-%.bin: eonticket-%.gbc
python ../scripts/stripgbc.py $< $@
eonticket-%.mev: eonticket-%.bin
python ../scripts/checksum.py $< $@
prologue-%.tx: prologue.asm
python ../scripts/regionalize.py $< $@ $* $*
prologue-%.o: prologue-%.tx
./rgbasm -o $@ $<
prologue-%.gbc: prologue-%.o
./rgblink -o $@ $<
prologue-%.bin: prologue-%.gbc
python ../scripts/stripgbc.py $< $@
00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin
python ../scripts/ereadertext.py $< $@ $*
00-C000-%.o: 00-C000-%.tx
./rgbasm -o $@ $<
00-C000-%.gbc: 00-C000-%.o
./rgblink -o $@ $<
00-C000-%.z80: 00-C000-%.gbc
python ../scripts/stripgbc.py $< $@
00-C000-%.vpk: 00-C000-%.z80
./nevpk -c -i $< -o $@
00-C000-%.raw: 00-C000-%.vpk
./nedcmake -i $< -o $@ -type 1 -region 1
clean:
rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw

View File

@@ -0,0 +1 @@
_F9W<EFBFBD><EFBFBD>k<EFBFBD>SO;<3B>"$<12><EFBFBD><EFBFBD>r'f<>Y|<7C>^<5E>A

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,576 @@
INCLUDE "../macros.asm"
INCLUDE "../constants/items.asm"
INCLUDE "../constants/scriptcommandscelebibattleunlockedem.asm"
Mystery_Event
db CHECKSUM_CRC
dd 0 ; checksum placeholder
GBAPTR DataStart
GBAPTR DataEnd
DataStart:
db IN_GAME_SCRIPT
db 24,11 ; petalburg gym
db 2 ; norman
GBAPTR NormanScriptStart
GBAPTR NormanScriptEnd
db PRELOAD_SCRIPT
GBAPTR PreloadScriptStart
db END_OF_CHUNKS
GoSeeYourFather:
Text_EN "A bright flash was seen in\n"
Text_EN "PETALBURG WOODS!\p"
Text_EN "Ever since, a rare Pokemon has been\n"
Text_EN "seen healing thin trees.@"
NormanScriptStart:
setvirtualaddress NormanScriptStart
callasm $02025301
writebytetoaddr $00, $030026F9
virtualmsgbox Poor
waitmsg
db $6E, $17, $8
release
compare LASTRESULT, 0
virtualgotoif 1, Changemind
virtualgotoif 5, CelebiEvent
db $00
STRUCTURETABLEG
STRUCTURETABLEA
STRUCTURETABLEE
STRUCTURETABLEM
LOADSTOREPARTYAMOUNT
COLORNG
MEMCPYSETUP
SUBSTRUCTURECPY
CHECKSUM
ENCRYPT
CALCSTATS
CAPTURECELEBI
CELEBICOPY1
SRFIX
CelebiEvent:
db $43
compare LASTRESULT, 5
virtualgotoif 2, NoRoom
copyvar $800B, $800D
writebytetoaddr $00, $02028590
writebytetoaddr $69, $02025398
writebytetoaddr $54, $02025399
setwildbattle $F4, $30, $00
callasm $020291BD ;LOAD STORE PARTY
callasm $020291D1 ;Colo RNG
callasm $020292B1 ;Memcopy
callasm $020292C1 ;checksum
callasm $020292F5 ;copy celebi over
callasm $0202930D
special $13F
sound $13
waitstate
playmoncry $FB, $0
virtualmsgbox Celebi
waitmsg
waitmoncry
waitkeypress
release
special $145
playsong $0166, $0
waitmoncry
callasm $020253A1
waitstate
db $00
db $00
db $00
pause $80
callasm $02025301
writebytetoaddr $00, $030026F9
db $43
comparevar LASTRESULT, $800B
virtualgotoif 3, FlewAway
virtualgotoif 2, Catch
Catch:
callasm $020292D1
killscript
NoRoom:
virtualmsgbox NoSpace
waitmsg
waitkeypress
release
end
Changemind:
virtualmsgbox Change
waitmsg
waitkeypress
release
end
NoRoomToGive:
virtualloadpointer PartyFull
setbyte 3
killscript
FlewAway:
copybyte $03005D80, $02022C34
copybyte $03005D81, $02022C35
copybyte $03005D82, $02022C36
copybyte $03005D83, $02022C37
virtualmsgbox Flew
waitmsg
waitkeypress
release
writebytetoaddr $3A, $02025398
writebytetoaddr $91, $02025399
end
PartyFull:
Text_EN "You need space in your party\n"
Text_EN "to play this MYSTERY EVENT!@"
Poor:
Text_EN "A Pokemon is rustling around\n"
Text_EN "in this tree.\p"
Text_EN "Would you like to investigate?@"
Change:
Text_EN "Maybe another time.@"
Flew:
Text_EN "The CELEBI flew away!@"
NoSpace:
Text_EN "You need space in your party\n"
Text_EN "to capture CELEBI!@"
Celebi:
Text_EN "CELEBI: Biyoo!@"
NormanScriptEnd:
PreloadScriptStart:
setvirtualaddress PreloadScriptStart
db $43
compare LASTRESULT, 5
virtualgotoif 2, NoRoomToGive
virtualloadpointer GoSeeYourFather
setbyte 2
writebytetoaddr $00, $2024744 ;Temp Celebi
writebytetoaddr $00, $2024745
writebytetoaddr $00, $2024746
writebytetoaddr $00, $2024747
writebytetoaddr $91, $2024748
writebytetoaddr $79, $2024749
writebytetoaddr $00, $202474A
writebytetoaddr $00, $202474B
writebytetoaddr $5E, $202474C
writebytetoaddr $7A, $202474D
writebytetoaddr $97, $202474E
writebytetoaddr $80, $202474F
writebytetoaddr $FF, $2024750
writebytetoaddr $00, $2024751
writebytetoaddr $00, $2024752
writebytetoaddr $00, $2024753
writebytetoaddr $00, $2024754
writebytetoaddr $00, $2024755
writebytetoaddr $01, $2024756
writebytetoaddr $02, $2024757
writebytetoaddr $51, $2024758
writebytetoaddr $8A, $2024759
writebytetoaddr $64, $202475A
writebytetoaddr $FF, $202475B
writebytetoaddr $00, $202475C
writebytetoaddr $00, $202475D
writebytetoaddr $00, $202475E
writebytetoaddr $00, $202475F
writebytetoaddr $CB, $2024760
writebytetoaddr $18, $2024761
writebytetoaddr $00, $2024762
writebytetoaddr $00, $2024763
writebytetoaddr $FB, $2024764
writebytetoaddr $00, $2024765
writebytetoaddr $00, $2024766
writebytetoaddr $00, $2024767
writebytetoaddr $30, $2024768
writebytetoaddr $02, $2024769
writebytetoaddr $00, $202476A
writebytetoaddr $00, $202476B
writebytetoaddr $00, $202476C
writebytetoaddr $46, $202476D
writebytetoaddr $00, $202476E
writebytetoaddr $00, $202476F
writebytetoaddr $5D, $2024770
writebytetoaddr $00, $2024771
writebytetoaddr $69, $2024772
writebytetoaddr $00, $2024773
writebytetoaddr $D7, $2024774
writebytetoaddr $00, $2024775
writebytetoaddr $DB, $2024776
writebytetoaddr $00, $2024777
writebytetoaddr $19, $2024778
writebytetoaddr $14, $2024779
writebytetoaddr $05, $202477A
writebytetoaddr $19, $202477B
writebytetoaddr $00, $202477C
writebytetoaddr $00, $202477D
writebytetoaddr $00, $202477E
writebytetoaddr $00, $202477F
writebytetoaddr $00, $2024780
writebytetoaddr $00, $2024781
writebytetoaddr $00, $2024782
writebytetoaddr $00, $2024783
writebytetoaddr $00, $2024784
writebytetoaddr $00, $2024785
writebytetoaddr $00, $2024786
writebytetoaddr $00, $2024787
writebytetoaddr $00, $2024788
writebytetoaddr $FF, $2024789
writebytetoaddr $0A, $202478A
writebytetoaddr $A1, $202478B
writebytetoaddr $00, $202478C
writebytetoaddr $00, $202478D
writebytetoaddr $00, $202478E
writebytetoaddr $00, $202478F
writebytetoaddr $00, $2024790
writebytetoaddr $00, $2024791
writebytetoaddr $00, $2024792
writebytetoaddr $00, $2024793
writebytetoaddr $00, $20248FB ;MemCopy CallASM
writebytetoaddr $04, $20248FC ;This memory copies from enemy ram to Battle-E Location
writebytetoaddr $4D, $20248FD
writebytetoaddr $2D, $20248FE
writebytetoaddr $68, $20248FF
writebytetoaddr $04, $2024900
writebytetoaddr $48, $2024901
writebytetoaddr $06, $2024902
writebytetoaddr $49, $2024903
writebytetoaddr $04, $2024904
writebytetoaddr $4A, $2024905
writebytetoaddr $06, $2024906
writebytetoaddr $4E, $2024907
writebytetoaddr $AD, $2024908
writebytetoaddr $1B, $2024909
writebytetoaddr $29, $202490A
writebytetoaddr $44, $202490B
writebytetoaddr $0B, $202490C
writebytetoaddr $DF, $202490D
writebytetoaddr $70, $202490E
writebytetoaddr $47, $202490F
writebytetoaddr $90, $2024910
writebytetoaddr $5D, $2024911
writebytetoaddr $00, $2024912
writebytetoaddr $03, $2024913
writebytetoaddr $44, $2024914
writebytetoaddr $47, $2024915
writebytetoaddr $02, $2024916
writebytetoaddr $02, $2024917
writebytetoaddr $2D, $2024918
writebytetoaddr $00, $2024919
writebytetoaddr $00, $202491A
writebytetoaddr $04, $202491B
writebytetoaddr $40, $202491C
writebytetoaddr $56, $202491D
writebytetoaddr $02, $202491E
writebytetoaddr $02, $202491F
writebytetoaddr $54, $2024920
writebytetoaddr $4A, $2024921
writebytetoaddr $02, $2024922
writebytetoaddr $02, $2024923
callasm $20248FD ;Do Memory Copy
writebytetoaddr $00, $2024744 ;ASLR Compensation code. Forces ASLR to be lowes value code or w/e.
writebytetoaddr $00, $2024745
writebytetoaddr $17, $2024746
writebytetoaddr $4E, $2024747
writebytetoaddr $30, $2024748
writebytetoaddr $68, $2024749
writebytetoaddr $17, $202474A
writebytetoaddr $49, $202474B
writebytetoaddr $08, $202474C
writebytetoaddr $60, $202474D
writebytetoaddr $17, $202474E
writebytetoaddr $48, $202474F
writebytetoaddr $00, $2024750
writebytetoaddr $68, $2024751
writebytetoaddr $17, $2024752
writebytetoaddr $49, $2024753
writebytetoaddr $47, $2024754
writebytetoaddr $1A, $2024755
writebytetoaddr $17, $2024756
writebytetoaddr $48, $2024757
writebytetoaddr $17, $2024758
writebytetoaddr $49, $2024759
writebytetoaddr $01, $202475A
writebytetoaddr $60, $202475B
writebytetoaddr $17, $202475C
writebytetoaddr $4A, $202475D
writebytetoaddr $02, $202475E
writebytetoaddr $23, $202475F
writebytetoaddr $13, $2024760
writebytetoaddr $70, $2024761
writebytetoaddr $17, $2024762
writebytetoaddr $48, $2024763
writebytetoaddr $38, $2024764
writebytetoaddr $44, $2024765
writebytetoaddr $01, $2024766
writebytetoaddr $78, $2024767
writebytetoaddr $01, $2024768
writebytetoaddr $30, $2024769
writebytetoaddr $02, $202476A
writebytetoaddr $78, $202476B
writebytetoaddr $01, $202476C
writebytetoaddr $30, $202476D
writebytetoaddr $03, $202476E
writebytetoaddr $78, $202476F
writebytetoaddr $01, $2024770
writebytetoaddr $30, $2024771
writebytetoaddr $04, $2024772
writebytetoaddr $78, $2024773
writebytetoaddr $11, $2024774
writebytetoaddr $44, $2024775
writebytetoaddr $19, $2024776
writebytetoaddr $44, $2024777
writebytetoaddr $21, $2024778
writebytetoaddr $44, $2024779
writebytetoaddr $49, $202477A
writebytetoaddr $42, $202477B
writebytetoaddr $11, $202477C
writebytetoaddr $4A, $202477D
writebytetoaddr $12, $202477E
writebytetoaddr $4B, $202477F
writebytetoaddr $09, $2024780
writebytetoaddr $04, $2024781
writebytetoaddr $51, $2024782
writebytetoaddr $43, $2024783
writebytetoaddr $19, $2024784
writebytetoaddr $44, $2024785
writebytetoaddr $31, $2024786
writebytetoaddr $60, $2024787
writebytetoaddr $00, $2024788
writebytetoaddr $00, $2024789
writebytetoaddr $00, $202478A
writebytetoaddr $00, $202478B
writebytetoaddr $14, $202478C
writebytetoaddr $4A, $202478D
writebytetoaddr $0F, $202478E
writebytetoaddr $4B, $202478F
writebytetoaddr $00, $2024790
writebytetoaddr $00, $2024791
writebytetoaddr $0F, $2024792
writebytetoaddr $48, $2024793
writebytetoaddr $0F, $2024794
writebytetoaddr $49, $2024795
writebytetoaddr $01, $2024796
writebytetoaddr $60, $2024797
writebytetoaddr $0F, $2024798
writebytetoaddr $48, $2024799
writebytetoaddr $10, $202479A
writebytetoaddr $49, $202479B
writebytetoaddr $01, $202479C
writebytetoaddr $60, $202479D
writebytetoaddr $00, $202479E
writebytetoaddr $00, $202479F
writebytetoaddr $13, $20247A0
writebytetoaddr $60, $20247A1
writebytetoaddr $70, $20247A2
writebytetoaddr $47, $20247A3
writebytetoaddr $80, $20247A4
writebytetoaddr $5D, $20247A5
writebytetoaddr $00, $20247A6
writebytetoaddr $03, $20247A7
writebytetoaddr $34, $20247A8
writebytetoaddr $2C, $20247A9
writebytetoaddr $02, $20247AA
writebytetoaddr $02, $20247AB
writebytetoaddr $90, $20247AC
writebytetoaddr $5D, $20247AD
writebytetoaddr $00, $20247AE
writebytetoaddr $03, $20247AF
writebytetoaddr $54, $20247B0
writebytetoaddr $4A, $20247B1
writebytetoaddr $02, $20247B2
writebytetoaddr $02, $20247B3
writebytetoaddr $EC, $20247B4
writebytetoaddr $2F, $20247B5
writebytetoaddr $02, $20247B6
writebytetoaddr $02, $20247B7
writebytetoaddr $02, $20247B8
writebytetoaddr $00, $20247B9
writebytetoaddr $3E, $20247BA
writebytetoaddr $01, $20247BB
writebytetoaddr $F9, $20247BC
writebytetoaddr $26, $20247BD
writebytetoaddr $00, $20247BE
writebytetoaddr $03, $20247BF
writebytetoaddr $5E, $20247C0
writebytetoaddr $4A, $20247C1
writebytetoaddr $02, $20247C2
writebytetoaddr $02, $20247C3
writebytetoaddr $65, $20247C4
writebytetoaddr $EB, $20247C5
writebytetoaddr $B9, $20247C6
writebytetoaddr $EE, $20247C7
writebytetoaddr $A1, $20247C8
writebytetoaddr $61, $20247C9
writebytetoaddr $35, $20247CA
writebytetoaddr $0A, $20247CB
writebytetoaddr $B1, $20247CC
writebytetoaddr $61, $20247CD
writebytetoaddr $08, $20247CE
writebytetoaddr $08, $20247CF
writebytetoaddr $C4, $20247D0
writebytetoaddr $75, $20247D1
writebytetoaddr $03, $20247D2
writebytetoaddr $02, $20247D3
writebytetoaddr $69, $20247D4
writebytetoaddr $6F, $20247D5
writebytetoaddr $FD, $20247D6
writebytetoaddr $FF, $20247D7
writebytetoaddr $48, $20247D8
writebytetoaddr $0E, $20247D9
writebytetoaddr $00, $20247DA
writebytetoaddr $03, $20247DB
writebytetoaddr $3A, $20247DC
writebytetoaddr $91, $20247DD
writebytetoaddr $02, $20247DE
writebytetoaddr $02, $20247DF
writebytetoaddr $C4, $20247E0
writebytetoaddr $22, $20247E1
writebytetoaddr $00, $20247E2
writebytetoaddr $03, $20247E3
writebytetoaddr $28, $2024918
writebytetoaddr $00, $202491C
writebytetoaddr $53, $202491D
callasm $20248FD ;Do Memory Copy Again
writebytetoaddr $03, $2024744 ;Memory copy for second half of script
writebytetoaddr $48, $2024745
writebytetoaddr $05, $2024746
writebytetoaddr $49, $2024747
writebytetoaddr $03, $2024748
writebytetoaddr $4A, $2024749
writebytetoaddr $0B, $202474A
writebytetoaddr $DF, $202474B
writebytetoaddr $04, $202474C
writebytetoaddr $48, $202474D
writebytetoaddr $05, $202474E
writebytetoaddr $49, $202474F
writebytetoaddr $08, $2024750
writebytetoaddr $60, $2024751
writebytetoaddr $70, $2024752
writebytetoaddr $47, $2024753
writebytetoaddr $88, $2024754
writebytetoaddr $93, $2024755
writebytetoaddr $02, $2024756
writebytetoaddr $02, $2024757
writebytetoaddr $54, $2024758
writebytetoaddr $00, $2024759
writebytetoaddr $00, $202475A
writebytetoaddr $04, $202475B
writebytetoaddr $60, $202475C
writebytetoaddr $54, $202475D
writebytetoaddr $02, $202475E
writebytetoaddr $02, $202475F
writebytetoaddr $60, $2024760
writebytetoaddr $54, $2024761
writebytetoaddr $02, $2024762
writebytetoaddr $02, $2024763
writebytetoaddr $48, $2024764
writebytetoaddr $0E, $2024765
writebytetoaddr $00, $2024766
writebytetoaddr $03, $2024767
writebytetoaddr $09, $2024918
writebytetoaddr $A0, $202491C
writebytetoaddr $53, $202491D
callasm $20248FD ;Do Memory Copy Again
end
DataEnd:
EOF

View File

@@ -0,0 +1 @@
901180e44767e19e5dc9d5df881fe123 00-C000-EN.z80

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,15 @@
INCLUDE "../macros.asm"
SECTION "prologue", ROM0[$100]
db "GameFreak inc."
db 0,0,0,0,0,0
dd 0
Text "e reader" ; no string terminator
db 0,0,0,0,$01,$55
db 0,0,0,0
db REGION
db 0
db "GameFreak inc."
db 0,0
EOF

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
9W<EFBFBD>s<EFBFBD>s?c<>N<EFBFBD>A<EFBFBD> <20>wwM/<2F>"E<16>l<EFBFBD>^<5E>A<EFBFBD>

View File

@@ -0,0 +1,171 @@
INCLUDE "../macros.asm"
SECTION "eonticket",ROM0[$100]
jp Start
db $00
TicketPalette: ; 1604
INCBIN "jirachi.pal.bin"
Prologue:
INCBIN "prologue-{REGION_NAME}.bin"
DataPacket: ; 164a
INCBIN "eonticket-{REGION_NAME}.mev"
db 0,0,0 ; padding
INCLUDE "../common/mem_struct.asm"
SpriteData:
dw TicketPalette
db $00,$00,$01,$01,$01,$01,$01 ;
Instructions1: ; 1921
db "Link e-Reader to Pokémon Emerald\n"
db "and activate Mystery Event.\n"
db "Press the B Button to cancel.\0"
Instructions2: ; 199d
db "Press the A Button on the Game Boy\n"
db "Advance containing Pokémon Emerald\n"
db "to begin sending the JIRACHI EVENT.\0"
DeliveryInProcess: ; 1a0d
db "JIRACHI EVENT delivery in Progress...\0"
TicketDelivered: ; 1a2f
db "JIRACHI EVENT delivered!\n"
db "\n"
db "Press the A Button to resend.\n"
db "Press the B Button to cancel.\0"
; this function is subtly different than the one
; on the Battle e cards, for no apparent reason
TransferData:
LD_IND_HL SomeVar1
push de
ld hl, $bbbb
LD_IND_HL Space_1
EX_DE_HL
LD_IND_HL Space_2
API_0C7 Space_1
wait $01
pop hl
inc hl
ld b, $01
call WordShiftRight
LD_IND_HL SomeVar2
.asm_1aa1
LD_HL_IND SomeVar2
ld a, l
or h
ret z
ld hl, $8888
LD_IND_HL Space_1
ld e, $01
.asm_1aaf
ld a, e
cp $08
jr nc, .asm_1ad9
push de
LD_HL_IND SomeVar1
ld c, [hl]
inc hl
ld b, [hl]
inc hl
LD_IND_HL SomeVar1
ld l, e
ld h, $00
add hl, hl
ld de, Space_1
add hl, de
ld [hl], c
inc hl
ld [hl], b
pop de
LD_HL_IND SomeVar2
dec hl
LD_IND_HL SomeVar2
ld a, l
or h
jr z, .asm_1ad9
inc e
jr .asm_1aaf
.asm_1ad9
API_0C7 Space_1
wait $01
jr .asm_1aa1
Start: ; 1ae2
API_121
CreateCustomSprite SpriteHandlePtr, $80, SpriteData
SetSpritePos SpriteHandlePtr, 120, 64
SpriteHide SpriteHandlePtr
CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4
ld h, a
ld l, $00
SetTextSize
API_09B RegionHandlePtr, $0102
SetTextColor RegionHandlePtr, 2, 0
SetRegionColor RegionHandlePtr, 0
SetBackgroundPalette 16, $0040, TicketPalette
FadeIn 16
wait 16
API $0C6
DrawText RegionHandlePtr, Instructions1, 8, 4
API $08D
INCLUDE "../common/wait_for_link.asm"
SpriteShow SpriteHandlePtr
DrawText RegionHandlePtr, Instructions2, 8, 4
API $08D
ld a, b
nop
UNKNOWN_VALUE EQU $0078
INCLUDE "../common/wait_for_ready.asm"
DrawText RegionHandlePtr, DeliveryInProcess, 8, 4
DATA_TRANSFER_LENGTH EQU 6144
INCLUDE "../common/transfer_data.asm"
ld hl, $5fff
LD_IND_HL Space_1
API_0C7 Space_1
wait $80
SpriteHide SpriteHandlePtr
DrawText RegionHandlePtr, TicketDelivered, 8, 4
API $08D
ld c, a
nop
INCLUDE "../common/wrap_up.asm"
INCLUDE "../common/word_shift_right.asm"
SomeVar1: ; 1CA2
db $FF,0 ; mark EOF
RegionHandlePtr: db 0 ; 1CA4
SpriteHandlePtr: db 0,0 ; 1CA5
SomeVar2: db 0,0 ; 1CA7

View File

@@ -0,0 +1,40 @@
all: 00-C000-EN.raw verify
verify:
md5sum --check eonticket.md5
eonticket-%.tx: eonticket.asm
python ../scripts/regionalize.py $< $@ $* $*
eonticket-%.o: eonticket-%.tx
./rgbasm -o $@ $<
eonticket-%.gbc: eonticket-%.o
./rgblink -o $@ $<
eonticket-%.bin: eonticket-%.gbc
python ../scripts/stripgbc.py $< $@
eonticket-%.mev: eonticket-%.bin
python ../scripts/checksum.py $< $@
prologue-%.tx: prologue.asm
python ../scripts/regionalize.py $< $@ $* $*
prologue-%.o: prologue-%.tx
./rgbasm -o $@ $<
prologue-%.gbc: prologue-%.o
./rgblink -o $@ $<
prologue-%.bin: prologue-%.gbc
python ../scripts/stripgbc.py $< $@
00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin
python ../scripts/ereadertext.py $< $@ $*
00-C000-%.o: 00-C000-%.tx
./rgbasm -o $@ $<
00-C000-%.gbc: 00-C000-%.o
./rgblink -o $@ $<
00-C000-%.z80: 00-C000-%.gbc
python ../scripts/stripgbc.py $< $@
00-C000-%.vpk: 00-C000-%.z80
./nevpk -c -i $< -o $@
00-C000-%.raw: 00-C000-%.vpk
./nedcmake -i $< -o $@ -type 1 -region 1
clean:
rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw

View File

@@ -0,0 +1,726 @@
INCLUDE "../macros.asm"
INCLUDE "../constants/items.asm"
INCLUDE "../constants/scriptcommandsjirachibattleemerald.asm"
Mystery_Event
db CHECKSUM_CRC
dd 0 ; checksum placeholder
GBAPTR DataStart
GBAPTR DataEnd
DataStart:
db IN_GAME_SCRIPT
db 0,6 ; mossdeep
db 8 ; girl near rock
GBAPTR NormanScriptStart
GBAPTR NormanScriptEnd
db PRELOAD_SCRIPT
GBAPTR PreloadScriptStart
db END_OF_CHUNKS
GoSeeYourFather:
Text_EN "The WHITE ROCK in MOSSDEEP has\n"
Text_EN "been glowing...@"
NormanScriptStart:
setvirtualaddress NormanScriptStart
Start:
callasm $02025301
writebytetoaddr $00, $030026F9
db $5A
virtualmsgbox Wish
waitmsg
db $6E, $17, $8
release
compare LASTRESULT, 0
virtualgotoif 5, checkspot
Changemind:
virtualmsgbox Change
waitmsg
waitkeypress
release
end
db $00
CHANNELRNG
STORAGETABLE
TEMPJIRACHI2
STRUCTURETABLEG
MEMCOPYJIRACHI
RETURN
MOVEPLAYERDOWNRIGHT
MOVEPLAYERRIGHTFACEUP
MOVEPLAYERQUESTION
checkspot:
virtualmsgbox Youdo
waitmsg
waitkeypress
release
db $43
compare LASTRESULT, 5
virtualgotoif 2, NoRoom
copyvar $800B, $800D
getplayerpos $8000, $8001
compare $8000, $37
virtualgotoif 5, Movement1
Movement0:
applymovement $FF, $020292E4
waitmovement $FF
Movement1:
applymovement $FF, $020292E7
battle:
waitmovement $FF
pause $10
special $13D
sound $83
pause $10
pause $10
applymovement $FF, $020292EC
waitmovement $FF
sound $15
writebytetoaddr $00, $02028590
writebytetoaddr $69, $02025398
writebytetoaddr $54, $02025399
setwildbattle $F4, $30, $00
virtualmsgbox Pokemon
waitmsg
waitkeypress
release
playmoncry $199, $0
virtualmsgbox Jirachi
waitmsg
waitkeypress
release
callasm $02029161
callasm $0202518D
waitmoncry
special $145
playsong $01CE, $0
db $00
callasm $020253A1
waitstate
db $00
db $00
db $00
pause $80
callasm $02025301
writebytetoaddr $00, $030026F9
db $43
comparevar LASTRESULT, $800B
virtualgotoif 3, FlewAway
Catch:
callasm $020251C1
killscript
NoRoom:
virtualmsgbox NoSpace
waitmsg
waitkeypress
release
end
FlewAway:
copybyte $03005D80, $02022C34
copybyte $03005D81, $02022C35
copybyte $03005D82, $02022C36
copybyte $03005D83, $02022C37
virtualmsgbox Flew
waitmsg
waitkeypress
release
writebytetoaddr $3A, $02025398
writebytetoaddr $91, $02025399
end
Wish:
Text_EN "Do you have a wish?@"
Youdo:
Text_EN "You do? Then leave a wish tag\n"
Text_EN "on the WHITE ROCK!@"
Change:
Text_EN "Really? I thought everyone had\n"
Text_EN "a wish.@"
Flew:
Text_EN "JIRACHI ran away!@"
NoSpace:
Text_EN "You cant wish with a\n"
Text_EN "full party!@"
Pokemon:
Text_EN "Huh? A POKéMON?@"
Jirachi:
Text_EN "Wiish!@"
NormanScriptEnd:
PreloadScriptStart:
setvirtualaddress PreloadScriptStart
virtualloadpointer GoSeeYourFather
setbyte 2
writebytetoaddr $00, $2024744 ;Temp Jirachi
writebytetoaddr $00, $2024745
writebytetoaddr $00, $2024746
writebytetoaddr $00, $2024747
writebytetoaddr $BA, $2024748
writebytetoaddr $9C, $2024749
writebytetoaddr $00, $202474A
writebytetoaddr $00, $202474B
writebytetoaddr $C4, $202474C
writebytetoaddr $C3, $202474D
writebytetoaddr $CC, $202474E
writebytetoaddr $BB, $202474F
writebytetoaddr $BD, $2024750
writebytetoaddr $C2, $2024751
writebytetoaddr $C3, $2024752
writebytetoaddr $FF, $2024753
writebytetoaddr $00, $2024754
writebytetoaddr $00, $2024755
writebytetoaddr $02, $2024756
writebytetoaddr $02, $2024757
writebytetoaddr $BD, $2024758
writebytetoaddr $C2, $2024759
writebytetoaddr $BB, $202475A
writebytetoaddr $C8, $202475B
writebytetoaddr $C8, $202475C
writebytetoaddr $BF, $202475D
writebytetoaddr $C6, $202475E
writebytetoaddr $00, $202475F
writebytetoaddr $DB, $2024760
writebytetoaddr $A0, $2024761
writebytetoaddr $00, $2024762
writebytetoaddr $00, $2024763
writebytetoaddr $99, $2024764
writebytetoaddr $01, $2024765
writebytetoaddr $00, $2024766
writebytetoaddr $00, $2024767
writebytetoaddr $5A, $2024768
writebytetoaddr $62, $2024769
writebytetoaddr $02, $202476A
writebytetoaddr $00, $202476B
writebytetoaddr $00, $202476C
writebytetoaddr $64, $202476D
writebytetoaddr $00, $202476E
writebytetoaddr $00, $202476F
writebytetoaddr $11, $2024770
writebytetoaddr $01, $2024771
writebytetoaddr $5E, $2024772
writebytetoaddr $00, $2024773
writebytetoaddr $07, $2024774
writebytetoaddr $00, $2024775
writebytetoaddr $5B, $2024776
writebytetoaddr $01, $2024777
writebytetoaddr $0A, $2024778
writebytetoaddr $0A, $2024779
writebytetoaddr $0F, $202477A
writebytetoaddr $14, $202477B
writebytetoaddr $00, $202477C
writebytetoaddr $00, $202477D
writebytetoaddr $00, $202477E
writebytetoaddr $00, $202477F
writebytetoaddr $00, $2024780
writebytetoaddr $00, $2024781
writebytetoaddr $00, $2024782
writebytetoaddr $00, $2024783
writebytetoaddr $00, $2024784
writebytetoaddr $00, $2024785
writebytetoaddr $00, $2024786
writebytetoaddr $00, $2024787
writebytetoaddr $00, $2024788
writebytetoaddr $FF, $2024789
writebytetoaddr $80, $202478A
writebytetoaddr $20, $202478B
writebytetoaddr $00, $202478C
writebytetoaddr $00, $202478D
writebytetoaddr $00, $202478E
writebytetoaddr $00, $202478F
writebytetoaddr $00, $2024790
writebytetoaddr $00, $2024791
writebytetoaddr $00, $2024792
writebytetoaddr $00, $2024793
writebytetoaddr $00, $20248FB ;MemCopy CallASM
writebytetoaddr $04, $20248FC ;This memory copies from enemy ram to Battle-E Location
writebytetoaddr $4D, $20248FD
writebytetoaddr $2D, $20248FE
writebytetoaddr $68, $20248FF
writebytetoaddr $04, $2024900
writebytetoaddr $48, $2024901
writebytetoaddr $06, $2024902
writebytetoaddr $49, $2024903
writebytetoaddr $04, $2024904
writebytetoaddr $4A, $2024905
writebytetoaddr $06, $2024906
writebytetoaddr $4E, $2024907
writebytetoaddr $AD, $2024908
writebytetoaddr $1B, $2024909
writebytetoaddr $29, $202490A
writebytetoaddr $44, $202490B
writebytetoaddr $0B, $202490C
writebytetoaddr $DF, $202490D
writebytetoaddr $70, $202490E
writebytetoaddr $47, $202490F
writebytetoaddr $90, $2024910
writebytetoaddr $5D, $2024911
writebytetoaddr $00, $2024912
writebytetoaddr $03, $2024913
writebytetoaddr $44, $2024914
writebytetoaddr $47, $2024915
writebytetoaddr $02, $2024916
writebytetoaddr $02, $2024917
writebytetoaddr $2D, $2024918
writebytetoaddr $00, $2024919
writebytetoaddr $00, $202491A
writebytetoaddr $04, $202491B
writebytetoaddr $40, $202491C
writebytetoaddr $56, $202491D
writebytetoaddr $02, $202491E
writebytetoaddr $02, $202491F
writebytetoaddr $54, $2024920
writebytetoaddr $4A, $2024921
writebytetoaddr $02, $2024922
writebytetoaddr $02, $2024923
callasm $20248FD ;Do Memory Copy
writebytetoaddr $F0, $2024744 ;To Battle tower slot
writebytetoaddr $B5, $2024745
writebytetoaddr $7C, $2024746
writebytetoaddr $46, $2024747
writebytetoaddr $09, $2024748
writebytetoaddr $34, $2024749
writebytetoaddr $A6, $202474A
writebytetoaddr $46, $202474B
writebytetoaddr $12, $202474C
writebytetoaddr $48, $202474D
writebytetoaddr $13, $202474E
writebytetoaddr $4B, $202474F
writebytetoaddr $18, $2024750
writebytetoaddr $47, $2024751
writebytetoaddr $11, $2024752
writebytetoaddr $49, $2024753
writebytetoaddr $88, $2024754
writebytetoaddr $83, $2024755
writebytetoaddr $7C, $2024756
writebytetoaddr $46, $2024757
writebytetoaddr $09, $2024758
writebytetoaddr $34, $2024759
writebytetoaddr $A6, $202475A
writebytetoaddr $46, $202475B
writebytetoaddr $0E, $202475C
writebytetoaddr $48, $202475D
writebytetoaddr $10, $202475E
writebytetoaddr $4B, $202475F
writebytetoaddr $18, $2024760
writebytetoaddr $47, $2024761
writebytetoaddr $7C, $2024762
writebytetoaddr $46, $2024763
writebytetoaddr $09, $2024764
writebytetoaddr $34, $2024765
writebytetoaddr $A6, $2024766
writebytetoaddr $46, $2024767
writebytetoaddr $0B, $2024768
writebytetoaddr $48, $2024769
writebytetoaddr $0E, $202476A
writebytetoaddr $4B, $202476B
writebytetoaddr $18, $202476C
writebytetoaddr $47, $202476D
writebytetoaddr $0A, $202476E
writebytetoaddr $48, $202476F
writebytetoaddr $0D, $2024770
writebytetoaddr $49, $2024771
writebytetoaddr $0E, $2024772
writebytetoaddr $4A, $2024773
writebytetoaddr $0B, $2024774
writebytetoaddr $DF, $2024775
writebytetoaddr $F0, $2024776
writebytetoaddr $BD, $2024777
writebytetoaddr $FF, $2024778
writebytetoaddr $B4, $2024779
writebytetoaddr $0B, $202477A
writebytetoaddr $48, $202477B
writebytetoaddr $0D, $202477C
writebytetoaddr $49, $202477D
writebytetoaddr $0C, $202477E
writebytetoaddr $4A, $202477F
writebytetoaddr $64, $2024780
writebytetoaddr $26, $2024781
writebytetoaddr $0D, $2024782
writebytetoaddr $4B, $2024783
writebytetoaddr $1F, $2024784
writebytetoaddr $78, $2024785
writebytetoaddr $77, $2024786
writebytetoaddr $43, $2024787
writebytetoaddr $39, $2024788
writebytetoaddr $44, $2024789
writebytetoaddr $0B, $202478A
writebytetoaddr $DF, $202478B
writebytetoaddr $12, $202478C
writebytetoaddr $30, $202478D
writebytetoaddr $12, $202478E
writebytetoaddr $31, $202478F
writebytetoaddr $1B, $2024790
writebytetoaddr $32, $2024791
writebytetoaddr $0B, $2024792
writebytetoaddr $DF, $2024793
writebytetoaddr $FF, $2024794
writebytetoaddr $BC, $2024795
writebytetoaddr $70, $2024796
writebytetoaddr $47, $2024797
writebytetoaddr $44, $2024798
writebytetoaddr $47, $2024799
writebytetoaddr $02, $202479A
writebytetoaddr $02, $202479B
writebytetoaddr $79, $202479C
writebytetoaddr $8C, $202479D
writebytetoaddr $06, $202479E
writebytetoaddr $08, $202479F
writebytetoaddr $29, $20247A0
writebytetoaddr $A2, $20247A1
writebytetoaddr $06, $20247A2
writebytetoaddr $08, $20247A3
writebytetoaddr $0D, $20247A4
writebytetoaddr $8D, $20247A5
writebytetoaddr $06, $20247A6
writebytetoaddr $08, $20247A7
writebytetoaddr $90, $20247A8
writebytetoaddr $56, $20247A9
writebytetoaddr $02, $20247AA
writebytetoaddr $02, $20247AB
writebytetoaddr $14, $20247AC
writebytetoaddr $00, $20247AD
writebytetoaddr $00, $20247AE
writebytetoaddr $04, $20247AF
writebytetoaddr $04, $20247B0
writebytetoaddr $00, $20247B1
writebytetoaddr $00, $20247B2
writebytetoaddr $00, $20247B3
writebytetoaddr $EC, $20247B4
writebytetoaddr $44, $20247B5
writebytetoaddr $02, $20247B6
writebytetoaddr $02, $20247B7
writebytetoaddr $EE, $20247B8
writebytetoaddr $75, $20247B9
writebytetoaddr $03, $20247BA
writebytetoaddr $02, $20247BB
writebytetoaddr $3D, $2024918 ;This changes end location and amount of words for memcopy program.
writebytetoaddr $8C, $202491C
writebytetoaddr $51, $202491D
callasm $20248FD ;Do Memory Copy Again
writebytetoaddr $00, $2024744 ;ASLR Compensation code. Forces ASLR to be lowes value code or w/e.
writebytetoaddr $00, $2024745
writebytetoaddr $17, $2024746
writebytetoaddr $4E, $2024747
writebytetoaddr $30, $2024748
writebytetoaddr $68, $2024749
writebytetoaddr $17, $202474A
writebytetoaddr $49, $202474B
writebytetoaddr $08, $202474C
writebytetoaddr $60, $202474D
writebytetoaddr $17, $202474E
writebytetoaddr $48, $202474F
writebytetoaddr $00, $2024750
writebytetoaddr $68, $2024751
writebytetoaddr $17, $2024752
writebytetoaddr $49, $2024753
writebytetoaddr $47, $2024754
writebytetoaddr $1A, $2024755
writebytetoaddr $17, $2024756
writebytetoaddr $48, $2024757
writebytetoaddr $17, $2024758
writebytetoaddr $49, $2024759
writebytetoaddr $01, $202475A
writebytetoaddr $60, $202475B
writebytetoaddr $17, $202475C
writebytetoaddr $4A, $202475D
writebytetoaddr $02, $202475E
writebytetoaddr $23, $202475F
writebytetoaddr $13, $2024760
writebytetoaddr $70, $2024761
writebytetoaddr $17, $2024762
writebytetoaddr $48, $2024763
writebytetoaddr $38, $2024764
writebytetoaddr $44, $2024765
writebytetoaddr $01, $2024766
writebytetoaddr $78, $2024767
writebytetoaddr $01, $2024768
writebytetoaddr $30, $2024769
writebytetoaddr $02, $202476A
writebytetoaddr $78, $202476B
writebytetoaddr $01, $202476C
writebytetoaddr $30, $202476D
writebytetoaddr $03, $202476E
writebytetoaddr $78, $202476F
writebytetoaddr $01, $2024770
writebytetoaddr $30, $2024771
writebytetoaddr $04, $2024772
writebytetoaddr $78, $2024773
writebytetoaddr $11, $2024774
writebytetoaddr $44, $2024775
writebytetoaddr $19, $2024776
writebytetoaddr $44, $2024777
writebytetoaddr $21, $2024778
writebytetoaddr $44, $2024779
writebytetoaddr $49, $202477A
writebytetoaddr $42, $202477B
writebytetoaddr $11, $202477C
writebytetoaddr $4A, $202477D
writebytetoaddr $12, $202477E
writebytetoaddr $4B, $202477F
writebytetoaddr $09, $2024780
writebytetoaddr $04, $2024781
writebytetoaddr $51, $2024782
writebytetoaddr $43, $2024783
writebytetoaddr $19, $2024784
writebytetoaddr $44, $2024785
writebytetoaddr $31, $2024786
writebytetoaddr $60, $2024787
writebytetoaddr $00, $2024788
writebytetoaddr $00, $2024789
writebytetoaddr $00, $202478A
writebytetoaddr $00, $202478B
writebytetoaddr $14, $202478C
writebytetoaddr $4A, $202478D
writebytetoaddr $0F, $202478E
writebytetoaddr $4B, $202478F
writebytetoaddr $00, $2024790
writebytetoaddr $00, $2024791
writebytetoaddr $0F, $2024792
writebytetoaddr $48, $2024793
writebytetoaddr $0F, $2024794
writebytetoaddr $49, $2024795
writebytetoaddr $01, $2024796
writebytetoaddr $60, $2024797
writebytetoaddr $0F, $2024798
writebytetoaddr $48, $2024799
writebytetoaddr $10, $202479A
writebytetoaddr $49, $202479B
writebytetoaddr $01, $202479C
writebytetoaddr $60, $202479D
writebytetoaddr $00, $202479E
writebytetoaddr $00, $202479F
writebytetoaddr $13, $20247A0
writebytetoaddr $60, $20247A1
writebytetoaddr $70, $20247A2
writebytetoaddr $47, $20247A3
writebytetoaddr $80, $20247A4
writebytetoaddr $5D, $20247A5
writebytetoaddr $00, $20247A6
writebytetoaddr $03, $20247A7
writebytetoaddr $34, $20247A8
writebytetoaddr $2C, $20247A9
writebytetoaddr $02, $20247AA
writebytetoaddr $02, $20247AB
writebytetoaddr $90, $20247AC
writebytetoaddr $5D, $20247AD
writebytetoaddr $00, $20247AE
writebytetoaddr $03, $20247AF
writebytetoaddr $54, $20247B0
writebytetoaddr $4A, $20247B1
writebytetoaddr $02, $20247B2
writebytetoaddr $02, $20247B3
writebytetoaddr $EC, $20247B4
writebytetoaddr $2F, $20247B5
writebytetoaddr $02, $20247B6
writebytetoaddr $02, $20247B7
writebytetoaddr $02, $20247B8
writebytetoaddr $00, $20247B9
writebytetoaddr $3E, $20247BA
writebytetoaddr $01, $20247BB
writebytetoaddr $F9, $20247BC
writebytetoaddr $26, $20247BD
writebytetoaddr $00, $20247BE
writebytetoaddr $03, $20247BF
writebytetoaddr $5E, $20247C0
writebytetoaddr $4A, $20247C1
writebytetoaddr $02, $20247C2
writebytetoaddr $02, $20247C3
writebytetoaddr $65, $20247C4
writebytetoaddr $EB, $20247C5
writebytetoaddr $B9, $20247C6
writebytetoaddr $EE, $20247C7
writebytetoaddr $A1, $20247C8
writebytetoaddr $61, $20247C9
writebytetoaddr $35, $20247CA
writebytetoaddr $0A, $20247CB
writebytetoaddr $B1, $20247CC
writebytetoaddr $61, $20247CD
writebytetoaddr $08, $20247CE
writebytetoaddr $08, $20247CF
writebytetoaddr $C4, $20247D0
writebytetoaddr $75, $20247D1
writebytetoaddr $03, $20247D2
writebytetoaddr $02, $20247D3
writebytetoaddr $2F, $20247D4
writebytetoaddr $6F, $20247D5
writebytetoaddr $FD, $20247D6
writebytetoaddr $FF, $20247D7
writebytetoaddr $48, $20247D8
writebytetoaddr $0E, $20247D9
writebytetoaddr $00, $20247DA
writebytetoaddr $03, $20247DB
writebytetoaddr $3A, $20247DC
writebytetoaddr $91, $20247DD
writebytetoaddr $02, $20247DE
writebytetoaddr $02, $20247DF
writebytetoaddr $C4, $20247E0
writebytetoaddr $22, $20247E1
writebytetoaddr $00, $20247E2
writebytetoaddr $03, $20247E3
writebytetoaddr $28, $2024918
writebytetoaddr $00, $202491C
writebytetoaddr $53, $202491D
callasm $20248FD ;Do Memory Copy Again
writebytetoaddr $03, $2024744 ;Memory copy for second half of script
writebytetoaddr $48, $2024745
writebytetoaddr $05, $2024746
writebytetoaddr $49, $2024747
writebytetoaddr $03, $2024748
writebytetoaddr $4A, $2024749
writebytetoaddr $0B, $202474A
writebytetoaddr $DF, $202474B
writebytetoaddr $04, $202474C
writebytetoaddr $48, $202474D
writebytetoaddr $05, $202474E
writebytetoaddr $49, $202474F
writebytetoaddr $08, $2024750
writebytetoaddr $60, $2024751
writebytetoaddr $70, $2024752
writebytetoaddr $47, $2024753
writebytetoaddr $90, $2024754
writebytetoaddr $93, $2024755
writebytetoaddr $02, $2024756
writebytetoaddr $02, $2024757
writebytetoaddr $54, $2024758
writebytetoaddr $00, $2024759
writebytetoaddr $00, $202475A
writebytetoaddr $04, $202475B
writebytetoaddr $60, $202475C
writebytetoaddr $54, $202475D
writebytetoaddr $02, $202475E
writebytetoaddr $02, $202475F
writebytetoaddr $60, $2024760
writebytetoaddr $54, $2024761
writebytetoaddr $02, $2024762
writebytetoaddr $02, $2024763
writebytetoaddr $48, $2024764
writebytetoaddr $0E, $2024765
writebytetoaddr $00, $2024766
writebytetoaddr $03, $2024767
writebytetoaddr $09, $2024918
writebytetoaddr $A0, $202491C
writebytetoaddr $53, $202491D
callasm $20248FD ;Do Memory Copy Again
end
end
DataEnd:
EOF

View File

@@ -0,0 +1 @@
901180e44767e19e5dc9d5df881fe123 00-C000-EN.z80

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,225 @@
INCLUDE "../macros.asm"
INCLUDE "../constants/items.asm"
INCLUDE "../constants/scriptcommandsjirachibattle.asm"
Mystery_Event
db CHECKSUM_CRC
dd 0 ; checksum placeholder
GBAPTR DataStart
GBAPTR DataEnd
DataStart:
db IN_GAME_SCRIPT
db 0,6 ; mossdeep
db 8 ; girl near rock
GBAPTR NormanScriptStart
GBAPTR NormanScriptEnd
db PRELOAD_SCRIPT
GBAPTR PreloadScriptStart
db END_OF_CHUNKS
GoSeeYourFather:
Text_EN "The WHITE ROCK in MOSSDEEP has\n"
Text_EN "been glowing...@"
NormanScriptStart:
setvirtualaddress NormanScriptStart
db $5A
virtualmsgbox Wish
waitmsg
db $6E, $17, $8
release
compare LASTRESULT, 0
virtualgotoif 5, checkspot
Changemind:
virtualmsgbox Change
waitmsg
waitkeypress
release
end
CHANNELRNG
STORAGETABLE
TEMPJIRACHI
STRUCTURETABLEG
MEMCOPYJIRACHI
RETURN
FIXJIRACHIANDCOPY
CAPTUREJIRACHI
FINALSTORAGE
MOVEPLAYERDOWNRIGHT
MOVEPLAYERRIGHTFACEUP
MOVEPLAYERQUESTION
checkspot:
virtualmsgbox Youdo
waitmsg
waitkeypress
release
db $43
compare LASTRESULT, 5
virtualgotoif 2, NoRoom
copyvar $800B, $800D
getplayerpos $8000, $8001
compare $8000, $37
virtualgotoif 5, Movement2
Movement0:
applymovement $FF, $02029034
waitmovement $FF
Movement1:
applymovement $FF, $02029037
battle:
waitmovement $FF
pause $10
special $13B
sound $83
pause $10
pause $10
applymovement $FF, $0202903C
waitmovement $FF
sound $15
virtualmsgbox Pokemon
waitmsg
waitkeypress
release
playmoncry $199, $0
virtualmsgbox Jirachi
waitmsg
waitkeypress
release
callasm $02028DF1
callasm $02028FBD
waitmoncry
special $139
playsong $01CE, $0
waitstate
db $43
comparevar LASTRESULT, $800B
virtualgotoif 3, FlewAway
Catch:
callasm $02028FF1
killscript
NoRoom:
virtualmsgbox NoSpace
waitmsg
waitkeypress
release
end
FlewAway:
db $97, $01
db $97, $00
virtualmsgbox Flew
waitmsg
waitkeypress
release
end
Wish:
Text_EN "Do you have a wish?@"
Youdo:
Text_EN "You do? Then leave a wish tag\n"
Text_EN "on the WHITE ROCK!@"
Change:
Text_EN "Really? I thought everyone had\n"
Text_EN "a wish...@"
Flew:
Text_EN "The JIRACHI flew away!@"
NoSpace:
Text_EN "You cant make a wish with a\n"
Text_EN "full party!@"
Pokemon:
Text_EN "Huh? A Pokémon?@"
Jirachi:
Text_EN "Wiiish!@"
NormanScriptEnd:
PreloadScriptStart:
setvirtualaddress PreloadScriptStart
virtualloadpointer GoSeeYourFather
setbyte 2
end
DataEnd:
EOF

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,15 @@
INCLUDE "../macros.asm"
SECTION "prologue", ROM0[$100]
db "GameFreak inc."
db 0,0,0,0,0,0
dd 0
Text "e reader" ; no string terminator
db 0,0,0,0,$01,$55
db 0,0,0,0
db REGION
db 0
db "GameFreak inc."
db 0,0
EOF

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,5 @@
RGB 18, 0, 0
RGB 0, 0, 0
RGB 31, 31, 31
RGB 15, 31, 31
RGB 6, 15, 29