Skip to content

Commit 6a3ab3f

Browse files
authored
Merge pull request #76 from Neotron-Compute/main
Backport v0.6.0 from main
2 parents 6f9c462 + 1ed1f70 commit 6a3ab3f

File tree

6 files changed

+44
-19
lines changed

6 files changed

+44
-19
lines changed

.github/workflows/rust.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,40 @@ jobs:
1111
uses: actions/checkout@v3
1212
with:
1313
submodules: true
14+
1415
- name: Check Syntax
1516
run: |
1617
cargo check
18+
1719
- name: Test
1820
run: |
1921
cargo test --lib
22+
2023
- name: Install Targets and Tools
2124
run: |
2225
rustup target add thumbv7em-none-eabi
2326
rustup target add thumbv7m-none-eabi
2427
rustup target add thumbv6m-none-eabi
2528
rustup component add llvm-tools-preview
26-
cargo install cargo-binutils
29+
30+
- name: Install tools
31+
uses: taiki-e/install-action@v2
32+
with:
33+
34+
2735
- name: Build
2836
run: |
2937
./build.sh --verbose
38+
39+
- name: Upload Artifacts
40+
uses: actions/upload-artifact@v3
41+
if: ${{success()}}
42+
with:
43+
name: Artifacts
44+
if-no-files-found: error
45+
path: |
46+
./release/
47+
3048
- name: Upload files to Release
3149
if: github.event_name == 'push' && startswith(github.ref, 'refs/tags/')
3250
uses: softprops/action-gh-release@v1

CHANGELOG.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,60 +2,67 @@
22

33
## Unreleased changes
44

5+
* None
6+
7+
## v0.6.0 (2023-10-08, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.6.0))
8+
59
* Can set/set video mode
610
* Stores video mode as part of config
711
* Removed demo commands (they should be applications)
812
* Added raw PCM sound playback
913
* Added mixer command
10-
* Switch to neotron-common-bios 0.11.1
14+
* Switch to [`neotron-common-bios`] 0.11.1
1115

12-
## v0.5.0
16+
## v0.5.0 (2023-07-21, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.5.0))
1317

14-
* Switch to neotron-common-bios 0.11
18+
* Switch to [`neotron-common-bios`] 0.11
1519
* Added "Shutdown" command
1620
* Added ANSI decoder for colour changes (SGI) and cursor position support
1721
* Added 'standard input' support for applications
1822
* Use new compare-and-swap BIOS API to implement mutexes, instead of `static mut`
1923
* OS now requires 256K Flash space
2024

21-
## v0.4.0
25+
## v0.4.0 (2023-06-25, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.4.0))
2226

2327
* The `load` command now takes ELF binaries, not raw binaries.
2428
* Neotron OS can now be used as a dependency within an application, if desired.
2529

26-
## v0.3.3
30+
## v0.3.3 (2023-05-22, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.3.3))
2731

2832
* Add `dir` command
2933
* Change `load` command to load from disk
3034
* Repository includes `Cargo.lock` file
3135
* Update to `postcard` 1.0
3236
* Fix `readblk` help text, and print 32 bytes per line
3337

34-
## v0.3.2
38+
## v0.3.2 (2023-05-05, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.3.2))
3539

3640
* Add `date` command.
3741
* Add `lsblk` and `blkread` commands.
3842
* Renamed `bioshw` to `lshw`
3943

40-
## v0.3.1
44+
## v0.3.1 (2023-03-09, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.3.1))
4145

4246
* Add `hexdump`, `load` and `run` commands.
4347
* Set colour attributes correctly (White on Black only currently)
4448

45-
## v0.3.0
49+
## v0.3.0 (2023-02-12, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.3.0))
4650

47-
* Updated to Neotron Common BIOS v0.8.0
48-
* Use pc-keyboard for decoding HID events
51+
* Updated to [`neotron-common-bios`] v0.8.0
52+
* Use [`pc-keyboard`] for decoding HID events
4953
* Fix Windows library build
5054
* Added 'kbtest' command
5155
* Added 'lshw' command
5256
* Added 'config' command
5357
* Uses BIOS to store/load OS configuration
5458

55-
## v0.2.0
59+
[`neotron-common-bios`]: https://crates.io/crates/neotron-common-bios
60+
[`pc-keyboard`]: https://crates.io/crates/pc-keyboard
61+
62+
## v0.2.0 (2023-01-07, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.2.0))
5663

5764
Adds HID support and basic shell, with 'mem' and 'fill' commands.
5865

59-
## v0.1.0
66+
## v0.1.0 (2022-03-18, [Github Release](https://github.com/neotron-compute/neotron-os/releases/tag/v0.1.0))
6067

6168
First version.

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "neotron-os"
3-
version = "0.5.0"
3+
version = "0.6.0"
44
authors = [
55
"Jonathan 'theJPster' Pallant <[email protected]>",
66
"The Neotron Developers"

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ This OS is a work in progress. We intend to support:
1313
* [x] Running built-in commands from a shell
1414
* [x] Executing applications from RAM
1515
* [x] Applications can print to stdout
16-
* [ ] Applications can read from stdin
16+
* [x] Applications can read from stdin
1717
* [ ] Applications can open/close/read/write files
1818
* [x] MBR/FAT32 formatted block devices
1919
* [x] Read blocks
@@ -22,9 +22,9 @@ This OS is a work in progress. We intend to support:
2222
* [ ] Delete files
2323
* [ ] Change directory
2424
* [x] Load ELF binaries from disk
25-
* [ ] Changing text modes
25+
* [x] Changing text modes
2626
* [ ] Basic networking
27-
* [ ] Music playback
27+
* [x] Music playback
2828
* [ ] Various keyboard layouts
2929
* [ ] Ethernet / WiFi networking
3030
* [ ] Built-in scripting language

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ for TARGET_ARCH in thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi; do
1313
echo "BINARY is ${BINARY}"
1414
cargo build $* --release --target=${TARGET_ARCH} --bin ${BINARY}
1515
# objcopy would do the build for us first, but it doesn't have good build output
16-
cargo objcopy $* --release --target=${TARGET_ARCH} --bin ${BINARY} -- -O binary ${RELEASE_DIR}/${TARGET_ARCH}-${BINARY}-libneotron_os.bin
16+
rust-objcopy -O binary ./target/${TARGET_ARCH}/release/${BINARY} ${RELEASE_DIR}/${TARGET_ARCH}-${BINARY}-libneotron_os.bin
1717
# Keep the ELF file too (for debugging)
1818
cp ./target/${TARGET_ARCH}/release/${BINARY} ${RELEASE_DIR}/${TARGET_ARCH}-${BINARY}-libneotron_os.elf
1919
done

0 commit comments

Comments
 (0)