Skip to content

Commit e597918

Browse files
authored
Merge pull request #165 from dbalsom/version_0_4_0
Merge dev branch down to main.
2 parents 72f3336 + 9b42fec commit e597918

File tree

562 files changed

+91576
-18337
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

562 files changed

+91576
-18337
lines changed

.cargo/config.toml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[target.wasm32-unknown-unknown]
2+
# Wasm may be limited to 1GB of memory by default - this increases it to 4GB
3+
# See https://stackoverflow.com/questions/72334989/only-1-4th-of-max-memory-available-when-rust-wasm-compiled-with-atomics-flag-we
4+
rustflags = [
5+
"-C", "target-feature=+atomics,+bulk-memory,+mutable-globals",
6+
"-C", "link-arg=--max-memory=4294967296",
7+
"--cfg", "getrandom_backend=\"wasm_js\""
8+
]

.clippy.toml

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
# I'll make my functions as long as I want!!
22
too-many-arguments-threshold = 8
3+
identity_op = false

.github/workflows/linux.yml

+27-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ name: Linux
33
on:
44
push:
55
branches:
6-
- version_0_2_0
6+
- main
7+
paths-ignore:
8+
- '**/*.md'
79
pull_request:
810

911
env:
@@ -15,6 +17,13 @@ jobs:
1517
runs-on: ubuntu-22.04
1618

1719
steps:
20+
- name: Install nightly Rust
21+
run: |
22+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o rustup-init.sh
23+
sh rustup-init.sh -y --default-host x86_64-unknown-linux-gnu --default-toolchain nightly --profile complete
24+
. "$HOME/.cargo/env"
25+
$HOME/.cargo/bin/cargo version
26+
1827
- name: Checkout repository
1928
uses: actions/checkout@v4
2029
with:
@@ -23,11 +32,26 @@ jobs:
2332
- name: Install dependencies
2433
run: >-
2534
sudo apt update && sudo apt install
35+
pkg-config
2636
libasound2-dev
2737
libudev-dev
38+
libc-dev
39+
libx11-dev
40+
libclang-dev
41+
42+
- name: Cache cargo registry, index, and build artifacts
43+
uses: actions/cache@v4
44+
with:
45+
path: |
46+
~/.cargo/registry
47+
~/.cargo/git
48+
target
49+
key: rust-cache-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
50+
restore-keys: |
51+
rust-cache-${{ runner.os }}-
2852
2953
- name: Cargo build
30-
run: cargo build --profile release-lto --features ega
54+
run: cargo build --profile release-lto --features use_winit,use_wgpu,sound,opl
3155

3256
- name: Copy files into install dir
3357
run: cp LICENSE README.md CHANGELOG.md CREDITS.md target/release-lto/martypc install
@@ -47,5 +71,5 @@ jobs:
4771
- name: Upload artifact
4872
uses: actions/upload-artifact@v4
4973
with:
50-
name: 'martypc-linux-gha${{ github.run_number }}'
74+
name: martypc-linux-gha
5175
path: artifacts/martypc.tar

.github/workflows/macos.yml

+19-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ name: macOS
33
on:
44
push:
55
branches:
6-
- version_0_2_0
6+
- main
7+
paths-ignore:
8+
- '**/*.md'
79
pull_request:
810

911
env:
@@ -15,13 +17,20 @@ jobs:
1517
runs-on: macos-14
1618

1719
steps:
20+
- name: Install nightly Rust
21+
run: |
22+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o rustup-init.sh
23+
sh rustup-init.sh -y --default-host aarch64-apple-darwin --default-toolchain nightly --profile complete
24+
. "$HOME/.cargo/env"
25+
$HOME/.cargo/bin/cargo version
26+
1827
- name: Checkout repository
1928
uses: actions/checkout@v4
2029
with:
2130
fetch-depth: 0
2231

2332
- name: Cargo build
24-
run: cargo build --profile release-lto --features ega
33+
run: cargo +nightly build --profile release-lto --features use_winit,use_wgpu,sound,opl
2534

2635
- name: Copy files into install dir
2736
run: cp LICENSE README.md CHANGELOG.md CREDITS.md target/release-lto/martypc install
@@ -49,13 +58,20 @@ jobs:
4958
runs-on: macos-13
5059

5160
steps:
61+
- name: Install nightly Rust
62+
run: |
63+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o rustup-init.sh
64+
sh rustup-init.sh -y --default-host x86_64-apple-darwin --default-toolchain nightly --profile complete
65+
. "$HOME/.cargo/env"
66+
$HOME/.cargo/bin/cargo version
67+
5268
- name: Checkout repository
5369
uses: actions/checkout@v4
5470
with:
5571
fetch-depth: 0
5672

5773
- name: Cargo build
58-
run: cargo build --profile release-lto --features ega
74+
run: cargo +nightly build --profile release-lto --features use_winit,use_wgpu,sound,opl
5975

