Releases: indigodarkwolf/box16
Non-Release 48.0.0
This Non-Release updates Box16 to support x16emu's r48 ROM release. Honestly, there's been a lot of work in the past two years and I hope I credited it all appropriately. Most of it was internal, as the CommanderX16 is feature complete and has even had its first production run. Congratulations to everyone on the Commander X16 team!
As always: Bug reports welcome. PRs welcome.
Pre-built Windows zip files are available for Box16. You still need to build or acquire your own rom.bin from the official X16 emulator's r48 release, just place it in the same directory as Box16.exe.
Changelist:
- VERA
- Set ISR bits upon VSYNC or LINE IRQs irrespective of what is in IEN (mooinglemur)
- Safety frame mask should only show by default on certain video modes.
- Ported VERA FX support (mooinglemur)
- Debugging features
- Fixed incorrect display of CPU registers. (cosmicr)
- Added R/W data breakpoints.
- Added descriptive reason when dumping system memory file. (irmen)
- Added "Smart Stack", which should show improved stack context information and follow manual changes to SP.
- .sym files will auto-load if located in the same directory as a .prg file that loads.
- CPU visualization can now support resizing the visualization picture.
- Added debug registers to write character to console (irmen)
- "-sym" now supports a comma-delimited bank number.
- Added Boxmon console, supporting a number of Monitor console commands from the VICE emulator.
- Added -memorystats to show memory access counts by address.
- Fixes to disassembler display.
- Added Ca, Cl, Cm, and Co options for -trace builds. (FlightControl-User)
- Hardware features
- Fix to reading PRA register on VIA chips.
- "-ram" now supports intervals of 8KB, not powers of 2.
- Cartridge support.
- Banked ROM support.
- RAM is now randomized by default, specify -zeroram to zero memory instead. (irmen)
- Added vector pull support on interrupts. (mooinglemur)
- Display
- Palette color pickers now result in VERA-compatible colors, but the gradient still renders full 24-bit color.
- Moved main display to a subwindow (akumanatt)
- Command-line options
- Fix to "-wav filename,auto" option
- Removed "-patch" option.
- Added "-fullscreen" option (irmen)
- Internals
- Changes mouse movement processing. (akumanatt)
- Speed improvements in "-warp" mode.
- Improved pause/unpause support in wav recording.
- Removed GEOS option and references (Frosty-J)
- Changed OpenGL launcher from glew to glad, should support more OpenGL contexts on Linux.
- Updated ImGui to v1.89.6 (akumanatt)
- Support for automatically unpacking zlib-compressed files when loading a file, recompressing and overwriting the archive when saving the file.
- Improvements to file handling.
- Converted most string-parsing code from printf to fmtlib.
- Upgrade to C++23.
- Makefile now uses $(CXX) instead of g++ (irmen)
Non-Release 41.1.0
This Non-Release updates Box16 to support x16emu's r41 ROM release. Technically there wasn't a whole lot to update from r40 to r41, and I'd even forgotten to update the program's versioning info. This non-release, however, includes a variety of fixes, improvements, and updates that don't break the behavior of the r41 ROM.
As always: Bug reports welcome. PRs welcome.
Pre-built Windows zip files are available for Box16. You still need to build or acquire your own rom.bin from the official X16 emulator's r41 release, just place it in the same directory as Box16.exe.
Changelist:
- Improved hypercall performance
- -ignore_patch is now saved to ini file.
- Saving which panels are open.
- Keymappings now match r41 kernal.
- Optimized VIA timer implementation.
- Moved imgui.ini location to match box16.ini
- Added -nohypercalls to disable all hypercalls.
- Added VERA feature: AUDIO_CTRL bit 6 FIFO_EMPTY (ZeroByteOrg)
- Improved parsing of addresses when loading symbols from a VICE Label File. (claudiobrotto)
- Improved framerate consistency for 60Hz displays, possibly others too.
- Added -noemucmdkeys from x16emu (aliased to -nobinds)
- Added -wuninit from x16emu to print a warning when the X16 accesses uninitialized RAM.
- Added -randram from x16emu to randomize the contents of RAM, more closely matching hardware behavior.
- Added -widescreen from x16emu to display the X16's graphics in a widescreen format instead of the default 4:3.
- Disassembler improvements:
- Disassembler now follows into current RAM and ROM bank.
- Added inline buttons to toggle breakpoints in disassembler.
- Added 'F9' to toggle breakpoint on current instruction.
- Ported fixes/updates from x16emu:
- Usage text had wrong ISO type. commanderx16/x16-emulator#404
- Fixed 65C02 WAI instruction behavior. commanderx16/x16-emulator#434
- Fixed 65C02 D flag on IRQ/NMI. commanderx16/x16-emulator#436
- Updated VERA IEN and IRQLINE_L/SCANLINE_L to match latest behavior in the VERA repo.
- Bugfixes:
- Fixed warp mode toggling.
- Fixed YM busy flag when emulator audio is disabled.
- Fixed crash on Linux when listing directories with subdirectories.
- Disabled patch loading when patch path exists but is empty. (jburks)
- Fixed RTC to increment on CPU simulation.
- Fixed various false-positives in a check that disabled v-sync.
- Pulled fix from Imgui to fix docked windows when the window is minimized.
- Fixed display of 16x16x1 w/ t256c tiles.
- Fixed empty default set to dump when the X16 detects a crash condition
- Fixed VIA writes to IFR registers
Non-Release 41.0.0
This Non-Release updates Box16 to support x16emu's r41 ROM release. Additionally, it moves imgui to their experimental "dockable" branch, and enables dockable imgui panels. A number of merged panels have been split into their own individual imgui panels.
As always: Bug reports welcome. PRs welcome.
Pre-built Windows zip files are available for Box16. You still need to build your own rom.bin from the official X16 emulator's r40 release, just place it in the same directory as Box16.exe.
Changelist:
- Support for r41 ROM
- Dockable imgui panels
Non-Release 40.0.0
This Non-Release focuses on catching up with r40 features and bugfixes from x16emu. With this, Box16 is finally back up to date with x16emu's official releases.
From here, the plan is to maintain parity with x16emu compatibility, bugfixes (of course), and the big thing on the radar is to update Box16's imgui libraries to support dockable panels, which would allow some substantial UI cleanup since certain panels won't need to be overburdened with a bunch of features in a single, vertical, mandatory group.
As always: Bug reports welcome. PRs welcome.
Pre-built Windows zip files are available for Box16. You still need to build your own rom.bin from the official X16 emulator's r40 release, just place it in the same directory as Box16.exe.
Changelist:
- Ported support for IEEE hypercalls from x16emu.
- Ported experimental support for serial devices from x16emu.
- Updated keycodes passed from SDL to X16.
- Ported support for debug register to disable keybinds.
- Updated/added a bunch of copyright notices.
Non-Release 39.3.0
This Non-Release focuses on catching up with the remaining r39 features and bugfixes that went in while @indigodarkwolf was busy with day job stuff, and overhauling some of the internals of Box16 since he was unhappy with the mess that had been created while troubleshooting past attempts to reconcile various conflicts between command-line parameters and path-search rules.
As always: Bug reports welcome. PRs welcome.
Pre-built Windows zip files are available for Box16. You still need to build your own rom.bin from the official X16 emulator's r39 release, just place it in the same directory as Box16.exe.
Changelist:
- Added support for VIA timers. (akumanatt)
- Can now change v-sync settings. (jburks)
- First pass at supporting patch files for ROM images.
- Command line and ini file options overhaul.
- Fix to resetting during WAI instruction.
- Added hypercall support for r39 rom's headerless LOAD command.
- Fixing BRA and BBxn cycles count. (akumanatt)
- Adjusting video timings to match actual VERA. (akumanatt)
Non-Release 39.2.3
Bugfixing Non-Release 39.2.3:
Whoops! Besides accidentally breaking flipped sprite rendering in some cases, turns out I really broke debugger breakpoints at some point. These should be fixed now!
Original release notes:
This Non-Release focuses on UI improvements and replacing the YM core! Special thanks to @akumanatt and @ZeroByteOrg for all the help. In short, we've replaced the Nuked YM2151, which was GPL-licensed, with the aaronsgiles/ymfm core, which is 3-clause BSD. We've also revamped a bunch of the debugging overlays, things are meaner and cleaner than they were before, which is awesome.
As always: Bug reports welcome. PRs welcome.
Pre-built Windows zip files are available for Box16. You still need to build your own rom.bin from the official X16's ROM source, just place it in the same directory as you unpacked the zip file.
Changelist:
- New to 39.2.2
- Fixed sprite flipping
- Fixed debugger breakpoints
- Internals
- Replaced the YM core with ymfm, a BSD 2-clause library.
- YM2151 now supports timers, IRQs, and strict enforcement of the busy status.
- (NEW 39.2.1) Internals are faster. Much, much faster.
- Removed a variety of redundant dll files (akumanatt)
- Fixed anisotropic filtering for display ("best" scaling option).
- Fixed middle mouse button support (ZeroByteOrg)
- Fixed YM2151 reset (ZeroByteOrg)
- Many overlays and UIs replaced or improved (akumanatt, et al)
- Added CPU visualization to show where/how the CPU is spending its time per frame.
- Added command-line parameter hints to tooltip on Options display.
- Added CPU stack to debugger
- Re-wrote PSG monitor (akumanatt)
- Added YM2151 monior (akumanatt)
- Improved Layer debugger (akumanatt)
- Improved Tile visualizer (akumanatt)
- Usability tweak to color picker
- Improved Sprite settings (akumanatt)
- Added basic MIDI support, it is now possible to play with the X16's audio devices via MIDI control.
- Fixed a variety of relatived and absolute pathing issues.
- Added support for "break" VICE label command in VICE label files.
- Moved YM2151 to r39 memory address
- Performance improvements
- Faster
rel
instruction. - Faster check for lo-RAM breakpoints.
- Faster
- Added WAV recorder
Non-Release 39.2.1
This Non-Release focuses on UI improvements and replacing the YM core! Special thanks to @akumanatt and @ZeroByteOrg for all the help. In short, we've replaced the Nuked YM2151, which was GPL-licensed, with the aaronsgiles/ymfm core, which is 3-clause BSD. We've also revamped a bunch of the debugging overlays, things are meaner and cleaner than they were before, which is awesome.
As always: Bug reports welcome. PRs welcome.
Pre-built Windows zip files are available for Box16. You still need to build your own rom.bin from the official X16's ROM source, just place it in the same directory as you unpacked the zip file.
Changelist:
- Internals
- Replaced the YM core with ymfm, a BSD 2-clause library.
- YM2151 now supports timers, IRQs, and strict enforcement of the busy status.
- (NEW 39.2.1) Internals are faster. Much, much faster.
- Removed a variety of redundant dll files (akumanatt)
- Fixed anisotropic filtering for display ("best" scaling option).
- Fixed middle mouse button support (ZeroByteOrg)
- Fixed YM2151 reset (ZeroByteOrg)
- Many overlays and UIs replaced or improved (akumanatt, et al)
- Added CPU visualization to show where/how the CPU is spending its time per frame.
- Added command-line parameter hints to tooltip on Options display.
- Added CPU stack to debugger
- Re-wrote PSG monitor (akumanatt)
- Added YM2151 monior (akumanatt)
- Improved Layer debugger (akumanatt)
- Improved Tile visualizer (akumanatt)
- Usability tweak to color picker
- Improved Sprite settings (akumanatt)
- Added basic MIDI support, it is now possible to play with the X16's audio devices via MIDI control.
- Fixed a variety of relatived and absolute pathing issues.
- Added support for "break" VICE label command in VICE label files.
- Moved YM2151 to r39 memory address
- Performance improvements
- Faster
rel
instruction. - Faster check for lo-RAM breakpoints.
- Faster
- Added WAV recorder
Non-Release 39.2.0
This Non-Release focuses on UI improvements and replacing the YM core! Special thanks to @akumanatt and @ZeroByteOrg for all the help. In short, we've replaced the Nuked YM2151, which was GPL-licensed, with the aaronsgiles/ymfm core, which is 3-clause BSD. We've also revamped a bunch of the debugging overlays, things are meaner and cleaner than they were before, which is awesome.
As always: Bug reports welcome. PRs welcome.
Pre-built Windows zip files are available for Box16. You still need to build your own rom.bin from the official X16's ROM source, just place it in the same directory as you unpacked the zip file.
Changelist:
- Internals
- Replaced the YM core with ymfm, a BSD 2-clause library.
- YM2151 now supports timers, IRQs, and strict enforcement of the busy status.
- Removed a variety of redundant dll files (akumanatt)
- Fixed anisotropic filtering for display ("best" scaling option).
- Fixed middle mouse button support (ZeroByteOrg)
- Fixed YM2151 reset (ZeroByteOrg)
- Many overlays and UIs replaced or improved (akumanatt, et al)
- Added CPU visualization to show where/how the CPU is spending its time per frame.
- Added command-line parameter hints to tooltip on Options display.
- Added CPU stack to debugger
- Re-wrote PSG monitor (akumanatt)
- Added YM2151 monior (akumanatt)
- Improved Layer debugger (akumanatt)
- Improved Tile visualizer (akumanatt)
- Usability tweak to color picker
- Improved Sprite settings (akumanatt)
- Added basic MIDI support, it is now possible to play with the X16's audio devices via MIDI control.
- Fixed a variety of relatived and absolute pathing issues.
- Added support for "break" VICE label command in VICE label files.
- Moved YM2151 to r39 memory address
- Performance improvements
- Faster
rel
instruction. - Faster check for lo-RAM breakpoints.
- Faster
- Added WAV recorder
Non-Release 39.1.0
The first public "non-release" of Box16, a fork of the Commander X16 Emulator. The goal will be to maintain 100% compatibility with the Official X16 Emulator. To that end, this is compatible with the official emulator as of tag 8852ddd, which is the closest we have at present to "r39".
Going public. Scary times.
Bug reports welcome. PRs welcome.
Pre-built Windows zip files are now available. I don't promise to keep up with these on future releases. :3 They're there for convenience. You still need to build your own rom.bin from the official X16's ROM source, just place it in the same directory as you unpacked the zip file.
Unfortunately, removed the pre-built binaries because of licensing concerns with one of the libs used in the project at the time they were build. Minor release coming soon with new ones!