All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.9.9 - 2021-09-01
- Enable GitHub Actions for macos-11 runners (#96)
- Introduce a yosys flow for ULX3S (#87)
- Build on macOS Big Sur (#85)
- Prefer sdl2-config over pkg-config (#82)
- Run
apt-get update
before installing packages from APT (#84)
- Address collected minor issues (#81)
- Address some Verilog lints and weaknesses (#94)
- Collected ctest-provoked fixes (#95)
- Fix crash in SDLVGA on macOS Big Sur 11.2 (#83)
- Introduce collected hardware changes for ulx3s (#88)
- Remove emscripten support (#92)
- Remove Xilinx support (#86)
0.9.8 - 2021-01-01
- Enabled many compiler warnings under Clang and GCC
- Introduced a stream-based abstraction layer for filesystem operations
- Defined the overshifting behavior for the
@
operator - Defined the tenyr assembly grammar in ABNF (#60)
- Set up continuous integration using GitHub Actions (#66, #67, #68, #69, #70, #71)
- Updated supported emscripten version to 1.38.46
- Reimplemented JIT using GNU lightning
- Stopped relying on customizations to
wb_intercon
for tenyr's Verilog implementation - Addressed various lint warnings found in tenyr's Verilog
- Tightened lexer rules for numeric constants (#56)
- Cleaned up OS overrides (#61)
- Stopped removing output files (in a racy way) when failure occurs (#63)
- Corrected a long-standing tsim bug when right-shifting by more than 31 bits
- Corrected tsim bugs manifesting on big-endian host machines
- Corrected silent sign conversions, adhering to
-Werror=sign-conversion
- Prevented disassembly from
obj
from always exiting non-zero (#59) - Prevented a buffer overrun when too many plugins are specified (#64)
- Fixed some miscellaneous bugs while improving test coverage (#63)
- Corrected incorrect pointer cast in VPI
- Propagate errors better instead of swallowing them inadvertently
- Stopped suggesting Gitter as a chat option
- Stopped using coveralls.io for code coverage reporting
- Dropped
raw
output format - Dropped explicit support for backslashes as path component separators (#43)
- Removed support for various deprecated and obsolete functionalities (#47)
- Dropped support for C-style and C++-style comments in .tas files
- Removed broken Forth implementation
- Dropped support for deprecated v0 and v1 object formats
- Remove unused
@=
syntax sugar - Removed web demo
- Removed bitrotten support for Quartus and Lattice builds
- Dropped unused submodule for broken lcc port
- Stopped using C preprocessor on
.tas.cpp
files (#45) - Removed Travis-CI support (#72)
- Removed undocumented settings that allowed continuing after memory errors (#63)
- Removed unused
.option
support
0.9.7 - 2019-07-25
- support for
@symbol - .Llocal
expressions - a nominal, arbitrary limit of 2048 bytes on symbol lengths in version 2 objects (to promote runtime memory safety)
- parser supports bison 3.4.1 by replacing deprecated bison directives
- memory leaks and misuse (e.g. read after free), mostly introduced by version 2 objects
0.9.6 - 2018-04-29
- version 2 objects supporting newly-unlimited symbol lengths
- improved emscripten support
0.9.5 - 2017-11-16
- a ~/.tsimrc file (à la
--options=file
) that is loaded by a new default recipe - a new BRAM-optimized 10x15 font and associated build tools
@+var
and@=var
shorthand forms- tests for op types 0, 1, and 2
- new Verilog module for VGA output
- running recipes in the order they are specified, instead of reverse order
- allowing simulations to continue in the face of device errors
- restoring serial input functionality in a limited way
- changing VGA output to be 64x32 text columns (down from 80x40)
- correcting reported column numbers for syntax errors
- third-party VHDL for VGA
0.9.4 - 2017-05-04
- build date to --version output
- insertion of missing trailing slash that was causing resource-loading to fail
- first-class emscripten build (
make PLATFORM=emscripten
)
- optimised sparseram somewhat
- drop ancient 24-bit address space stricture
- uses of unportable
RTLD_DEFAULT
- uses of little-used assert()
- obsolescent SPI simulated device