Kiwi8

Émulateur v1.03

Émulateur du language interprété Chip-8 pour macOS Intel.

Dernière mise à jour :

Plateformes

Autres ordinateurs

Architecture

Mac OS X - macOS Mac OS X - macOS Intel x86 Intel x86 64 bits 64 bits SDL Library SDL Library

Téléchargement et liens

Historique des versions

v2.0.0
Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44
separate debug/release builds
Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64
Update Project Structure and Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/28
Improve Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/30
Fix release uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/31
Better MacOS releases by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/35
Feature/dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/38
Changelog complet
**Summary:** - Add linux builds (Ubuntu/Debian with GTK3) - Implement remaining quirks - Add some basic CI pipelines for GitHub Actions - lint - build - release - Compile for arm64 architecture in addition to X86_64 - Add quirks profiles system - minimal INI format as to not require extra parser libs - lookup ROMs via SHA256 - profiles.ini shipped with executables with common quirk defaults - profiles editable via profiles.ini file or within GUI - Redo audio - switch from sine wave to square wave - use SDL2's callback audio instead of queued audio system (lower latency) - Refactor almost everything - Use what I call "C-Style C++" - Opt for the "more old-school" ANSI C (C89/C11) style - Only use C++ where necessary - main.cc (for overall linking) - gui.cc (required for imgui c++ lib) - No more dumb OOP and weird C++ keywords - Rewrite makefiles - uses platform native make/compiler toolchain - incremental compilation - cached sdl builds - separate debug/release builds - easily modifiable/extendable - Move from GPL to MIT license (more permissive) - Generate license and bootrom headers from source - Provide platform (compressed) redistributables - linux tarball - windows zip - macos dmg - Add toast style notifications --- ## What's Changed * Update Some Things by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/26 * Make app version dynamic by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/27 * Update Project Structure and Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/28 * Improve Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/30 * Fix release uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/31 * Test squash merge by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/33 * Better MacOS releases by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/35 * dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/36 * Feature/dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/38 * Add build matrix amd64 and arm64 by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/43 * Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44 * Fix uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/45 * Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46 * Improve Audio by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/51 * Implement remaining quirks by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/52 * Add rom profiles by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/53 * refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/54 * Clean up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/55 * Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/56 * Use sha256 for rom hashing by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/57 * Clean Up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/59 * Handle limits better by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/62 * Minor Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/63 * Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64 * Statically link C Runtime on Windows with MSVC by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/68 * Update README by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/69 * Chores by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/70 * Update copyright string by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/76 * Refactor profiles dot c by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/75 * leave external source untouched. add impl files to shared source by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/77 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/v1.03...2.0.0
v2.0.0rc7
Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44
Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64
Update Project Structure and Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/28
Improve Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/30
Fix release uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/31
Better MacOS releases by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/35
Feature/dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/38
Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46
Changelog complet
## What's Changed * Update Some Things by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/26 * Make app version dynamic by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/27 * Update Project Structure and Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/28 * Improve Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/30 * Fix release uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/31 * Test squash merge by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/33 * Better MacOS releases by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/35 * dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/36 * Feature/dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/38 * Add build matrix amd64 and arm64 by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/43 * Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44 * Fix uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/45 * Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46 * Improve Audio by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/51 * Implement remaining quirks by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/52 * Add rom profiles by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/53 * refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/54 * Clean up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/55 * Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/56 * Use sha256 for rom hashing by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/57 * Clean Up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/59 * Handle limits better by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/62 * Minor Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/63 * Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64 * Statically link C Runtime on Windows with MSVC by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/68 * Update README by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/69 * Chores by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/70 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/v1.03...2.0.0rc7
v2.0.0rc6
Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44
Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64
Update Project Structure and Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/28
Improve Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/30
Fix release uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/31
Better MacOS releases by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/35
Feature/dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/38
Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46
Changelog complet
## What's Changed * Update Some Things by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/26 * Make app version dynamic by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/27 * Update Project Structure and Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/28 * Improve Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/30 * Fix release uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/31 * Test squash merge by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/33 * Better MacOS releases by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/35 * dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/36 * Feature/dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/38 * Add build matrix amd64 and arm64 by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/43 * Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44 * Fix uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/45 * Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46 * Improve Audio by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/51 * Implement remaining quirks by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/52 * Add rom profiles by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/53 * refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/54 * Clean up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/55 * Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/56 * Use sha256 for rom hashing by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/57 * Clean Up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/59 * Handle limits better by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/62 * Minor Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/63 * Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64 * Statically link C Runtime on Windows with MSVC by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/68 * Update README by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/69 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/v1.03...2.0.0rc6
v2.0.0rc5
Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44
Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64
Update Project Structure and Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/28
Improve Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/30
Fix release uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/31
Better MacOS releases by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/35
Feature/dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/38
Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46
Changelog complet
## What's Changed * Update Some Things by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/26 * Make app version dynamic by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/27 * Update Project Structure and Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/28 * Improve Builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/30 * Fix release uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/31 * Test squash merge by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/33 * Better MacOS releases by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/35 * dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/36 * Feature/dmg release only by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/38 * Add build matrix amd64 and arm64 by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/43 * Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44 * Fix uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/45 * Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46 * Improve Audio by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/51 * Implement remaining quirks by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/52 * Add rom profiles by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/53 * refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/54 * Clean up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/55 * Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/56 * Use sha256 for rom hashing by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/57 * Clean Up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/59 * Handle limits better by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/62 * Minor Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/63 * Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64 * Statically link C Runtime on Windows with MSVC by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/68 * Update README by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/69 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/v1.03...2.0.0rc5
v2.0.0rc4
Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64
Changelog complet
## What's Changed * Minor Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/63 * Bugfix - profiles struct size ABI mismatch by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/64 * Statically link C Runtime on Windows with MSVC by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/68 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/2.0.0rc3...2.0.0rc4
v2.0.0rc3
Clean Up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/59
Handle limits better by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/62
Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/2.0.0rc2...2.0.0rc3
Changelog complet
## What's Changed * Clean Up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/59 * Handle limits better by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/62 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/2.0.0rc2...2.0.0rc3
v2.0.0rc2
refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/54
Clean up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/55
Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/56
Use sha256 for rom hashing by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/57
Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/2.0.0rc1...2.0.0rc2
Changelog complet
## What's Changed * refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/54 * Clean up by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/55 * Refactor by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/56 * Use sha256 for rom hashing by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/57 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/2.0.0rc1...2.0.0rc2
v2.0.0rc1
improve audio latency and change to square wave from sine wave
Add Github Actions builds and releases
add linux builds (Ubuntu) but should compile easily for any debian based distro with gtk3
supply ARM64 binaries in addition to x86_64 for all platforms
Changelog complet
## What's Changed * Implement remaining quirks by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/52 * Add rom profiles by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/53 * improve audio latency and change to square wave from sine wave * rethink cli options * add toast gui notifications * add linux builds (Ubuntu) but should compile easily for any debian based distro with gtk3 * supply ARM64 binaries in addition to x86_64 for all platforms * distribute in platform de facto archive format * Add Github Actions builds and releases
v0.1.0rc8
Implement remaining quirks by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/52
Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/0.1.0rc7...0.1.0rc8
Changelog complet
## What's Changed * Implement remaining quirks by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/52 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/0.1.0rc7...0.1.0rc8
v0.1.0rc7
Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/0.1.0rc6...0.1.0rc7
Changelog complet
**Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/0.1.0rc6...0.1.0rc7
v0.1.0rc6
Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46
Improve Audio by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/51
Changelog complet
## What's Changed * Test/Fix linux builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/46 * Improve Audio by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/51 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/0.1.0rc5...0.1.0rc6
v0.1.0rc5
Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44
Fix uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/45
Changelog complet
## What's Changed * Fix release uploads and arm64 macos builds by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/44 * Fix uploads by @tomdaley92 in https://github.com/Diesel-Net/kiwi-8/pull/45 **Full Changelog**: https://github.com/Diesel-Net/kiwi-8/compare/0.1.0rc3...0.1.0rc5
v1.03
Improvements/changes:
Binaries built and tested on Windows 10 and MacOS Sierra.
Planned for future releases:
Changelog complet
The application is now back to running on a single thread while keeping the CPU usage down to a minimum. Most of the work in this release was done on the GUI and getting Audio up and running. Switched from using SDL's 2D-rendering API to raw OpenGL 2.0 which allowed for compatibility with ImGui. The Project will now be referred to as Kiwi8. Improvements/changes: - Project name change - GUI - Audio Here's an incomplete list of programs and their required quirks to run properly: [ROM Compatibility](https://github.com/tomdaley92/Kiwi8/issues/9) *Binaries built and tested on Windows 10 and MacOS Sierra. :warning: **PLEASE NOTE:** There may be a security warning from chrome or when launching the application for the first time on Windows because of the use of fopen() as opposed to fopen_s() in an effort to keep the code as portable as possible. Planned for future releases: - GUI debugger - Assembler/Disassembler - SCHIP support
v1.02
Overall, this build is much more stable and offers significantly higher ROM compatibility. The instruction speed is now adjustable with the PageUp and PageDown keys (Fn + ArrowUp and Fn+ ArrowDown on MacOS).
Improvements/Changes:
Opcode fixes (DXYN, 8XYE, FX0A, and others)
Binaries built and tested on Windows 10 and MacOS Sierra.
Built in GUI debugger
Variable instruction speed
Planned for future releases:
Changelog complet
Improvements/Changes: - Passes all standard CHIP-8 tests with "SC Test.ch8" (displays error 23, which is the first SCHIP test) - Rendering/event/timing systems overhauled - Opcode fixes (DXYN, 8XYE, FX0A, and others) - Two more command line options (chip-8 quirks) - Variable instruction speed Overall, this build is much more stable and offers significantly higher ROM compatibility. The instruction speed is now adjustable with the PageUp and PageDown keys (Fn + ArrowUp and Fn+ ArrowDown on MacOS). All the rendering is now done on the main thread since SDL's Render API is not designed to be used from multiple threads. This finally knocked out the full-screen toggling issue on MacOS while keeping the CPU usage extremely low. There are two new options added to the interpreter that allow you to enable the two quirks of the CHIP-8 CPU. Some games require these quirks to be **ENABLED** to run correctly. They are **DISABLED** by default. `Load/Store quirks - Instructions 0xFX55 and 0xFX65 increment the value of the I register but some CHIP-8 programs assume that they don't. Enabling this quirk causes the I register to become unchanged after the instruction.` `Shift quirks - Shift instructions 0x8XY6 and 0x8XYE originally shift register VY and store the result in register VX. Some CHIP-8 programs incorrectly assume that the VX register is shifted by this instruction, and that VY remains unmodified. Enabling this quirk causes VX to become shifted with VY remaining untouched.` Here's an incomplete list of programs and their required quirks to run properly: https://github.com/tomdaley92/Chip8/issues/9 *Binaries built and tested on Windows 10 and MacOS Sierra. Planned for future releases: - Config files support - Audio - Built in GUI debugger - Assembler/Disassembler - SCHIP instructions support
v1.01
New multi-threaded implementation that drastically reduces CPU usage. Removed deprecated MacOS function call. Major improvements to full-screen toggling (much smoother and no more flicker).
Binaries built and tested on Windows 10 and MacOS Sierra.
Built in GUI debugger
Planned for future releases:
Variable instruction execution speed
Changelog complet
New multi-threaded implementation that drastically reduces CPU usage. Removed deprecated MacOS function call. Major improvements to full-screen toggling (much smoother and no more flicker). *Binaries built and tested on Windows 10 and MacOS Sierra. Planned for future releases: - Variable instruction execution speed - Audio - Built in GUI debugger - Assembler/Disassembler - SCHIP instructions support
v1.0
Binaries built and tested on Windows 10 and Mac OS X El Capitan.
Built in GUI debugger
Planned for future releases:
Variable instruction execution speed
Changelog complet
This is a good point for a first stable release. All core features are implemented with the exception of audio. Most games/programs are playable at this point. The interpreter executes approximately 540 instructions per second (~2ms delay between instructions) and the timers count down at 60hz (~16ms delay between decrements). *Binaries built and tested on Windows 10 and Mac OS X El Capitan. Planned for future releases: - Variable instruction execution speed - Audio - Built in GUI debugger - Assembler/Disassembler - SCHIP instructions support