Commit graph

974 commits

Author SHA1 Message Date
StapleButter
6b6389fbb4 separate polygonID attributes for opaque and translucent pixels.
rendering translucent pixels preserves opaque polygonID and edge flags for edgemarking.

fixes edgemarking malfunctions, like #80 or black dots in Pokémon games
2017-07-15 15:24:25 +02:00
StapleButter
d978603852 3D: fix Z calculation in Z-buffering mode (should use original W, not normalized one). fixes horrendous Z-fighting in Pokémon games. 2017-07-14 18:35:34 +02:00
StapleButter
cd6ecfc21f apply the interpolation fix to Z interpolation.
more accurate conversion of Z values.

but this doesn't fix the horrendous Z-fighting in Pokémon B/W because of course it doesn't >_<
2017-07-14 04:49:29 +02:00
StapleButter
e1926d6e97 2D: fix blending against the 3D layer or bitmap sprites (when those are second target)
fixes #68
2017-07-14 00:32:25 +02:00
StapleButter
04172f47de fix potential overflow in fog density calculation 2017-07-14 00:12:35 +02:00
StapleButter
a1401e724c * actually fix linear interpolation when y0>y1
* change the backfacing attribute bit, so that it doesn't mess with edgemarking
2017-07-13 23:09:42 +02:00
StapleButter
800540b710 attempt to fix interpolation when y0>y1 2017-07-10 13:31:05 +02:00
StapleButter
8f031f698b normalize W values in both directions (0123-0157 -> 1230-1570) 2017-07-06 18:54:51 +02:00
StapleButter
3aa83ae641 3D:
* undo 'winding sorting' hypothesis
* special depth test rules: 'less than' function becomes 'less or equal' when rendering front-facing polygon pixels against back-facing opaque pixels
2017-07-06 18:38:13 +02:00
StapleButter
b29b128a1b 2D: fix rotscaled bitmap sprites (dumb bug of the year).
fixes #41 and #34
2017-07-06 12:17:45 +02:00
StapleButter
dc32613028 3D: opaque polygons are sorted by winding order
the Sands of Destruction character menu relies on this, it mixes and matches polygon windings to thwart Y-sorting
2017-07-06 02:02:30 +02:00
StapleButter
d357b1c2ac apparently they suck at keeping their SDL distributions up to date 2017-07-05 21:37:28 +02:00
StapleButter
4a992dbfd7 ... maybe it's better this way????? 2017-07-05 21:29:30 +02:00
StapleButter
599103486c cmake: attempt to add C++11 support. 2017-07-05 21:17:15 +02:00
StapleButter
93ab7064b2 2D: implement large BG, fix non-large bitmap BG. fixes #61 2017-07-05 19:31:13 +02:00
StapleButter
678ae00e0a support 16-bit reads to the div/sqrt registers 2017-07-05 18:46:19 +02:00
StapleButter
d5376b4184 3D: Y-sorting 2017-07-05 18:38:10 +02:00
StapleButter
01404ac6c3 3D: move opaque/translucent sorting to GPU3D.cpp 2017-07-05 18:11:00 +02:00
StapleButter
1acf355d99 3D: change viewport handling to match hardware. finally fixes #18 2017-07-04 19:11:43 +02:00
StapleButter
ad58a68fc9 3D: fix boxtest coord overflow. fixes #57 2017-06-29 09:48:41 +02:00
StapleButter
da10f9b3f6 fix rendering for crapoed 'butterfly' polygons 2017-06-28 21:19:44 +02:00
StapleButter
209a639461 2D: implement enough of mode6 to fix #65 -- shows 3D layer. large BG still needs to be done. 2017-06-28 17:01:20 +02:00
StapleButter
5f6e8cc30b fix toon highlight mode. GBAtek is wrong. 2017-06-28 09:19:38 +02:00
StapleButter
f113f2f26e 3D: fix missing term in MatrixTranslate(). fixes Monster Trucks billboards. 2017-06-27 20:52:38 +02:00
StapleButter
b5784540ab move HBlank 48 cycles later 2017-06-26 22:01:29 +02:00
StapleButter
fbc6ce5fa0 fix render/capture order, corrects interaction of capture and VRAM display. fixes #56. 2017-06-26 13:39:42 +02:00
StapleButter
4afac28263 proper display FIFO emulation 2017-06-26 11:02:10 +02:00
StapleButter
155609b6d9 initialize clearZ to 0x7FFF. fixes #38 2017-06-26 01:18:54 +02:00
StapleButter
8b262f5ee5 also fix the bug for cart SPI 2017-06-26 00:38:07 +02:00
StapleButter
77627af438 * implement firmware saving for user settings
* fix bug with SPI commands that have no parameters
2017-06-26 00:35:19 +02:00
StapleButter
39fbc415f6 new save heuristic. atleast Scribblenauts doesn't lose its shit now.
shut up shibs
2017-06-25 17:35:45 +02:00
StapleButter
4ffb217791 add support for 16bit IE reads/writes (fixes #66) 2017-06-24 01:21:09 +02:00
StapleButter
6ba178d7cf wifi: little fix related to replies (when the address isn't set, don't try to adjust the TX header) 2017-06-22 16:38:35 +02:00
StapleButter
456fe23850 wifi: tiny fix (bad TXSTAT after MP host transfer) 2017-06-20 12:20:37 +02:00
StapleButter
c5dbb01aa3 wifi: fix for MP replies.
clean up code.
make packet logging conditional.
2017-06-18 16:26:59 +02:00
StapleButter
d5fd96c500 wifi: another little fix 2017-06-18 03:41:36 +02:00
StapleButter
8cde75ce53 wifi: fix reception of MP replies
(still not working, don't catch fire Ndymario)
2017-06-18 02:05:21 +02:00
StapleButter
33fc98fac4 send empty reply when no MP reply is configured 2017-06-16 01:54:31 +02:00
StapleButter
6cda8d98b4 emulate RXTXADDR. receive packets progressively instead of all at once. 2017-06-15 23:38:48 +02:00
StapleButter
43cedebb65 implement RFSTATUS/RFPINS values for TX and RX 2017-06-15 23:01:44 +02:00
StapleButter
32e6e81ef4 more accurate MP reply 2017-06-15 22:26:32 +02:00
StapleButter
4b1b0bdec5 wifi: more correct IRQ behavior, time MP replies better. 2017-06-15 22:10:19 +02:00
StapleButter
402a60ea34 wifi: proper TX/RX status switch and RX check
readme: little update
2017-06-15 21:41:18 +02:00
StapleButter
49f8aec656 fix some shit 2017-06-13 17:44:35 +02:00
StapleButter
3499949129 * send undefined instructions to the proper exception handler
* make ARM9-only instructions fail on ARM7
2017-06-13 15:09:39 +02:00
StapleButter
bbd251ddbc fix QADD/QSUB/QDADD/QDSUB, those would write their result to the wrong register.
also make them ARM9-only.
2017-06-13 11:17:22 +02:00
StapleButter
581a0954ad wifi: fix IRQ14 emulation. other fixes and attempts. 2017-06-13 01:01:46 +02:00
StapleButter
cb65536c22 fix timing issue with ARM7 DMA (occasionally crapoed the 'Nintendo DS' sound when booting the firmware) 2017-06-12 19:00:32 +02:00
StapleButter
bdb7edab51 fix big with ARM STM instructions that include Rb in Rlist 2017-06-12 16:36:24 +02:00
StapleButter
9852709ca3 wifi: attempt at further MP functionality (reply, ack). not working. ugly. 2017-06-09 15:11:39 +02:00