Skip to content

Commit

Permalink
Update README, rename workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
kelpsyberry committed Jan 20, 2024
1 parent b6d1d18 commit 2461ab9
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 30 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build-release-macos-app-bundles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
-create
-output Dust.app/Contents/MacOS/Dust
tar -czf Dust.app.tar.gz Dust.app
tar -cf Dust.app.tar.gz Dust.app
- name: Upload release bundle (no debugging features)
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -108,7 +108,7 @@ jobs:
-create
-output Dust.app/Contents/MacOS/Dust
tar -czf Dust.app.tar.gz Dust.app
tar -cf Dust.app.tar.gz Dust.app
- name: Upload release bundle (debugging features)
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -142,7 +142,7 @@ jobs:
cp -R frontend/desktop/src/emu/gdb_server/specs Dust.app/Contents/Resources
tar -czf Dust.app.tar.gz Dust.app
tar -cf Dust.app.tar.gz Dust.app
- name: Upload release bundle (debugging features + GDB)
uses: actions/upload-artifact@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
tar
-C target/${{ matrix.target }}/ci
-czf dust-desktop.tar.gz
-cf dust-desktop.tar.gz
dust-desktop${{ matrix.artifact-extension }}
- name: Upload release binary (no debugging features)
Expand All @@ -98,7 +98,7 @@ jobs:
tar
-C target/${{ matrix.target }}/ci
-czf dust-desktop.tar.gz
-cf dust-desktop.tar.gz
dust-desktop${{ matrix.artifact-extension }}
- name: Upload release binary (debugging features)
Expand All @@ -119,7 +119,7 @@ jobs:
tar
-C target/${{ matrix.target }}/ci
-czf dust-desktop.tar.gz
-cf dust-desktop.tar.gz
dust-desktop${{ matrix.artifact-extension }}
- name: Upload release binary (debugging features + GDB)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Run Clippy and test
name: Clippy

on:
push:
Expand All @@ -11,8 +11,8 @@ env:
MACOSX_DEPLOYMENT_TARGET: 10.11

jobs:
run-clippy-and-test:
name: Run Clippy and test (${{ matrix.os }})
clippy:
name: Clippy (${{ matrix.os }})
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
Expand Down Expand Up @@ -56,9 +56,3 @@ jobs:
name: Run clippy (${{ matrix.os }}, all features)
token: ${{ secrets.GITHUB_TOKEN }}
args: --no-default-features --features=${{ env.FEATURES }} --package dust-desktop

- name: Run tests (no default features)
run: cargo test --verbose --no-default-features --package dust-desktop

- name: Run tests (all features)
run: cargo test --verbose --features=${{ env.FEATURES }} --package dust-desktop
36 changes: 23 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,43 @@
# Dust

