Commit Graph

486 Commits

Author SHA1 Message Date
Bryan Bishop a1ed7e7658 vba - basic cheating infrastructure 2013-03-03 21:42:35 -06:00
Bryan Bishop 9ee0600524 vba - separate config 2013-03-01 22:45:30 -06:00
Bryan Bishop 3255093451 vba - run without unit tests 2013-03-01 22:31:20 -06:00
Bryan Bishop c2932b0490 vba - also install jython 2013-03-01 22:11:45 -06:00
Bryan Bishop e59fa73c95 vba - improve install instructions 2013-03-01 21:40:49 -06:00
yenatch a7c260f4f4 Script commands 0xb2 and 0xcc don't exist 2013-03-01 16:22:35 -05:00
Bryan Bishop bcfac567ed fix bank handling in vba.call 2013-03-01 13:30:44 -06:00
Bryan Bishop f0767fb15a vba - example unit testing of roms 2013-03-01 12:36:17 -06:00
Bryan Bishop caa1dc10dd vba - call arbitrary functions from jython 2013-03-01 02:43:55 -06:00
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