Commit graph

145 commits

Author SHA1 Message Date
Bryan Bishop 2c24aa3510 stop disassembling when unconditional relative jumps go back
This adds the condition that it should stop disassembling even if there are
unsatisfied labels (example: from before the text script began).

hg-commit-id: 0b6ebcb02348
2012-01-12 13:21:05 -06:00
Bryan Bishop 0acee287ec update name; reds house f1 -> reds house 1f in extract_maps
hg-commit-id: a7675930313a
2012-01-12 13:06:32 -06:00
Bryan Bishop 1ae8e7e41e insert $8 asm for NameRaterText1
hg-commit-id: dd9f5126d4a5
2012-01-12 12:55:54 -06:00
Bryan Bishop 7e35470fb1 update gbz80disasm based on sawakita's changes
Changes include:

* .ASM_ labels now include their offset in the label

* byte_labels keeps better track of when a label is defined versus used

* reverse relative jumps now work

* reverse unconditional relative jumps can end a script

hg-commit-id: 8afc93fce17a
2012-01-12 12:35:03 -06:00
Bryan Bishop 418dc214d8 insert texts pointer labels
hg-commit-id: 18cc3e2ec33b
2012-01-12 01:31:14 -06:00
Bryan Bishop 9984d22d5b switch ash and gary to red and blue in extract_maps.py
hg-commit-id: 4306f4d5a885
2012-01-11 23:20:16 -06:00
Bryan Bishop 3075fabe26 more automation to assist in text insertion
hg-commit-id: e631a0e3c275
2012-01-11 23:08:46 -06:00
Bryan Bishop 28d21c8e19 a simple tool to insert missing $17s from analyze_texts
hg-commit-id: 66d1deca5777
2012-01-11 21:21:38 -06:00
Bryan Bishop 8ef0838654 remove extra output from gbz80disasm
hg-commit-id: 2c4886b28a2f
2012-01-11 17:45:13 -06:00
Bryan Bishop ea4fce81fa fix gbz80disasm to not treat $00 as the second byte of an opcode
hg-commit-id: 290296b59823
2012-01-11 17:36:17 -06:00
Bryan Bishop 6d6c18a301 formatting and comments
hg-commit-id: 4cf41759eaf0
2012-01-11 16:20:28 -06:00
Bryan Bishop 981000457c minor formatting
hg-commit-id: b6dfe0dfccd2
2012-01-11 13:57:19 -06:00
Bryan Bishop 167d9baac3 fix asm for route 9 texts 1 through 9 inclusive
hg-commit-id: e139dfb9a032
2012-01-11 12:20:16 -06:00
Bryan Bishop 09289d049b calculate usage count for undone texts
hg-commit-id: d3d02d17f44b
2012-01-11 02:15:37 -06:00
Bryan Bishop 3da828165b add address output to analyze_texts find missing texts
hg-commit-id: 1c41e22d7b30
2012-01-11 01:51:35 -06:00
Bryan Bishop b3ab0153b3 analyze_texts to find missing texts in pokered.asm
hg-commit-id: 7361a900a8ad
2012-01-11 01:40:53 -06:00
Bryan Bishop e95b8f1984 add end address to gbz80disasm output in a comment
hg-commit-id: 1d79cd8b426a
2012-01-11 00:06:52 -06:00
Bryan Bishop e4bce7ed15 lowercase two-byte ops that don't have params
hg-commit-id: 4b518c1bd0a0
2012-01-10 23:42:47 -06:00
Bryan Bishop 811529f6a4 fix gbz80disasm for multi-byte opcode incrementation
hg-commit-id: ad1ae67c5991
2012-01-10 23:36:24 -06:00
Bryan Bishop 5105065c72 gbz80disasm stops at all unconditional jumps unless there's a missing label
hg-commit-id: c23fcf211c19
2012-01-10 23:16:47 -06:00
Bryan Bishop 5e1aaba09b romviz - make an image to show progress
hg-commit-id: 207abc19d569
2012-01-10 21:20:43 -06:00
Bryan Bishop 99fcdc90f6 added text_pretty_printer_at to analyze_texts
hg-commit-id: 04e647ab44f8
2012-01-10 18:04:00 -06:00
Bryan Bishop f90b3fece1 RockTunnel1 texts and update gbz80disasm to not handle $8
hg-commit-id: 86d0d495afbc
2012-01-10 17:35:03 -06:00
Bryan Bishop edbfce9ad3 update analyze_texts to find missing $08s
hg-commit-id: 298a5ffd0d98
2012-01-10 16:32:25 -06:00
Bryan Bishop 48199b4916 pick some reasonable defaults for gbz80disasm op codes
hg-commit-id: c249e08cbe9b
2012-01-10 14:58:26 -06:00
Bryan Bishop f5eb8d3753 prefer "jp hl" over "ld pc, hl" for $E9
hg-commit-id: 4788aae09066
2012-01-10 14:44:47 -06:00
Bryan Bishop 90197fcb86 add GetMachineName address to gbz80disasm
hg-commit-id: 8ba8806f333f
2012-01-10 14:42:15 -06:00
Bryan Bishop deb5bf89ae call $00b5 -> call CopyData
hg-commit-id: e6a487cf2186
2012-01-10 14:31:38 -06:00
Bryan Bishop cb9e9404c5 replace call $3e6d -> call Predef
hg-commit-id: 8045c9d0d1a1
2012-01-10 14:12:24 -06:00
Bryan Bishop 464f06ced7 Merge.
hg-commit-id: 5d78a23cd0c7
2012-01-10 13:47:00 -06:00
Bryan Bishop 76dc9b8170 call $2f9e -> call GetMonName
hg-commit-id: 7bb690c08a4d
2012-01-10 13:44:54 -06:00
Bryan Bishop d9b994bf47 fix gbz80disasm line repetition bug
Certain two-byte op codes would be printed twice.

