Skip to content

Releases: QualityCroissant/Fox-Virtual-Machine

v0.8-beta

30 May 15:22
b22c0ba

Choose a tag to compare

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

06 May 19:25
c9d7e78

Choose a tag to compare

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

16 Jan 11:58
2474d39

Choose a tag to compare

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

15 Jan 11:30
499a361

Choose a tag to compare

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

14 Jan 22:38
f439c27

Choose a tag to compare

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

31 Oct 17:57
a6f5e6f

Choose a tag to compare

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

23 Oct 15:21
7d0dc21

Choose a tag to compare

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

14 Sep 14:20
e424840

Choose a tag to compare

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

06 Sep 16:53
f0eb8d4

Choose a tag to compare

The first release of FVM!

FVM is still in alpha, so please be patient with any issues or inefficiencies in design!