Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
9fda382
fix rom cli loading
tomdaley92 Jan 31, 2026
cf359a5
add stb hashmap lib
tomdaley92 Jan 31, 2026
a127398
cleanup some things and add profiles
tomdaley92 Feb 1, 2026
a389144
add crc impl
tomdaley92 Feb 4, 2026
7bb2416
add profiles
tomdaley92 Feb 4, 2026
b65e4c0
store rom name for future use
tomdaley92 Feb 4, 2026
3b24fa6
use SDL portable function for relative path to binary
tomdaley92 Feb 4, 2026
7dd1c72
add example INI
tomdaley92 Feb 4, 2026
778426a
progressss..
tomdaley92 Feb 4, 2026
b7b6254
add notifications
tomdaley92 Feb 4, 2026
5beb710
fix pause toggle
tomdaley92 Feb 4, 2026
3a579a0
link missing obj
tomdaley92 Feb 4, 2026
2addaf7
use consistent printing
tomdaley92 Feb 4, 2026
b697e20
update features
tomdaley92 Feb 5, 2026
c4b0b79
Add features
tomdaley92 Feb 5, 2026
08e7c47
remove quirks from cli flags entirely. it doesn't make much sense any…
tomdaley92 Feb 5, 2026
f66305c
cleanup load_rom function
tomdaley92 Feb 5, 2026
db2477e
Ship with profiles.ini
tomdaley92 Feb 5, 2026
2b0fac7
cant use compound literals for msvc
tomdaley92 Feb 5, 2026
50e4d88
move stb header
tomdaley92 Feb 5, 2026
fa5286e
Move imgui implementation flies (from examples) to external sources
tomdaley92 Feb 5, 2026
5ee6525
clean up remove old srcs
tomdaley92 Feb 5, 2026
d0cdcd5
add ansimal racing
tomdaley92 Feb 5, 2026
ba06158
add more notifications
tomdaley92 Feb 5, 2026
8381b74
huh
tomdaley92 Feb 5, 2026
65c9ae6
tweak notifications
tomdaley92 Feb 5, 2026
8a1689f
tweak
tomdaley92 Feb 5, 2026
d38661b
add more cli options including custom INI file location
tomdaley92 Feb 7, 2026
ceb1329
make all print statements consistent and secure
tomdaley92 Feb 7, 2026
7a4d225
add build targets for profiles.ini
tomdaley92 Feb 7, 2026
e355801
move fps to top right
tomdaley92 Feb 7, 2026
80b665e
reorder
tomdaley92 Feb 7, 2026
e4f1a46
change notifications to toasts naming
tomdaley92 Feb 7, 2026
079b0ba
refactor
tomdaley92 Feb 9, 2026
7b52d0c
fix things
tomdaley92 Feb 9, 2026
086c146
refactor build info
tomdaley92 Feb 9, 2026
51930f8
remove unnecessary includes
tomdaley92 Feb 9, 2026
ea1bb16
fix options parsing
tomdaley92 Feb 9, 2026
1f7e0a2
fix windows build error
tomdaley92 Feb 9, 2026
cf1a836
fix msvc error
tomdaley92 Feb 10, 2026
7b1a4e3
fix missing symbol
tomdaley92 Feb 10, 2026
9875137
input
tomdaley92 Feb 10, 2026
56284a2
update include order
tomdaley92 Feb 10, 2026
0fa4ac9
rename build into to meta
tomdaley92 Feb 10, 2026
02455dc
info: dark yellow
tomdaley92 Feb 10, 2026
f01efe4
comment
tomdaley92 Feb 10, 2026
8071397
clean up opts parsong
tomdaley92 Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/build-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ jobs:
run: |
cd macos
make clean
make release/Kiwi8.app/Contents/Resources/profiles.ini
make release/Kiwi8.app

- name: Verify binary and dependencies
Expand Down Expand Up @@ -97,6 +98,7 @@ jobs:
run: |
cd windows
nmake clean
nmake release\profiles.ini
nmake release\Kiwi8.exe

- name: Verify binary and dependencies
Expand Down Expand Up @@ -151,6 +153,7 @@ jobs:
run: |
cd linux
make clean
make release/profiles.ini
make release/Kiwi8

- name: Verify binary and dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
- name: Create Windows release archive
shell: powershell
run: |
Compress-Archive -Path Kiwi8.exe, SDL2.dll -DestinationPath Kiwi8-${{ github.ref_name }}-Windows-${{ matrix.arch }}.zip
Compress-Archive -Path Kiwi8.exe, SDL2.dll, profiles.ini -DestinationPath Kiwi8-${{ github.ref_name }}-Windows-${{ matrix.arch }}.zip

- name: Upload Windows build to Release
uses: softprops/action-gh-release@v2
Expand All @@ -94,7 +94,7 @@ jobs:

- name: Create Linux release archive
run: |
tar czf Kiwi8-${{ github.ref_name }}-Debian-${{ matrix.arch }}.tar.gz Kiwi8 libSDL2-2.0.so.0
tar czf Kiwi8-${{ github.ref_name }}-Debian-${{ matrix.arch }}.tar.gz Kiwi8 libSDL2-2.0.so.0 profiles.ini

- name: Upload Linux build to Release
uses: softprops/action-gh-release@v2
Expand Down
29 changes: 13 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,19 @@ in C-style C++ using SDL2, ImGui, and OpenGL.

## Features

- Windows and MacOS
- Windows, MacOS, and Linux (Debian)
- Resizable Window
- Graphical user interface
- Audio
- Color customizer
- CPU frequency selection
- FPS limiter
- Audio beep
- Command line support
- No SCHIP support
- Configurable quirks
- ROM profiles

## Controls


controls <--> keybindings

1 2 3 C 1 2 3 4
Expand All @@ -49,19 +51,14 @@ in C-style C++ using SDL2, ImGui, and OpenGL.

## Usage

Kiwi8 [options] [rom]
Kiwi8 [options] [rom_file]
Options:
-F Fullscreen
-M Mute audio
-L Disable load/store quirk
-S Disable shift quirk
-V Disable vertical wrapping
-H Enable horizontal wrapping (DXYN)
-J Enable jump with VX offset (BNNN)
-G Enable logic ops VF=0 (8XY1/2/3)
-I Enable I+VX overflow quirk (FX1E)
-D Enable draw flag reset quirk
-h, --help Show this help message
-f, --fullscreen Start in fullscreen
-m, --muted Start with audio muted
-p, --profiles <path> Use a custom profiles.ini file
-h, --help Show this help message

Note: Quirks are configured per-ROM via profiles.ini or GUI.

## Building on Windows

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include <SDL2/SDL.h>
#include <SDL2/SDL_syswm.h>
#include <SDL2/SDL_opengl.h>
#include <imgui.h>
#include "imgui.h"
#include "imgui_impl_sdl.h"

// Data
Expand Down
File renamed without changes.
Loading
Loading