Commit Graph

42 Commits

Author SHA1 Message Date
yenatch
6630406043 gbz80disasm: local/global address conversion + fix find_label 2013-06-25 03:55:38 -04:00
yenatch
7804dedce4 gbz80disasm: detect data tables referenced in asm 2013-06-25 03:43:58 -04:00
yenatch
e199aaa8fd gbz80disasm: data detection
the is_data flag never did anything. now it does

encountering the end of a branch with outstanding labels will read anything between said labels as data
2013-06-25 03:24:38 -04:00
yenatch
dfb2416192 gbz80disasm: fix labels outside of banks 0 and 1 2013-06-15 14:11:50 -04:00
yenatch
2f21ff4ef5 gbz80disasm: only use gbhw/hram constants >= 0xff00 2013-06-14 02:19:35 -04:00
yenatch
399925fff5 gbz80disasm: rgbds uses brackets for ld hl, sp+x 2013-05-21 16:43:54 -04:00
Bryan Bishop
f10019710f load labels only once in gbz80disasm 2013-05-17 15:58:47 -05:00
yenatch
5521aa5ce0 gbz80disasm: include comments on unresolved backward relative jumps 2013-05-15 14:57:04 -04:00
yenatch
b38e287409 gbz80disasm: don't look for outstanding labels that are behind the origin 2013-05-15 14:40:20 -04:00
yenatch
a6fee3622a gbz80disasm: don't include comments on relative jumps 2013-05-15 14:39:43 -04:00
yenatch
81e42e41da gbz80disasm: reti is an ender 2013-05-15 14:39:43 -04:00
yenatch
3cf6603b45 gbz80disasm: space out blocks of asm 2013-05-15 14:39:42 -04:00
yenatch
82d723840b gbz80disasm: clean up $ff00+x handling 2013-05-15 14:39:19 -04:00
yenatch
1bdcac1fe1 gbz80disasm: read labels from wram/gbhw/hram 2013-05-14 21:01:46 -04:00
yenatch
aed0202999 gbz80disasm: bank 1 was being read as bank 0 2013-05-14 18:18:07 -04:00
yenatch
5b95c5aad7 transition gbz80disasm to use a bytearray instead of RomStr 2013-05-14 14:38:57 -04:00
yenatch
313e853e39 remove redundant code from find_label in gbz80disasm 2013-05-14 13:56:34 -04:00
yenatch
b9bd11e34d fix bank-checking for labels in gbz80disasm
bank 1 is not fixed like bank 0
2013-05-14 13:46:38 -04:00
Sanky
d01369178b make gbz80disasm understand bank:offset syntax 2013-05-08 01:21:55 +02:00
Bryan Bishop
01e10a11b2 update gbz80disasm for handling known fall-throughs
When disassembling a group of functions, sometimes there are other
functions known in advance. By passing in a list called stop_at to
gbz80disasm, it is possible to prevent disassembled asm from running on
for longer than necessary.
2013-02-27 21:41:03 -06:00
Bryan Bishop
381d3e76b7 include_last_address for disassembler
This is an extra option that is on by default for gbz80disasm, which is
useful in situations where you may not want the last address to be
included (like if the output of the disassembler is going to be sent to
to_asm anyway).
2013-02-27 20:03:18 -06:00
Bryan Bishop
57200b6cf7 simplify load_rom in gbz80disasm 2013-02-03 15:18:06 -06:00
Bryan Bishop
82b8b5121a enable labels in gbz80disasm
fixes #102
2013-02-03 15:10:14 -06:00
Bryan Bishop
db5208b41f make gbz80disasm work with python2.6 again
There was an incompatible change to the json module api between py26 and
py27, causing gbz80disasm to not work with py26. The fix is to simply
alias the new loads method to the old read function.

A possibly better plan might be to not support py26 at all.
2013-01-27 17:13:18 -06:00
Bryan Bishop
ac47399e66 remove extra whitespace in gbz80disasm 2013-01-27 16:52:20 -06:00
Bryan Bishop
00f1b71cd4 remove a broken, unfinished disassembler (DisAsm)
This removes DisAsm from romstr.py, which was the only reason that
gbz80disasm wasn't able to import RomStr from romstr.py.

DisAsm was an experimental gbz80 disassembler that was meant to replace
gbz80disasm eventually. The goals were to write cleaner code and write
more unit tests. But it never worked and the code quality looks close to
being the same as gbz80disasm anyway.
2013-01-27 16:49:35 -06:00
Bryan Bishop
500d47f4cc add character encoding header in gbz80disasm.py 2013-01-27 16:43:03 -06:00
Bryan Bishop
3b20ea2916 Merge remote branch 'remotes/yenatch/master'
fixes #49
2012-12-23 02:57:21 -06:00
Bryan Bishop
531ccfb5f6 update gbz80disasm to not use $ff00+$ff syntax 2012-12-16 09:16:04 -06:00
padz
3bae3a5313 make gbz80disasm easier to use externally 2012-12-14 02:47:13 -05:00
padz
1b54f73323 play nice w/ cygwin; undeprecate used command 2012-11-15 02:33:02 -05:00
Bryan Bishop
e1ff7f98de generate labels.json automagically in gbz80disasm 2012-09-10 22:30:58 -05:00
IIMarckus
fa019d2f51 Add some functions from Mobile Stadium. 2012-07-07 19:51:02 -06:00
Bryan Bishop
10a5a6518d somewhat improved disassembler 2012-06-10 12:24:33 -05:00
Bryan Bishop
7dd0c86a6b almost complete new disassembler version 2012-06-07 01:07:48 -05:00
Bryan Bishop
0768fead4f more cleaning 2012-06-06 21:04:40 -05:00
Bryan Bishop
c79db81d43 remove more code cruft 2012-06-06 21:00:30 -05:00
Bryan Bishop
48b2237b82 remove some code cruft from gbz80disasm 2012-06-06 20:43:02 -05:00
Bryan Bishop
315edbe14b get RomStr from romstr.py in gbz80disasm 2012-06-06 20:26:02 -05:00
Bryan Bishop
376f65a4fd temporarily disable label-usage (find_label) in gbz80disasm 2012-05-31 02:02:41 -05:00
Bryan Bishop
ece37237e3 don't delete tempt_opt_table in gbz80disasm 2012-04-26 00:32:38 -05:00
Bryan Bishop
f20786a432 gbz80disasm for crystal 2012-03-15 17:47:40 -05:00