Commit Graph

477 Commits

Author SHA1 Message Date
Bryan Bishop b543827ee4 vba - fix off-by-one error in registers 2013-02-28 22:26:58 -06:00
Bryan Bishop 7dc2c3129b vba - better way to deal with registers 2013-02-28 22:23:01 -06:00
Bryan Bishop 37fac8a714 vba - get text on screen 2013-02-28 20:38:11 -06:00
Bryan Bishop 4941f473a2 vba - set_registers 2013-02-28 04:33:54 -06:00
Bryan Bishop 9a20ba1d3f remove code slop 2013-02-28 04:32:28 -06:00
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