Commit Graph

324 Commits

Author SHA1 Message Date
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
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
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
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
04172f47de fix potential overflow in fog density calculation 2017-07-14 00:12:35 +02:00
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
800540b710 attempt to fix interpolation when y0>y1 2017-07-10 13:31:05 +02:00
8f031f698b normalize W values in both directions (0123-0157 -> 1230-1570) 2017-07-06 18:54:51 +02:00
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
b29b128a1b 2D: fix rotscaled bitmap sprites (dumb bug of the year).
fixes #41 and #34
2017-07-06 12:17:45 +02:00
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
d357b1c2ac apparently they suck at keeping their SDL distributions up to date 2017-07-05 21:37:28 +02:00
4a992dbfd7 ... maybe it's better this way????? 2017-07-05 21:29:30 +02:00
599103486c cmake: attempt to add C++11 support. 2017-07-05 21:17:15 +02:00
93ab7064b2 2D: implement large BG, fix non-large bitmap BG. fixes #61 2017-07-05 19:31:13 +02:00
678ae00e0a support 16-bit reads to the div/sqrt registers 2017-07-05 18:46:19 +02:00
d5376b4184 3D: Y-sorting 2017-07-05 18:38:10 +02:00
01404ac6c3 3D: move opaque/translucent sorting to GPU3D.cpp 2017-07-05 18:11:00 +02:00
1acf355d99 3D: change viewport handling to match hardware. finally fixes #18 2017-07-04 19:11:43 +02:00
ad58a68fc9 3D: fix boxtest coord overflow. fixes #57 2017-06-29 09:48:41 +02:00
da10f9b3f6 fix rendering for crapoed 'butterfly' polygons 2017-06-28 21:19:44 +02:00
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
5f6e8cc30b fix toon highlight mode. GBAtek is wrong. 2017-06-28 09:19:38 +02:00
f113f2f26e 3D: fix missing term in MatrixTranslate(). fixes Monster Trucks billboards. 2017-06-27 20:52:38 +02:00
b5784540ab move HBlank 48 cycles later 2017-06-26 22:01:29 +02:00
fbc6ce5fa0 fix render/capture order, corrects interaction of capture and VRAM display. fixes #56. 2017-06-26 13:39:42 +02:00
4afac28263 proper display FIFO emulation 2017-06-26 11:02:10 +02:00
155609b6d9 initialize clearZ to 0x7FFF. fixes #38 2017-06-26 01:18:54 +02:00
8b262f5ee5 also fix the bug for cart SPI 2017-06-26 00:38:07 +02:00
77627af438 * implement firmware saving for user settings
* fix bug with SPI commands that have no parameters
2017-06-26 00:35:19 +02:00
39fbc415f6 new save heuristic. atleast Scribblenauts doesn't lose its shit now.
shut up shibs
2017-06-25 17:35:45 +02:00
4ffb217791 add support for 16bit IE reads/writes (fixes #66) 2017-06-24 01:21:09 +02:00
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
456fe23850 wifi: tiny fix (bad TXSTAT after MP host transfer) 2017-06-20 12:20:37 +02:00
c5dbb01aa3 wifi: fix for MP replies.
clean up code.
make packet logging conditional.
2017-06-18 16:26:59 +02:00
d5fd96c500 wifi: another little fix 2017-06-18 03:41:36 +02:00
8cde75ce53 wifi: fix reception of MP replies
(still not working, don't catch fire Ndymario)
2017-06-18 02:05:21 +02:00
33fc98fac4 send empty reply when no MP reply is configured 2017-06-16 01:54:31 +02:00
6cda8d98b4 emulate RXTXADDR. receive packets progressively instead of all at once. 2017-06-15 23:38:48 +02:00
43cedebb65 implement RFSTATUS/RFPINS values for TX and RX 2017-06-15 23:01:44 +02:00
32e6e81ef4 more accurate MP reply 2017-06-15 22:26:32 +02:00
4b1b0bdec5 wifi: more correct IRQ behavior, time MP replies better. 2017-06-15 22:10:19 +02:00
402a60ea34 wifi: proper TX/RX status switch and RX check
readme: little update
2017-06-15 21:41:18 +02:00
49f8aec656 fix some shit 2017-06-13 17:44:35 +02:00
3499949129 * send undefined instructions to the proper exception handler
* make ARM9-only instructions fail on ARM7
2017-06-13 15:09:39 +02:00
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
581a0954ad wifi: fix IRQ14 emulation. other fixes and attempts. 2017-06-13 01:01:46 +02:00
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
bdb7edab51 fix big with ARM STM instructions that include Rb in Rlist 2017-06-12 16:36:24 +02:00
9852709ca3 wifi: attempt at further MP functionality (reply, ack). not working. ugly. 2017-06-09 15:11:39 +02:00