Skip to content

Releases: LeoRiether/FPGRARS

FPGRARS v2.4

28 Sep 23:52
fce131a
Compare
Choose a tag to compare
FPGRARS v2.4 Pre-release
Pre-release

Changelog

  • Display better error messages when there's an out-of-bounds memory access

FPGRARS v2.3

23 Jul 01:45
Compare
Choose a tag to compare

Changelog

  • Fixed the implementation of a bunch of instructions (thanks to the new automated tests in tests/riscv-tests!)
  • Fixed lbu and lhu parsing
  • When using the Exit ecall, the value of a0 will determine FPGRARS's exit code.
  • Project-wide configuration with fpgrars.toml (see #38)

Also, if you didn't see the changes made in v2.0 and v2.1, I highly recommend it!


Run with ./fpgrars your_riscv_file.s or ./fpgrars --help to see options.

If you have cargo installed, you can also install FPGRARS by running cargo install fpgrars, or cargo install -F unb fpgrars if you're a UnB student.


UnB students should get the --unb version

FPGRARS v2.2

06 Jul 20:46
Compare
Choose a tag to compare

Changelog

  • Fixed the fmv.s instruction

Also, if you didn't see the changes made in v2.0 and v2.1, I highly recommend it!


Run with ./fpgrars your_riscv_file.s or ./fpgrars --help to see options.

If you have cargo installed, you can also install FPGRARS by running cargo install fpgrars, or cargo install -F unb fpgrars if you're a UnB student.


UnB students should get the --unb version

FPGRARS v2.1.0

28 Jun 19:48
Compare
Choose a tag to compare

Changelog

  • Implement the .align directive correctly
    • Previously, .align was (wrongly) an alias to .space, now .align N will align the data to N bits, whist .space N will allocate N bytes.
  • Implement the .ascii and .asciz directives correctly. .ascii will not append a null byte to the end of the string, but .asciz will.
  • Added suffix labels inside macro invocations with _M# (see #18)
  • Added support for the .globl/.global directive
  • Added configurable width, height and pixel scale to the bitmap display (see fpgrars --help)
  • Improved performance by about ~32%

Also, if you didn't see the changes made in v2.0, I highly recommend it!


Run with ./fpgrars your_riscv_file.s or ./fpgrars --help to see options.

If you have cargo installed, you can also install FPGRARS by running cargo install fpgrars, or cargo install -F unb fpgrars if you're a UnB student.


UnB students should get the --unb version

v2.0.1

30 May 19:26
Compare
Choose a tag to compare
v2.0.1 Pre-release
Pre-release

I'm just testing the new worflow, this is the same as v2.0.0 :)

FPGRARS v2.0.0

30 May 18:49
Compare
Choose a tag to compare

A new major version!

Run with ./fpgrars your_riscv_file.s or ./fpgrars --help to see the options.

You may also find the new docs site useful!

Changelog

  • A completely new parser. Error messages now should look more like this

    and less like this

    although not every error message is as clear as the above. If you find an error that could be improved, please create an issue exemplifying it!
  • Added some command-line flags for debugging purposes: --print-instructions and --print-state (see --help for more info).
  • Fixed lexer issues, such as #6
  • The new docs website

Caveats

  • FPGRARS v2 is not as battle tested as v1, so there may be bugs v1 didn't have, or features I forgot to implement. If that happens, please create an issue to warn me about it!
  • MACROSv21.s does not work anymore without removing the spaces from the following hexadecimals:
    .eqv IrDA_CTRL 		0xFF20 0500	
    .eqv IrDA_RX 		0xFF20 0504
    .eqv IrDA_TX		0xFF20 0508
    

UnB students should get the --unb version

v1.13.1

18 Sep 23:11
Compare
Choose a tag to compare

Run with ./fpgrars your_riscv_file.s or ./fpgrars --help to see the options.
UnB students should get the 8 bit version


Hopefully fixed #25

v1.13.0

12 Sep 22:51
Compare
Choose a tag to compare

Run with ./fpgrars your_riscv_file.s or ./fpgrars --help to see the options.
UnB students should get the 8 bit version


  • Implemented a new control bit for the Keyboard MMIO! Now the byte at 0xFF210000 is set to 1 when there's a key down/pressed, and 0 otherwise. 0xFF210004 is a duplicate of 0xFF200004, to make switching from RARS or FPGA-compatible code easier. The previous method of getting input from the keyboard, which used positions 0xFF200000 and 0xFF200004, is still supported and left unchanged.

v1.12.1

11 Sep 21:26
Compare
Choose a tag to compare
v1.12.1 Pre-release
Pre-release

Run with ./fpgrars your_riscv_file.s or ./fpgrars --help to see the options.
UnB students should get the 8 bit version


"Read file" ecall is now a lot faster (and less buggy than v1.12.0)

v1.12.0

11 Sep 20:03
Compare
Choose a tag to compare
v1.12.0 Pre-release
Pre-release

Run with ./fpgrars your_riscv_file.s or ./fpgrars --help to see the options.
UnB students should get the 8 bit version


  • "Read file" ecall is now a lot faster