Skip to content

Release 0.5.0 - #59

Merged
jonathanpallant merged 26 commits into
mainfrom
release-050
Jul 21, 2023
Merged

jonathanpallant merged 26 commits into
mainfrom
release-050

Conversation

@jonathanpallant

Copy link
Copy Markdown
Contributor
  • Switch to neotron-common-bios 0.11
  • Added "Shutdown" command
  • Added ANSI decoder for colour changes (SGI) and cursor position support
  • Added 'standard input' support for applications
  • Use new compare-and-swap BIOS API to implement mutexes, instead of static mut
  • OS now requires 256K Flash space

thejpster and others added 26 commits June 25, 2023 15:20
Makes it consistent with the main build.
Update develop with release
Had to rename our println to osprint to avoid clash with libstd's println.
We ran out of flash space, but only on the GHA build not my local build...
It's not nice, because I put the keyboard decoding into a static mut. Really, this should be in a mutex. But to make a mutex you need compare-and-swap, and ARMv6-M doesn't have that, and the work-around is very hardware specific.

So, I think we need a critical-section implementation for the OS which uses the BIOS to acquire and release the lock. We can then use atomic-polyfill to provide compare-and-swap as we do on the Neotron Pico BIOS.

Also I lost the serial input because that's currently in the menu context and we can't access that from OS API callbacks.
Removes a bunch of static mut stuff. Does require the BIOS to implement compare-and-swap for us, because the CPU might not have it.

Ran out of code space so I had to make the memory allocations larger. I think we now no-longer fit on a Neotron 32.
Tested with QEMU BIOS.
The VTE patches also went upstream, but haven't been released yet.
@jonathanpallant
jonathanpallant merged commit aa55271 into main Jul 21, 2023
@jonathanpallant
jonathanpallant deleted the release-050 branch July 21, 2023 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants