Skip to content

Releases

v0.9-beta

Choose a tag to compare

@QualityCroissant QualityCroissant released this 20 Oct 23:42
eb953e3

At long last I have decided to officiate this release.

This release adds a Debian package which includes several bash scripts to command the assembler and virtual machine from the CLI with greater convenience.

There have also been minor typo fixes and a notice added to the readme to display my opposition to the usage of AI and to clarify that it is not used at all in this project.

The build system for the Debian package will likely change in-future as it is a little janky. I also hope to add a Windows package eventually, and then packages for other platforms also. But, I did not get around to that as soon as I thought I would, so I am just releasing this now as I feel that the Debian package ought to be released in any case.

Enjoy!

v0.8-beta

Choose a tag to compare

@QualityCroissant QualityCroissant released this 30 May 15:22
b22c0ba

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

Choose a tag to compare

@QualityCroissant QualityCroissant released this 06 May 19:25
c9d7e78

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

Choose a tag to compare

@QualityCroissant QualityCroissant released this 16 Jan 11:58
2474d39

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

Choose a tag to compare

@QualityCroissant QualityCroissant released this 15 Jan 11:30
499a361

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

Choose a tag to compare

@QualityCroissant QualityCroissant released this 14 Jan 22:38
f439c27

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

Choose a tag to compare

@QualityCroissant QualityCroissant released this 31 Oct 17:57
a6f5e6f

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

Choose a tag to compare

@QualityCroissant QualityCroissant released this 23 Oct 15:21
7d0dc21

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

Choose a tag to compare

@QualityCroissant QualityCroissant released this 14 Sep 14:20
e424840

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

Choose a tag to compare

@QualityCroissant QualityCroissant released this 06 Sep 16:53
f0eb8d4

The first release of FVM!

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