![Screenshot](screenshot.png)
[![Build status](https://github.com/kelpsyberry/dust/actions/workflows/clippy.yml/badge.svg?branch=main&event=push)](https://github.com/kelpsyberry/dust/actions/workflows/clippy.yml?query=branch%3Amain+event%3Apush)
[![Discord server](https://dcbadge.vercel.app/api/server/MRDEvx8rKy?style=flat&theme=default-inverted)](https://discord.gg/MRDEvx8rKy)

[![Build and test status](https://github.com/kelpsyberry/dust/actions/workflows/.github/workflows/run-clippy-and-test.yml/badge.svg?branch=main&event=push)](https://github.com/kelpsyberry/dust/actions/workflows/run-clippy-and-test.yml?query=branch%3Amain+event%3Apush)
![Screenshot](screenshot.png)

## Prebuilt binaries and web version
## Web version

[![Web deploy status](https://github.com/kelpsyberry/dust/actions/workflows/.github/workflows/deploy-web.yml/badge.svg?branch=main&event=push)](https://github.com/kelpsyberry/dust/actions/workflows/deploy-web.yml?query=branch%3Amain+event%3Apush)
[![Web deploy status](https://github.com/kelpsyberry/dust/actions/workflows/deploy-web.yml/badge.svg?branch=main&event=push)](https://github.com/kelpsyberry/dust/actions/workflows/deploy-web.yml?query=branch%3Amain+event%3Apush)

[Web frontend](https://dust-emu.netlify.app)

## Prebuilt binaries

[![Binary release build status](https://github.com/kelpsyberry/dust/actions/workflows/build-release.yml/badge.svg?branch=main&event=push)](https://github.com/kelpsyberry/dust/actions/workflows/build-release.yml?query=branch%3Amain+event%3Apush)
[![macOS app bundle release build status](https://github.com/kelpsyberry/dust/actions/workflows/build-release-macos-app-bundles.yml/badge.svg?branch=main&event=push)](https://github.com/kelpsyberry/dust/actions/workflows/build-release-macos-app-bundles.yml?query=branch%3Amain+event%3Apush)

- The base configuration only includes all features necessary to run games as an end user
- The debugging configuration additionally enables logging of diagnostic events on the emulated system (i.e. invalid I/O device usage or port accesses) and several debugging views (i.e. memory and register viewer and a disassembly view), all accessible from the Debug menu
- The debugging + GDB server configuration also enables support for a GDB client to attach to and debug the emulated program, by starting/stopping the server from the Debug menu while running a program

[![Release build status](https://github.com/kelpsyberry/dust/actions/workflows/.github/workflows/build-release.yml/badge.svg?branch=main&event=push)](https://github.com/kelpsyberry/dust/actions/workflows/build-release.yml?query=branch%3Amain+event%3Apush)
> **NB**: The debugging configurations only add debugging features for loaded programs; all binaries are compiled with optimizations and don't include debug symbols for the emulator itself.
| Release | Debug (includes logging and debugging views) | Debug + GDB server |
| ------- | -------------------------------------------- | ------------------ |
| [Windows (release)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Windows.zip) | [Windows (debug)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Windows-debug.zip) | [Windows (debug + GDB)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Windows-debug-gdb.zip) |
| [Linux (release)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Linux.zip) | [Linux (debug)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Linux-debug.zip) | [Linux (debug + GDB)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Linux-debug-gdb.zip) |
| [macOS x86_64 (release)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-x86_64.zip) | [macOS x86_64 (debug)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-x86_64-debug.zip) | [macOS x86_64 (debug + GDB)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-x86_64-debug-gdb.zip) |
| [macOS ARM64 (release)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-aarch64.zip) | [macOS ARM64 (debug)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-aarch64-debug.zip) | [macOS ARM64 (debug + GDB)](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-aarch64-debug-gdb.zip) |
| OS and binary type | Base | Debugging | Debugging + GDB server |
| ------------------ | ---- | --------- | ---------------------- |
| Windows x86_64 .exe | [Windows.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Windows.zip) | [Windows-debug.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Windows-debug.zip) | [Windows-debug-gdb.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Windows-debug-gdb.zip) |
| Linux x86_64 binary | [Linux.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Linux.zip) | [Linux-debug.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Linux-debug.zip) | [Linux-debug-gdb.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/Linux-debug-gdb.zip) |
| macOS universal app | [macOS-app.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release-macos-app-bundles/main/macOS-app.zip) | [macOS-app-debug.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release-macos-app-bundles/main/macOS-app-debug.zip) | [macOS-app-debug-gdb.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release-macos-app-bundles/main/macOS-app-debug-gdb.zip) |
| macOS x86_64 binary | [macOS-x86_64.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-x86_64.zip) | [macOS-x86_64-debug.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-x86_64-debug.zip) | [macOS-x86_64-debug-gdb.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-x86_64-debug-gdb.zip) |
| macOS ARM64 binary | [macOS-aarch64.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-aarch64.zip) | [macOS-aarch64-debug.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-aarch64-debug.zip) | [macOS-aarch64-debug-gdb.zip](https://nightly.link/kelpsyberry/dust/workflows/build-release/main/macOS-aarch64-debug-gdb.zip) |

# Credits
## Credits
- Martin Korth, for summarizing resources on the DS on [GBATEK](https://problemkaputt.de/gbatek.htm)
- [Arisotura](https://github.com/Arisotura), for her research on the system in melonDS, [test ROMs](https://github.com/Arisotura/arm7wrestler) and [corrections and additions to the info on GBATEK](https://melonds.kuribo64.net/board/thread.php?id=13), and for the game database used in this emulator
- [StrikerX3](https://github.com/StrikerX3), for his research on 3D rendering on the DS
- [Simone Coco](https://github.com/CocoSimone), [Fleroviux](https://github.com/fleroviux), [Lady Starbreeze](https://github.com/LadyStarbreeze), [Merry](https://github.com/merryhime), [Powerlated](https://github.com/Powerlated) and [Peach](https://github.com/wheremyfoodat) for help throughout development
- The Emulation Development server on Discord as a whole, for providing several invaluable resources

# Sister projects
## Sister projects
- [**Kaizen**](https://github.com/SimoneN64/Kaizen): Experimental work-in-progress low-level N64 emulator
- [**n64**](https://github.com/Dillonb/n64): Low-level, accurate, fast and easy to use Nintendo 64 emulator
- [**Panda3DS**](https://github.com/wheremyfoodat/Panda3DS): A new HLE Nintendo 3DS emulator
Expand Down
3 changes: 1 addition & 2 deletions core/src/audio/channel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -337,9 +337,8 @@ impl Channel {
self.check_total_size();
}

// TODO: Makes Clippy crash right now?
// #[allow(clippy::unused_self)]
#[inline]
#[allow(clippy::unused_self)]
fn keep_last_sample(&mut self) {
#[cfg(feature = "xq-audio")]
self.hist.copy_within(1.., 0);
Expand Down

0 comments on commit 2461ab9

Please sign in to comment.