Matthew Laux
|
9395b336e9
|
make wram_base and hram_base required, make dmg_new take RAM arrays, simplify and de-hack stack paths
|
2026-08-12 19:49:00 -05:00 |
|
Matthew Laux
|
9142963262
|
migrate to 4k page size - bank switch optimization pt 2
|
2026-08-07 20:06:24 -05:00 |
|
Matthew Laux
|
7610d3ce96
|
biased page tables, scaled index on 68020+, interrupt fixes (that may or may not have actually improved compatibility)
|
2026-07-08 20:12:32 -05: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
|
49611878ff
|
split test_exec into files by test categories
|
2026-01-22 01:42:55 -06:00 |
|
Matthew Laux
|
d627b7265b
|
re-add SP range detection, avoid copying lcd pixels twice
|
2026-01-21 21:20:42 -06:00 |
|
Matthew Laux
|
698fe41688
|
more efficient context switch into JIT, remove old compiler files, fix vblank flag bug
|
2026-01-04 17:45:52 -06:00 |
|
Matthew Laux
|
5cecc6cbb1
|
break out ALU ops and register loads, gets further in tetris now
|
2025-12-23 18:10:45 -06:00 |
|
Matthew Laux
|
3d0ef51bb2
|
split out compile_dmg_*, fix alignment bug for dmg_write, add more instructions, hacky lcd update for jit
|
2025-12-19 17:05:12 -06:00 |
|
Matthew Laux
|
567041d1c3
|
ton of compiler improvements and new instructions
|
2025-12-18 20:16:00 -06:00 |
|
Matthew Laux
|
28e5bc5c93
|
add basic compiler support to system6 version, xor a, split a bunch of stuff into different files
|
2025-12-17 23:28:17 -06:00 |
|
Matthew Laux
|
18b028292e
|
add native test runner, remove useless test counter
|
2025-12-17 16:43:28 -06:00 |
|
Matthew Laux
|
7edf9403f8
|
rearrange registers again
|
2025-12-14 23:09:16 -06:00 |
|
Matthew Laux
|
57f35f2c34
|
ld (bc), a and ld a, (bc), about to change the register allocation again
|
2025-12-14 20:03:09 -06:00 |
|
Matthew Laux
|
ef37993ace
|
reallocate registers
|
2025-12-14 19:13:05 -06:00 |
|
Matthew Laux
|
0b8e8c1c60
|
add jump + dispatcher thing, rename basic_block, remove useless unit tests
|
2025-12-13 23:20:50 -06:00 |
|
Matthew Laux
|
25e759b456
|
add ld 16 bit immediate
|
2025-12-13 18:16:08 -06:00 |
|
Matthew Laux
|
ea143ae774
|
rest of the ld reg, immediate
|
2025-12-13 17:33:33 -06:00 |
|
Matthew Laux
|
38c54f1cdf
|
split tests into separate files
|
2025-12-12 17:59:04 -06:00 |
|