Releases: TricksterGuy/complx
Releases · TricksterGuy/complx
Version 4.16.4
no-op: Fix version number.
Version 4.16.3
liblc3/complx
New execution mode for "strict-execution"
In this mode instructions that are executed must follow the exact bit patterns given in the ISA specification.
Version 4.16.1
Pylc3
- Newly added. Functionality included:
- Ability to set and get various registers and memory of the lc3.
- Ability to load assembly program and run it.
- Ability to load and run test suites (basic).
Version 4.16.0 Skinny Edition
Complx
- Reduced and removed cluttered menu options.
- State > Reinitialize, State > Randomize, State > Fill Memory With... have been removed.
- File > Load Over, File > Reload Over, File > Randomize and Load, File Randomize and Reload have been removed.
- Added File > Advanced Load which replaces usage of all of the above removed options.
- This menu allows you to load and either randomize, zero out, or fill memory/registers with a value.
- Also the user to set the initial console input.
- Associate an XML file with assembly code.
- Set the initial PC value.
- Behavior change for File > Load. It will now randomize memory and registers by default.
- Behavior change for File > Reload. It will reload using the same conditions as the last load operation.
- New Menu option File > Clean Load which will fill memory with 0's then load your file.
- The tests menu was removed entirely. This functionality was detrimental to student experience and was an outdated UI. It may return someday
- Added ability to set up complx with a specific test case. This is the replacement for the above functionality, which I hope will deter students from outright running the tests and hacking their code. This allows the student to pick out a test and set up the environment in complx to match, The student can then step through the code and examine the memory/registers.
- Menu option Debug > Setup Test to associate XML file with assembly code and to choose a test.
- Menu option Debug > Switch Test to switch a test with a previously associated XML file. (does same as above, but doesn't query for XML file to load)
- Memory grid can have a different row size, by modifying the config file.
- Move config file to ~/.config/complx/complx.cfg on Linux
- This required having glib2 as a dependency which is temporary until wxWidgets 3.2 is available for ubuntu.
- True Traps mode autodetection
- If an assembly file is loaded and that assembly file touches the trap vector table, then true traps will be automatically enabled.
- Interrupts mode autodetection
- And similarly if an assembly file is loaded and that assembly file touches the interrupt vector table, then interrupts will be automatically enabled.
- Simple/Advanced Control Mode.
- To keep the control area of complx easier to use, by default only Step, Run, Rewind, and Back will be provided, the other buttons have no meaning unless traps and subroutines are used.
- This is also autoenabled by the assembly file. If there is a custom trap, or a RET statement was found anywhere in the program then Advanced Control mode is enabled.
liblc3
- Plugins update
- Plugins can now subscribe to multiple addresses, multiple interrupt vectors.
- Removed Device Register Plugin Type as its usage was consumed by above feature, any plugin can subscribe.
- Several minor changes and fixes to the LCD plugins to attempt to get it to work on Mac systems (but it still doesn't work).
- New warning for slightly off octal strings "\777" will trigger it.
- LDR/STR with too big offset produced the wrong assembler error message.
- CC register is now randomized
lc3test
- Default behavior on
<randomize>
has changed<randomize>
will now choose a single value and fill memory and registers with that value.<fully-randomize>
when set will grant the old behavior. This is to make grading a bit more fair and deterministic.<random-seed>
Will set a random seed for a test. And should be used in xml files intended to be used as graders. When runs is passed into lc3test it will increment the random seed by the run number.
<fill-value>
will fill memory and registers with a specific value.
infrastructure
Plentiful more tests added, however coverage of code via automated tests is roughly at a bit above 50% of liblc3.
Version 4.15.6
Because 4.15.5, broke the stack checker, and incorrectly deducting points for having saved registers, when it shouldn't care.
Version 4.15.5
Improvements to lc3test environment.
Version 4.15.0
Version 4.13.1
Fix column sizing issues
Version 4.13.0
Changelog
4.10.0.0
Fall 2015 version
Ability to flip memory views such that high addresses appear first
Ability to simulate a subroutine call