Commit Graph

15 Commits

Author SHA1 Message Date
Zorchenhimer d8cc126c04
[script] Move InstrStat to script/stats.go 2025-09-13 14:03:45 -04:00
Zorchenhimer 045f204a6b
[cmd] Add just-stats command
This command is meant for gathering stats across many script files.
Currently breaks due to an oversight in script parsing (if an inline
argument list goes past EOF, everything breaks).
2025-09-06 22:56:10 -04:00
Zorchenhimer db2e5b5f87
[script] Add InlineImmediate field to Instruction
Setting this field to true will skip generating auto labels for the
inline values for the instruction.
2025-09-06 22:55:06 -04:00
Zorchenhimer 4bd0027c70
[script] Add some statisticts tracking
Track the statistics of used instructions for the script.
2025-09-06 22:53:33 -04:00
Zorchenhimer b3312a8500
[rom] Tweaked packet info output
Tweaked the packet info strings to be a little more clear on what fields
are printed.
2025-09-06 22:46:26 -04:00
Zorchenhimer 1ebe698ac4
[rom] Add NoAudio option to export
Added an option to exclude the audio file from the unpacked rom data.
2025-09-06 22:45:33 -04:00
Zorchenhimer 5a001931e7
Added missing cmd/sbutil.go
Not sure how this was missing for so long.  Whoops.
2025-09-06 22:43:13 -04:00
Zorchenhimer 4b9f04874b
[script] Better auto label support
Labels are now their own object instead of just a string.  This allows
for a bit more control with them.  Labels can also now have comments.

Additionally, add the ability to load user-defined labels from a file.
The format of this file is subject to change, but for now it is just a
simple text file.  Each line of the file is a label definition.  Each
line has three fields, separated by spaces.  The first field is the
address, second is the label name, and the rest of the line is a
comment.  If a label name is just a dollar sign ($) it will not have a
name.  This is used when adding comments without a bespoke label.
2025-09-06 22:38:39 -04:00
Zorchenhimer 29e48f3cac
[script] Fix varible inline instructions; Fix off-by-one
- Fixed instructions that have -3 as the OpCount (count then count
  words).  There is not an extra word that acts as the default
  selection.  These instructions do nothing if the argument is out of
  range.
- Fixed off-by-one eating the byte following the -3 OpCount
  instructions.
- Fixed panic when a -2 op code goes beyond the end of the script.
2025-09-06 22:27:45 -04:00
Zorchenhimer 6a3a51fef7
[rom] Fix exported file modes
Export files with mode 0666 instead of 0777.
2025-09-06 22:24:34 -04:00
Zorchenhimer 468f7c780a
Some stuff with the script decoding
I honestly don't remember what these changes are, lol.
2024-09-29 15:03:21 -04:00
Zorchenhimer 3d5790e230
Some cleanup an the decode code
Added a bunch of comments and clarified some variables in the decoding
logic.
2024-09-29 15:00:44 -04:00
Zorchenhimer 928a8e2faf
Start migrating go-nes/studybox stuff over here
I need a bunch of tools for studybox related stuff.  It makes more sense
to have a separate project for them instead of trying to shove all the
functionality I want into a single command in the go-nes project.
2024-05-15 23:47:29 -04:00
Zorchenhimer 0f9ab661cc
Name 0xA3 sprite_setup; Add some comments for documentation 2024-05-15 23:43:29 -04:00
Zorchenhimer 6c72977f17
Initial commit
Starting with some script parsing.  This script is the Domain Specific
Language that is on the tapes of the studybox.  Not every opcode is
fully decoded/named yet.
2024-04-27 15:19:14 -04:00