ref: 7dc495b3c9269eba88abe1168cc694a2ec3e5e0f
author: Bryan Bishop <[email protected]>
date: Sun Mar 4 16:31:27 EST 2012
initial commit
--- /dev/null
+++ b/.hgignore
@@ -1,0 +1,32 @@
+syntax: glob
+
+#precompiled python
+*.pyc
+
+#compiled object file
+*.o
+
+#no binaries
+*.exe
+
+#roms
+*.gbc
+
+#generated
+*.tx
+
+#swap files for vim
+.*.swp
+
+#no data from extras/
+extras/*.json
+
+#for any of the poor souls with save game files in their working directory
+baserom.sgm
+baserom.sav
+pokered.sgm
+pokered.sav
+
+#for vim configuration
+#url: http://www.vim.org/scripts/script.php?script_id=441
+.lvimrc
--- /dev/null
+++ b/Makefile
@@ -1,0 +1,21 @@
+#gawk sort order
+export LC_CTYPE=C
+
+.SUFFIXES: .asm .tx .o .gbc
+
+TEXTFILES =
+
+all: pokecrystal.gbc
+
+pokecrystal.o: pokecrystal.asm main.tx constants.asm ${TEXTFILES}
+ rgbasm -o pokecrystal.o pokecrystal.asm
+
+.asm.tx:
+ awk -f textpre.awk < $< > $@
+
+pokecrystal.gbc: pokecrystal.o
+ rgblink -o $@ $<
+ cmp baserom.gbc $@
+
+clean:
+ rm -f main.tx pokecrystal.o pokecrystal.gbc ${TEXTFILES}
--- /dev/null
+++ b/README
@@ -1,0 +1,21 @@
+This is a disassembly of Pokémon Crystal.
+
+It uses the following ROM as a base:
+ Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc
+ md5: 9f2922b235a5eeb78d65594e82ef5dde
+
+To assemble, first install RGBDS and put it in your path.
+
+The version of RGBDS needed is rgbds-linux:
+ https://github.com/bentley/rgbds/
+ git://github.com/bentley/rgbds.git
+
+Then copy the Pokémon ROM to this directory as "baserom.gbc".
+Then run "make" in your shell.
+
+This will output a file named "pokecrystal.gbc".
+
+See also the disassembly of Pokémon Red:
+ http://bitbucket.org/iimarckus/pokered
+
+nucleus.kafuka.org #skeetendo
--- /dev/null
+++ b/main.asm
@@ -1,0 +1,1885 @@
+SECTION "bank0",HOME
+INCBIN "baserom.gbc",$0,$4000
+SECTION "bank1",DATA,BANK[$1]
+INCBIN "baserom.gbc",$4000,$4000
+SECTION "bank2",DATA,BANK[$2]
+INCBIN "baserom.gbc",$8000,$4000
+SECTION "bank3",DATA,BANK[$3]
+INCBIN "baserom.gbc",$C000,$4000
+SECTION "bank4",DATA,BANK[$4]
+INCBIN "baserom.gbc",$10000,$4000
+SECTION "bank5",DATA,BANK[$5]
+INCBIN "baserom.gbc",$14000,$4000
+SECTION "bank6",DATA,BANK[$6]
+INCBIN "baserom.gbc",$18000,$4000
+SECTION "bank7",DATA,BANK[$7]
+INCBIN "baserom.gbc",$1C000,$4000
+SECTION "bank8",DATA,BANK[$8]
+INCBIN "baserom.gbc",$20000,$4000
+SECTION "bank9",DATA,BANK[$9]
+INCBIN "baserom.gbc",$24000,$4000
+SECTION "bankA",DATA,BANK[$A]
+INCBIN "baserom.gbc",$28000,$4000
+SECTION "bankB",DATA,BANK[$B]
+INCBIN "baserom.gbc",$2C000,$4000
+SECTION "bankC",DATA,BANK[$C]
+INCBIN "baserom.gbc",$30000,$4000
+SECTION "bankD",DATA,BANK[$D]
+INCBIN "baserom.gbc",$34000,$4000
+SECTION "bankE",DATA,BANK[$E]
+INCBIN "baserom.gbc",$38000,$4000
+SECTION "bankF",DATA,BANK[$F]
+INCBIN "baserom.gbc",$3C000,$4000
+SECTION "bank10",DATA,BANK[$10]
+INCBIN "baserom.gbc",$40000,$4000
+SECTION "bank11",DATA,BANK[$11]
+INCBIN "baserom.gbc",$44000,$4000
+SECTION "bank12",DATA,BANK[$12]
+INCBIN "baserom.gbc",$48000,$4000
+SECTION "bank13",DATA,BANK[$13]
+INCBIN "baserom.gbc",$4C000,$4000
+SECTION "bank14",DATA,BANK[$14]
+INCBIN "baserom.gbc",$50000,$3384
+
+ db "BULBASAUR@"
+ db "IVYSAUR@@@"
+ db "VENUSAUR@@"
+ db "CHARMANDER"
+ db "CHARMELEON"
+ db "CHARIZARD@"
+ db "SQUIRTLE@@"
+ db "WARTORTLE@"
+ db "BLASTOISE@"
+ db "CATERPIE@@"
+ db "METAPOD@@@"
+ db "BUTTERFREE"
+ db "WEEDLE@@@@"
+ db "KAKUNA@@@@"
+ db "BEEDRILL@@"
+ db "PIDGEY@@@@"
+ db "PIDGEOTTO@"
+ db "PIDGEOT@@@"
+ db "RATTATA@@@"
+ db "RATICATE@@"
+ db "SPEAROW@@@"
+ db "FEAROW@@@@"
+ db "EKANS@@@@@"
+ db "ARBOK@@@@@"
+ db "PIKACHU@@@"
+ db "RAICHU@@@@"
+ db "SANDSHREW@"
+ db "SANDSLASH@"
+ db "NIDORAN♀@@"
+ db "NIDORINA@@"
+ db "NIDOQUEEN@"
+ db "NIDORAN♂@@"
+ db "NIDORINO@@"
+ db "NIDOKING@@"
+ db "CLEFAIRY@@"
+ db "CLEFABLE@@"
+ db "VULPIX@@@@"
+ db "NINETALES@"
+ db "JIGGLYPUFF"
+ db "WIGGLYTUFF"
+ db "ZUBAT@@@@@"
+ db "GOLBAT@@@@"
+ db "ODDISH@@@@"
+ db "GLOOM@@@@@"
+ db "VILEPLUME@"
+ db "PARAS@@@@@"
+ db "PARASECT@@"
+ db "VENONAT@@@"
+ db "VENOMOTH@@"
+ db "DIGLETT@@@"
+ db "DUGTRIO@@@"
+ db "MEOWTH@@@@"
+ db "PERSIAN@@@"
+ db "PSYDUCK@@@"
+ db "GOLDUCK@@@"
+ db "MANKEY@@@@"
+ db "PRIMEAPE@@"
+ db "GROWLITHE@"
+ db "ARCANINE@@"
+ db "POLIWAG@@@"
+ db "POLIWHIRL@"
+ db "POLIWRATH@"
+ db "ABRA@@@@@@"
+ db "KADABRA@@@"
+ db "ALAKAZAM@@"
+ db "MACHOP@@@@"
+ db "MACHOKE@@@"
+ db "MACHAMP@@@"
+ db "BELLSPROUT"
+ db "WEEPINBELL"
+ db "VICTREEBEL"
+ db "TENTACOOL@"
+ db "TENTACRUEL"
+ db "GEODUDE@@@"
+ db "GRAVELER@@"
+ db "GOLEM@@@@@"
+ db "PONYTA@@@@"
+ db "RAPIDASH@@"
+ db "SLOWPOKE@@"
+ db "SLOWBRO@@@"
+ db "MAGNEMITE@"
+ db "MAGNETON@@"
+ db "FARFETCH'D"
+ db "DODUO@@@@@"
+ db "DODRIO@@@@"
+ db "SEEL@@@@@@"
+ db "DEWGONG@@@"
+ db "GRIMER@@@@"
+ db "MUK@@@@@@@"
+ db "SHELLDER@@"
+ db "CLOYSTER@@"
+ db "GASTLY@@@@"
+ db "HAUNTER@@@"
+ db "GENGAR@@@@"
+ db "ONIX@@@@@@"
+ db "DROWZEE@@@"
+ db "HYPNO@@@@@"
+ db "KRABBY@@@@"
+ db "KINGLER@@@"
+ db "VOLTORB@@@"
+ db "ELECTRODE@"
+ db "EXEGGCUTE@"
+ db "EXEGGUTOR@"
+ db "CUBONE@@@@"
+ db "MAROWAK@@@"
+ db "HITMONLEE@"
+ db "HITMONCHAN"
+ db "LICKITUNG@"
+ db "KOFFING@@@"
+ db "WEEZING@@@"
+ db "RHYHORN@@@"
+ db "RHYDON@@@@"
+ db "CHANSEY@@@"
+ db "TANGELA@@@"
+ db "KANGASKHAN"
+ db "HORSEA@@@@"
+ db "SEADRA@@@@"
+ db "GOLDEEN@@@"
+ db "SEAKING@@@"
+ db "STARYU@@@@"
+ db "STARMIE@@@"
+ db "MR.MIME@@@"
+ db "SCYTHER@@@"
+ db "JYNX@@@@@@"
+ db "ELECTABUZZ"
+ db "MAGMAR@@@@"
+ db "PINSIR@@@@"
+ db "TAUROS@@@@"
+ db "MAGIKARP@@"
+ db "GYARADOS@@"
+ db "LAPRAS@@@@"
+ db "DITTO@@@@@"
+ db "EEVEE@@@@@"
+ db "VAPOREON@@"
+ db "JOLTEON@@@"
+ db "FLAREON@@@"
+ db "PORYGON@@@"
+ db "OMANYTE@@@"
+ db "OMASTAR@@@"
+ db "KABUTO@@@@"
+ db "KABUTOPS@@"
+ db "AERODACTYL"
+ db "SNORLAX@@@"
+ db "ARTICUNO@@"
+ db "ZAPDOS@@@@"
+ db "MOLTRES@@@"
+ db "DRATINI@@@"
+ db "DRAGONAIR@"
+ db "DRAGONITE@"
+ db "MEWTWO@@@@"
+ db "MEW@@@@@@@"
+ db "CHIKORITA@"
+ db "BAYLEEF@@@"
+ db "MEGANIUM@@"
+ db "CYNDAQUIL@"
+ db "QUILAVA@@@"
+ db "TYPHLOSION"
+ db "TOTODILE@@"
+ db "CROCONAW@@"
+ db "FERALIGATR"
+ db "SENTRET@@@"
+ db "FURRET@@@@"
+ db "HOOTHOOT@@"
+ db "NOCTOWL@@@"
+ db "LEDYBA@@@@"
+ db "LEDIAN@@@@"
+ db "SPINARAK@@"
+ db "ARIADOS@@@"
+ db "CROBAT@@@@"
+ db "CHINCHOU@@"
+ db "LANTURN@@@"
+ db "PICHU@@@@@"
+ db "CLEFFA@@@@"
+ db "IGGLYBUFF@"
+ db "TOGEPI@@@@"
+ db "TOGETIC@@@"
+ db "NATU@@@@@@"
+ db "XATU@@@@@@"
+ db "MAREEP@@@@"
+ db "FLAAFFY@@@"
+ db "AMPHAROS@@"
+ db "BELLOSSOM@"
+ db "MARILL@@@@"
+ db "AZUMARILL@"
+ db "SUDOWOODO@"
+ db "POLITOED@@"
+ db "HOPPIP@@@@"
+ db "SKIPLOOM@@"
+ db "JUMPLUFF@@"
+ db "AIPOM@@@@@"
+ db "SUNKERN@@@"
+ db "SUNFLORA@@"
+ db "YANMA@@@@@"
+ db "WOOPER@@@@"
+ db "QUAGSIRE@@"
+ db "ESPEON@@@@"
+ db "UMBREON@@@"
+ db "MURKROW@@@"
+ db "SLOWKING@@"
+ db "MISDREAVUS"
+ db "UNOWN@@@@@"
+ db "WOBBUFFET@"
+ db "GIRAFARIG@"
+ db "PINECO@@@@"
+ db "FORRETRESS"
+ db "DUNSPARCE@"
+ db "GLIGAR@@@@"
+ db "STEELIX@@@"
+ db "SNUBBULL@@"
+ db "GRANBULL@@"
+ db "QWILFISH@@"
+ db "SCIZOR@@@@"
+ db "SHUCKLE@@@"
+ db "HERACROSS@"
+ db "SNEASEL@@@"
+ db "TEDDIURSA@"
+ db "URSARING@@"
+ db "SLUGMA@@@@"
+ db "MAGCARGO@@"
+ db "SWINUB@@@@"
+ db "PILOSWINE@"
+ db "CORSOLA@@@"
+ db "REMORAID@@"
+ db "OCTILLERY@"
+ db "DELIBIRD@@"
+ db "MANTINE@@@"
+ db "SKARMORY@@"
+ db "HOUNDOUR@@"
+ db "HOUNDOOM@@"
+ db "KINGDRA@@@"
+ db "PHANPY@@@@"
+ db "DONPHAN@@@"
+ db "PORYGON2@@"
+ db "STANTLER@@"
+ db "SMEARGLE@@"
+ db "TYROGUE@@@"
+ db "HITMONTOP@"
+ db "SMOOCHUM@@"
+ db "ELEKID@@@@"
+ db "MAGBY@@@@@"
+ db "MILTANK@@@"
+ db "BLISSEY@@@"
+ db "RAIKOU@@@@"
+ db "ENTEI@@@@@"
+ db "SUICUNE@@@"
+ db "LARVITAR@@"
+ db "PUPITAR@@@"
+ db "TYRANITAR@"
+ db "LUGIA@@@@@"
+ db "HO-OH@@@@@"
+ db "CELEBI@@@@"
+ db "?????@@@@@"
+ db "EGG@@@@@@@"
+ db "?????@@@@@"
+ db "?????@@@@@"
+ db "?????@@@@@"
+
+INCBIN "baserom.gbc",$53D84,$4000 - $3D84
+SECTION "bank15",DATA,BANK[$15]
+INCBIN "baserom.gbc",$54000,$4000
+SECTION "bank16",DATA,BANK[$16]
+INCBIN "baserom.gbc",$58000,$4000
+SECTION "bank17",DATA,BANK[$17]
+INCBIN "baserom.gbc",$5C000,$4000
+SECTION "bank18",DATA,BANK[$18]
+INCBIN "baserom.gbc",$60000,$4000
+SECTION "bank19",DATA,BANK[$19]
+INCBIN "baserom.gbc",$64000,$4000
+SECTION "bank1A",DATA,BANK[$1A]
+INCBIN "baserom.gbc",$68000,$4000
+SECTION "bank1B",DATA,BANK[$1B]
+INCBIN "baserom.gbc",$6C000,$4000
+SECTION "bank1C",DATA,BANK[$1C]
+INCBIN "baserom.gbc",$70000,$4000
+SECTION "bank1D",DATA,BANK[$1D]
+INCBIN "baserom.gbc",$74000,$4000
+SECTION "bank1E",DATA,BANK[$1E]
+INCBIN "baserom.gbc",$78000,$4000
+SECTION "bank1F",DATA,BANK[$1F]
+INCBIN "baserom.gbc",$7C000,$4000
+SECTION "bank20",DATA,BANK[$20]
+INCBIN "baserom.gbc",$80000,$4000
+SECTION "bank21",DATA,BANK[$21]
+INCBIN "baserom.gbc",$84000,$4000
+SECTION "bank22",DATA,BANK[$22]
+INCBIN "baserom.gbc",$88000,$4000
+SECTION "bank23",DATA,BANK[$23]
+INCBIN "baserom.gbc",$8C000,$4000
+SECTION "bank24",DATA,BANK[$24]
+INCBIN "baserom.gbc",$90000,$4000
+SECTION "bank25",DATA,BANK[$25]
+INCBIN "baserom.gbc",$94000,$4000
+SECTION "bank26",DATA,BANK[$26]
+INCBIN "baserom.gbc",$98000,$4000
+SECTION "bank27",DATA,BANK[$27]
+INCBIN "baserom.gbc",$9C000,$4000
+SECTION "bank28",DATA,BANK[$28]
+INCBIN "baserom.gbc",$A0000,$4000
+SECTION "bank29",DATA,BANK[$29]
+INCBIN "baserom.gbc",$A4000,$4000
+SECTION "bank2A",DATA,BANK[$2A]
+INCBIN "baserom.gbc",$A8000,$4000
+SECTION "bank2B",DATA,BANK[$2B]
+INCBIN "baserom.gbc",$AC000,$4000
+SECTION "bank2C",DATA,BANK[$2C]
+INCBIN "baserom.gbc",$B0000,$4000
+SECTION "bank2D",DATA,BANK[$2D]
+INCBIN "baserom.gbc",$B4000,$4000
+SECTION "bank2E",DATA,BANK[$2E]
+INCBIN "baserom.gbc",$B8000,$4000
+SECTION "bank2F",DATA,BANK[$2F]
+INCBIN "baserom.gbc",$BC000,$4000
+SECTION "bank30",DATA,BANK[$30]
+INCBIN "baserom.gbc",$C0000,$4000
+SECTION "bank31",DATA,BANK[$31]
+INCBIN "baserom.gbc",$C4000,$4000
+SECTION "bank32",DATA,BANK[$32]
+INCBIN "baserom.gbc",$C8000,$4000
+SECTION "bank33",DATA,BANK[$33]
+INCBIN "baserom.gbc",$CC000,$4000
+SECTION "bank34",DATA,BANK[$34]
+INCBIN "baserom.gbc",$D0000,$4000
+SECTION "bank35",DATA,BANK[$35]
+INCBIN "baserom.gbc",$D4000,$4000
+SECTION "bank36",DATA,BANK[$36]
+INCBIN "baserom.gbc",$D8000,$4000
+SECTION "bank37",DATA,BANK[$37]
+INCBIN "baserom.gbc",$DC000,$4000
+SECTION "bank38",DATA,BANK[$38]
+INCBIN "baserom.gbc",$E0000,$4000
+SECTION "bank39",DATA,BANK[$39]
+INCBIN "baserom.gbc",$E4000,$4000
+SECTION "bank3A",DATA,BANK[$3A]
+INCBIN "baserom.gbc",$E8000,$4000
+SECTION "bank3B",DATA,BANK[$3B]
+INCBIN "baserom.gbc",$EC000,$4000
+SECTION "bank3C",DATA,BANK[$3C]
+INCBIN "baserom.gbc",$F0000,$4000
+SECTION "bank3D",DATA,BANK[$3D]
+INCBIN "baserom.gbc",$F4000,$4000
+SECTION "bank3E",DATA,BANK[$3E]
+INCBIN "baserom.gbc",$F8000,$4000
+SECTION "bank3F",DATA,BANK[$3F]
+INCBIN "baserom.gbc",$FC000,$4000
+SECTION "bank40",DATA,BANK[$40]
+INCBIN "baserom.gbc",$100000,$4000
+SECTION "bank41",DATA,BANK[$41]
+INCBIN "baserom.gbc",$104000,$4000
+SECTION "bank42",DATA,BANK[$42]
+INCBIN "baserom.gbc",$108000,$4000
+SECTION "bank43",DATA,BANK[$43]
+INCBIN "baserom.gbc",$10C000,$4000
+SECTION "bank44",DATA,BANK[$44]
+INCBIN "baserom.gbc",$110000,$4000
+SECTION "bank45",DATA,BANK[$45]
+INCBIN "baserom.gbc",$114000,$4000
+SECTION "bank46",DATA,BANK[$46]
+INCBIN "baserom.gbc",$118000,$4000
+SECTION "bank47",DATA,BANK[$47]
+INCBIN "baserom.gbc",$11C000,$4000
+SECTION "bank48",DATA,BANK[$48]
+INCBIN "baserom.gbc",$120000,$4000
+SECTION "bank49",DATA,BANK[$49]
+INCBIN "baserom.gbc",$124000,$4000
+SECTION "bank4A",DATA,BANK[$4A]
+INCBIN "baserom.gbc",$128000,$4000
+SECTION "bank4B",DATA,BANK[$4B]
+INCBIN "baserom.gbc",$12C000,$4000
+SECTION "bank4C",DATA,BANK[$4C]
+INCBIN "baserom.gbc",$130000,$4000
+SECTION "bank4D",DATA,BANK[$4D]
+INCBIN "baserom.gbc",$134000,$4000
+SECTION "bank4E",DATA,BANK[$4E]
+INCBIN "baserom.gbc",$138000,$4000
+SECTION "bank4F",DATA,BANK[$4F]
+INCBIN "baserom.gbc",$13C000,$4000
+SECTION "bank50",DATA,BANK[$50]
+INCBIN "baserom.gbc",$140000,$4000
+SECTION "bank51",DATA,BANK[$51]
+INCBIN "baserom.gbc",$144000,$4000
+SECTION "bank52",DATA,BANK[$52]
+INCBIN "baserom.gbc",$148000,$4000
+SECTION "bank53",DATA,BANK[$53]
+INCBIN "baserom.gbc",$14C000,$4000
+SECTION "bank54",DATA,BANK[$54]
+INCBIN "baserom.gbc",$150000,$4000
+SECTION "bank55",DATA,BANK[$55]
+INCBIN "baserom.gbc",$154000,$4000
+SECTION "bank56",DATA,BANK[$56]
+INCBIN "baserom.gbc",$158000,$4000
+SECTION "bank57",DATA,BANK[$57]
+INCBIN "baserom.gbc",$15C000,$4000
+SECTION "bank58",DATA,BANK[$58]
+INCBIN "baserom.gbc",$160000,$4000
+SECTION "bank59",DATA,BANK[$59]
+INCBIN "baserom.gbc",$164000,$4000
+SECTION "bank5A",DATA,BANK[$5A]
+INCBIN "baserom.gbc",$168000,$4000
+SECTION "bank5B",DATA,BANK[$5B]
+INCBIN "baserom.gbc",$16C000,$4000
+SECTION "bank5C",DATA,BANK[$5C]
+INCBIN "baserom.gbc",$170000,$4000
+SECTION "bank5D",DATA,BANK[$5D]
+INCBIN "baserom.gbc",$174000,$4000
+SECTION "bank5E",DATA,BANK[$5E]
+INCBIN "baserom.gbc",$178000,$4000
+SECTION "bank5F",DATA,BANK[$5F]
+INCBIN "baserom.gbc",$17C000,$4000
+SECTION "bank60",DATA,BANK[$60]
+INCBIN "baserom.gbc",$180000,$4000
+SECTION "bank61",DATA,BANK[$61]
+INCBIN "baserom.gbc",$184000,$4000
+SECTION "bank62",DATA,BANK[$62]
+INCBIN "baserom.gbc",$188000,$4000
+SECTION "bank63",DATA,BANK[$63]
+INCBIN "baserom.gbc",$18C000,$4000
+SECTION "bank64",DATA,BANK[$64]
+INCBIN "baserom.gbc",$190000,$4000
+SECTION "bank65",DATA,BANK[$65]
+INCBIN "baserom.gbc",$194000,$4000
+SECTION "bank66",DATA,BANK[$66]
+INCBIN "baserom.gbc",$198000,$4000
+SECTION "bank67",DATA,BANK[$67]
+INCBIN "baserom.gbc",$19C000,$4000
+SECTION "bank68",DATA,BANK[$68]
+INCBIN "baserom.gbc",$1A0000,$4000
+SECTION "bank69",DATA,BANK[$69]
+INCBIN "baserom.gbc",$1A4000,$4000
+SECTION "bank6A",DATA,BANK[$6A]
+INCBIN "baserom.gbc",$1A8000,$4000
+SECTION "bank6B",DATA,BANK[$6B]
+INCBIN "baserom.gbc",$1AC000,$4000
+SECTION "bank6C",DATA,BANK[$6C]
+INCBIN "baserom.gbc",$1B0000,$4000
+SECTION "bank6D",DATA,BANK[$6D]
+INCBIN "baserom.gbc",$1B4000,$4000
+SECTION "bank6E",DATA,BANK[$6E]
+INCBIN "baserom.gbc",$1B8000,$4000
+SECTION "bank6F",DATA,BANK[$6F]
+INCBIN "baserom.gbc",$1BC000,$4000
+SECTION "bank70",DATA,BANK[$70]
+INCBIN "baserom.gbc",$1C0000,$4000
+SECTION "bank71",DATA,BANK[$71]
+INCBIN "baserom.gbc",$1C4000,$4000
+SECTION "bank72",DATA,BANK[$72]
+
+ db "MASTER BALL@"
+ db "ULTRA BALL@"
+ db "BRIGHTPOWDER@"
+ db "GREAT BALL@"
+ db "# BALL@"
+ db "TERU-SAMA@"
+ db "BICYCLE@"
+ db "MOON STONE@"
+ db "ANTIDOTE@"
+ db "BURN HEAL@"
+ db "ICE HEAL@"
+ db "AWAKENING@"
+ db "PARLYZ HEAL@"
+ db "FULL RESTORE@"
+ db "MAX POTION@"
+ db "HYPER POTION@"
+ db "SUPER POTION@"
+ db "POTION@"
+ db "ESCAPE ROPE@"
+ db "REPEL@"
+ db "MAX ELIXER@"
+ db "FIRE STONE@"
+ db "THUNDERSTONE@"
+ db "WATER STONE@"
+ db "TERU-SAMA@"
+ db "HP UP@"
+ db "PROTEIN@"
+ db "IRON@"
+ db "CARBOS@"
+ db "LUCKY PUNCH@"
+ db "CALCIUM@"
+ db "RARE CANDY@"
+ db "X ACCURACY@"
+ db "LEAF STONE@"
+ db "METAL POWDER@"
+ db "NUGGET@"
+ db "# DOLL@"
+ db "FULL HEAL@"
+ db "REVIVE@"
+ db "MAX REVIVE@"
+ db "GUARD SPEC.@"
+ db "SUPER REPEL@"
+ db "MAX REPEL@"
+ db "DIRE HIT@"
+ db "TERU-SAMA@"
+ db "FRESH WATER@"
+ db "SODA POP@"
+ db "LEMONADE@"
+ db "X ATTACK@"
+ db "TERU-SAMA@"
+ db "X DEFEND@"
+ db "X SPEED@"
+ db "X SPECIAL@"
+ db "COIN CASE@"
+ db "ITEMFINDER@"
+ db "TERU-SAMA@"
+ db "EXP.SHARE@"
+ db "OLD ROD@"
+ db "GOOD ROD@"
+ db "SILVER LEAF@"
+ db "SUPER ROD@"
+ db "PP UP@"
+ db "ETHER@"
+ db "MAX ETHER@"
+ db "ELIXER@"
+ db "RED SCALE@"
+ db "SECRETPOTION@"
+ db "S.S.TICKET@"
+ db "MYSTERY EGG@"
+ db "CLEAR BELL@"
+ db "SILVER WING@"
+ db "MOOMOO MILK@"
+ db "QUICK CLAW@"
+ db "PSNCUREBERRY@"
+ db "GOLD LEAF@"
+ db "SOFT SAND@"
+ db "SHARP BEAK@"
+ db "PRZCUREBERRY@"
+ db "BURNT BERRY@"
+ db "ICE BERRY@"
+ db "POISON BARB@"
+ db "KING'S ROCK@"
+ db "BITTER BERRY@"
+ db "MINT BERRY@"
+ db "RED APRICORN@"
+ db "TINYMUSHROOM@"
+ db "BIG MUSHROOM@"
+ db "SILVERPOWDER@"
+ db "BLU APRICORN@"
+ db "TERU-SAMA@"
+ db "AMULET COIN@"
+ db "YLW APRICORN@"
+ db "GRN APRICORN@"
+ db "CLEANSE TAG@"
+ db "MYSTIC WATER@"
+ db "TWISTEDSPOON@"
+ db "WHT APRICORN@"
+ db "BLACKBELT@"
+ db "BLK APRICORN@"
+ db "TERU-SAMA@"
+ db "PNK APRICORN@"
+ db "BLACKGLASSES@"
+ db "SLOWPOKETAIL@"
+ db "PINK BOW@"
+ db "STICK@"
+ db "SMOKE BALL@"
+ db "NEVERMELTICE@"
+ db "MAGNET@"
+ db "MIRACLEBERRY@"
+ db "PEARL@"
+ db "BIG PEARL@"
+ db "EVERSTONE@"
+ db "SPELL TAG@"
+ db "RAGECANDYBAR@"
+ db "GS BALL@"
+ db "BLUE CARD@"
+ db "MIRACLE SEED@"
+ db "THICK CLUB@"
+ db "FOCUS BAND@"
+ db "TERU-SAMA@"
+ db "ENERGYPOWDER@"
+ db "ENERGY ROOT@"
+ db "HEAL POWDER@"
+ db "REVIVAL HERB@"
+ db "HARD STONE@"
+ db "LUCKY EGG@"
+ db "CARD KEY@"
+ db "MACHINE PART@"
+ db "EGG TICKET@"
+ db "LOST ITEM@"
+ db "STARDUST@"
+ db "STAR PIECE@"
+ db "BASEMENT KEY@"
+ db "PASS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "CHARCOAL@"
+ db "BERRY JUICE@"
+ db "SCOPE LENS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "METAL COAT@"
+ db "DRAGON FANG@"
+ db "TERU-SAMA@"
+ db "LEFTOVERS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "MYSTERYBERRY@"
+ db "DRAGON SCALE@"
+ db "BERSERK GENE@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "SACRED ASH@"
+ db "HEAVY BALL@"
+ db "FLOWER MAIL@"
+ db "LEVEL BALL@"
+ db "LURE BALL@"
+ db "FAST BALL@"
+ db "TERU-SAMA@"
+ db "LIGHT BALL@"
+ db "FRIEND BALL@"
+ db "MOON BALL@"
+ db "LOVE BALL@"
+ db "NORMAL BOX@"
+ db "GORGEOUS BOX@"
+ db "SUN STONE@"
+ db "POLKADOT BOW@"
+ db "TERU-SAMA@"
+ db "UP-GRADE@"
+ db "BERRY@"
+ db "GOLD BERRY@"
+ db "SQUIRTBOTTLE@"
+ db "TERU-SAMA@"
+ db "PARK BALL@"
+ db "RAINBOW WING@"
+ db "TERU-SAMA@"
+ db "BRICK PIECE@"
+ db "SURF MAIL@"
+ db "LITEBLUEMAIL@"
+ db "PORTRAITMAIL@"
+ db "LOVELY MAIL@"
+ db "EON MAIL@"
+ db "MORPH MAIL@"
+ db "BLUESKY MAIL@"
+ db "MUSIC MAIL@"
+ db "MIRAGE MAIL@"
+ db "TERU-SAMA@"
+ db "TM01@"
+ db "TM02@"
+ db "TM03@"
+ db "TM04@"
+ db "TERU-SAMA@"
+ db "TM05@"
+ db "TM06@"
+ db "TM07@"
+ db "TM08@"
+ db "TM09@"
+ db "TM10@"
+ db "TM11@"
+ db "TM12@"
+ db "TM13@"
+ db "TM14@"
+ db "TM15@"
+ db "TM16@"
+ db "TM17@"
+ db "TM18@"
+ db "TM19@"
+ db "TM20@"
+ db "TM21@"
+ db "TM22@"
+ db "TM23@"
+ db "TM24@"
+ db "TM25@"
+ db "TM26@"
+ db "TM27@"
+ db "TM28@"
+ db "TERU-SAMA@"
+ db "TM29@"
+ db "TM30@"
+ db "TM31@"
+ db "TM32@"
+ db "TM33@"
+ db "TM34@"
+ db "TM35@"
+ db "TM36@"
+ db "TM37@"
+ db "TM38@"
+ db "TM39@"
+ db "TM40@"
+ db "TM41@"
+ db "TM42@"
+ db "TM43@"
+ db "TM44@"
+ db "TM45@"
+ db "TM46@"
+ db "TM47@"
+ db "TM48@"
+ db "TM49@"
+ db "TM50@"
+ db "HM01@"
+ db "HM02@"
+ db "HM03@"
+ db "HM04@"
+ db "HM05@"
+ db "HM06@"
+ db "HM07@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "?@"
+
+INCBIN "baserom.gbc",$1C8955,$1C8B85-$1C8955
+
+MasterBallDesc:
+ db "The best BALL. It",$4E
+ db "never misses.@"
+
+UltraBallDesc:
+ db "A BALL with a high",$4E
+ db "rate of success.@"
+
+BrightpowderDesc:
+ db "Lowers the foe's",$4E
+ db "accuracy. (HOLD)@"
+
+GreatBallDesc:
+ db "A BALL with a de-",$4E
+ db "cent success rate.@"
+
+PokeBallDesc:
+ db "An item for catch-",$4E
+ db "ing #MON.@"
+
+TeruSama1Desc:
+ db "?@"
+
+BicycleDesc:
+ db "A collapsible bike",$4E
+ db "for fast movement.@"
+
+MoonStoneDesc:
+ db "Evolves certain",$4E
+ db "kinds of #MON.@"
+
+AntidoteDesc:
+ db "Cures poisoned",$4E
+ db "#MON.@"
+
+BurnHealDesc:
+ db "Heals burned",$4E
+ db "#MON.@"
+
+IceHealDesc:
+ db "Defrosts frozen",$4E
+ db "#MON.@"
+
+AwakeningDesc:
+ db "Awakens sleeping",$4E
+ db "#MON.@"
+
+ParlyzHealDesc:
+ db "Heals paralyzed",$4E
+ db "#MON.@"
+
+FullRestoreDesc:
+ db "Fully restores HP",$4E
+ db "& status.@"
+
+MaxPotionDesc:
+ db "Fully restores",$4E
+ db "#MON HP.@"
+
+HyperPotionDesc:
+ db "Restores #MON",$4E
+ db "HP by 200.@"
+
+SuperPotionDesc:
+ db "Restores #MON",$4E
+ db "HP by 50.@"
+
+PotionDesc:
+ db "Restores #MON",$4E
+ db "HP by 20.@"
+
+EscapeRopeDesc:
+ db "Use for escaping",$4E
+ db "from caves, etc.@"
+
+RepelDesc:
+ db "Repels weak #-",$4E
+ db "MON for 100 steps.@"
+
+MaxElixerDesc:
+ db "Fully restores the",$4E
+ db "PP of one #MON.@"
+
+FireStoneDesc:
+ db "Evolves certain",$4E
+ db "kinds of #MON.@"
+
+ThunderStoneDesc:
+ db "Evolves certain",$4E
+ db "kinds of #MON.@"
+
+WaterStoneDesc:
+ db "Evolves certain",$4E
+ db "kinds of #MON.@"
+
+TeruSama2Desc:
+ db "?@"
+
+HPUpDesc:
+ db "Raises the HP of",$4E
+ db "one #MON.@"
+
+ProteinDesc:
+ db "Raises ATTACK of",$4E
+ db "one #MON.@"
+
+IronDesc:
+ db "Raises DEFENSE of",$4E
+ db "one #MON.@"
+
+CarbosDesc:
+ db "Raises SPEED of",$4E
+ db "one #MON.@"
+
+LuckyPunchDesc:
+ db "Ups critical hit",$4E
+ db "ratio of CHANSEY.@"
+
+CalciumDesc:
+ db "Ups SPECIAL stats",$4E
+ db "of one #MON.@"
+
+RareCandyDesc:
+ db "Raises level of a",$4E
+ db "#MON by one.@"
+
+XAccuracyDesc:
+ db "Raises accuracy.",$4E
+ db "(1 BTL)@"
+
+LeafStoneDesc:
+ db "Evolves certain",$4E
+ db "kinds of #MON.@"
+
+MetalPowderDesc:
+ db "Raises DEFENSE of",$4E
+ db "DITTO. (HOLD)@"
+
+NuggetDesc:
+ db "Made of pure gold.",$4E
+ db "Sell high.@"
+
+PokeDollDesc:
+ db "Use to escape from",$4E
+ db "a wild #MON.@"
+
+FullHealDesc:
+ db "Eliminates all",$4E
+ db "status problems.@"
+
+ReviveDesc:
+ db "Restores a fainted",$4E
+ db "#MON to 1/2 HP.@"
+
+MaxReviveDesc:
+ db "Fully restores a",$4E
+ db "fainted #MON.@"
+
+GuardSpecDesc:
+ db "Prevents stats",$4E
+ db "reduction. (1 BTL)@"
+
+SuperRepelDesc:
+ db "Repels weak #-",$4E
+ db "MON for 200 steps.@"
+
+MaxRepelDesc:
+ db "Repels weak #-",$4E
+ db "MON for 250 steps.@"
+
+DireHitDesc:
+ db "Ups critical hit",$4E
+ db "ratio. (1 BTL)@"
+
+TeruSama3Desc:
+ db "?@"
+
+FreshWaterDesc:
+ db "Restores #MON",$4E
+ db "HP by 50.@"
+
+SodaPopDesc:
+ db "Restores #MON",$4E
+ db "HP by 60.@"
+
+LemonadeDesc:
+ db "Restores #MON",$4E
+ db "HP by 80.@"
+
+XAttackDesc:
+ db "Raises ATTACK.",$4E
+ db "(1 BTL)@"
+
+TeruSama4Desc:
+ db "?@"
+
+XDefendDesc:
+ db "Raises DEFENSE.",$4E
+ db "(1 BTL)@"
+
+XSpeedDesc:
+ db "Raises SPEED.",$4E
+ db "(1 BTL)@"
+
+XSpecialDesc:
+ db "Raises SPECIAL",$4E
+ db "ATTACK. (1 BTL)@"
+
+CoinCaseDesc:
+ db "Holds up to 9,999",$4E
+ db "game coins.@"
+
+ItemfinderDesc:
+ db "Checks for unseen",$4E
+ db "items in the area.@"
+
+TeruSama5Desc:
+ db "?@"
+
+ExpShareDesc:
+ db "Shares battle EXP.",$4E
+ db "Points. (HOLD)@"
+
+OldRodDesc:
+ db "Use by water to",$4E
+ db "fish for #MON.@"
+
+GoodRodDesc:
+ db "A good ROD for",$4E
+ db "catching #MON.@"
+
+SilverLeafDesc:
+ db "A strange, silver-",$4E
+ db "colored leaf.@"
+
+SuperRodDesc:
+ db "The best ROD for",$4E
+ db "catching #MON.@"
+
+PPUpDesc:
+ db "Raises max PP of",$4E
+ db "a selected move.@"
+
+EtherDesc:
+ db "Restores PP of one",$4E
+ db "move by 10.@"
+
+MaxEtherDesc:
+ db "Fully restores PP",$4E
+ db "of one move.@"
+
+ElixerDesc:
+ db "Restores PP of all",$4E
+ db "moves by 10.@"
+
+RedScaleDesc:
+ db "A scale from the",$4E
+ db "red GYARADOS.@"
+
+SecretPotionDesc:
+ db "Fully heals any",$4E
+ db "#MON.@"
+
+SSTicketDesc:
+ db "A ticket for the",$4E
+ db "S.S.AQUA.@"
+
+MysteryEggDesc:
+ db "An EGG obtained",$4E
+ db "from MR.#MON.@"
+
+ClearBellDesc:
+ db "Makes a gentle",$4E
+ db "ringing.@"
+
+SilverWingDesc:
+ db "A strange, silver-",$4E
+ db "colored feather.@"
+
+MoomooMilkDesc:
+ db "Restores #MON",$4E
+ db "HP by 100.@"
+
+QuickClawDesc:
+ db "Raises 1st strike",$4E
+ db "ratio. (HOLD)@"
+
+PsnCureBerryDesc:
+ db "A self-cure for",$4E
+ db "poison. (HOLD)@"
+
+GoldLeafDesc:
+ db "A strange, gold-",$4E
+ db "colored leaf.@"
+
+SoftSandDesc:
+ db "Powers up ground-",$4E
+ db "type moves. (HOLD)@"
+
+SharpBeakDesc:
+ db "Powers up flying-",$4E
+ db "type moves. (HOLD)@"
+
+PrzCureBerryDesc:
+ db "A self-cure for",$4E
+ db "paralysis. (HOLD)@"
+
+BurntBerryDesc:
+ db "A self-cure for",$4E
+ db "freezing. (HOLD)@"
+
+IceBerryDesc:
+ db "A self-heal for a",$4E
+ db "burn. (HOLD)@"
+
+PoisonBarbDesc:
+ db "Powers up poison-",$4E
+ db "type moves. (HOLD)@"
+
+KingsRockDesc:
+ db "May make the foe",$4E
+ db "flinch. (HOLD)@"
+
+BitterBerryDesc:
+ db "A self-cure for",$4E
+ db "confusion. (HOLD)@"
+
+MintBerryDesc:
+ db "A self-awakening",$4E
+ db "for sleep. (HOLD)@"
+
+RedApricornDesc:
+ db "A red APRICORN.@"
+
+TinyMushroomDesc:
+ db "An ordinary mush-",$4E
+ db "room. Sell low.@"
+
+BigMushroomDesc:
+ db "A rare mushroom.",$4E
+ db "Sell high.@"
+
+SilverPowderDesc:
+ db "Powers up bug-type",$4E
+ db "moves. (HOLD)@"
+
+BluApricornDesc:
+ db "A blue APRICORN.@"
+
+TeruSama6Desc:
+ db "?@"
+
+AmuletCoinDesc:
+ db "Doubles monetary",$4E
+ db "earnings. (HOLD)@"
+
+YlwApricornDesc:
+ db "A yellow APRICORN.@"
+
+GrnApricornDesc:
+ db "A green APRICORN.@"
+
+CleanseTagDesc:
+ db "Helps repel wild",$4E
+ db "#MON. (HOLD)@"
+
+MysticWaterDesc:
+ db "Powers up water-",$4E
+ db "type moves. (HOLD)@"
+
+TwistedSpoonDesc:
+ db "Powers up psychic-",$4E
+ db "type moves. (HOLD)@"
+
+WhtApricornDesc:
+ db "A white APRICORN.@"
+
+BlackbeltDesc:
+ db "Boosts fighting-",$4E
+ db "type moves. (HOLD)@"
+
+BlkApricornDesc:
+ db "A black APRICORN.",$4E
+ db "@"
+
+TeruSama7Desc:
+ db "?@"
+
+PnkApricornDesc:
+ db "A pink APRICORN.",$4E
+ db "@"
+
+BlackGlassesDesc:
+ db "Powers up dark-",$4E
+ db "type moves. (HOLD)@"
+
+SlowpokeTailDesc:
+ db "Very tasty. Sell",$4E
+ db "high.@"
+
+PinkBowDesc:
+ db "Powers up normal-",$4E
+ db "type moves. (HOLD)@"
+
+StickDesc:
+ db "An ordinary stick.",$4E
+ db "Sell low.@"
+
+SmokeBallDesc:
+ db "Escape from wild",$4E
+ db "#MON. (HOLD)@"
+
+NeverMeltIceDesc:
+ db "Powers up ice-type",$4E
+ db "moves. (HOLD)@"
+
+MagnetDesc:
+ db "Boosts electric-",$4E
+ db "type moves. (HOLD)@"
+
+MiracleBerryDesc:
+ db "Cures all status",$4E
+ db "problems. (HOLD)@"
+
+PearlDesc:
+ db "A beautiful pearl.",$4E
+ db "Sell low.@"
+
+BigPearlDesc:
+ db "A big, beautiful",$4E
+ db "pearl. Sell high.@"
+
+EverStoneDesc:
+ db "Stops evolution.",$4E
+ db "(HOLD)@"
+
+SpellTagDesc:
+ db "Powers up ghost-",$4E
+ db "type moves. (HOLD)@"
+
+RageCandyBarDesc:
+ db "Restores #MON",$4E
+ db "HP by 20.@"
+
+GSBallDesc:
+ db "The mysterious",$4E
+ db "BALL.@"
+
+BlueCardDesc:
+ db "Card to save",$4E
+ db "points.@"
+
+MiracleSeedDesc:
+ db "Powers up grass-",$4E
+ db "type moves. (HOLD)@"
+
+ThickClubDesc:
+ db "A bone of some",$4E
+ db "sort. Sell low.@"
+
+FocusBandDesc:
+ db "May prevent faint-",$4E
+ db "ing. (HOLD)@"
+
+TeruSama8Desc:
+ db "?@"
+
+EnergyPowderDesc:
+ db "Restores #MON",$4E
+ db "HP by 50. Bitter.@"
+
+EnergyRootDesc:
+ db "Restores #MON",$4E
+ db "HP by 200. Bitter.@"
+
+HealPowderDesc:
+ db "Cures all status",$4E
+ db "problems. Bitter.@"
+
+RevivalHerbDesc:
+ db "Revives fainted",$4E
+ db "#MON. Bitter.@"
+
+HardStoneDesc:
+ db "Powers up rock-",$4E
+ db "type moves. (HOLD)@"
+
+LuckyEggDesc:
+ db "Earns extra EXP.",$4E
+ db "points. (HOLD)@"
+
+CardKeyDesc:
+ db "Opens shutters in",$4E
+ db "the RADIO TOWER.@"
+
+MachinePartDesc:
+ db "A machine part for",$4E
+ db "the POWER PLANT.@"
+
+EggTicketDesc:
+ db "May use at Golden-",$4E
+ db "rod trade corner.@"
+
+LostItemDesc:
+ db "The # DOLL lost",$4E
+ db "by the COPYCAT.@"
+
+StardustDesc:
+ db "Pretty, red sand.",$4E
+ db "Sell high.@"
+
+StarPieceDesc:
+ db "A hunk of red gem.",$4E
+ db "Sell very high.@"
+
+BasementKeyDesc:
+ db "Opens doors.@"
+
+PassDesc:
+ db "A ticket for the",$4E
+ db "MAGNET TRAIN.@"
+
+TeruSama9Desc:
+ db "?@"
+
+TeruSama10Desc:
+ db "?@"
+
+TeruSama11Desc:
+ db "?@"
+
+CharcoalDesc:
+ db "Powers up fire-",$4E
+ db "type moves. (HOLD)@"
+
+BerryJuiceDesc:
+ db "Restores #MON",$4E
+ db "HP by 20.@"
+
+ScopeLensDesc:
+ db "Raises critical",$4E
+ db "hit ratio. (HOLD)@"
+
+TeruSama12Desc:
+ db "?@"
+
+TeruSama13Desc:
+ db "?@"
+
+MetalCoatDesc:
+ db "Powers up steel-",$4E
+ db "type moves. (HOLD)@"
+
+DragonFangDesc:
+ db "Powers up dragon-",$4E
+ db "type moves. (HOLD)@"
+
+TeruSama14Desc:
+ db "?@"
+
+LeftoversDesc:
+ db "Restores HP during",$4E
+ db "battle. (HOLD)@"
+
+TeruSama15Desc:
+ db "?@"
+
+TeruSama16Desc:
+ db "?@"
+
+TeruSama17Desc:
+ db "?@"
+
+MysteryBerryDesc:
+ db "A self-restore",$4E
+ db "for PP. (HOLD)@"
+
+DragonScaleDesc:
+ db "A rare dragon-type",$4E
+ db "item.@"
+
+BerserkGeneDesc:
+ db "Boosts ATTACK but",$4E
+ db "causes confusion.@"
+
+TeruSama18Desc:
+ db "?@"
+
+TeruSama19Desc:
+ db "?@"
+
+TeruSama20Desc:
+ db "?@"
+
+SacredAshDesc:
+ db "Fully revives all",$4E
+ db "fainted #MON.@"
+
+HeavyBallDesc:
+ db "A BALL for catch-",$4E
+ db "ing heavy #MON.@"
+
+FlowerMailDesc:
+ db "Flower-print MAIL.",$4E
+ db "(HOLD)@"
+
+LevelBallDesc:
+ db "A BALL for lower-",$4E
+ db "level #MON.@"
+
+LureBallDesc:
+ db "A BALL for #MON",$4E
+ db "hooked by a ROD.@"
+
+FastBallDesc:
+ db "A BALL for catch-",$4E
+ db "ing fast #MON.@"
+
+TeruSama21Desc:
+ db "?@"
+
+LightBallDesc:
+ db "An odd, electrical",$4E
+ db "orb. (HOLD)@"
+
+FriendBallDesc:
+ db "A BALL that makes",$4E
+ db "#MON friendly.@"
+
+MoonBallDesc:
+ db "A BALL for MOON",$4E
+ db "STONE evolvers.@"
+
+LoveBallDesc:
+ db "For catching the",$4E
+ db "opposite gender.@"
+
+NormalBoxDesc:
+ db "Open it and see",$4E
+ db "what's inside.@"
+
+GorgeousBoxDesc:
+ db "Open it and see",$4E
+ db "what's inside.@"
+
+SunStoneDesc:
+ db "Evolves certain",$4E
+ db "kinds of #MON.@"
+
+PolkadotBowDesc:
+ db "Powers up normal-",$4E
+ db "type moves. (HOLD)@"
+
+TeruSama22Desc:
+ db "?@"
+
+UpGradeDesc:
+ db "A mysterious box",$4E
+ db "made by SILPH CO.@"
+
+BerryDesc:
+ db "A self-restore",$4E
+ db "item. (10HP, HOLD)@"
+
+GoldBerryDesc:
+ db "A self-restore",$4E
+ db "item. (30HP, HOLD)@"
+
+SquirtBottleDesc:
+ db "A bottle used for",$4E
+ db "watering plants.@"
+
+TeruSama23Desc:
+ db "?@"
+
+ParkBallDesc:
+ db "The Bug-Catching",$4E
+ db "Contest BALL.@"
+
+RainbowWingDesc:
+ db "A mystical feather",$4E
+ db "of rainbow colors.@"
+
+TeruSama24Desc:
+ db "?@"
+
+BrickPieceDesc:
+ db "A rare chunk of",$4E
+ db "tile.@"
+
+SurfMailDesc:
+ db "LAPRAS-print MAIL.",$4E
+ db "(HOLD)@"
+
+LiteBlueMailDesc:
+ db "DRATINI-print",$4E
+ db "MAIL. (HOLD)@"
+
+PortraitMailDesc:
+ db "MAIL featuring the",$4E
+ db "holder's likeness.@"
+
+LovelyMailDesc:
+ db "Heart-print MAIL.",$4E
+ db "(HOLD)@"
+
+EonMailDesc:
+ db "EEVEE-print MAIL.",$4E
+ db "(HOLD)@"
+
+MorphMailDesc:
+ db "DITTO-print MAIL.",$4E
+ db "(HOLD)@"
+
+BlueSkyMailDesc:
+ db "Sky-print MAIL.",$4E
+ db "(HOLD)@"
+
+MusicMailDesc:
+ db "NATU-print MAIL.",$4E
+ db "(HOLD)@"
+
+MewMailDesc:
+ db "MEW-print MAIL.",$4E
+ db "(HOLD)@"
+
+TeruSama25Desc:
+ db "?@"
+
+TeruSama26Desc:
+ db "?@"
+
+TeruSama27Desc:
+ db "?@"
+
+TeruSama28Desc:
+ db "?@"
+
+TeruSama29Desc:
+ db "?@"
+
+TeruSama30Desc:
+ db "?@"
+
+TeruSama31Desc:
+ db "?@"
+
+TeruSama32Desc:
+ db "?@"
+
+TeruSama33Desc:
+ db "?@"
+
+ db "POUND@"
+ db "KARATE CHOP@"
+ db "DOUBLESLAP@"
+ db "COMET PUNCH@"
+ db "MEGA PUNCH@"
+ db "PAY DAY@"
+ db "FIRE PUNCH@"
+ db "ICE PUNCH@"
+ db "THUNDERPUNCH@"
+ db "SCRATCH@"
+ db "VICEGRIP@"
+ db "GUILLOTINE@"
+ db "RAZOR WIND@"
+ db "SWORDS DANCE@"
+ db "CUT@"
+ db "GUST@"
+ db "WING ATTACK@"
+ db "WHIRLWIND@"
+ db "FLY@"
+ db "BIND@"
+ db "SLAM@"
+ db "VINE WHIP@"
+ db "STOMP@"
+ db "DOUBLE KICK@"
+ db "MEGA KICK@"
+ db "JUMP KICK@"
+ db "ROLLING KICK@"
+ db "SAND-ATTACK@"
+ db "HEADBUTT@"
+ db "HORN ATTACK@"
+ db "FURY ATTACK@"
+ db "HORN DRILL@"
+ db "TACKLE@"
+ db "BODY SLAM@"
+ db "WRAP@"
+ db "TAKE DOWN@"
+ db "THRASH@"
+ db "DOUBLE-EDGE@"
+ db "TAIL WHIP@"
+ db "POISON STING@"
+ db "TWINEEDLE@"
+ db "PIN MISSILE@"
+ db "LEER@"
+ db "BITE@"
+ db "GROWL@"
+ db "ROAR@"
+ db "SING@"
+ db "SUPERSONIC@"
+ db "SONICBOOM@"
+ db "DISABLE@"
+ db "ACID@"
+ db "EMBER@"
+ db "FLAMETHROWER@"
+ db "MIST@"
+ db "WATER GUN@"
+ db "HYDRO PUMP@"
+ db "SURF@"
+ db "ICE BEAM@"
+ db "BLIZZARD@"
+ db "PSYBEAM@"
+ db "BUBBLEBEAM@"
+ db "AURORA BEAM@"
+ db "HYPER BEAM@"
+ db "PECK@"
+ db "DRILL PECK@"
+ db "SUBMISSION@"
+ db "LOW KICK@"
+ db "COUNTER@"
+ db "SEISMIC TOSS@"
+ db "STRENGTH@"
+ db "ABSORB@"
+ db "MEGA DRAIN@"
+ db "LEECH SEED@"
+ db "GROWTH@"
+ db "RAZOR LEAF@"
+ db "SOLARBEAM@"
+ db "POISONPOWDER@"
+ db "STUN SPORE@"
+ db "SLEEP POWDER@"
+ db "PETAL DANCE@"
+ db "STRING SHOT@"
+ db "DRAGON RAGE@"
+ db "FIRE SPIN@"
+ db "THUNDERSHOCK@"
+ db "THUNDERBOLT@"
+ db "THUNDER WAVE@"
+ db "THUNDER@"
+ db "ROCK THROW@"
+ db "EARTHQUAKE@"
+ db "FISSURE@"
+ db "DIG@"
+ db "TOXIC@"
+ db "CONFUSION@"
+ db "PSYCHIC@"
+ db "HYPNOSIS@"
+ db "MEDITATE@"
+ db "AGILITY@"
+ db "QUICK ATTACK@"
+ db "RAGE@"
+ db "TELEPORT@"
+ db "NIGHT SHADE@"
+ db "MIMIC@"
+ db "SCREECH@"
+ db "DOUBLE TEAM@"
+ db "RECOVER@"
+ db "HARDEN@"
+ db "MINIMIZE@"
+ db "SMOKESCREEN@"
+ db "CONFUSE RAY@"
+ db "WITHDRAW@"
+ db "DEFENSE CURL@"
+ db "BARRIER@"
+ db "LIGHT SCREEN@"
+ db "HAZE@"
+ db "REFLECT@"
+ db "FOCUS ENERGY@"
+ db "BIDE@"
+ db "METRONOME@"
+ db "MIRROR MOVE@"
+ db "SELFDESTRUCT@"
+ db "EGG BOMB@"
+ db "LICK@"
+ db "SMOG@"
+ db "SLUDGE@"
+ db "BONE CLUB@"
+ db "FIRE BLAST@"
+ db "WATERFALL@"
+ db "CLAMP@"
+ db "SWIFT@"
+ db "SKULL BASH@"
+ db "SPIKE CANNON@"
+ db "CONSTRICT@"
+ db "AMNESIA@"
+ db "KINESIS@"
+ db "SOFTBOILED@"
+ db "HI JUMP KICK@"
+ db "GLARE@"
+ db "DREAM EATER@"
+ db "POISON GAS@"
+ db "BARRAGE@"
+ db "LEECH LIFE@"
+ db "LOVELY KISS@"
+ db "SKY ATTACK@"
+ db "TRANSFORM@"
+ db "BUBBLE@"
+ db "DIZZY PUNCH@"
+ db "SPORE@"
+ db "FLASH@"
+ db "PSYWAVE@"
+ db "SPLASH@"
+ db "ACID ARMOR@"
+ db "CRABHAMMER@"
+ db "EXPLOSION@"
+ db "FURY SWIPES@"
+ db "BONEMERANG@"
+ db "REST@"
+ db "ROCK SLIDE@"
+ db "HYPER FANG@"
+ db "SHARPEN@"
+ db "CONVERSION@"
+ db "TRI ATTACK@"
+ db "SUPER FANG@"
+ db "SLASH@"
+ db "SUBSTITUTE@"
+ db "STRUGGLE@"
+ db "SKETCH@"
+ db "TRIPLE KICK@"
+ db "THIEF@"
+ db "SPIDER WEB@"
+ db "MIND READER@"
+ db "NIGHTMARE@"
+ db "FLAME WHEEL@"
+ db "SNORE@"
+ db "CURSE@"
+ db "FLAIL@"
+ db "CONVERSION2@"
+ db "AEROBLAST@"
+ db "COTTON SPORE@"
+ db "REVERSAL@"
+ db "SPITE@"
+ db "POWDER SNOW@"
+ db "PROTECT@"
+ db "MACH PUNCH@"
+ db "SCARY FACE@"
+ db "FAINT ATTACK@"
+ db "SWEET KISS@"
+ db "BELLY DRUM@"
+ db "SLUDGE BOMB@"
+ db "MUD-SLAP@"
+ db "OCTAZOOKA@"
+ db "SPIKES@"
+ db "ZAP CANNON@"
+ db "FORESIGHT@"
+ db "DESTINY BOND@"
+ db "PERISH SONG@"
+ db "ICY WIND@"
+ db "DETECT@"
+ db "BONE RUSH@"
+ db "LOCK-ON@"
+ db "OUTRAGE@"
+ db "SANDSTORM@"
+ db "GIGA DRAIN@"
+ db "ENDURE@"
+ db "CHARM@"
+ db "ROLLOUT@"
+ db "FALSE SWIPE@"
+ db "SWAGGER@"
+ db "MILK DRINK@"
+ db "SPARK@"
+ db "FURY CUTTER@"
+ db "STEEL WING@"
+ db "MEAN LOOK@"
+ db "ATTRACT@"
+ db "SLEEP TALK@"
+ db "HEAL BELL@"
+ db "RETURN@"
+ db "PRESENT@"
+ db "FRUSTRATION@"
+ db "SAFEGUARD@"
+ db "PAIN SPLIT@"
+ db "SACRED FIRE@"
+ db "MAGNITUDE@"
+ db "DYNAMICPUNCH@"
+ db "MEGAHORN@"
+ db "DRAGONBREATH@"
+ db "BATON PASS@"
+ db "ENCORE@"
+ db "PURSUIT@"
+ db "RAPID SPIN@"
+ db "SWEET SCENT@"
+ db "IRON TAIL@"
+ db "METAL CLAW@"
+ db "VITAL THROW@"
+ db "MORNING SUN@"
+ db "SYNTHESIS@"
+ db "MOONLIGHT@"
+ db "HIDDEN POWER@"
+ db "CROSS CHOP@"
+ db "TWISTER@"
+ db "RAIN DANCE@"
+ db "SUNNY DAY@"
+ db "CRUNCH@"
+ db "MIRROR COAT@"
+ db "PSYCH UP@"
+ db "EXTREMESPEED@"
+ db "ANCIENTPOWER@"
+ db "SHADOW BALL@"
+ db "FUTURE SIGHT@"
+ db "ROCK SMASH@"
+ db "WHIRLPOOL@"
+ db "BEAT UP@"
+
+INCBIN "baserom.gbc",$1CA896,$1CAA43-$1CA896
+
+ db "NEW BARK",$1F,"TOWN@"
+ db "CHERRYGROVE",$1F,"CITY@"
+ db "VIOLET CITY@"
+ db "AZALEA TOWN@"
+ db "GOLDENROD",$1F,"CITY@"
+ db "ECRUTEAK",$1F,"CITY@"
+ db "OLIVINE",$1F,"CITY@"
+ db "CIANWOOD",$1F,"CITY@"
+ db "MAHOGANY",$1F,"TOWN@"
+ db "BLACKTHORN",$1F,"CITY@"
+ db "LAKE OF",$1F,"RAGE@"
+ db "SILVER CAVE@"
+ db "SPROUT",$1F,"TOWER@"
+ db "RUINS",$1F,"OF ALPH@"
+ db "UNION CAVE@"
+ db "SLOWPOKE",$1F,"WELL@"
+ db "RADIO TOWER@"
+ db "POWER PLANT@"
+ db "NATIONAL",$1F,"PARK@"
+ db "TIN TOWER@"
+ db "LIGHTHOUSE@"
+ db "WHIRL",$1F,"ISLANDS@"
+ db "MT.MORTAR@"
+ db "DRAGON'S",$1F,"DEN@"
+ db "ICE PATH@"
+ db "N/A@"
+ db "PALLET TOWN@"
+ db "VIRIDIAN",$1F,"CITY@"
+ db "PEWTER CITY@"
+ db "CERULEAN",$1F,"CITY@"
+ db "LAVENDER",$1F,"TOWN@"
+ db "VERMILION",$1F,"CITY@"
+ db "CELADON",$1F,"CITY@"
+ db "SAFFRON",$1F,"CITY@"
+ db "FUCHSIA",$1F,"CITY@"
+ db "CINNABAR",$1F,"ISLAND@"
+ db "INDIGO",$1F,"PLATEAU@"
+ db "VICTORY",$1F,"ROAD@"
+ db "MT.MOON@"
+ db "ROCK TUNNEL@"
+ db "LAV",$1F,"RADIO TOWER@"
+ db "SILPH CO.@"
+ db "SAFARI ZONE@"
+ db "SEAFOAM",$1F,"ISLANDS@"
+ db "#MON",$1F,"MANSION@"
+ db "CERULEAN",$1F,"CAVE@"
+ db "ROUTE 1@"
+ db "ROUTE 2@"
+ db "ROUTE 3@"
+ db "ROUTE 4@"
+ db "ROUTE 5@"
+ db "ROUTE 6@"
+ db "ROUTE 7@"
+ db "ROUTE 8@"
+ db "ROUTE 9@"
+ db "ROUTE 10@"
+ db "ROUTE 11@"
+ db "ROUTE 12@"
+ db "ROUTE 13@"
+ db "ROUTE 14@"
+ db "ROUTE 15@"
+ db "ROUTE 16@"
+ db "ROUTE 17@"
+ db "ROUTE 18@"
+ db "ROUTE 19@"
+ db "ROUTE 20@"
+ db "ROUTE 21@"
+ db "ROUTE 22@"
+ db "ROUTE 23@"
+ db "ROUTE 24@"
+ db "ROUTE 25@"
+ db "ROUTE 26@"
+ db "ROUTE 27@"
+ db "ROUTE 28@"
+ db "ROUTE 29@"
+ db "ROUTE 30@"
+ db "ROUTE 31@"
+ db "ROUTE 32@"
+ db "ROUTE 33@"
+ db "ROUTE 34@"
+ db "ROUTE 35@"
+ db "ROUTE 36@"
+ db "ROUTE 37@"
+ db "ROUTE 38@"
+ db "ROUTE 39@"
+ db "ROUTE 40@"
+ db "ROUTE 41@"
+ db "ROUTE 42@"
+ db "ROUTE 43@"
+ db "ROUTE 44@"
+ db "ROUTE 45@"
+ db "ROUTE 46@"
+ db "DARK CAVE@"
+ db "ILEX",$1F,"FOREST@"
+ db "BURNED",$1F,"TOWER@"
+ db "FAST SHIP@"
+ db "VIRIDIAN",$1F,"FOREST@"
+ db "DIGLETT'S",$1F,"CAVE@"
+ db "TOHJO FALLS@"
+ db "UNDERGROUND@"
+ db "BATTLE",$1F,"TOWER@"
+ db "SPECIAL@"
+
+INCBIN "baserom.gbc",$1CAEA1,$40
+SECTION "bank73",DATA,BANK[$73]
+INCBIN "baserom.gbc",$1CC000,$4000
+SECTION "bank74",DATA,BANK[$74]
+INCBIN "baserom.gbc",$1D0000,$4000
+SECTION "bank75",DATA,BANK[$75]
+INCBIN "baserom.gbc",$1D4000,$4000
+SECTION "bank76",DATA,BANK[$76]
+INCBIN "baserom.gbc",$1D8000,$4000
+SECTION "bank77",DATA,BANK[$77]
+INCBIN "baserom.gbc",$1DC000,$4000
+SECTION "bank78",DATA,BANK[$78]
+INCBIN "baserom.gbc",$1E0000,$4000
+SECTION "bank79",DATA,BANK[$79]
+INCBIN "baserom.gbc",$1E4000,$4000
+SECTION "bank7A",DATA,BANK[$7A]
+INCBIN "baserom.gbc",$1E8000,$4000
+SECTION "bank7B",DATA,BANK[$7B]
+INCBIN "baserom.gbc",$1EC000,$4000
+SECTION "bank7C",DATA,BANK[$7C]
+INCBIN "baserom.gbc",$1F0000,$4000
+SECTION "bank7D",DATA,BANK[$7D]
+INCBIN "baserom.gbc",$1F4000,$4000
+SECTION "bank7E",DATA,BANK[$7E]
+INCBIN "baserom.gbc",$1F8000,$4000
+SECTION "bank7F",DATA,BANK[$7F]
+INCBIN "baserom.gbc",$1FC000,$4000
--- /dev/null
+++ b/pokecrystal.asm
@@ -1,0 +1,1 @@
+INCLUDE "main.tx"
--- /dev/null
+++ b/textpre.awk
@@ -1,0 +1,302 @@
+BEGIN {
+FS = "\""
+
+char["ガ"] = "$05"
+char["ギ"] = "$06"
+char["グ"] = "$07"
+char["ゲ"] = "$08"
+char["ゴ"] = "$09"
+char["ザ"] = "$0A"
+char["ジ"] = "$0B"
+char["ズ"] = "$0C"
+char["ゼ"] = "$0D"
+char["ゾ"] = "$0E"
+char["ダ"] = "$0F"
+char["ヂ"] = "$10"
+char["ヅ"] = "$11"
+char["デ"] = "$12"
+char["ド"] = "$13"
+char["バ"] = "$19"
+char["ビ"] = "$1A"
+char["ブ"] = "$1B"
+char["ボ"] = "$1C"
+char["が"] = "$26"
+char["ぎ"] = "$27"
+char["ぐ"] = "$28"
+char["げ"] = "$29"
+char["ご"] = "$2A"
+char["ざ"] = "$2B"
+char["じ"] = "$2C"
+char["ず"] = "$2D"
+char["ぜ"] = "$2E"
+char["ぞ"] = "$2F"
+char["だ"] = "$30"
+char["ぢ"] = "$31"
+char["づ"] = "$32"
+char["で"] = "$33"
+char["ど"] = "$34"
+char["ば"] = "$3A"
+char["び"] = "$3B"
+char["ぶ"] = "$3C"
+char["べ"] = "$3D"
+char["ぼ"] = "$3E"
+char["パ"] = "$40"
+char["ピ"] = "$41"
+char["プ"] = "$42"
+char["ポ"] = "$43"
+char["ぱ"] = "$44"
+char["ぴ"] = "$45"
+char["ぷ"] = "$46"
+char["ぺ"] = "$47"
+char["ぽ"] = "$48"
+char["ア"] = "$80"
+char["イ"] = "$81"
+char["ウ"] = "$82"
+char["エ"] = "$83"
+char["ォ"] = "$84"
+char["カ"] = "$85"
+char["キ"] = "$86"
+char["ク"] = "$87"
+char["ケ"] = "$88"
+char["コ"] = "$89"
+char["サ"] = "$8A"
+char["シ"] = "$8B"
+char["ス"] = "$8C"
+char["セ"] = "$8D"
+char["ソ"] = "$8E"
+char["タ"] = "$8F"
+char["チ"] = "$90"
+char["ツ"] = "$91"
+char["テ"] = "$92"
+char["ト"] = "$93"
+char["ナ"] = "$94"
+char["ニ"] = "$95"
+char["ヌ"] = "$96"
+char["ネ"] = "$97"
+char["ノ"] = "$98"
+char["ハ"] = "$99"
+char["ヒ"] = "$9A"
+char["フ"] = "$9B"
+char["ホ"] = "$9C"
+char["マ"] = "$9D"
+char["ミ"] = "$9E"
+char["ム"] = "$9F"
+char["メ"] = "$A0"
+char["モ"] = "$A1"
+char["ヤ"] = "$A2"
+char["ユ"] = "$A3"
+char["ヨ"] = "$A4"
+char["ラ"] = "$A5"
+char["ル"] = "$A6"
+char["レ"] = "$A7"
+char["ロ"] = "$A8"
+char["ワ"] = "$A9"
+char["ヲ"] = "$AA"
+char["ン"] = "$AB"
+char["ッ"] = "$AC"
+char["ャ"] = "$AD"
+char["ュ"] = "$AE"
+char["ョ"] = "$AF"
+char["ィ"] = "$B0"
+char["あ"] = "$B1"
+char["い"] = "$B2"
+char["う"] = "$B3"
+char["え"] = "$B4"
+char["お"] = "$B5"
+char["か"] = "$B6"
+char["き"] = "$B7"
+char["く"] = "$B8"
+char["け"] = "$B9"
+char["こ"] = "$BA"
+char["さ"] = "$BB"
+char["し"] = "$BC"
+char["す"] = "$BD"
+char["せ"] = "$BE"
+char["そ"] = "$BF"
+char["た"] = "$C0"
+char["ち"] = "$C1"
+char["つ"] = "$C2"
+char["て"] = "$C3"
+char["と"] = "$C4"
+char["な"] = "$C5"
+char["に"] = "$C6"
+char["ぬ"] = "$C7"
+char["ね"] = "$C8"
+char["の"] = "$C9"
+char["は"] = "$CA"
+char["ひ"] = "$CB"
+char["ふ"] = "$CC"
+char["へ"] = "$CD"
+char["ほ"] = "$CE"
+char["ま"] = "$CF"
+char["み"] = "$D0"
+char["む"] = "$D1"
+char["め"] = "$D2"
+char["も"] = "$D3"
+char["や"] = "$D4"
+char["ゆ"] = "$D5"
+char["よ"] = "$D6"
+char["ら"] = "$D7"
+char["り"] = "$D8"
+char["る"] = "$D9"
+char["れ"] = "$DA"
+char["ろ"] = "$DB"
+char["わ"] = "$DC"
+char["を"] = "$DD"
+char["ん"] = "$DE"
+char["っ"] = "$DF"
+char["ゃ"] = "$E0"
+char["ゅ"] = "$E1"
+char["ょ"] = "$E2"
+char["ー"] = "$E3"
+
+
+char["@"] = "$50"
+char["#"] = "$54"
+char["…"] = "$75"
+
+# textbox borders
+char["┌"] = "$79"
+char["─"] = "$7A"
+char["┐"] = "$7B"
+char["│"] = "$7C"
+char["└"] = "$7D"
+char["┘"] = "$7E"
+
+char["№"] = "$74"
+
+char[" "] = "$7F"
+char["A"] = "$80"
+char["B"] = "$81"
+char["C"] = "$82"
+char["D"] = "$83"
+char["E"] = "$84"
+char["F"] = "$85"
+char["G"] = "$86"
+char["H"] = "$87"
+char["I"] = "$88"
+char["J"] = "$89"
+char["K"] = "$8A"
+char["L"] = "$8B"
+char["M"] = "$8C"
+char["N"] = "$8D"
+char["O"] = "$8E"
+char["P"] = "$8F"
+char["Q"] = "$90"
+char["R"] = "$91"
+char["S"] = "$92"
+char["T"] = "$93"
+char["U"] = "$94"
+char["V"] = "$95"
+char["W"] = "$96"
+char["X"] = "$97"
+char["Y"] = "$98"
+char["Z"] = "$99"
+char["("] = "$9A"
+char[")"] = "$9B"
+char[":"] = "$9C"
+char[";"] = "$9D"
+char["["] = "$9E"
+char["]"] = "$9F"
+char["a"] = "$A0"
+char["b"] = "$A1"
+char["c"] = "$A2"
+char["d"] = "$A3"
+char["e"] = "$A4"
+char["f"] = "$A5"
+char["g"] = "$A6"
+char["h"] = "$A7"
+char["i"] = "$A8"
+char["j"] = "$A9"
+char["k"] = "$AA"
+char["l"] = "$AB"
+char["m"] = "$AC"
+char["n"] = "$AD"
+char["o"] = "$AE"
+char["p"] = "$AF"
+char["q"] = "$B0"
+char["r"] = "$B1"
+char["s"] = "$B2"
+char["t"] = "$B3"
+char["u"] = "$B4"
+char["v"] = "$B5"
+char["w"] = "$B6"
+char["x"] = "$B7"
+char["y"] = "$B8"
+char["z"] = "$B9"
+char["é"] = "$BA"
+char["'t"] = "$BE"
+char["'s"] = "$D4"
+char["'"] = "$E0"
+char["-"] = "$E3"
+char["?"] = "$E6"
+char["!"] = "$E7"
+char["."] = "$E8"
+char["&"] = "$E9"
+char["♂"] = "$EF"
+char["/"] = "$F3"
+char[","] = "$F4"
+char["♀"] = "$F5"
+char["0"] = "$F6"
+char["1"] = "$F7"
+char["2"] = "$F8"
+char["3"] = "$F9"
+char["4"] = "$FA"
+char["5"] = "$FB"
+char["6"] = "$FC"
+char["7"] = "$FD"
+char["8"] = "$FE"
+char["9"] = "$FF"
+}
+
+# skip lines that actually do use ASCII in quotes
+tolower($1) ~ /section/ ||
+tolower($1) ~ /include/ ||
+tolower($1) ~ /incbin/
+
+!(tolower($1) ~ /section/ || tolower($1) ~ /include/ || tolower($1) ~ /incbin/) {
+i = 1
+ORS = ""
+
+while (i <= NF) {
+if (i % 2 == 1)
+ print $(i)
+else {
+ f = $(i)
+ while (f != "") {
+ c = substr(f,1,1)
+ f = substr(f,2,length(f) - 1)
+ if (c > "𐀀") { # U+10000
+ c = c substr(f,1,3)
+ f = substr(f,4,length(f) - 3)
+ } else if (c > "ࠀ") { # U+0800
+ c = c substr(f,1,2)
+ f = substr(f,3,length(f) - 2)
+ } else if (c > "") { # U+0080
+ c = c substr(f,1,1)
+ f = substr(f,2,length(f) - 1)
+ }
+
+ if (c == "'") {
+ if (substr(f,1,1) == "m" ||
+ substr(f,1,1) == "r" ||
+ substr(f,1,1) == "t" ||
+ substr(f,1,1) == "s" ||
+ substr(f,1,1) == "v" ||
+ substr(f,1,1) == "l") {
+ c = c substr(f,1,1)
+ f = substr(f,2,length(f) - 1)
+ }
+ }
+
+ print char[c]
+ if (length(f))
+ print ","
+ }
+}
+
+i = i + 1
+}
+print "\n"
+ORS = "\n"
+}
\ No newline at end of file