Commit graph

184 commits

Author SHA1 Message Date
Matthew Berry
ea2d4ce50e basic working affine sprite impl 2021-01-17 18:38:27 -08:00
Matthew Berry
480f4b181b very rough start to affine sprites 2021-01-16 12:30:14 -08:00
Matthew Berry
99ac277ca0 implement affine wrap 2021-01-16 01:59:37 -08:00
Matthew Berry
d5e05f0f88 affine bg working! minus wrap 2021-01-15 00:16:25 -08:00
Matthew Berry
d8f03b8ff6 a rough start to getting affine background working 2021-01-14 08:52:41 -08:00
Matthew Berry
4247cf139d stub flash so that pokemon games boot 2021-01-11 23:10:49 -08:00
Matthew Berry
4f1218cf54 scale dma b with dma b volume instead of dma a volume 2021-01-10 12:33:18 -08:00
Matthew Berry
2c87495836 ignore writes to mmio 0x71 2021-01-09 23:17:48 -08:00
Matthew Berry
63ec32b595 fix instant dma - load dma sad/dad before trigger 2021-01-08 08:54:32 -08:00
Matthew Berry
f6fa9f9711 8bpp sprites 2021-01-07 21:54:18 -08:00
Matthew Berry
cb3280fea6 sprite flipping 2021-01-06 00:02:09 -08:00
Matthew Berry
b29bc55df9 mode 0 proper bg and obj layering 2021-01-05 21:34:09 -08:00
Matthew Berry
c0b9f7689e handle sprite wrapping 2021-01-04 00:02:47 -08:00
Matthew Berry
1ccbf7325d tab to uncap fps 2021-01-03 22:48:39 -08:00
Matthew Berry
1bc697f081 adjusted dma vs psg balance 2021-01-03 19:04:24 -08:00
Matthew Berry
e205057788 reduce tile indexing logic 2021-01-03 18:00:38 -08:00
Matthew Berry
0c5be3a7ed basic sprite implementation 2021-01-03 00:24:21 -08:00
Matthew Berry
8d34375d72 support 8bpp 2021-01-02 23:34:44 -08:00
Matthew Berry
026e8390ee don't render disabled background layers 2021-01-02 00:46:55 -08:00
Matthew Berry
452bd0c75a handle background priority mode 0 2021-01-01 23:04:16 -08:00
Matthew Berry
f1f59c3ce6 abstract bg reg reads/writes, clear scanline before render, decouple scanline row 2020-12-31 00:12:15 -08:00
Matthew Berry
8e221d221e store framebuffer as Slice(UInt16) and batch writes, fix mode 5 bg color 2020-12-30 23:22:18 -08:00
Matthew Berry
f8914d4be3 move dma/timer puts to logs 2020-12-30 00:03:21 -08:00
Matthew Berry
468631666c ignore writes to apu 0xA8..0xAF since they're unmapped 2020-12-29 22:52:51 -08:00
Matthew Berry
bf156dc18d proper dma sound sound control (volume, enable, balance) 2020-12-28 08:15:36 -08:00
Matthew Berry
df4ce8540e dma audio is actually playing the correct sounds! 2020-12-27 20:35:34 -08:00
Matthew Berry
ddb0d1f423 a rough start to fifo audio 2020-12-26 10:17:47 -08:00
Matthew Berry
b6e5c54da4 timer interrupts 2020-12-13 12:41:45 -08:00
Matthew Berry
1aab2cc5a8 allow writes to dma apu channels 2020-12-13 12:38:16 -08:00
Matthew Berry
4b6563773c fixed ppu interrupt flags 2020-12-13 12:37:07 -08:00
Matthew Berry
0c39869653 removed unused variables 2020-12-13 12:35:52 -08:00
Matthew Berry
106a14b5a6 very basic dma 2020-12-13 12:35:25 -08:00
Matthew Berry
9c2d135293 updated channel3 from cgb audio to gba audio 2020-12-11 23:41:44 -08:00
Matthew Berry
18eabafad1 change to_u8 to to_u8! to avoid bounds checks at runtime 2020-12-06 16:07:44 -08:00
Matthew Berry
524eeabd11 basic timer implementation, enough to make tonc tmr_demo mostly work
todo: proper cascade enable/disable
todo: interrupts from timers
2020-12-06 16:02:53 -08:00
Matthew Berry
50dc14eddb cleanup mmio range checks a little bit.. 2020-12-05 17:26:14 -08:00
Matthew Berry
9f65505731 handle volume and channel enable properly for gba 2020-12-05 14:39:37 -08:00
Matthew Berry
ac8319b19c basic apu support (copy from CryBoy w/ slight modification), scheduler short-circuit, scheduler clear 2020-12-05 12:25:55 -08:00
Matthew Berry
70913a4ee8 thumb alu fix neg handling 2020-12-01 00:10:23 -08:00
Matthew Berry
a79afb3817 add halting 2020-11-30 08:44:37 -08:00
Matthew Berry
042b76d910 passing destoer isr test, booting kirby, failing tonc irq_demo
- handle exception returns after alu
- proper spsr banking
- fill pipeline before interrupts
- align r15 before each pipeline fill
2020-11-28 00:07:21 -08:00
Matthew Berry
b6346536d5 added support for a basic cli debugger 2020-11-27 00:24:33 -08:00
Matthew Berry
e48c186068 properly handle if ack 2020-11-26 12:18:36 -08:00
Matthew Berry
327904b6d6 fix oam writes, fix print_state when -Dtrace is not provided 2020-11-23 08:16:33 -08:00
Matthew Berry
c190adfca2 arm ldm/stm handle empty list & base in list, pass all of gba-suite 2020-11-22 18:02:59 -08:00
Matthew Berry
c51ffe83ae account for prefetch on str r15, write back when str && rd==rn 2020-11-22 15:47:51 -08:00
Matthew Berry
33e3cc8e09 account for prefetch on str r15, write back when str && rd==rn 2020-11-22 12:03:45 -08:00
Matthew Berry
902fb9c9ef fix negative / zero flags on long multiply 2020-11-22 12:03:14 -08:00
Matthew Berry
768457178f psr transfer - properly generate mask (gbatek is right, arm manual is wrong) 2020-11-22 12:02:10 -08:00
Matthew Berry
357ca9f0d4 align print_state with mgba's trace, move trace flag check to caller 2020-11-22 01:10:33 -08:00