6076
- name: Copy files into install dir
6177
run: cp LICENSE README.md CHANGELOG.md CREDITS.md target/release-lto/martypc install

.github/workflows/windows.yml

+14-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ name: Windows
33
on:
44
push:
55
branches:
6-
- version_0_2_0
6+
- main
7+
paths-ignore:
8+
- '**/*.md'
79
pull_request:
810

911
env:
@@ -31,15 +33,22 @@ jobs:
3133
update: true
3234
msystem: ${{ matrix.environment.msystem }}
3335
pacboy: >-
34-
rust:p
36+
toolchain:p
37+
38+
- name: Install nightly Rust
39+
run: |
40+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o rustup-init.sh
41+
sh rustup-init.sh -y --default-host x86_64-pc-windows-gnu --default-toolchain nightly --profile complete
42+
$USERPROFILE/.cargo/bin/cargo version
3543
3644
- name: Checkout repository
3745
uses: actions/checkout@v4
3846
with:
3947
fetch-depth: 0
4048

4149
- name: Cargo build
42-
run: cargo build --profile release-lto --features ega
50+
run: |
51+
$USERPROFILE/.cargo/bin/cargo build --profile release-lto --features use_winit,use_wgpu,sound,opl
4352
4453
- name: Copy files into install dir
4554
run: cp LICENSE README.md CHANGELOG.md CREDITS.md target/release-lto/martypc install
@@ -50,5 +59,5 @@ jobs:
5059
- name: Upload artifact
5160
uses: actions/upload-artifact@v4
5261
with:
53-
name: 'martypc-windows-gha${{ github.run_number }}'
54-
path: martypc
62+
name: martypc-windows-gha
63+
path: martypc

.gitignore

+36-6
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ Thumbs.db
1111
#/.vscode
1212
/.vscode/settings.json
1313

14+
# Jetbrains stuff
15+
/.idea/shelf/
16+
/.idea/dictionaries/Daniel.xml
17+
/.idea/workspace.xml
18+
1419
# Emulator files
1520
/archive
1621
/program
@@ -23,6 +28,7 @@ marty*.toml
2328
*.cfg
2429
*.log
2530
*.exe
31+
*.dat
2632
/frontends/martypc_web_player_wgpu/wasm/
2733
icon.png
2834
*.crt
@@ -43,29 +49,53 @@ icon.png
4349
/install/media/roms/*
4450
/install/media/floppies/*
4551
/install/media/hdds/*
52+
/install/media/cartridges/*
53+
54+
/install/mount/floppy/*
55+
!/install/mount/floppy/readme.md
56+
4657
/install/output/screenshots/*
4758
/install/output/traces/*
4859
/install/output/dumps/*
60+
/install/output/tests/test_summary.csv
4961

5062
# Dev machines not completed or functional
5163
/install/configs/machines/acid88.toml
52-
/install/configs/machines/ibmpcjr.toml
53-
/install/configs/machines/tandy1000.toml
54-
/install/configs/machines/compaq_portable.toml
64+
/install/configs/machines/s100.toml
65+
5566

5667
# Files to include for distribution
5768
!/install/media/roms/readme.md
69+
!/install/media/roms/XUB
5870
!/install/media/roms/GLaBIOS
71+
!/install/media/roms/*.toml
5972
!/install/martypc.toml
6073

74+
# Files to include as wasm assets
75+
!/frontends/martypc_eframe/assets/martypc.toml
76+
77+
/install/media/roms/romdef_s100.toml
78+
/install/media/roms/romdef_ast.toml
79+
/install/media/roms/GLaBIOS/parking
80+
81+
# Ignore autofloppy dirs
82+
/install/media/mount/floppy/*
83+
!/install/media/mount/floppy/readme.md
84+
85+
# Disk dumps
86+
/install/*.img
87+
6188
# Frontend files
6289
/frontends/martypc_web_player_wgpu/web/bin
6390

6491
# Assembly stuff
6592
/asm
66-
/.idea/shelf/
67-
/.idea/dictionaries/Daniel.xml
68-
/.idea/workspace.xml
93+
/install/program/*
94+
95+
#misc
6996
/flopgen/flopgen_LICENSE.txt
7097
/tree.txt
7198

99+
/test-gen/
100+
101+

.idea/marty.iml

+32-21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/Run_martypc__DEBUG___RUN_CPU_TESTS_.xml .idea/runConfigurations/Run_martypc__DEBUG___RUN_V20_CPU_TESTS_.xml

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/Run_martypc__DEBUG___bintest_.xml

+21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/Run_martypc__RELEASE___DEV___RUN_V20_CPU_TESTS_.xml

+22
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/Run_martypc_eframe__native__wgpu___CGA_.xml

+22
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)