Releases: sam-astro/Astro8-Computer
Releases · sam-astro/Astro8-Computer
v3.4.0-alpha
What's Changed
- Add manual frame buffer system, to not render a new image after every pixel edit. See Armstrong changes
- Add webcam as expansion port and demo
- Create a "fast mode", executes compiled programs at a much faster pace than before, by not simulating microcode. You can still use the original emulation by passing the
--classicmode
or-cm
option. - Improve keyboard compatibility again, better n-key rollover processing, so games should function better.
- Fix compilation issues on Linux involving SDL_mixer
- Upgrade audio system to use dynamic wave generation instead of pitching sound files
- Allow for characters to be colored, using the other unused bits in their word
- Add labels, memory allocation, and constant variables in default assembly, see docs
- Add filesystem IO using expansion port 5, (memory location:
53505
or0xD101
) - More detailed documentation, see the new docs
- Update instructions to allow for better bank accessing without redundant switches accounting for things requiring the first bank (program memory). This means instructions such as
jmp
, which always rely on bank 0, will now only work on bank 0. Here is the changelog- The affected instructions are as follows:
jmp 0
jmpz 0
jmpc 0
ldlge 0
stlge 0
ldw 0
ldwb 0
Full Changelog: v2.0.1-alpha...v3.4.0-alpha
v2.0.1-alpha
- Audio bug fixes, which stopped it from sounding weird and making a low rumbling sound.
- Fixed issues when using CMD on windows and not being able to run any programs.
Full Changelog: v2.0.0-alpha...v2.0.1-alpha
v2.0.0-alpha
What's Changed
- Change Sound card to have separate sound channels and better resolution. See new docs page
- Fix wording around Logisim Circuit by @UserJHansen in #52
- Allow end-of-line comments in Astrisc
- Increase resolution from 64x64 to 108x108. See updated memory layout
- Add banked memory. See updated memory layout, and new bank change instruction, and new Armstrong syntax
- Expansion ports are now mapped into memory. See updated docs
- Mouse expansion, keyboard expansion, and sound card expansion are now accessible all at once. See updated docs
New Contributors
- @UserJHansen made their first contribution in #52
Full Changelog: v1.0.1-alpha...v2.0.0-alpha
v1.0.1-alpha
What's Changed
- (! Important !) Rearranged memory layout. Refer to the documentation page for memory to learn about the change, and how to adapt your code to fit.
- Update console UI
- Add
-v
--verbose
option to toggle printing more in-depth compilation and assembly text - Add
-nk
--nokeyboard
option to toggle between mouse input mode and keyboard input mode - Add
-f
--freq
option to override the default target CPU emulation frequency - Improve
.AEXE
file format for better automatic detection as file input - Fixed bug related to executing emulator in directory without a char_set_memtape file
- Add feature for simple 3 channel single-tone audio when using keyboard mode
- Add icon for executable
- Replace normal Windows binary with an installer for easier use and adding to the user's PATH variable, which allows for console use from any directory.
- Shorten name from
Astro8-Emulator
toastro8
for better console experience - Implement logic instructions as Armstrong commands
and
,or
,not
,bsl
,bsr
- Print expansion port outputs to the console as
-- cout >> <value>
for easier debugging - Print expansion port inputs to the console as
-- keypress << <value>
for easier debugging - Add persistence options when building to AEXE format
Full Changelog: v0.3.2-alpha...v1.0.1-alpha
v0.3.2-alpha
What's Changed
- Improvements and bug fixes by @sam-astro in #47
Full Changelog: v0.3.1-alpha...v0.3.2-alpha
v0.3.1-alpha
What's Changed
- Add newlines to fix includes bug by @sam-astro in #46
Full Changelog: v0.3.0-alpha...v0.3.1-alpha
v0.3.0-alpha
What's Changed
- update dev by @sam-astro in #39
- General improvements, added more instructions by @sam-astro in #43
- Re-arrange and fix CMakeLists.txt file by @sam-astro in #44
- Add instructions:
pcr
,bsl
,bsr
,and
,or
,not
- Added program counter as builtin variable,
@PC
suggested by @maramowicz in #42
Full Changelog: v0.2.2-alpha...v0.3.0-alpha
v0.2.2-alpha
What's Changed
- Regulate emulator speed by @lilweege in #28
- Update dev branch by @sam-astro in #29
- Add logo in readme by @sam-astro in #30
- Micro-optimizations by @lilweege in #32
- Optimizations and instruction additions by @sam-astro in #34
Full Changelog: v0.2.1-alpha...v0.2.2-alpha
v0.2.1-alpha
What's Changed
- Formatting Documentation by @ElectronicsArchiver in #16
- Removed Redundant Documentation by @ElectronicsArchiver in #25
- Fixed integer loading issue with new instruction
ldw
by @sam-astro
Full Changelog: v0.2.0-alpha...v0.2.1-alpha
v0.2.0-alpha
What's Changed
- Optimize
microinstructionData
by @lilweege in #14 - Dev by @sam-astro in #20
- Lots of optimization
- Updated
jmp
instructions to now use the location after themselves as the address to jump to (allowing 16-bit jumps) - New
jreg
instruction for jumping to the value stored in the A register. - Pong got broken from new
jmp
handling, fixed.
Full Changelog: v0.1.1-alpha...v0.2.0-alpha