Commit Graph

2362 Commits

Author SHA1 Message Date
StapleButter
8c7b7e2327 temp. hack preventing evil out-of-bounds write 2017-03-04 15:34:07 +01:00
StapleButter
f8770dc8fe don't blend semitransparent sprites with everything 2017-03-04 14:51:48 +01:00
StapleButter
b6e12e0c18 * fix a few bugs related to 2D GPU registers (so there are atleast some of the graphics tests that pass)
* less shitty texture mapping (and perspective-correct interpolation in general). extra bonus is that it also takes less divisions.
2017-03-04 14:47:20 +01:00
StapleButter
ff4c1c9cf6 support 16-bit writes to rotscale reference point registers 2017-03-04 02:37:39 +01:00
StapleButter
a7e7af4b47 fix behavior for rotscale BG reference points 2017-03-04 02:22:58 +01:00
StapleButter
5c3b7b5c30 confirm that 2D brightness-up effect does x=x+(63-x)*factor 2017-03-04 00:17:01 +01:00
StapleButter
2a33a5c480 * fixes to GXFIFO IRQ. refine IRQ support a bit.
* fix potential bug when multiple DMAs are running.
2017-03-03 00:48:26 +01:00
StapleButter
e0fa57fbf2 * color special effects (fade, blending)
* sprite blending

not optimized, but works
2017-03-02 19:00:19 +01:00
StapleButter
464717602f * compressed textures (asfafdgasfgadf)
* fix bug where sprites too close to the right border shat themselves
2017-03-02 01:53:08 +01:00
StapleButter
dcc0227b56 textures.
well, it's a start.
2017-03-02 00:49:44 +01:00
StapleButter
f7c481b2a1 support for non-rotscaled bitmap sprites 2017-03-01 23:02:50 +01:00
StapleButter
247558a354 * display capture
* fix bug with bitmap BGs (wrong base offset)
2017-03-01 21:42:06 +01:00
StapleButter
5d9e9a5023 no master brightness when screen is disabled. 2017-03-01 20:25:19 +01:00
StapleButter
c4d9d27e6e master brightness 2017-03-01 20:23:41 +01:00
StapleButter
bc335e31cb * slightly better 3D polygons.
* fix sprite-related bugs. implement 256-color rotscaled sprites.
2017-02-28 12:44:54 +01:00
StapleButter
e5a4aa7c84 also keep track of texture attributes 2017-02-28 00:52:17 +01:00
StapleButter
f16d2aec61 calculate texture coordinates 2017-02-28 00:50:54 +01:00
StapleButter
fb9dddc360 dumb copypasta bug of the year. 2017-02-27 21:30:32 +01:00
StapleButter
8c2572e354 correct VRAM emulation.
there is room for optimizations esp. in the GPU drawing routines.
2017-02-27 21:26:11 +01:00
StapleButter
dadf1eb5a5 fixes to 3D rendering. polygons are almost pixel-perfect. clipping still doesn't get colors quite right. 2017-02-20 18:46:44 +01:00
StapleButter
261689d3d1 'FIFO full' hack for SM64DS. 2017-02-17 19:34:41 +01:00
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
abd2cb444b improve 3D renderer precision. not perfect, but not bad at all. 2017-02-17 04:07:00 +01:00
StapleButter
676e5b32cc perspective-correct Gouraud 2017-02-15 17:49:14 +01:00
StapleButter
ef7fbf8b03 18-bit graphics pipeline
(final buffer is 32-bit)
2017-02-14 21:55:51 +01:00
StapleButter
c5b7ec2168 attempt at depth buffer 2017-02-14 03:29:02 +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
fb53fd5195 * fix overflows during fixed-point multiply
* small fix to SwapBuffers
2017-02-13 14:59:51 +01:00
StapleButter
361ddd7595 * fix GXFIFO decoding
* proper SwapBuffers implementation
* fix polygon clipping
* misc fixes
2017-02-13 02:07:54 +01:00
StapleButter
15c8d59e2b vertex colors, with Gouraud shading and all
has yet to be checked for whether it's accurate, optimized, etc...
2017-02-11 04:10:59 +01:00
StapleButter
050ba5dfbe some debuts of 3D drawing.
it can draw non-strip polygons, filled with a fixed color. oh and it doesn't work if they're facing back.
2017-02-11 03:54:08 +01:00
StapleButter
78f49d061a base for software renderer 2017-02-10 16:50:26 +01:00
StapleButter
c95f7578bb store vertices and polygons. strips not handled yet. 2017-02-10 15:24:46 +01:00
StapleButter
3ad95fbc65 Merge pull request #4 from lioncash/off-by-one
ARM: Fix out of bounds array indexing in RestoreCPSR
2017-02-10 14:27:26 +01:00
Lioncash
896bb1b781 ARM: Fix out of bounds array indexing in RestoreCPSR 2017-02-09 08:18:05 -05:00
StapleButter
2bd67aef64 calculate vertices.
it doesn't do much, but hey, it's a start.
2017-02-09 02:39:52 +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
86cdf28323 change how redrawing is done. fixes memory leak and other fun shit.
calling GetDC() over and over again isn't a good idea.
2017-02-06 00:07:22 +01:00
StapleButter
3cf38e3e9d lil' hack. makes SM64DS go ingame. 2017-02-05 18:34:21 +01:00
StapleButter
1001df49ea support extended palette for 256-color sprites. 2017-02-05 18:23:03 +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
829b044802 improve touchscreen precision 2017-02-04 00:12:08 +01:00
StapleButter
67f0c7b123 256-color sprites. code's weird tho. check it later. 2017-02-04 00:07:25 +01:00