Releases: QualityCroissant/Fox-Virtual-Machine
v0.8-beta
With a major progression towards feature-completeness in align with the goals I had when initially starting this project, I have decided that FVM is now worthy of being considered having moved into its Beta stage.
v0.8-beta implements the following changes:
- Add general purpose registers GP0 through GP7
- Add support for keyboard input when screen is made visible and selected (MAR 3 on INP/OUT)
- Minor bug and typo fixes
v0.7-alpha
This release brings the following changes:
- Major source-code refactoring of both FVMR and FVMA components for better modularisation and less monolithic structure
- Bugfix for FVMR that stops twice as much memory as necessary being initially allocated for Main Memory
- New error for FVMR that prevents runtime execution in the event of an empty ROM
v0.6-alpha
As of this release, FVM has migrated from GPL-3.0 to MPL-2.0 for more adoption-friendly distribution. This means fairly significant change in the license notice at the top of each source-code file, and the README, which adds a section containing the zlib/libpng licensing which GLFW uses.
v0.5-alpha
Major bug-fix release to rectify the issue of Screen Buffer operations having to use 3 in MAR, instead of 2 in MAR as it ought to be, in accordance with the documentation.
v0.4-alpha
v0.4-alpha adds support for graphics, via GLFW + OpenGL. There is also some minor code refactoring, and a new build-system via Make. Because the graphics system requires GLFW, it must be installed before usage.
v0.3-alpha
Hexadecimal literals now support either upper or lowercase letters! Yay!
The Wiki has also been updated to add information about what values for MAR mean when Input or Output is used as the Memory Channel.
v0.2-alpha
v0.2-alpha brings a major bugfix involving labels' address-representation in the assembler; programs experiencing labels being translated to an incorrect address during assembly should no longer have this issue:
- The length of non-string literals was being added to the length of any string literals that came after them, due to an absence of reset to rawTextLength after a non-string literal was appended to the token array
- rawTextLength is now always reset after any literal is appended to the token array, stopping any current lengths being added to future ones!
v0.1-alpha
v0.1-alpha is released! Yay! The following changes are brought about by this update:
Features:
- Management of Secondary Storage is now fully functional, with the Input channel being used to control the position of file-access, and Output channel being used to write and read the data
Fixes:
- Returning from a function call will no longer jump to the operand of the call function instead of the instruction after the call
New known issues, to be corrected in future releases:
- Labels don't always reflect the correct memory address in the source code (fvma)
v0.0-alpha
The first release of FVM!
FVM is still in alpha, so please be patient with any issues or inefficiencies in design!