Commit graph

294 commits

Author SHA1 Message Date
Matthew Berry
fc9f3d3035 very basic ppu, passing tonc first.gba 2020-10-02 23:30:14 -07:00
Matthew Berry
b25d941d0f thumb unconditional branch 2020-10-02 23:13:59 -07:00
Matthew Berry
67c58e5f2b vram writes 2020-10-02 00:00:21 -07:00
Matthew Berry
1d148c3ea7 thumb load/store halfword, add halfword type, add halfword write 2020-10-01 22:20:03 -07:00
Matthew Berry
b830b97687 ppu writes to dispcnt 2020-09-30 22:19:43 -07:00
Matthew Berry
843fb155df fix thumb add not setting value, rename var in thumb multiple load/store 2020-09-30 22:03:33 -07:00
Matthew Berry
4194dfb6fd fix word writes, fix register list in thumb push/pop, fix thumb push/pop stack pointer decrement 2020-09-30 22:01:55 -07:00
Matthew Berry
27b0a4e4ce thumb only clear pipeline when branching 2020-09-30 00:01:36 -07:00
Matthew Berry
e4d98a3970 thumb long branch offset is signed 2020-09-30 00:00:09 -07:00
Matthew Berry
f230348f75 thumb push/pop registers 2020-09-29 00:17:46 -07:00
Matthew Berry
cf310896b1 abstract addition, set carry/overflow flags for addition 2020-09-28 23:33:38 -07:00
Matthew Berry
21ae86e2ff thumb load/store immediate offset 2020-09-28 22:46:28 -07:00
Matthew Berry
e7664c5796 thumb high register branch 2020-09-28 22:28:46 -07:00
Matthew Berry
3ad9f6d8df patch check_cond abstraction, now works properly with thumb and arm 2020-09-28 00:13:47 -07:00
Matthew Berry
116058472c abstract subtraction, set carry/overflow flags for subtraction 2020-09-28 00:12:47 -07:00
Matthew Berry
15433454a4 allow writes to wram board/chip 2020-09-27 23:39:18 -07:00
Matthew Berry
d62bfecacf thumb multiple load store 2020-09-27 23:33:13 -07:00
Matthew Berry
ac7e3bbe72 thumb alu operations 2020-09-27 23:32:14 -07:00
Matthew Berry
7820e69eb6 thumb actually check the condition... 2020-09-27 22:41:54 -07:00
Matthew Berry
0ec726cfbe thumb add/subtract 2020-09-27 22:41:02 -07:00
Matthew Berry
3471a8b34c thumb long branch 2020-09-27 20:06:47 -07:00
Matthew Berry
99bdf3ec86 thumb move/compare/add/subtract, fix thumb conditional branch bug 2020-09-27 19:55:47 -07:00
Matthew Berry
7d8e2dccef set carry flag from barrel shifter ops (arm & thumb) 2020-09-27 18:12:04 -07:00
Matthew Berry
8e6040e4c4 thumb conditional branch, fix reg rotation, thumb/arm abstraction 2020-09-27 17:51:17 -07:00
Matthew Berry
55589ea0b0 thumb move shifted register (- carry flag)
diverges from armwrestler here bc of carry flag
2020-09-27 17:00:21 -07:00
Matthew Berry
eb5d932579 thumb pc relative load 2020-09-27 16:58:22 -07:00
Matthew Berry
cbc140b7c4 basic thumb template 2020-09-27 16:14:17 -07:00
Matthew Berry
9eca952a78 arm branch exchange impl 2020-09-27 14:44:32 -07:00
Matthew Berry
e238d297cc fix register reads in data processing instrs 2020-09-27 13:54:49 -07:00
Matthew Berry
09b8876b73 early psr transfer implementation 2020-09-27 13:51:17 -07:00
Matthew Berry
4b745a075a basic single data transfer impl 2020-09-27 00:41:25 -07:00
Matthew Berry
df79b7b48b data processing logical flags, minor rotate_register patch, abstract immediate_offset 2020-09-26 21:47:00 -07:00
Matthew Berry
64c8b26fb8 update bits macro to call methods on RangeLiteral rather than Range 2020-09-26 18:08:44 -07:00
Matthew Berry
2a0aac031b fix logging and unused opcodes in lut 2020-09-25 20:57:19 -07:00
Matthew Berry
e9a1acb52a move cpsr onto new bitfield implementation 2020-09-23 08:21:56 -07:00
Matthew Berry
e94754ca06 initial minimum readme information 2020-09-17 23:55:34 -07:00
Matthew Berry
b026160553 move instr lookup to lookup table, move instrs into module across files 2020-09-16 22:54:15 -07:00
Matthew Berry
ea5322b0fa pulled out register rotation since it seems like that'll need to be abstracted 2020-09-15 22:57:01 -07:00
Matthew Berry
238076dda3 default regs, log/trace macros, print mgba-style state 2020-09-14 23:28:50 -07:00
Matthew Berry
fbacc2cf9f make bitfields macros instead of function calls 2020-09-13 17:07:14 -07:00
Matthew Berry
eafe206b06 cleanup, shifts, and some data processing w/o flags 2020-09-01 00:04:27 -07:00
Matthew Berry
2ef9b87cd6 check condition before executing instruction 2020-08-24 23:21:52 -07:00
Matthew Berry
f004c0f461 branching and basic instr pipeline 2020-08-22 15:17:58 -07:00
Matthew Berry
069a536085 initial commit: load cartridge, parse instr types 2020-08-22 00:15:30 -07:00