Commit Graph

552 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka b27bf4a85c fix(cpu): perform MUL with u64s, throw away upper 32 bits 2022-02-01 16:15:08 -04:00
Rekai Nyangadzayi Musuka b07eb22b86 feat: implement keyboard input 2022-02-01 16:11:59 -04:00
Rekai Nyangadzayi Musuka f6e4b4931f chore: don't panic on unsupported BG mode 2022-01-30 02:43:11 -04:00
Rekai Nyangadzayi Musuka e35d81eeb8 chore: tempoarily disable fps counter 2022-01-30 02:42:01 -04:00
Rekai Nyangadzayi Musuka 8c248ffb11 chore: zero-initialize VRAM 2022-01-30 02:39:16 -04:00
Rekai Nyangadzayi Musuka b0332e6eb8 chore: stub KeyInput I/O register 2022-01-30 02:38:29 -04:00
Rekai Nyangadzayi Musuka dd632975f8 fix(cpu): properly decode multiply instructions 2022-01-30 02:16:12 -04:00
Rekai Nyangadzayi Musuka a459d4b433 feat(cpu): implement ARM multiply instructions 2022-01-30 02:04:24 -04:00
Rekai Nyangadzayi Musuka 6c008ce950 fix: allow 32-bit writes to DISPCNT 2022-01-30 01:42:54 -04:00
Rekai Nyangadzayi Musuka 8d1df7ae43 fix(cpu): properly decode ldm stm thumb instructions 2022-01-30 01:12:34 -04:00
Rekai Nyangadzayi Musuka 6ffaf12804 fix(cpu): properly decode THUMB PUSH and POP at comptime 2022-01-30 00:16:13 -04:00
Rekai Nyangadzayi Musuka dc6931639f fix(cpu): don't ignore 11th bit of THUMB BL offset 2022-01-29 23:53:40 -04:00
Rekai Nyangadzayi Musuka e18f10126e feat(cpu): implement thumb push / pop and stub format 13 thumb instrs 2022-01-29 23:22:10 -04:00
Rekai Nyangadzayi Musuka 0598ba402d feat(cpu): implement THUMB format 9 loads / stores 2022-01-29 22:34:40 -04:00
Rekai Nyangadzayi Musuka b8a9aaee86 fix(cpu): resolve issues with unexpected PC value in THUMB 2022-01-29 22:07:36 -04:00
Rekai Nyangadzayi Musuka 00058f6094 feat(cpu): implement THUMB ldmia stmia 2022-01-29 21:10:14 -04:00
Rekai Nyangadzayi Musuka 2dde47318c chore: implement THUMB format 4 instructions 2022-01-29 20:42:13 -04:00
Rekai Nyangadzayi Musuka ae4023e51c chore: dedup code in THUMB instructions 2022-01-29 20:05:27 -04:00
Rekai Nyangadzayi Musuka bce067557f chore: refactor and genericize ARM data processing calculations 2022-01-29 19:40:58 -04:00
Rekai Nyangadzayi Musuka e0acabf050 chore: relocate barrel_shifter zig file 2022-01-29 18:52:16 -04:00
Rekai Nyangadzayi Musuka 599e068c7e feat(cpu): implement format2 THUMB instructions 2022-01-29 18:46:27 -04:00
Rekai Nyangadzayi Musuka 4ca65caef0 feat(cpu): implement format19 THUMB instructions 2022-01-29 18:25:50 -04:00
Rekai Nyangadzayi Musuka 0c49bf2288 chore: account for THUMB BL instruction when mimicking mGBA logs 2022-01-29 18:14:00 -04:00
Rekai Nyangadzayi Musuka 44dbdba48c feat(cpu): implement format16 THUMB instructions 2022-01-29 17:44:04 -04:00
Rekai Nyangadzayi Musuka d85e0c8d05 feat(cpu): implement format 1 THUMB instructions 2022-01-29 17:29:30 -04:00
Rekai Nyangadzayi Musuka 995633e9e8 fix: dont close file handle early 2022-01-29 01:18:45 -04:00
Rekai Nyangadzayi Musuka cfbd292edc feat(cpu): implement format 6 THUMB instructions 2022-01-29 01:18:41 -04:00
Rekai Nyangadzayi Musuka 95efb3f35d chore: rename title 2022-01-28 23:27:03 -04:00
Rekai Nyangadzayi Musuka 6a6dccf4d8 chore: refactor GBA Display Timings
This change should reflect that the Hblank bit of DISPSTAT is toggled on all scanlines
while also ensuring that the Vblank bit is set on all Vblank scanlines
2022-01-28 22:58:19 -04:00
Rekai Nyangadzayi Musuka ad1db4dc2e chore: move a single statement lol 2022-01-28 22:57:48 -04:00
Rekai Nyangadzayi Musuka 19359f7ee4 chore: mark indexing methods as inline 2022-01-28 17:11:29 -04:00
Rekai Nyangadzayi Musuka 24f0922f86 feat: create emulator thread 2022-01-28 16:33:38 -04:00
Rekai Nyangadzayi Musuka b1cc985230 chore: disable logging by default 2022-01-25 18:20:30 -04:00
Rekai Nyangadzayi Musuka e5c8f0ce07 chore: revert fastboot changes 2022-01-25 18:20:01 -04:00
Rekai Nyangadzayi Musuka fbc5b309b0 chore: binary logging + file logging + DP chanes + fastBoot changes 2022-01-25 18:18:52 -04:00
Rekai Nyangadzayi Musuka 899a9ead76 chore: ignore .bin files 2022-01-25 12:58:25 -04:00
Rekai Nyangadzayi Musuka 540fbf739a chore: rename skipBios to fastBoot 2022-01-25 11:15:17 -04:00
Rekai Nyangadzayi Musuka 0546b1c308 chore: set correct values for select banked registers on fast boot 2022-01-25 11:14:15 -04:00
Rekai Nyangadzayi Musuka 997dc1314c feat(cpu): implement SWI 2022-01-25 10:34:21 -04:00
Rekai Nyangadzayi Musuka 1456d0f317 chore(bios): allow reading from BIOS 2022-01-25 10:32:28 -04:00
Rekai Nyangadzayi Musuka 6257418405 fix(cpu): interim solution to weird program counter behaviour on illegal tst instruction 2022-01-25 09:23:32 -04:00
Rekai Nyangadzayi Musuka 985fefb9f6 chore(cpu): implement behaviour for undefined test instruction 2022-01-25 08:05:42 -04:00
Rekai Nyangadzayi Musuka 95dd3e3df8 fix(cpu): fix PC offset when barrel shifter and bit 4 of DP is set 2022-01-24 17:52:01 -04:00
Rekai Nyangadzayi Musuka 038c0a9283 chore: remove reccomended extension 2022-01-23 23:13:16 -04:00
Rekai Nyangadzayi Musuka 702ff288d8 fix(cpu): implement S set + rd == 15 case for data processing 2022-01-19 07:46:49 -04:00
Rekai Nyangadzayi Musuka bf36a23722 feat(cpu): implement banked registers 2022-01-19 07:29:49 -04:00
Rekai Nyangadzayi Musuka fc5a3460dd fix(cpu): improve MRS and MSR instructions 2022-01-18 20:17:00 -04:00
Rekai Nyangadzayi Musuka 6177927049 feat(cpu): implement CMN 2022-01-18 15:09:25 -04:00
Rekai Nyangadzayi Musuka 903b75c7c4 fix(barrel_shifter): fix PC being 1 word ahead in barrel shifter 2022-01-18 15:08:29 -04:00
Rekai Nyangadzayi Musuka 8d786cbe25 feat(cpu): Implement RSC 2022-01-18 14:46:57 -04:00