Commit Graph

2354 Commits

Author SHA1 Message Date
464717602f * compressed textures (asfafdgasfgadf)
* fix bug where sprites too close to the right border shat themselves
2017-03-02 01:53:08 +01:00
dcc0227b56 textures.
well, it's a start.
2017-03-02 00:49:44 +01:00
f7c481b2a1 support for non-rotscaled bitmap sprites 2017-03-01 23:02:50 +01:00
247558a354 * display capture
* fix bug with bitmap BGs (wrong base offset)
2017-03-01 21:42:06 +01:00
5d9e9a5023 no master brightness when screen is disabled. 2017-03-01 20:25:19 +01:00
c4d9d27e6e master brightness 2017-03-01 20:23:41 +01:00
bc335e31cb * slightly better 3D polygons.
* fix sprite-related bugs. implement 256-color rotscaled sprites.
2017-02-28 12:44:54 +01:00
e5a4aa7c84 also keep track of texture attributes 2017-02-28 00:52:17 +01:00
f16d2aec61 calculate texture coordinates 2017-02-28 00:50:54 +01:00
fb9dddc360 dumb copypasta bug of the year. 2017-02-27 21:30:32 +01:00
8c2572e354 correct VRAM emulation.
there is room for optimizations esp. in the GPU drawing routines.
2017-02-27 21:26:11 +01:00
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
261689d3d1 'FIFO full' hack for SM64DS. 2017-02-17 19:34:41 +01:00
97d76addd9 fix a bunch of GXFIFO related bugs. 2017-02-17 18:59:11 +01:00
cca0a71d81 emulate DMA timings.
keeps games from overflowing the GXFIFO... when they aren't fucking dumb.
2017-02-17 05:33:37 +01:00
abd2cb444b improve 3D renderer precision. not perfect, but not bad at all. 2017-02-17 04:07:00 +01:00
676e5b32cc perspective-correct Gouraud 2017-02-15 17:49:14 +01:00
ef7fbf8b03 18-bit graphics pipeline
(final buffer is 32-bit)
2017-02-14 21:55:51 +01:00
c5b7ec2168 attempt at depth buffer 2017-02-14 03:29:02 +01:00
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
fb53fd5195 * fix overflows during fixed-point multiply
* small fix to SwapBuffers
2017-02-13 14:59:51 +01:00
361ddd7595 * fix GXFIFO decoding
* proper SwapBuffers implementation
* fix polygon clipping
* misc fixes
2017-02-13 02:07:54 +01:00
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
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
78f49d061a base for software renderer 2017-02-10 16:50:26 +01:00
c95f7578bb store vertices and polygons. strips not handled yet. 2017-02-10 15:24:46 +01:00
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
896bb1b781 ARM: Fix out of bounds array indexing in RestoreCPSR 2017-02-09 08:18:05 -05:00
2bd67aef64 calculate vertices.
it doesn't do much, but hey, it's a start.
2017-02-09 02:39:52 +01:00
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
796dc58f71 GXFIFO finished. hacktastic integration into the ARM9 loop. 2017-02-08 00:52:37 +01:00
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
2b7fac05c7 rework FIFO crap so it can also be used for the GXFIFO crapo. 2017-02-07 22:41:33 +01:00
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
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
3cf38e3e9d lil' hack. makes SM64DS go ingame. 2017-02-05 18:34:21 +01:00
1001df49ea support extended palette for 256-color sprites. 2017-02-05 18:23:03 +01:00
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
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
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
829b044802 improve touchscreen precision 2017-02-04 00:12:08 +01:00
67f0c7b123 256-color sprites. code's weird tho. check it later. 2017-02-04 00:07:25 +01:00
4b3f635c9f fixes to tiled extended BGs. support for 256color/direct bitmap BGs. 2017-02-03 23:49:37 +01:00
399e30017a fix extended backgrounds. blarg 2017-02-03 22:58:00 +01:00
410c18fac4 blarg 2017-02-03 21:11:23 +01:00
1f691f3795 * HBlank flag and IRQ.
* VBlank and HBlank DMA.
2017-02-03 18:47:40 +01:00
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
7e9972e037 an attempt at shitty extended "tile+rotscale" BGs 2017-02-02 01:18:03 +01:00
6486d0e10d BG extended palettes! 2017-02-02 00:09:40 +01:00
3451e41bd1 tile hflip/vflip for text BGs.
256-color mode for text BGs.
2017-02-01 23:43:02 +01:00