Commit Graph

472 Commits

Author SHA1 Message Date
Bryan Bishop
a98dcc1745 vba warp function 2013-02-28 04:31:45 -06:00
Bryan Bishop
23003bd772 disassemble scripting engine commands
All commands are in scripting.asm, and there's also a small python
script that was written to assist with some of the automation.
2013-02-27 23:31:12 -06: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
0e2ab04353 update automatic main.asm insertion
This updates the automatic parsing of main.asm to catch cases of INCBINs
pulling in files that end in .asm, .lz, .1bpp, and .2bpp. This is
necessary because otherwise the parser tries to figure out the start and
end addresses expressed on the INCBIN line, details not present on these
types of lines in the asm.

Asm and Asm.insert_all are now back in working condition.
2013-02-27 21:38:53 -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
affcd587d6 make to_asm more configurable 2013-02-27 20:02:51 -06:00
Bryan Bishop
2a04c1c20a fix parameters for verbosegiveitem2 definition 2013-02-27 17:22:07 -06:00
Bryan Bishop
d2b464e51d describedecoration is an ender 2013-02-27 17:21:10 -06:00
Bryan Bishop
821d794898 oops, include map_names 2013-02-27 03:01:49 -06:00
Bryan Bishop
ec098d1a03 various helper functions for the vba interface
New vba.py features include:
* get_memory_at
* get_memory_range
* set_memory_at

Also, the "crystal" class has a number of specialty helpers:
* crystal.walk_through_walls
* crystal.get_player_name
* crystal.get_map_name
* crystal.get_xy
* crystal.nstep (which sets memory each step by calling certain
* functions, like walk_through_walls)
* crystal.is_in_battle
* crystal.get_gender
2013-02-26 21:49:54 -06:00
Bryan Bishop
160acfa296 separate map_names into map_names.py 2013-02-26 21:30:24 -06:00
Bryan Bishop
12c8255067 jython bindings to vba-linux/vba-closure (vba-rr)
A bunch of functions and tools to run vba-clojure (a fork of
vba-rerecording specifically for compiling on Linux, bound to the JVM
through JNI).
2013-02-26 02:29:12 -06:00
yenatch
7f7f461240 Export any detected palettes to png by default
Checks for any palette using the same name as the 2bpp file.
2013-02-12 03:40:41 -05:00
yenatch
ad0578fda0 Fix png export orientation
A quirk of the Decompressed class dissociated the orientation from
the output attribute.

The makefile no longer suppresses output since it's still relevant.
2013-02-12 03:31:35 -05:00
yenatch
0b8c5ef75b Finish off make target for png generation
Now any existing lz files are converted to 2bpp, and all 2bpp files
are converted to png.
2013-02-11 17:59:43 -05:00
yenatch
98d8914b62 better dimension handling in 2bpp->png 2013-02-11 04:13:36 -05:00
yenatch
d1172e1fb6 Add build target to mass-generate pngs from 2bpp files 2013-02-11 04:13:36 -05:00
yenatch
80600f9291 Infrastructure to dump pngs for 2bpp graphics 2013-02-11 04:12:59 -05:00
yenatch
e7762890aa Don't try to convert empty 2bpp files
Also, make non-square images 1 tile wide
Minor path fixes and cleanup
2013-02-09 06:26:09 -05:00
yenatch
70280c0c3f Add some command-line interfaces for use w/ makefile
Extras:
-function to dump trainer pals
-fix testing leftover in a compression function
-keep load_rom() from getting in the way (relative address breaks extras)
2013-02-09 04:36:36 -05:00
yenatch
da205909c0 implement png import/export
palette export works fine, but palette import is disabled for now
2013-02-07 21:03:19 -05:00
yenatch
4d44c2c0e6 Condense pic dimensions table 2013-02-06 02:09:57 -05: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
73c374a366 README: fix testing instructions 2013-01-27 19:22:12 -06:00
Bryan Bishop
eb6cb9812d dump_sections - tool to dump a skeleton asm file 2013-01-27 19:10:42 -06:00
Bryan Bishop
9a29def250 basic type_constants data 2013-01-27 17:46:48 -06:00
Bryan Bishop
fd6bb7de55 various formatting fixes for crystal.py 2013-01-27 17:33:25 -06:00
Bryan Bishop
5b2848b419 replace wildcard import with explicit import 2013-01-27 17:20:41 -06:00
Bryan Bishop
edee13391d add character encoding header in pksv.py 2013-01-27 17:17:45 -06:00
Bryan Bishop
9e9c37f577 py26 fix for RomStr.load_labels (json) 2013-01-27 17:14:59 -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
00a2e4e119 pedantic formatting changes for pointers.py 2013-01-27 17:08:14 -06:00
Bryan Bishop
3b7089411b add character encoding headers to other files 2013-01-27 17:07:32 -06:00
Bryan Bishop
12c06174d8 fix headers and imports in labels.py 2013-01-27 17:05:52 -06:00
Bryan Bishop
47a828c1dc set character encoding header in interval_map.py 2013-01-27 17:05:17 -06:00
Bryan Bishop
74a4d65884 fix imports in graph.py
Although graph.py never used DisAsm, it was still trying to import the
deprecated class. Removed.
2013-01-27 17:03:51 -06:00
Bryan Bishop
26ed5760a2 fix header comments in graph.py 2013-01-27 17:03:00 -06:00
Bryan Bishop
f22bbdd722 remove a duplication of load_rom and load_asm 2013-01-27 17:00:51 -06:00
Bryan Bishop
0ee57e94db clean up lousy headers in comparator.py 2013-01-27 16:56:31 -06:00
Bryan Bishop
59d0c6bc03 better import syntax in comparator.py 2013-01-27 16:55:52 -06:00
Bryan Bishop
4dfb8d3b09 better import syntax in crystal.py 2013-01-27 16:54:58 -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
a1579ab519 allow unicode addresses in RomStr.to_asm 2013-01-27 16:46:52 -06:00
Bryan Bishop
500d47f4cc add character encoding header in gbz80disasm.py 2013-01-27 16:43:03 -06:00
Bryan Bishop
4e1e9ed229 include character encoding header in romstr.py 2013-01-27 16:42:23 -06:00
Bryan Bishop
8f4b5dae2a better formatting for romstr imports 2013-01-27 16:41:35 -06:00
Bryan Bishop
5eb81b07f3 RomStr doesn't need deepcopy 2013-01-27 16:40:09 -06:00
Bryan Bishop
86150b0f8a commentify report_untested 2013-01-27 16:37:48 -06:00