StapleButter
9541d17c7c
* implement the last missing instructions. QADD is not good according to ARMWrestler, but it doesn't make sense. TODO: investigate.
...
* buttons A and B
* silence 'unknown IO write' for 3D GPU ports
2017-01-31 18:41:31 +01:00
StapleButter
516bc30ee3
* very shitty implementation of save RAM. requires an existing save file for now.
...
* refine some SPI code, too. mostly removing a useless function.
* support 16bit accesses to DMAxCNT registers.
2017-01-31 17:34:17 +01:00
StapleButter
c3e2f7ad9b
* fix VRAM address calculation for GPU A
...
* add support for mode 5
2017-01-31 15:43:22 +01:00
StapleButter
12ebf83665
keep the GPU from crashing if there's no VRAM mapped, I guess.
...
noting that the way it's accessing VRAM is grossly inaccurate.
2017-01-31 04:06:05 +01:00
StapleButter
594286ee5d
* scheduler revamp, simpler design
...
* fix dumb bug of the year: ARM LDR opcodes would accidentally read twice, which fucked with things like the IPC FIFO.
2017-01-31 03:54:51 +01:00
StapleButter
348bbd8cb8
move TCM shit to CP15.cpp. closer to the real thing (for example now DMA can't access TCM, etc).
...
the code is shit. I would use templates if only it fucking worked without requiring the function body to be included in a .h.
2017-01-30 19:11:29 +01:00
StapleButter
6f3b0498db
start refactoring shit: more accurate timing and way of counting cycles.
2017-01-30 18:36:11 +01:00
StapleButter
296212ac49
* support for cart secure area
...
* fix bug in THUMB LDMIA
2017-01-23 02:26:05 +01:00
StapleButter
fe3a189406
esgshdgdfh
2017-01-22 20:37:12 +01:00
StapleButter
ac8936539e
some attempt at cart support
2017-01-22 20:34:59 +01:00
StapleButter
62ed28d5c8
rotscaled 16color sprites. about fucking time I get this shit working.
2017-01-21 17:06:54 +01:00
StapleButter
14f1cec955
some beginning of sprite support: 16bit tiled sprites, not rotated or anything fancy
...
also give it a version number
2017-01-21 03:36:14 +01:00
StapleButter
711375c0be
BG scroll. also fix silly bug.
2017-01-20 15:27:56 +01:00
StapleButter
7dba0121cb
fix bug with ALU operations and shift operands, where the shift operation could obliterate the carry flag
...
also, misc shit
2017-01-20 15:13:44 +01:00
StapleButter
3e5e8f60c4
* some basic BG display code
...
* basic, frozen-in-time RTC
* power management device
2017-01-20 01:18:30 +01:00
StapleButter
d7c1d2a2cd
* start GPU shit: draw BG0 16-color.
...
* fix a few DMA bugs.
* fix a bug where some code could still run right after a halt instruction.
* fix VRAM mapping, too. I'm an idiot.
2017-01-18 17:57:12 +01:00
StapleButter
d30e6956fa
skeleton for 2D GPU
2017-01-18 04:03:19 +01:00
StapleButter
bff3a92cc0
fix bug that could cause nested IRQs.
...
fix potential bug in MSR.
2017-01-18 03:11:07 +01:00
StapleButter
7f5ee5c00e
ARM9 division hardware. POSTFLG register.
2017-01-18 02:20:45 +01:00
StapleButter
9808b73c6f
DMA support!
2017-01-18 01:33:06 +01:00
StapleButter
b10a0d64a2
fix bug with IPC FIFO IRQs
2017-01-17 05:29:38 +01:00
StapleButter
8ea2aaad5a
separate IO read/write handlers from the rest before it's too late.
...
remove some useless cruft.
2017-01-17 02:29:25 +01:00
StapleButter
45bceecc19
IPC FIFO emulation.
2017-01-17 01:58:25 +01:00
StapleButter
8c2f785a0f
uh oh! it's getting further
...
(also CodeBlocks is fucking dumb)
2017-01-16 04:47:37 +01:00
StapleButter
af05333290
christ. CodeBlocks is retarded.
...
also, lots of crap. I lost track of it.
2016-12-23 21:22:22 +01:00
StapleButter
9bb3537ede
some more crap emulated.
2016-12-06 17:32:51 +01:00
StapleButter
c8a0058ebc
implementation of VRAM and other misc crap
2016-12-05 23:17:03 +01:00
StapleButter
8c8c78cf83
misc fixes.
...
shit in place to start implementing GPU shit.
GPL headers added before it's too late. (TODO: put actual GPL license in the repo)
also added URL that doesn't exist yet but is reserved.
2016-12-05 18:02:29 +01:00
StapleButter
343797f47d
* somewhat proper event scheduler
...
* support for timers
* fixes, additions, shit
2016-12-05 17:08:24 +01:00
StapleButter
a14c01208a
fix some shit. add support for SPI and firmware.
2016-12-04 03:20:50 +01:00
StapleButter
d7c1d77ba2
more instructions. shared WRAM.
2016-12-03 18:29:19 +01:00
StapleButter
1e4086e1b6
moar instructions and shit implemented
2016-12-03 17:58:24 +01:00
StapleButter
f2858e1c47
less amnesia! ITCM, DTCM, corresponding CP15 support
2016-12-03 16:13:04 +01:00
StapleButter
53bef35cd1
more crap implemented!
2016-12-03 15:15:34 +01:00
StapleButter
948cdeab59
amnesia is over
2016-12-03 13:42:27 +01:00
StapleButter
30f85e3400
more instructions. some handling of CPU mode switching.
2016-12-03 04:41:10 +01:00
StapleButter
6213245f3a
moar shit
2016-12-03 04:05:23 +01:00
StapleButter
ae6e9d96da
ARM ALU is done with. as well as other shit.
2016-12-03 03:10:26 +01:00
StapleButter
844ca45055
add MSR/MRS. also fix misc error with LDR ROR effect.
...
see shibboleet, I can do it too :>
2016-12-03 02:09:04 +01:00
StapleButter
23d584ca4c
implement LDR/STR/LDRB/STRB.
...
more macro soup.
2016-12-03 01:31:33 +01:00
StapleButter
97ec988dae
more shit! some start of ALU emulation
2016-11-25 00:08:53 +01:00
StapleButter
f74fb2dd27
well, adding shit. laying out the base for the interpreter. really dirty code.
2016-11-24 18:31:49 +01:00
StapleButter
3505ec993b
hey look, more crap
...
no MrRean this doesn't run NSMB yet
2016-11-03 01:38:58 +01:00
StapleButter
5b7ae6dab3
add more crap
2016-05-16 17:48:40 +02:00
StapleButter
cfdfd4b231
first real commit, some shit is in
2016-05-16 03:40:11 +02:00
StapleButter
e0255fb957
Initial commit
2016-05-16 03:34:14 +02:00