hg-commit-id: 8c7650a614b7
2012-01-10 13:42:21 -06:00
IIMarckus 1d97a39583 Fix typo: Lavendar → Lavender.
hg-commit-id: e231f8562c83
2012-01-10 12:11:37 -07:00
Bryan Bishop ebcf2a8756 implement two-byte op codes in gbz80disasm
Previously, two-byte commands in gbz80disasm would not read or allow
parameters. This update fixes gbz80disasm to read both the "x" and
"?" parameters.

x = one-byte parameter
? = two-byte parameter

hg-commit-id: 1494e8a88115
2012-01-10 12:47:37 -06:00
Bryan Bishop b6d32d9022 fix gbz80disasm pretty printer for non-08 scripts
hg-commit-id: 6f16741dc45f
2012-01-10 12:06:32 -06:00
Bryan Bishop 71a840c3c3 add has_outstanding_labels to gbz80disasm
This checks for whether or not there are relative jumps that have not been
accounted for. When it finds that a label on a relative jump is outstanding,
it will continue past any byte or command that would usually end the script.

hg-commit-id: 20fba34f0ae2
2012-01-10 11:25:09 -06:00
Bryan Bishop 33b7fedda3 replace call pointers with labels in gbz80disasm
Also, this changes how output_bank_opcodes works. Instead of calling lower()
on the entire output, each opcode and each line is individually lowercased.

As a result, the calls end up with correctly-capitalized labels.

