Commit Graph

7 Commits

Author SHA1 Message Date
Zorchenhimer bfc7beb382
[script] Improve CDL logic
- CDL data can now be output to a file.  If --cdl-output isn't given,
  but --cdl is given, the input file is overwritten with the new data.
  If no CDL file is given no data is written.
- Count arguments as "Code"
- The SmartParse function no longer creates a new CDL.  It will use and
  update what it was given.
- The just-stats command does not write CDL data even though it
  generates it.

Variable length arguments are not properly handled yet.  Currently, just
the OP code and first argument (length) are set at Code.  The rest are
ignored.
2025-09-14 18:06:46 -04:00
Zorchenhimer 11cfad1e1a
[script] Add CDL; Add "smart" parsing
- Added a CDL implementation.  It is still very incomplete and is not
  really used yet.
- Added "smart" parsing.  This will disassemble the code and follow any
  jumps and calls.  Anything not found by this is currently excluded
  from output.
2025-09-14 16:52:06 -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 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 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 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