19 Commits

Author SHA1 Message Date
Tanner Fokkens 39d9dcca74 Forgot to add other files... 2026-02-01 15:29:19 -08:00
Tanner Fokkens 83054f8e45 Add Ignore Double Speed option for CGB performance
Games running in double-speed mode (8MHz) cause the emulator to execute
twice as many instructions per frame. This option ignores the double-speed
flag, treating all execution as normal speed for better performance on
slower Macs while maintaining correct frame timing.

- Add menu toggle in Options menu
- Save/load preference to resource file
- Check flag in dmg_sync_hw() when calculating PPU cycles
2026-02-01 00:58:48 -08:00
Tanner Fokkens 9bb5705759 Add Game Boy Color support
- New CGB state management (cgb.c/cgb.h)
  - VRAM banking (VBK register)
  - WRAM banking (SVBK register, banks 1-7)
  - Speed switching (KEY1 register)
  - HDMA transfers (HDMA1-5 registers)
  - CGB palette registers (BCPS/BCPD, OCPS/OCPD)

- CGB rendering (lcd_cgb.c, lcd_mac_cgb.c)
  - Tile attributes from VRAM bank 1
  - Per-tile palettes, H/V flip, priority
  - 8 background and 8 sprite palettes
  - RGB555 to Mac indexed color conversion

- JIT initialization sets A=$11 for CGB mode detection

- UI: "Run as GBC" menu option, .gbc file filter

Working: Tetris DX, Pokemon Gold
Known issues: Crystal, SMB Deluxe, LADX hang at boot
2026-02-01 00:57:25 -08:00
Matthew Laux 3a78378b1f add palette picker 2026-01-28 23:16:35 -06:00
Matthew Laux 1cbad8b28f second round of polish. v1.2.0 2026-01-24 20:30:13 -06:00
Matthew Laux 7ec78c3267 first round of final tweaks before release 2026-01-24 17:37:15 -06:00
Matthew Laux fb9c430397 clean up externs, make indentation consistent in jit, add some comments 2026-01-14 17:33:01 -06:00
Matthew Laux 9f91bd7526 add 1x scale, audio refactor and fix wave frequency issue, remove crazy SP detection and always go through dmg_read/write 2026-01-13 21:47:25 -06:00
Matthew Laux a300513020 fix about dialog issue on system 7 2026-01-13 00:55:32 -06:00
Matthew Laux d56820db85 default to fastest settings 2026-01-13 00:23:09 -06:00
Matthew Laux 464efb2b6d select video mode with options dialog 2026-01-10 13:36:25 -06:00
Matthew Laux eaef7441ed color mac support 2026-01-10 02:43:00 -06:00
Matthew Laux ea687bed84 finish options dialog 2026-01-08 20:28:10 -06:00
Matthew Laux bc0d76b573 add preferences dialog 2026-01-08 12:20:05 -06:00
Matthew Laux da0e9dffca use key mappings, load/save key mappings, experiment with interrupt check every 16 scanlines 2026-01-08 10:28:09 -06:00
Matthew Laux e414a4b458 finish key mapping dialog 2026-01-08 01:35:42 -06:00
Matthew Laux b8a338b461 key mapping dialog 2026-01-08 01:04:13 -06:00
Matthew Laux c6377b8b3d remove pointless unity build from compiler version 2026-01-03 14:26:04 -06:00
Matthew Laux 92337afcb8 split out system6's main more, rest of the inlining 2025-12-29 19:13:50 -06:00