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