Skip to content

Commit 43d8cd5

Browse files
committed
First pass of Neotron Desktop BIOS.
1 parent 6b75981 commit 43d8cd5

9 files changed

Lines changed: 8062 additions & 110 deletions

File tree

.cargo/config

Lines changed: 0 additions & 7 deletions
This file was deleted.

.github/workflows/rust.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,5 @@ jobs:
99

1010
steps:
1111
- uses: actions/checkout@v1
12-
- name: Add Target
13-
run: rustup target add thumbv7em-none-eabi
1412
- name: Build
15-
run: cargo build --verbose --target=thumbv7em-none-eabi
13+
run: cargo build --verbose

Cargo.toml

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
11
[package]
2-
name = "neotron-xxx-bios"
2+
name = "neotron-desktop-bios"
33
version = "0.1.0"
4-
authors = ["Some Developer <some.developer@example.com>"]
5-
edition = "2018"
4+
edition = "2021"
5+
authors = ["Jonathan 'theJPster' Pallant <github@thejpster.org.uk>"]
66
readme = "README.md"
7+
license-file = "LICENSE"
78

8-
[dependencies]
9-
cortex-m = "0.6.0"
10-
cortex-m-rt = "0.6.10"
11-
panic-halt = "0.2.0"
12-
# TODO add more dependencies here, like the BIOS API crate
13-
14-
# Lets you use cargo-fix
15-
[[bin]]
16-
name = "neotron-xxx-bios"
17-
test = false
18-
bench = false
9+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1910

20-
[profile.release]
21-
codegen-units = 1 # better optimizations
22-
debug = true # symbols are nice and they don't increase the size on Flash
23-
lto = true # better optimizations
11+
[dependencies]
12+
neotron-common-bios = { version = "0.6.0", path = "../neotron-common-bios" }
13+
libloading = "0.7"
14+
pix-engine = "0.5.4"
15+
env_logger = "0.9"
16+
log = "0.4"

README.md

Lines changed: 31 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,55 @@
1-
# Neotron-XXX-BIOS
1+
# Neotron Desktop BIOS
22

3-
> Template repository for new BIOS implementations. You should delete these
4-
> quoted blocks and correct the rest of the text as required.
3+
This is the [Neotron](https://github.com/neotron-compute) BIOS that lets you run the Neotron OS as a Linux, macOS or Windows application!
54

6-
This is the [Neotron](https://github.com/neotron-compute) BIOS for the FooBar XYZ development board.
5+
![Build Status](https://github.com/neotron-compute/neotron-desktop-bios/workflows/Build/badge.svg "Github Action Build Status")
76

8-
![Build Status](https://github.com/$GITHUB_USERNAME/$GITHUB_REPO/workflows/Build/badge.svg "Github Action Build Status")
9-
10-
![Format Status](https://github.com/$GITHUB_USERNAME/$GITHUB_REPO/workflows/Format/badge.svg "Github Action Format Check Status")
7+
![Format Status](https://github.com/neotron-compute/neotron-desktop-bios/workflows/Format/badge.svg "Github Action Format Check Status")
118

129
## Compatibility
1310

14-
This BIOS will run on the official FooBar XYZ Developer Kit, and also the FooBar XYZ Explorer board. Both feature the same FooBar XYZ SoC. Other boards with the same SoC can be supported with a minor change to the pin configurations.
15-
16-
## Features
11+
This BIOS uses [pix-engine](https://crates.io/crates/pix-engine), so should run on any platform that pix-engine supports.
1712

18-
> Replace this with the specs of your board!
13+
## Building
1914

20-
The FooBar XYZ Developer Kit offers:
15+
Build and run this BIOS (and use it to boot Neotron OS) with...
2116

22-
* 128 KiB RAM
23-
* 512 KiB Flash
24-
* Cortex-M4 clocked at 64 MHz
25-
* SD/MMC Slot, with DMA
26-
* 3-wire TTL UART
27-
* Hardware accelerated graphics blitter
28-
* 8-colour VGA output on pins P0, P1, P2, P4 and P5.
29-
* Stereo sound on the on-board 3.5mm jack
17+
```console
18+
~ $ git checkout https://github.com/neotron-compute/Neotron-Desktop-BIOS.git
19+
~ $ cd Neotron-Desktop-BIOS
20+
~/Neotron-Desktop-BIOS $ RUST_LOG=debug cargo run -- --serial=/dev/ttyS0 --peripheral=sdmmc,./disk.img --os=./libneotron_os.so
21+
```
3022

31-
The FooBar XYZ Explorer Board adds:
23+
Press `Esc` with the GUI window selected to quit the BIOS.
3224

33-
* On-board LCD with 480x272 resolution (60x17 text mode) in 16 colours
34-
* RS-232 port
35-
36-
## Changelog
25+
The file `libneotron_os.so` is not supplied. You can build it with:
3726

38-
> Your repo should implement a Changelog in this format. Add a new section
39-
> every time you tag a release. Don't forget to change `$GITHUB_USERNAME` and
40-
> `$GITHUB_REPO` to the appropriate values for your repository!
27+
```console
28+
~ $ git checkout https://github.com/neotron-compute/neotron-os.git
29+
~ $ cd neotron-os
30+
~/neotron-os $ cargo build --release --lib
31+
~/neotron-os $ ls ./target/release/*.so
32+
./target/release/libneotron_os.so
33+
~/neotron-os $ cp ./target/release/libneotron_os.so ~/Neotron-Desktop-BIOS
34+
```
4135

42-
### Unreleased Changes ([Source](https://github.com/$GITHUB_USERNAME/$GITHUB_REPO/tree/master) | [Changes](https://github.com/$GITHUB_USERNAME/$GITHUB_REPO/compare/v0.2.0...master))
43-
44-
* None
36+
## Features
4537

46-
### v0.2.0 ([Source](https://github.com/$GITHUB_USERNAME/$GITHUB_REPO/tree/v0.2.0) | [Changes](https://github.com/$GITHUB_USERNAME/$GITHUB_REPO/compare/v0.1.0...v0.2.0))
38+
* GUI window with pixel-perfect video rendering
39+
* TODO: UART support
40+
* TODO: SD/MMC emulation support
41+
* TODO: Audio support
42+
* TODO: Human Interface Device support
4743

48-
* Fixed changelog in README.
44+
## Changelog
4945

50-
### v0.1.0 ([Source](https://github.com/$GITHUB_USERNAME/$GITHUB_REPO/tree/v0.1.0))
46+
### Unreleased Changes ([Source](https://github.com/neotron-compute/Neotron-Desktop-BIOS/tree/main))
5147

5248
* First release
5349

5450
## Licence
5551

56-
> This is an example licence. You can change it if you so desire, but please
57-
> do pay attention to the licenses of any components you use in your BIOS.
58-
59-
Neotron-XXX-BIOS Copyright (c) Some Developer, 2019
52+
Neotron-Desktop-BIOS Copyright (c) Jonathan 'theJPster' Pallant, 2022
6053

6154
This program is free software: you can redistribute it and/or modify
6255
it under the terms of the GNU General Public License as published by

memory.x

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)