hg-commit-id: bdde4aa404da
2012-01-10 11:16:57 -06:00
Bryan Bishop 468d065715 call $3927 -> call AddPokemonToParty
hg-commit-id: a4ec02195797
2012-01-10 02:11:54 -06:00
Bryan Bishop b36fbc72f3 fix extra whitespace from gbz80disasm
hg-commit-id: a244eb0b11fd
2012-01-10 01:40:34 -06:00
Bryan Bishop 4c59064f9f insert_asm in insert_texts for function asm
hg-commit-id: dc34a93f0f47
2012-01-10 01:18:18 -06:00
Bryan Bishop 983b87069d call $3c49 -> call PrintText
hg-commit-id: 2d9bb23f9db3
2012-01-10 01:05:09 -06:00
Bryan Bishop 14f9f3fac7 remove debug output from gbz80disasm
hg-commit-id: 65f6c206f6e1
2012-01-10 01:02:18 -06:00
Bryan Bishop a1eebadc37 fix gbz80disasm to optionally load a module in analyze_texts
hg-commit-id: 0504f841a9d5
2012-01-10 00:59:02 -06:00
Bryan Bishop c7331ebd19 updates to asm injection code
hg-commit-id: 6748c9773b32
2012-01-09 23:12:28 -06:00
Bryan Bishop 52e723ae65 insertion code for $08 text script asm
hg-commit-id: 5668ca41238c
2012-01-09 22:24:04 -06:00
Bryan Bishop 6ee0c38b35 a simple gameboy disassembler
hg-commit-id: 69a312de70de
2012-01-09 20:52:31 -06:00
Bryan Bishop 7819dc288e CELADON_HOUSE_2 -> CELADON_HOUSE
hg-commit-id: 0574f08aaf85
2012-01-09 01:19:10 -06:00
Bryan Bishop b6d8ebb416 fix map naming mistakes in celadon city
hg-commit-id: d7234963d818
2012-01-09 01:15:09 -06:00
Bryan Bishop dc0af17185 insert labels for map texts pointer lists
hg-commit-id: f374e6e126d7
2012-01-08 05:03:58 -06:00
Bryan Bishop eb1c47ce51 update to the broken TX_FAR inserter
hg-commit-id: f5fa1a4f052c
2012-01-08 03:43:26 -06:00
Bryan Bishop 3948f21d57 script to insert TX_FAR labels
hg-commit-id: 6be98c7af43b
2012-01-08 00:23:52 -06:00
Bryan Bishop 10307a7032 typo fix for cinnibar -> cinnabar
hg-commit-id: 5001a53ec965
2012-01-07 15:40:25 -06:00
Bryan Bishop ff60685f4e text analysis and insertion code (TX_FAR targets only)
hg-commit-id: e4c007ad1c11
2012-01-07 15:13:24 -06:00
Bryan Bishop 20c54ccd58 add more text bytes for abbreviations
hg-commit-id: 95383d94746e
2012-01-07 12:11:12 -06:00
Bryan Bishop d0be12ead0 somewhat buggy TX_FAR pretty printer
hg-commit-id: 94a023e4e37e
2012-01-07 01:34:22 -06:00
Bryan Bishop 6bad9c837c analyze_texts can handle more text commands now
hg-commit-id: 29ece1f29096
2012-01-06 22:26:08 -06:00
Bryan Bishop 1661e1890b starting to work with text command $01
hg-commit-id: e5bcd78d262b
2012-01-06 15:52:52 -06:00
Bryan Bishop 242a02aaa7 analyze_text now works with TX_FAR
hg-commit-id: a32cf6cdc6f2
2012-01-06 14:23:12 -06:00
Bryan Bishop f1054129e2 fix pointer calculation in analyze_texts
hg-commit-id: 13e532bc6ca5
2012-01-06 12:20:46 -06:00
Bryan Bishop 6a8582e61f fix some python reserved names and variables
hg-commit-id: 712f1522dcc9
2012-01-06 11:20:48 -06:00
Bryan Bishop d9fb7e59bd a prototype of a script to parse text scripts
hg-commit-id: e879fc3b59e3
2012-01-06 03:22:53 -06:00
Bryan Bishop 7a80778214 a script to insert map object data into pokered.asm
hg-commit-id: 1026aadb307e
2012-01-05 23:15:30 -06:00
Bryan Bishop cfe485a1e6 insert object asm
hg-commit-id: 9974e529c8d6
2012-01-05 20:57:41 -06:00
Bryan Bishop 813959be7f use sprite constants in pretty printer
hg-commit-id: cd88256deb01
2012-01-05 19:51:32 -06:00
Bryan Bishop 6d1870ea95 switch around old amber sprite constants
hg-commit-id: cb128c47380e
2012-01-05 19:26:18 -06:00
Bryan Bishop 982a7d60cb sprite constants
hg-commit-id: ce3c7d3ae15e
2012-01-05 19:20:36 -06:00
Bryan Bishop 4c6da6a08a sprite_helper finds which maps a sprite appears on
hg-commit-id: 1d53ce98d210
2012-01-05 17:45:15 -06:00
Bryan Bishop 8626486876 start using EVENT_DISP in object data output
hg-commit-id: bbc9b24dd8cc
2012-01-05 17:10:21 -06:00
Bryan Bishop 238a5e62ae pretty printer for object labels and asm
hg-commit-id: 9bde3604346f
2012-01-05 12:49:17 -06:00
Bryan Bishop 48284ccd22 tiny update to print out a list of referenced text counts
hg-commit-id: 92ed453f1b47
2012-01-05 00:16:00 -06:00
Bryan Bishop cd587686b2 extract "referenced texts" from maps
hg-commit-id: 94497200a58e
2012-01-04 23:34:57 -06:00
Bryan Bishop 82dc5a4b54 text_pointers.py - simple tool to look at text pointers
hg-commit-id: 3b7dcf150298
2012-01-04 21:13:13 -06:00
Bryan Bishop 27af4ea2ab add block labels to map headers
.. and a tool for assisting with that.

