Commit Graph
31 Commits
Author SHA1 Message Date
Matthew Laux a86b4bf3eb Merge branch 'optimize-lcd' into optimize-bank-switch 2026-08-07 20:06:54 -05:00
Matthew Laux 24f33dbfb4 add a warning for virtual memory being turned on 2026-08-06 23:22:08 -05:00
Matthew Laux df3b9e0b7c vertical scroll optimization part 1 2026-08-05 20:46:01 -05:00
Matthew Laux 91bfca6039 remove dead code 2026-08-04 17:39:06 -05:00
Matthew Laux 9eab2e1f2f be a better Mac citizen and reorganize emulator.c
* aloow opening ROMs from finder when the app is already open
* set "Missing application name resource" in saves/cache files
* show alert when opening a cache file
2026-08-04 01:05:41 -05:00
Matthew Laux 51fcfe60f2 add icons for block cache 2026-07-30 16:56:56 -05:00
Matthew Laux bd509d708b support 2 and 4 bit screens 2026-07-30 16:46:23 -05:00
Matthew Laux 565e41e32d remove useless video_mode pref 2026-07-24 16:13:54 -05:00
Matthew Laux 4e25b82397 new menu layout! remove preferences dialog 2026-07-24 16:09:50 -05:00
Matthew Laux 75d52dc882 optimize LCD by only drawing changed rows 2026-07-13 17:31:40 -05:00
Matthew Laux 5464e0721f remove STAT throttling, add a menu option instead 2026-07-12 17:39:17 -05:00
Matthew Laux ed37a7c185 half-remove cycles_per_exit, optimize STAT interrupts, but will remove 2026-07-12 17:18:06 -05:00
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