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
- Uses what I call "C-Style C++"
- Opts 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
- Uses what I call "C-Style C++"
- 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 #26
- Make app version dynamic by @tomdaley92 in #27
- Update Project Structure and Builds by @tomdaley92 in #28
- Improve Builds by @tomdaley92 in #30
- Fix release uploads by @tomdaley92 in #31
- Test squash merge by @tomdaley92 in #33
- Better MacOS releases by @tomdaley92 in #35
- dmg release only by @tomdaley92 in #36
- Feature/dmg release only by @tomdaley92 in #38
- Add build matrix amd64 and arm64 by @tomdaley92 in #43
- Fix release uploads and arm64 macos builds by @tomdaley92 in #44
- Fix uploads by @tomdaley92 in #45
- Test/Fix linux builds by @tomdaley92 in #46
- Improve Audio by @tomdaley92 in #51
- Implement remaining quirks by @tomdaley92 in #52
- Add rom profiles by @tomdaley92 in #53
- refactor by @tomdaley92 in #54
- Clean up by @tomdaley92 in #55
- Refactor by @tomdaley92 in #56
- Use sha256 for rom hashing by @tomdaley92 in #57
- Clean Up by @tomdaley92 in #59
- Handle limits better by @tomdaley92 in #62
- Minor Refactor by @tomdaley92 in #63
- Bugfix - profiles struct size ABI mismatch by @tomdaley92 in #64
- Statically link C Runtime on Windows with MSVC by @tomdaley92 in #68
- Update README by @tomdaley92 in #69
- Chores by @tomdaley92 in #70
- Update copyright string by @tomdaley92 in #76
- Refactor profiles dot c by @tomdaley92 in #75
- leave external source untouched. add impl files to shared source by @tomdaley92 in #77
Full Changelog: v1.03...2.0.0