Bryan Bishop
536df0787f
split out IntervalMap into a separate file
2013-01-15 16:12:26 -06:00
Bryan Bishop
7a33b66ab4
Merge pull request #86 from yenatch/master
...
3jumptext is an ender.
2013-01-14 20:44:07 -08:00
yenatch
669c461ad8
forgot to make 3jumptext an ender
2013-01-14 23:19:31 -05:00
Bryan Bishop
e09aff7715
Merge pull request #85 from yenatch/master
...
More script commands.
2013-01-14 19:25:54 -08:00
yenatch
28b565a01c
add missing script command (3jumptext)
2013-01-14 21:44:47 -05:00
Bryan Bishop
df680fde38
Merge pull request #84 from yenatch/master
...
make script parsing less terrible
2013-01-14 01:48:24 -08:00
yenatch
acd6d354c8
banish script parser output to debug
2013-01-14 03:15:47 -05:00
IIMarckus
818a82a20e
Fix typo.
2013-01-13 16:12:25 -07:00
yenatch
9fbe7ea423
make careless use of gfx.py less fatal
2013-01-13 00:40:13 -05:00
yenatch
238f406024
implement rgb macro for palettes
2013-01-13 00:38:48 -05:00
yenatch
e59a7c8d6f
add symfile generation
2013-01-10 03:00:46 -05:00
yenatch
2cdf7a3688
include all compressed and decompressed graphics
...
* frontpics & animation tiles
* backpics
* trainer pics
* attack animation gfx
* intro gfx
* intro tilemaps
* title gfx
* tilesets
* player backpic
* dude backpic
* pokegear/town map
fixes #33 , #34 and #35
2013-01-04 04:08:13 -06:00
yenatch
e91f41dd35
allow other files to import gfx.py
2013-01-02 04:37:45 -05:00
yenatch
3e953ad7b6
make gfx.py more convenient from command line
2013-01-01 16:31:05 -05:00
Bryan Bishop
98c1d9d09d
Merge pull request #51 from yenatch/master
...
Image compression/decompression.
2012-12-31 20:10:43 -08:00
yenatch
a3fe9c00d0
decompress all known gfx
2012-12-31 22:53:40 -05:00
Bryan Bishop
da8b1e06e5
clean up whitespace
2012-12-28 12:37:58 -06:00
Bryan Bishop
3b20ea2916
Merge remote branch 'remotes/yenatch/master'
...
fixes #49
2012-12-23 02:57:21 -06:00
IIMarckus
19ce6e7a74
specialphonecall takes a 16‐bit ID.
2012-12-17 21:00:41 -07: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
Bryan Bishop
671e2b1289
md5 -> hashlib
2012-11-30 10:17:23 -06:00
Bryan Bishop
a1a9fa5560
move allowed_lengths for music macros out
...
This moves the allowed_lengths setting out of the preprocessor. Special
cases should not be hardcoded in the preprocessor.
2012-11-30 09:54:02 -06:00
padz
3626ddebd1
implement music macros; INCLUDE injection in pre
2012-11-30 05:58:00 -05:00
padz
1b54f73323
play nice w/ cygwin; undeprecate used command
2012-11-15 02:33:02 -05:00
Bryan Bishop
69c0125112
remove deprecated functions from crystal.py
2012-10-11 19:05:49 -05:00
Bryan Bishop
82f7e98306
get an address given a label
2012-10-11 18:52:54 -05:00
Bryan Bishop
e6c95e22c9
clean up comments in extras/crystal.py
...
This fixes the inconsistent comment formatting throughout the file.
There should be a space between the comment token and the comment
message, otherwise this file is less fun to read.
2012-10-01 13:11:52 -05:00
Bryan Bishop
e1ff7f98de
generate labels.json automagically in gbz80disasm
2012-09-10 22:30:58 -05:00
Bryan Bishop
d23972b7a3
call load_asm in scan_for_predefined_labels
2012-09-10 22:30:58 -05:00
Bryan Bishop
0c3ba03d37
Merge pull request #22 from iimarckus/decimal1
...
Decimal1
2012-07-08 23:25:49 -07:00
IIMarckus
fa019d2f51
Add some functions from Mobile Stadium.
2012-07-07 19:51:02 -06:00
Bryan Bishop
6f8c3e5c3e
use decimal output for givepoke in extras/crystal.py
2012-07-05 10:25:33 -05:00
Bryan Bishop
b85d9b86ad
use os.path.join instead of cowboying it
2012-07-01 08:55:21 -05:00
Bryan Bishop
86cb61dbe8
make pokecrystal compatible with python2.6 by default
2012-07-01 08:48:27 -05:00
Bryan Bishop
58c696cfd3
use extras/labels.json and not ./labels.json in romstr.py
2012-07-01 08:44:20 -05:00
Bryan Bishop
85d26e31a5
better graph-generating routines
2012-07-01 08:41:38 -05:00
Bryan Bishop
fcf43b13da
fix romstr for compiling (thanks pasky)
2012-07-01 08:41:14 -05:00
Bryan Bishop
3359121ba7
graph.py - parse pokecrystal into a function graph for d3.js
2012-06-21 03:37:13 -05:00
Bryan Bishop
e471fbeb32
continue at relative jumps and fix formatting
2012-06-20 21:13:24 -05:00
Bryan Bishop
36eb6c726a
use labels in the disassembler output
2012-06-20 01:51:23 -05:00
Bryan Bishop
099295bb3d
load labels into the new disassembler
2012-06-20 01:42:48 -05:00
Bryan Bishop
1342ab67db
more de-dependency-looping
2012-06-20 01:42:33 -05:00
Bryan Bishop
ca07f1d64c
move code around to avoid dependency loops
2012-06-20 01:13:15 -05:00
Bryan Bishop
e2babd69fb
use romstr.py as the new disassembler
2012-06-19 23:59:49 -05:00
Bryan Bishop
96596c6944
asm output for the new disassembler
2012-06-19 23:42:12 -05:00
Bryan Bishop
96ca472fc9
implement a formatted-with-labels version of the opcode line
2012-06-19 22:54:20 -05:00
Bryan Bishop
9a4158462b
remove debug lines
2012-06-19 22:40:38 -05:00
Bryan Bishop
132182e263
super duper disassembler fixes
2012-06-19 22:12:52 -05:00
Bryan Bishop
4b7ca69344
advance forward when disassembling the rom
2012-06-14 21:54:25 -05:00
Bryan Bishop
b19db1e604
broken disassembler
2012-06-10 22:55:05 -05:00
Bryan Bishop
cd60a1f0e4
backtracking and labeling for the disassembler
2012-06-10 18:26:18 -05:00
Bryan Bishop
10a5a6518d
somewhat improved disassembler
2012-06-10 12:24:33 -05:00
Bryan Bishop
3233cead33
sleepy disassembling
2012-06-07 01:37:55 -05:00
Bryan Bishop
4ccfe27e4a
more awful code for the new disassembler
2012-06-07 01:24:38 -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
9144706510
make unittest2 error show up in stderr
2012-06-02 11:42:09 -05:00
Bryan Bishop
376f65a4fd
temporarily disable label-usage (find_label) in gbz80disasm
2012-05-31 02:02:41 -05:00
Bryan Bishop
8add342a85
find functions based on first few similar bytes
2012-05-31 02:02:23 -05:00
Bryan Bishop
e954781618
hooray PrintNumber_PrintLeadingZero is also shared
2012-05-29 15:04:19 -05:00
Bryan Bishop
53b0dd13a8
comparator.py - find shared functions between pokered/pokecrystal
2012-05-29 14:50:56 -05:00
Bryan Bishop
d174c8b7c6
fix up AsmSection and line_has_comment_address
2012-05-29 14:50:35 -05:00
Bryan Bishop
0edf9eb8b8
move AsmList into romstr.py too
2012-05-29 13:19:02 -05:00
Bryan Bishop
ee7d39bf04
move RomStr into a shared file
2012-05-29 13:08:43 -05:00
Bryan Bishop
0aecb683a0
use map constants for wildmons sections
2012-05-28 10:30:45 -05:00
Bryan Bishop
a9b0eb4d87
update to_asm on MapHeader to use the BANK macro
2012-05-28 09:51:49 -05:00
Bryan Bishop
5e37b9a97f
insert all map connections
2012-05-28 00:16:38 -05:00
Bryan Bishop
2fe10a6682
don't use any particular formula for strip-destination west/east
2012-05-27 23:50:18 -05:00
Bryan Bishop
7d9552b5fa
fix typo in strip destination pointer (north) calculations
2012-05-27 20:02:34 -05:00
Bryan Bishop
d48ce59997
do all the connection to_asm output
2012-05-27 19:45:44 -05:00
Bryan Bishop
da74952bf7
asm output for strip pointer formulas
2012-05-27 18:24:09 -05:00
Bryan Bishop
5b59d0776b
better formulas for strip_destination and window
2012-05-27 15:54:44 -05:00
Bryan Bishop
a32c6d0aa4
improve formulas for calculating strip_pointer
2012-05-27 13:46:58 -05:00
Bryan Bishop
56e0795d0d
better equations for calculating strip_pointer in connections
2012-05-27 12:51:53 -05:00
Bryan Bishop
fbaadd97ac
some broken code
2012-05-26 23:13:48 -05:00
Bryan Bishop
3a614ddcea
east connections?
2012-05-26 22:19:53 -05:00
Bryan Bishop
30695eec25
fix MainText/PokedexText interaction
2012-05-26 16:10:11 -05:00
Bryan Bishop
d88ea77cfa
start to parse the connection data
2012-05-26 14:46:34 -05:00
Bryan Bishop
6074a55e3d
minor whitespace fix
2012-05-24 22:01:50 -05:00
Bryan Bishop
64f52b32ef
fix more height/weight confusion and whitespacing
2012-05-23 19:40:12 -05:00
Sanky
765b555b47
Dumped Pokédex data and entries.
2012-05-24 02:33:42 +02:00
Bryan Bishop
4ec6dfc5fe
fix PokedexText?
2012-05-23 18:15:48 -05:00
Bryan Bishop
38eae01fcd
fix PokedexText
2012-05-23 17:56:34 -05:00
Bryan Bishop
1663472cf6
quick fix for PokedexText
2012-05-23 17:39:30 -05:00
Bryan Bishop
0c778f2930
use PokedexText to parse text-script-like text without the first bash command
2012-05-23 17:38:15 -05:00
IIMarckus
bd1760f3f9
Use Pokémon IDs for the “cry” macro.
2012-05-22 19:57:09 -06:00
Bryan Bishop
4b2d26965e
dump-insert the stringtotext targets
2012-05-22 11:57:00 -05:00
Bryan Bishop
2567957692
use EncodedText for stringtotext params
2012-05-22 11:50:25 -05:00
Bryan Bishop
cb5eae3e9d
check if trainer_names has been set yet before using that key
2012-05-22 11:44:42 -05:00
Bryan Bishop
c16d796c27
add '@' to EncodedText output
2012-05-22 11:38:57 -05:00
Bryan Bishop
05686167d7
SUPERNERD -> SUPER_NERD in trainer constants
2012-05-21 08:39:11 -05:00
Bryan Bishop
e517b30a14
at least try to keep HoOh in tact in label names
2012-05-21 01:38:11 -05:00
Bryan Bishop
7641b53a6a
fix line continuation syntax error
2012-05-21 01:35:45 -05:00
Bryan Bishop
9ea35422f8
add trainer id to trainer fragment headers for grunts
2012-05-21 01:34:21 -05:00
Bryan Bishop
377a212322
improvements to map_name_cleaner
2012-05-21 01:31:26 -05:00
Bryan Bishop
ba72006077
add the labels to the scripts, not to the params pointing to scripts
2012-05-20 14:32:19 -05:00
Bryan Bishop
a34d4621ee
better signpost labeling
2012-05-20 14:23:13 -05:00
Bryan Bishop
61d3b8a6b4
use better label for MapEventHeader
2012-05-20 09:56:27 -05:00
Bryan Bishop
a27a7f2892
reuse pre-existing/pre-inserted MapBlockData objects when possible
2012-05-20 09:37:43 -05:00
Bryan Bishop
2c73f020a6
make map header labels use better rules
2012-05-20 09:32:59 -05:00
Bryan Bishop
1286f37a85
don't add TrainerGroupTable to future dumps
2012-05-20 04:32:39 -05:00
Bryan Bishop
38b9862002
give better labels to TrainerFragment subobjects like texts and scripts
2012-05-20 04:29:19 -05:00
Bryan Bishop
219c4865e3
create better labels for TrainerFragments
2012-05-20 04:11:37 -05:00
Bryan Bishop
6a2dc36749
rename cal's header to PKMN Trainer
2012-05-20 03:57:12 -05:00
Bryan Bishop
be8a5d6c6a
remove extra spacing in crystal.py
2012-05-20 03:39:25 -05:00
Bryan Bishop
609e94774c
make TrainerFragment.to_asm() use trainer constants
2012-05-20 03:33:35 -05:00
Bryan Bishop
35e6903395
better asm output for TrainerHeader and TrainerGroupHeader
2012-05-20 03:20:01 -05:00
Bryan Bishop
efd43a17b2
improve MoveParam to handle zeroed-out moves
2012-05-20 03:15:36 -05:00
Bryan Bishop
40000ca816
fix quick syntax error
2012-05-20 03:11:22 -05:00
Bryan Bishop
569dec4a85
initial MoveParam class
2012-05-20 03:10:40 -05:00
Bryan Bishop
a28311ff90
move_constants.py - store moves for MoveParam
2012-05-20 03:10:26 -05:00
Bryan Bishop
1fb70a4b4f
update TrainerGroupParam and TrainerIdParam to use better constant/number rules
2012-05-20 03:02:35 -05:00
Bryan Bishop
b731d8d1f8
update the constants for BLACKBELT_T and PSYCHIC_T in trainers.py
2012-05-20 02:52:51 -05:00
Bryan Bishop
c08a543620
fix duplicate BENNY trainer name
2012-05-20 02:50:21 -05:00
Bryan Bishop
fafb53ebf9
fix RIVAL1 trainer id labeling
2012-05-20 02:21:26 -05:00
Bryan Bishop
11177b9b7d
spit out trainer id constants
2012-05-20 02:15:40 -05:00
Bryan Bishop
8124e76940
move around the trainers.py import line
2012-05-20 00:24:25 -05:00
Bryan Bishop
4c45171213
add 'trainer_names' key to each trainer header in trainer_group_names
2012-05-20 00:20:31 -05:00
Bryan Bishop
6f49b01c4b
make better trainer names
2012-05-20 00:02:43 -05:00
Bryan Bishop
424300a803
add default constants to trainer_group_names
2012-05-19 22:35:05 -05:00
Bryan Bishop
6d7a20692a
use GruntM/GruntF for the trainer group names
2012-05-19 22:25:53 -05:00
Bryan Bishop
4aa953cc38
setup rules for which trainer groups should use which naming scheme
2012-05-19 22:02:11 -05:00
Bryan Bishop
7098fccc22
rename some trainer groups
2012-05-19 21:50:07 -05:00
Bryan Bishop
a001c51bd4
fix TrainerGroupTable.get_dependencies()
2012-05-19 21:13:57 -05:00
Bryan Bishop
aed366e59d
update trainer group names for the new rules
2012-05-19 19:26:29 -05:00
Bryan Bishop
fd094d17bf
add missing trainer header for twins lea & pia
2012-05-19 18:54:32 -05:00
Bryan Bishop
7762fd89d2
add missing trainer header for kimono girl miki
2012-05-19 18:52:23 -05:00
Bryan Bishop
49c9557964
add missing blackbelt wai
2012-05-19 18:44:00 -05:00
Bryan Bishop
844dfb7d8a
add missing jugglers
2012-05-19 18:42:46 -05:00
Bryan Bishop
2f470415e1
add two missing biker trainer headers
2012-05-19 18:36:11 -05:00
Bryan Bishop
c735786ceb
fix missing supernerd markus
2012-05-19 18:33:42 -05:00
Bryan Bishop
6008b1a96c
pick up the third CAL trainer header
2012-05-19 18:28:23 -05:00
Bryan Bishop
e52d1e9415
add TrainerGroupHeaders to script_parse_table
2012-05-19 17:30:49 -05:00
Bryan Bishop
82731321cb
parse multiple party mons per trainer
2012-05-19 16:39:36 -05:00
Bryan Bishop
fb7c3a3ea5
move trainer parsing classes into crystal.py
2012-05-19 15:43:26 -05:00
Bryan Bishop
1d6fa83902
finish up the classes related to TrainerGroupHeader
2012-05-19 15:31:35 -05:00
Bryan Bishop
38726204c8
better comments on trainer_group_report
2012-05-19 15:30:02 -05:00
Bryan Bishop
810e20cc04
use report_unreferenced_trainer_ids to show which ids are probably valid but unused
2012-05-19 13:57:19 -05:00
Bryan Bishop
e0eb31df73
parse TrainerGroupTable in run_main after everything else
2012-05-19 01:44:44 -05:00
Bryan Bishop
e562ffeedf
update trainer names
2012-05-18 22:55:32 -05:00
Bryan Bishop
e7f90ba15b
add charset encoding for trainers.py
2012-05-18 22:47:07 -05:00
Bryan Bishop
2d4d6399db
find last trainer id in each trainer group
2012-05-18 21:53:17 -05:00
Bryan Bishop
a6efb7f0fb
extract trainer group id and trainer id from TrainerFragment objects
2012-05-18 21:31:51 -05:00
Bryan Bishop
a17ef09e10
work towards parsable trainer group headers
2012-05-18 21:31:14 -05:00
Bryan Bishop
9c9d6a2286
fixing up trainer names
2012-05-18 20:33:15 -05:00
Bryan Bishop
235b123666
initial work on trainer name parsing
2012-05-18 16:48:39 -05:00
Bryan Bishop
979b376741
generate helpful labels for maps
2012-05-17 00:40:40 -05:00
Bryan Bishop
a049ef74f8
use db instead of item_frag on ItemFragment remote chunks
2012-05-16 21:16:28 -05:00
Bryan Bishop
ac19eb2826
don't repeat-parse movement scripts, and set bank=1 for $4000 <= x <= $7FFF
2012-05-16 18:33:24 -05:00
Bryan Bishop
a53b5ae051
handle dragon shrine recursion (but not others?)
2012-05-16 15:22:39 -05:00
Bryan Bishop
34c6b38da6
tool to help narrow down the problem in a bank
2012-05-16 14:37:30 -05:00
Bryan Bishop
dc3fd295c0
correct for two route 10 maps
2012-05-16 14:24:18 -05:00
Bryan Bishop
079afeea46
fix preprocessor/givepoke for variable-number-of-parameter macros
2012-05-16 12:44:55 -05:00
Bryan Bishop
2d763b53a6
fix zzyyxx output for MoneyByteParam (checkmoney, takemoney)
2012-05-16 12:07:20 -05:00
Bryan Bishop
7244cb256e
only recalculate a PointerLabelParam parsed_address if necessary
2012-05-15 22:15:08 -05:00
Bryan Bishop
3afb9602eb
improve extras/README.md opening sentence
2012-05-14 10:42:43 -05:00
Bryan Bishop
bde4f489df
better asm output for SignpostRemoteItem
2012-05-14 00:58:11 -05:00
Bryan Bishop
f43de05607
fix PointerLabelParams in signposts
2012-05-14 00:51:16 -05:00
Bryan Bishop
984597d1aa
fix movement param get_dependencies
2012-05-13 22:48:35 -05:00
Bryan Bishop
6048436046
remove some output that clutters up the preprocessor output
2012-05-13 21:59:25 -05:00
Bryan Bishop
e905f9f1f1
better movement command/macro support
2012-05-13 21:53:48 -05:00
Bryan Bishop
eaff513b47
fix unknown MovementCommand parsing
2012-05-13 21:32:28 -05:00
Bryan Bishop
251fb52d8a
use deepcopy to create applymovement commands
2012-05-13 18:53:11 -05:00
Bryan Bishop
b41da5fe1c
let create_movement_commands access a debug parameter
2012-05-12 14:15:42 -05:00
Bryan Bishop
1a82579956
slightly better applymovement parsing
2012-05-12 02:18:27 -05:00
Bryan Bishop
3f5955b453
apply_movement_command classes doesn't exist
2012-05-12 00:59:15 -05:00
Bryan Bishop
feab0b56bc
quick tool for dumping a segment of ApplyMovementData objects into a bank
2012-05-11 16:30:12 -05:00
Bryan Bishop
4b1540623a
set dependencies and get_dependencies on ApplyMovementData for asm dumping
2012-05-11 16:26:36 -05:00
Bryan Bishop
a548ffdd35
waitbutton in scripts is not the same as waitbutton in texts
2012-05-11 15:09:26 -05:00
Bryan Bishop
e04a7aa375
never show a comma in front of a 7 on a newline
2012-05-11 14:50:53 -05:00
Bryan Bishop
66b65c854b
fix a TextScript/MainText bug where '@' on a newline had an extra comma/param to db
2012-05-11 14:29:19 -05:00
Bryan Bishop
f305b27025
text_from_ram isn't limited to <$8000 like in the text at 0x549a3
2012-05-11 13:40:54 -05:00
Bryan Bishop
55c174d342
fix TextScript bug - to_asm should not modify self.size
2012-05-11 13:05:02 -05:00
Bryan Bishop
e7913e7a90
insert_blah_with -> insert_with in extras/README.md
2012-05-10 09:19:05 -05:00
Bryan Bishop
7dd429fdf4
debugging to figure out the TextScript at 0x5daf1
2012-05-10 09:18:23 -05:00
Bryan Bishop
6ff6f93397
consolidate insert_multiple and insert_single on the Asm class
2012-05-08 18:34:27 -05:00
Bryan Bishop
03ce919b58
tool to dump texts from a particular bank into asm
2012-05-05 17:04:49 -05:00
Bryan Bishop
ec102bc62d
fix $58 parsing in texts for the text at 0x192f34
2012-05-05 15:01:42 -05:00
Bryan Bishop
fa63fe8ab2
set TextInlineAsm to size=1 for now
2012-05-05 02:46:46 -05:00
Bryan Bishop
47d1e412b9
possible fix for movement scripts (many broken?)
2012-05-05 02:29:41 -05:00
Bryan Bishop
0357e1e2f0
temporary and horrible fix to applymovement scripts
2012-05-05 02:15:47 -05:00
Bryan Bishop
a9d3767198
make a broken MovementCommand parser
2012-05-05 02:01:01 -05:00
Bryan Bishop
d16a6debff
by default allow MovementCommand to handle <$45s
2012-05-05 01:42:34 -05:00
Bryan Bishop
a9a1e084a1
fix MovementCommand.to_asm return value for id>$45
2012-05-05 01:40:28 -05:00
Bryan Bishop
adf55937c0
starting ApplyMovementData and MovementCommand
2012-05-05 01:38:14 -05:00
Bryan Bishop
8a064dfb45
use a $50 macro to stop some text scripts
2012-05-04 23:03:03 -05:00
Bryan Bishop
2489165312
fix the use of text_command_classes (not the same format as command_classes)
2012-05-04 22:03:52 -05:00
Bryan Bishop
927d96621a
to_asm and some constructor changes
2012-05-04 21:50:24 -05:00
Bryan Bishop
6ee0c38b3c
new TextScript.parse is almost exactly Script.parse
2012-05-04 21:44:57 -05:00
Bryan Bishop
82d7043acc
a better get_dependencies for NewTextScript
2012-05-04 21:29:07 -05:00
Bryan Bishop
f5e5c110d1
use inspect to gather members for text_command_classes
2012-05-04 21:05:59 -05:00
Bryan Bishop
fde936ac46
add param_types to configure each text script command macro
2012-05-04 20:47:43 -05:00
Bryan Bishop
7d17027ffb
make sure the bytes don't run out with no ending byte in MainText
2012-05-04 20:14:00 -05:00
Bryan Bishop
133bcb7049
handle $57 in MainText.to_asm
2012-05-04 20:13:35 -05:00
Bryan Bishop
0721bd42e1
not ever -> never
2012-05-04 19:05:33 -05:00
Bryan Bishop
94ea6ef442
add quotes to MainText.to_asm output
2012-05-04 19:00:58 -05:00