hg-commit-id: f832fa6e62f9
2012-01-04 01:57:15 -06:00
Bryan Bishop 8ef51d4697 add most of the block labels
map_block_dumper now compiles on each insert, which can help to figure out
which labels are breaking the project.

hg-commit-id: 1e1383f3aa30
2012-01-04 00:57:22 -06:00
Bryan Bishop 3f35c6cf07 import lots of block labels
map_block_dumper is very buggy, so not all labels are included yet.

hg-commit-id: 1880e2dfbf9e
2012-01-04 00:11:39 -06:00
Bryan Bishop 9dd6eebe0f fix typos in names in extract_maps.py
hg-commit-id: 45186ff474cb
2012-01-03 22:50:30 -06:00
Bryan Bishop 39f6ddfa92 map_block_dumper - create these .blk files
TODO: spit out new INCBIN lines to take advantage of these files.

hg-commit-id: f06654f42d78
2012-01-03 22:26:35 -06:00
Bryan Bishop be36119c58 Route11GateUpstairs_h map header asm
hg-commit-id: 8638c4221e05
2012-01-03 17:15:42 -06:00
Bryan Bishop b945ae8fe6 Route11Gate_h map header asm
hg-commit-id: 6c4ccdd3e56a
2012-01-03 17:15:14 -06:00
Bryan Bishop 7207000776 analyze_incbins now applies map header asm patches
hg-commit-id: aec68677b92a
2012-01-03 17:13:46 -06:00
Bryan Bishop 36fb1f3ce0 don't print extra comments about connections for zero connections
hg-commit-id: 1e41d5f9c62d
2012-01-03 16:46:26 -06:00
Bryan Bishop e93230600f remove bank id output in pretty_map_headers, it's wrong anyway
hg-commit-id: d6a22efde56f
2012-01-03 16:09:16 -06:00
Bryan Bishop f3bc2ccc9e remove debug print line
hg-commit-id: 9eac2d93fe88
2012-01-03 16:05:00 -06:00
Bryan Bishop 76c0308b5a fix final interval in generated incbins
hg-commit-id: 38e1356814c2
2012-01-03 15:50:55 -06:00
Bryan Bishop 4f0571f067 analyze_incbins is a tool to generate diffs
hg-commit-id: 15e2aa3dae32
2012-01-03 14:18:11 -06:00
Bryan Bishop 7c61abba9a update cinnabar island name in extract_maps
hg-commit-id: 01ff12077aa6
2012-01-03 01:53:38 -06:00
Bryan Bishop 860df3cd0d remove cardinal booleans in extract_maps
The booleans are flat-out wrong here. Use the booleans in pretty_map_headers
instead.

hg-commit-id: e31086dc3355
2012-01-03 01:25:12 -06:00
Bryan Bishop 656d80d174 fix map names in extract_maps per 4a9db3764c20
hg-commit-id: 99e1d1a6006a
2012-01-03 01:19:33 -06:00
Bryan Bishop 642c05df41 fix tileset in pretty_map_headers output
hg-commit-id: 96880cb1d281
2012-01-03 01:18:32 -06:00
Bryan Bishop da22152bff relative filepath to baserom.gbc in extras/extract_maps.py
hg-commit-id: 44eadb4acdfb
2012-01-03 01:10:11 -06:00
Bryan Bishop 4c44702edb fix error in map header asm (db -> dw)
hg-commit-id: 7c7e9ad3e7a8
2012-01-02 22:23:58 -06:00
Bryan Bishop d74daf3273 tool to dump asm for each map header
hg-commit-id: 812226d99dc0
2012-01-02 21:26:32 -06:00
Bryan Bishop 42367aebdd tools/extract_maps.py -> extras/
hg-commit-id: 0c8e34461ceb
2012-01-02 17:34:29 -06:00
IIMarckus 668eefaa15 $0 is a valid tile in maps, even though $00 is the terminating byte.
Pointed out by Sawakita.

hg-commit-id: 27881f5e6bd4
2011-03-16 17:42:35 -06:00
IIMarckus 3405650fd4 Add redrle, a program to compress and decompress Town Map tilemaps
hg-commit-id: 42f97a056ab6
2011-02-19 00:08:18 -07:00