Commit Graph

327 Commits

Author SHA1 Message Date
bb963c35a4 while we're at it: emulate div/sqrt timings 2017-07-15 19:46:27 +02:00
0d58fcb5d6 add basic response for Pokémon IR transceiver (SPI command 08). lets your pokémon gain EXP. 2017-07-15 19:34:35 +02:00
cb0e026ec1 implement transfer delays for both SPI busses
also make microphone input return 0x800
2017-07-15 19:29:10 +02:00
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