236 Commits

Author SHA1 Message Date
d30a4d7ee5 feat: implement Hblank and Vcount Interrupts
Also implemented unique behaviour when writing to IF
2022-10-21 05:12:22 -03:00
d1fce8ba75 chore: improve Bus log + panic messages 2022-10-21 05:12:22 -03:00
0f74e4fcf9 chore: improve io.zig 2022-10-21 05:12:22 -03:00
4afcbd0957 feat: implement mirroring for IWRAM EWRAM, OAM and PALRAM
Also realized I confused IWRAM and EWRAM. This is also fixed
TODO: Implemnt Mirroring for VRRAM
2022-10-21 05:12:22 -03:00
50dc31447d fix: resolve integer overflow in BG0 Drawing 2022-10-21 05:12:22 -03:00
acf1a10f91 chore: don't panic on 32-bit I/O 2022-10-21 05:12:21 -03:00
606f9b959a chore: stub CPU HALTing 2022-10-21 05:12:21 -03:00
f19b42baf3 chore: correct logic errors in map size 1 and 3 2022-10-21 05:12:21 -03:00
2a3d0c8b0d chore: properly write to VOFS and HOFS in 32-bit bus 2022-10-21 05:12:21 -03:00
4405fa6bbf feat: implement hofs and vofs on io bus 2022-10-21 05:12:21 -03:00
e2b2bf882a feat: implement scrolling 2022-10-21 05:12:21 -03:00
08e4eb1bf1 feat: add support for multiple BGs in Mode 0 2022-10-21 05:12:20 -03:00
f4b176a813 feat: document mode 0 2022-10-21 05:12:20 -03:00
efc7d817db feat: Mode 0 MVP 2022-10-21 05:12:20 -03:00
1b17b1eb0c chore: use zig slices for fun 2022-10-21 05:12:20 -03:00
fab6d4c2a2 chore: give DISPCNT DISPSTAT and VCOUNT to PPU struct 2022-10-21 05:12:20 -03:00
223a3403c0 chore: give io read/write functions access to the entire Bus 2022-10-21 05:12:20 -03:00
dfd0d064de feat: implement BG Scrolling Registers 2022-10-21 05:12:19 -03:00
0c4882e658 feat: impelemnt BG0,1,2CNT and IF 2022-10-21 05:12:19 -03:00
bfdad9fa32 feat: implement OAM 2022-10-21 05:12:19 -03:00
37fd8dab84 chore: squash bugs preventing swi_demo.gba from working 2022-10-21 05:12:19 -03:00
c143aefb01 chore(cpu): reimplement bank switching logic 2022-10-21 05:12:19 -03:00
05bf245b5a fix: don't mask away MSB in THUMB.5 add 2022-10-21 05:12:19 -03:00
f9e7128061 fix: properly decode format 11 instructions 2022-10-21 05:12:18 -03:00
603e4b6fdf chore: make use of scoped logging 2022-10-21 05:12:18 -03:00
9ed37340cc Merge branch 'main' of ssh://musuka.dev:2222/paoda/zba 2022-10-21 05:12:18 -03:00
599a1f2973 chore: remove TODOs and some useless imports 2022-10-21 05:12:18 -03:00
22424ca69c fix: improper condition check and initialization of register 2022-10-21 05:12:18 -03:00
67a785cc22 fix(cpu): force align thumb and arm block data transfers 2022-10-21 05:12:18 -03:00
4a4663607e chore: update README 2022-10-21 05:12:17 -03:00
4eb3842606 feat: pass arm.gba 2022-10-21 05:12:17 -03:00
1ee8b51b2b chore: reimplement ARM LDM/STM 2022-10-21 05:12:17 -03:00
130310e5cc chore: improve arm ldm/stm 2022-10-21 05:12:17 -03:00
e933d7e5c7 fix(cpu): force-align SWP reads and writes 2022-10-21 05:12:17 -03:00
44e8b5b882 fix: force-align ARM STRH reads 2022-10-21 05:12:17 -03:00
28361e8b7d fix: implement the same LDRSH logic as THUMB LDRSH 2022-10-21 05:12:16 -03:00
75921d6413 fix: PC is 12 ahead when it is rd in str and strb 2022-10-21 05:12:16 -03:00
17226d8f75 fix: listen to my past self
By deleting this line I go from test 234 to test 355 in arm.gba
2022-10-21 05:12:16 -03:00
0166999446 chore: update SDL.zig 2022-10-21 05:12:16 -03:00
2cb1bf834a chore: dont use std.mem.bytesToValue
the stdlib accounts for endianness, which isn't something we want.
2022-10-21 05:12:16 -03:00
8006ca31e6 chore: remove unnecessary @as calls 2022-10-21 05:12:16 -03:00
82b92b4733 feat: pass thumb.gba 2022-10-21 05:12:15 -03:00
bf42d3ae2f chore: account for empty rlist in THUMB LDM/STM 2022-10-21 05:12:15 -03:00
f63ae76931 fix(cpu): handle edge case in LDRSH 2022-10-21 05:12:15 -03:00
feded4ac25 chore: specify which compiler this project is built with 2022-10-21 05:12:15 -03:00
f046787523 chore: reorganize util.zig 2022-10-21 05:12:15 -03:00
bbd73550e8 fix: zero initialize all allocated memory 2022-10-21 05:12:15 -03:00
fce560dd89 chore: don't commit *.sh files 2022-10-21 05:12:14 -03:00
4776dc0788 Revert "fix: allow for 32-bit reads to KEYINPUT"
This reverts commit 3a51707280bcb35f3397c8a6da8441f95629bf07.
2022-10-21 05:12:14 -03:00
d8bd6da563 fix: resolve decoding mixup in THUMB format 8 instructions 2022-10-21 05:12:14 -03:00