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