StapleButter
97d76addd9
fix a bunch of GXFIFO related bugs.
2017-02-17 18:59:11 +01:00
StapleButter
cca0a71d81
emulate DMA timings.
...
keeps games from overflowing the GXFIFO... when they aren't fucking dumb.
2017-02-17 05:33:37 +01:00
StapleButter
68fb77b204
* backface/frontface culling (and rendering of backfacing polygons)
...
* fix clipping/viewport transform precision errors
* triangle/quad strips
2017-02-14 02:43:35 +01:00
StapleButter
49fd4ccb45
* GXFIFO DMA (note: Mario Slam Basketball keeps overflowing the FIFO for whatever reason, probably lack of proper DMA timings)
...
* start implementing matrix shit
2017-02-08 21:30:10 +01:00
StapleButter
796dc58f71
GXFIFO finished. hacktastic integration into the ARM9 loop.
2017-02-08 00:52:37 +01:00
StapleButter
971e7b7e89
well, GX FIFO base. noting that for now, it doesn't do much beyond getting full real quick.
...
also make ROM loading fail gracefully if it shits itself, instead of entering an endless loop.
2017-02-07 23:31:21 +01:00
StapleButter
2b7fac05c7
rework FIFO crap so it can also be used for the GXFIFO crapo.
2017-02-07 22:41:33 +01:00
StapleButter
0562410de2
* lay base for 3D engine
...
* add failure reporting to Init functions, and DeInit functions
* GPU-related notes
* readme update
2017-02-07 22:23:46 +01:00
StapleButter
3cf38e3e9d
lil' hack. makes SM64DS go ingame.
2017-02-05 18:34:21 +01:00
StapleButter
e88cf1b43d
apparently when you set an out-of-bounds address for EEPROM, it should wrap around
...
TODO: check if it also happens with Flash
also fix shit that could have later turned into memory leaks
2017-02-05 17:45:17 +01:00
StapleButter
ff3b60bc93
ARM7 BIOS read protect.
...
(noting that Super Princess Peach reads from the BIOS. probably a bug)
2017-02-05 17:15:17 +01:00
StapleButter
5ccf56d21d
* fix 'STMxx with base register included in register list' when base register is banked.
...
* fix cart DMA for ARM9.
2017-02-05 16:50:20 +01:00
StapleButter
67f0c7b123
256-color sprites. code's weird tho. check it later.
2017-02-04 00:07:25 +01:00
StapleButter
4b3f635c9f
fixes to tiled extended BGs. support for 256color/direct bitmap BGs.
2017-02-03 23:49:37 +01:00
StapleButter
1f691f3795
* HBlank flag and IRQ.
...
* VBlank and HBlank DMA.
2017-02-03 18:47:40 +01:00
StapleButter
f4335b9292
better save support. not hardcoded filename, support for non-tiny EEPROM and Flash, attempt at autodetecting the right memory type.
2017-02-03 16:57:31 +01:00
StapleButter
3451e41bd1
tile hflip/vflip for text BGs.
...
256-color mode for text BGs.
2017-02-01 23:43:02 +01:00
StapleButter
c19056a564
implement screen swap.
...
silence some logging for 3D GPU writes.
2017-02-01 21:57:25 +01:00
StapleButter
282dcdece3
* make direct boot less shitty.
...
* add main RAM mirror at 0x02800000 for ARM7.
2017-02-01 21:35:00 +01:00
StapleButter
64f9822db6
fix ARM7 VRAM
2017-02-01 19:30:57 +01:00
StapleButter
1f5faf8291
TSC support, touchscreen input. not perfect but for now this will do.
2017-02-01 00:24:36 +01:00
StapleButter
548b8d99a6
sqrt crap
2017-01-31 21:53:45 +01:00
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
ac8936539e
some attempt at cart support
2017-01-22 20:34:59 +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
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