Commit Graph

399 Commits

Author SHA1 Message Date
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
StapleButter 0f827337c8 * fix TX logic again
* add multiplayer CMD slot
* misc fixes
2017-06-07 00:37:14 +02:00
StapleButter f749ede319 wifi: cmd timer 2017-06-05 14:10:12 +02:00
StapleButter 9e36cba941 wifi: fix TX start logic (it is possible to write TXREQ then TXLOC) 2017-06-05 01:58:14 +02:00
StapleButter fb1eb43fb4 * bump version number
* implement 32bit reads to keypad registers
* also implement RCNT more properly
2017-06-04 22:34:31 +02:00
StapleButter c2fa561e40 fail gracefully if BIOS/firmware are missing 2017-06-04 18:36:59 +02:00
StapleButter d8ca8e8300 fix socket recv under anything not Windows 2017-06-04 18:25:15 +02:00
StapleButter fa2db3826e (finally) make the threaded 3D renderer option actually work 2017-06-04 15:55:23 +02:00
StapleButter 568b9fbf49 edge marking 2017-06-03 22:33:14 +02:00
StapleButter 64a447bb7c clean up some shit. make framebuffer access less weird. 2017-06-03 22:10:32 +02:00
StapleButter d81b68b16b * fix range for 'equal' Z-test mode
* confirm clear Z value for screen outer borders
* misc code cleanup
2017-06-03 21:46:14 +02:00
StapleButter 77d0a0d76e only do lower-pixel rendering when rendering under an edge 2017-06-01 15:16:44 +02:00
StapleButter d1781c8bf2 remove more per-pixel checks 2017-06-01 14:59:41 +02:00
StapleButter 27c023a0cc separate rasterizer inner loop into three loops for leftedge/middle/rightedge 2017-06-01 01:02:39 +02:00
StapleButter fe55ef1af1 * begin work on antialiasing, but not good yet. also code sucks.
* start making code nicer
2017-06-01 00:45:47 +02:00
StapleButter d3b3255ce3 * add 'push old pixel down' behavior for antialiasing
* delay final pass (edge/fog/AA) one scanline, required for edgemarking
2017-05-28 19:18:16 +02:00
StapleButter ae78faf2a7 rework slope/edge code. lay groundwork for antialiasing. 2017-05-28 18:36:42 +02:00
StapleButter 529039f766 * delay 3D rendering a bit (fixes Monster Trucks flickering)
* remove logging for ITCM/DTCM
2017-05-27 23:47:20 +02:00
StapleButter 6f4d835c7f fog 2017-05-26 15:14:22 +02:00
StapleButter a63ab24447 fix crapoed shadows 2017-05-26 04:00:15 +02:00
StapleButter 911888f1e0 fix alpha equation when blending is disabled 2017-05-26 03:16:23 +02:00
StapleButter 8558eff8aa properly reset 3D thread state 2017-05-26 01:22:11 +02:00
StapleButter 9d2b36127d add threaded 3D option to the interface and config file. not functional yet. 2017-05-25 22:50:36 +02:00
StapleButter 0c31a7ab01 quick hack: Tab toggles framerate limit.
misc little fix.
2017-05-25 22:46:01 +02:00
StapleButter 4b3caedbe7 first attempt at threading the 3D renderer 2017-05-23 23:38:28 +02:00
StapleButter 88d982b7e3 proper stencil buffer 2017-05-22 22:29:21 +02:00
StapleButter b66ac09e43 make the renderer truly per-scanline 2017-05-22 22:22:26 +02:00
StapleButter 189973f564 gjhdiqokjdrhygjqdryhsjyryujytsrgrtfdhfijeogfieOZPYFGRozhmvyfgrIOZUHESjhjhrgthistoyghresodgyrojyroturgeiutoiyzryueirefrhgdjg 2017-05-21 20:48:15 +02:00
StapleButter 1c6c2564d5 blarg 2017-05-21 20:43:40 +02:00
StapleButter cb1b03b253 make the 3D renderer work per-scanline 2017-05-21 20:14:03 +02:00
StapleButter edc959dcf5 draft APIs for threading in the core.
also, misc wifi crap, nothing noteworthy.
2017-05-19 22:17:28 +02:00
StapleButter d29dc7a2f0 wifi improvements 2017-05-12 05:20:15 +02:00
StapleButter dba6776817 more work on packet reception. 2017-05-12 01:21:39 +02:00
StapleButter 3b07da3a97 attempt at actually sending packets.
into the void for now.
2017-05-12 00:48:42 +02:00
StapleButter 01361f006e (untested yet) code for sending and receiving packets via sockets
MAC randomization
2017-05-11 23:43:57 +02:00
StapleButter e9a24b4d06 forgot Windows needs extra setup for sockets 2017-05-11 23:03:41 +02:00
StapleButter 9a2e2998e9 salvage socket init code 2017-05-11 19:57:49 +02:00
StapleButter eb7154e426 woops 2017-05-10 02:30:18 +02:00
StapleButter f54f54fb7e add support for writing to VCount. incl. fucked-up display and altering framerate accordingly. 2017-05-10 02:21:02 +02:00
StapleButter 63e15d2480 framerate limiter that sucks less, based off SDL2_gfx 2017-05-10 01:42:53 +02:00
StapleButter 9fe24cb1e7 latch 3D registers upon VBlank
(fixes the last bugs in Gericom's train game)
2017-05-09 22:22:52 +02:00
StapleButter 36fa621436 lay base for core->platform interaction
(immediately planned: threaded 3D renderer, wifi connectivity)
2017-05-09 04:55:38 +02:00
StapleButter bde9e7dfed fill BIOS exception vectors with undef opcode when no BIOSes are found 2017-05-09 04:52:17 +02:00
StapleButter 50d2ffb207 misc. things 2017-05-09 03:54:37 +02:00
StapleButter 7c1443b973 fix lighting behavior with normals that overflow 2017-05-03 23:54:31 +02:00
StapleButter 9e622dcc66 3D: attempt at fixing culling. players in Madden are no longer full of holes, and that also fixes occasional missing polygons in RaymanDS, and probably others. 2017-05-03 01:21:39 +02:00
StapleButter ce240f4216 more wifi work: timers and their IRQs 2017-05-01 22:27:05 +02:00
StapleButter d4270b0976 wifi: implement RAM access via the fancypants registers. allows Pictochat to proceed, but noone will reply to you. 2017-05-01 19:29:25 +02:00
StapleButter ee8d621880 finalize CMake shit.
Windows will stick to CodeBlocks until making a cross-platform build system isn't a total trainwreck under Windows.
2017-04-30 03:46:27 +02:00
StapleButter 1b06b2765d Merge branch 'master' of https://github.com/s1nka/melonDS
try to get CMake going, but it's not finished. don't use unless you know what you're doing.
2017-04-29 20:25:57 +02:00
StapleButter ee0effd22f implement xflip for bitmap sprites (fixes #32) 2017-04-29 16:18:33 +02:00
StapleButter da31af9202 fix Z-buffering. not really clean, and not perfectly accurate. 2017-04-29 00:20:04 +02:00
StapleButter 2273bd2ea4 fix texcoord-from-vertex mode. it works like for normals (1.0 = 1/16 texel) 2017-04-28 17:35:57 +02:00
StapleButter 5de98cd484 add 32bit write to DIVCNT and SQRTCNT 2017-04-28 17:23:18 +02:00
StapleButter ecbcf2172a only trigger cart DMA on the CPU for which the cart interface is enabled.
fixes unstable firmware boot.
2017-04-27 18:45:43 +02:00
StapleButter 5217f4b056 set POSTFLG to 1 upon direct boot. fixes Pokémon White among others. 2017-04-26 16:17:03 +02:00
StapleButter d9afcc37b8 fix display capture blending bugs. fancypants motion blur filters shouldn't look like acid trips anymore. 2017-04-25 16:55:19 +02:00
StapleButter 29938b566a tiny thing 2017-04-25 16:24:31 +02:00
StapleButter 6707e5bb85 support 16bit access to the DMA fill regs 2017-04-25 16:13:16 +02:00
StapleButter 7ac538d5d2 better heuristic for Flash save type 2017-04-25 03:24:22 +02:00
StapleButter 9b5f293a9e implement leading gap and 0x200-gap delays for ROM transfers 2017-04-25 02:26:37 +02:00
StapleButter 9eb68c2ede misc optimizations 2017-04-25 01:14:26 +02:00
StapleButter 7ea488a3c9 support 8-bit writes to the color effect registers 2017-04-24 16:01:24 +02:00
StapleButter 8fd1124117 implement 8bit reads to the joypad ports 2017-04-24 01:30:30 +02:00
StapleButter bdac2467e7 oh well 2017-04-23 15:38:39 +02:00
StapleButter 1759672d14 a few attempts at optimization 2017-04-23 15:25:15 +02:00
StapleButter 60cdc7d6f7 fix display capture. dumb bug of the year. 2017-04-23 01:05:04 +02:00
StapleButter 96b471d729 fix shadow oddities
not a proper fix, but shadows aren't emulated properly anyway
2017-04-22 19:06:48 +02:00
StapleButter a086e22023 attempt at shadows. they're still a bit weird tho. 2017-04-22 18:04:54 +02:00
StapleButter 70c72004ac behavior for translucent pixels is preserved even when alphablending is disabled 2017-04-22 17:15:50 +02:00
StapleButter 4f72ee3895 add support for polygon ID and conditional depth update for translucent pixels 2017-04-22 16:47:31 +02:00
StapleButter eb656857d9 optimize the 3D renderer somewhat 2017-04-21 22:40:15 +02:00
StapleButter 796e60828c small optimizations to the 3D renderer 2017-04-13 19:53:09 +02:00
StapleButter 2380c2f4ea hopefully fix the DMA bug without breaking everything this time. 2017-04-13 04:16:57 +02:00
StapleButter c62e160b26 * decal texture blending
* start implementing toon shading
* temp. revert the DMA fix, causes issues
2017-04-12 20:25:54 +02:00
StapleButter 54eeb38d3d make CPU freezes take place immediately. fixes RaymanRR2 backgrounds occasionally getting cut in half. 2017-04-12 17:53:15 +02:00
StapleButter db20d7408e better wifi stub 2017-04-12 16:58:09 +02:00
StapleButter 96a3848d84 make ROM command handling accurate, remove gross DMA hack. 2017-04-11 20:21:31 +02:00
StapleButter 0b981f2a4d fix addressing for tiny EEPROM. 2017-04-11 01:21:35 +02:00
StapleButter 84664a6ded bypass first save command byte when it's zero. for Pokémon games. 2017-04-10 20:56:22 +02:00
StapleButter 8bbcc83771 * always render normal BG/OBJ graphics (even if they're not getting displayed, they can still be fed to the capture unit)
* fix 3D viewport calculation
* keep track of the clearbuffer attributes before VBlank
2017-04-10 20:24:41 +02:00
StapleButter f2622c047b some attempt at actually stubbing out wifi. except it won't fucking work. 2017-04-10 18:47:11 +02:00
StapleButter 2fef876eeb box test, pos test, vec test 2017-04-09 17:15:39 +02:00
StapleButter de4b046232 * more accurate flags (push/pop busy, test busy, vertex/poly overflow)
* more versatile and better clipping code
2017-04-09 16:12:12 +02:00
StapleButter 28ebd56fb8 * fix bug with 0-line tall windows (would be enabled for the whole screen)
* map some I/O ports
2017-04-09 03:47:47 +02:00
StapleButter bc70f00372 windows! 2017-04-09 03:35:32 +02:00
StapleButter 3f3b2977d7 * sound capture from left/right mixers
* support for appropriate output modes
2017-04-08 22:59:27 +02:00
StapleButter a4f436f827 * stub more wifi crap
* louder sound
* misc fixes
2017-04-07 17:37:49 +02:00
StapleButter d8bbf25431 * PCM8, PCM16, ADPCM, white noise
* volume, volume div, panning, master volume
2017-04-07 01:06:10 +02:00
StapleButter 76c4e57608 preliminary audio. only supports PSG (and handles all channels as such). drops out every once in a while. 2017-04-06 22:38:46 +02:00
StapleButter 8d66beba6b start SPU work 2017-04-06 19:44:34 +02:00
StapleButter 28cddadfbc * bump version number
* feed system time into RTC
* start laying base for sound
2017-04-04 15:32:50 +02:00
s1nka 5d13538584 add CMake build system 2017-04-02 13:33:01 +06:00
StapleButter 3a61ed0a91 allow crapoed THUMB hireg ADD/CMP/MOV 2017-03-31 02:20:29 +02:00
StapleButter bfe22e0b9b allow 16/32 bit writes and reads to the gamecard command registers. 2017-03-31 01:50:01 +02:00
StapleButter 46ed4aeeb1 one last fix 2017-03-30 03:31:27 +02:00
StapleButter 8e5f175f5e fix touchscreen input. proper cleanup of threads. meaningless codeblocks crap. 2017-03-30 03:24:46 +02:00
StapleButter a65b45a334 I am a fucking idiot 2017-03-29 23:09:47 +02:00
StapleButter 99e4ad409f maybe this shit will finally work. also update the README. 2017-03-29 22:56:30 +02:00
StapleButter 9baeb3bd1a tweaks 2017-03-29 22:49:36 +02:00
StapleButter 41f4ad6620 derp 2017-03-29 22:44:48 +02:00
StapleButter 4202a8f826 finish Flash support, mostly 2017-03-29 22:12:53 +02:00
StapleButter 2db5b21760 * emulation settings dialog
* proper setting for booting directly or from BIOS
* fix shit, again
2017-03-29 20:23:41 +02:00
StapleButter f88226c99f remember window size.
fix extra shit.
2017-03-29 20:12:03 +02:00
StapleButter 2ae2fedf21 minimum size for the SDL window.
screen scaling that preserves aspect ratio.
touchscreen takes scaling into account.
2017-03-29 19:41:25 +02:00
StapleButter 6bf0bf3924 blarg 2017-03-29 19:00:51 +02:00
StapleButter 4e7dc60d37 * clean up code
* working-ish run/pause/reset
* proper closing/cleanup
* ability to run BIOS alone
2017-03-29 18:59:20 +02:00
StapleButter c0734352ab don't rely on a SDL window to get keyboard input 2017-03-29 17:50:11 +02:00
StapleButter e2cc3f1a72 attempt 2017-03-28 23:21:56 +02:00
StapleButter d6bab52baa oops 2017-03-28 22:12:17 +02:00
StapleButter b5f461b950 custom main() and init SDL before everything else.
included WinMain() for compatiblity.
2017-03-28 22:07:58 +02:00
StapleButter 4ad96f1b34 start work on a separate SDL window 2017-03-28 17:03:08 +02:00
StapleButter 55e75dab47 stop the Start button from getting lost every goddamn time 2017-03-25 16:41:12 +01:00
StapleButter f9a76124c3 woops 2017-03-25 16:25:12 +01:00
StapleButter 762b91d640 actual joystick support 2017-03-25 16:18:35 +01:00
StapleButter 12daf16282 input dialog finished 2017-03-25 05:25:03 +01:00
StapleButter e6124c4776 start getting somewhere with that input config dialog 2017-03-25 05:04:15 +01:00
StapleButter 68eb4f6caf * implement missing graphics (affine BG, rotscaled bitmap sprite)
* fix potential crash upon exit
* more work on the input config UI
* misc fixes
2017-03-24 20:53:01 +01:00
StapleButter f7ac0090f0 fix bugs 2017-03-23 23:55:22 +01:00
StapleButter 4f5eb6caa0 support for tiny EEPROM 2017-03-23 23:47:55 +01:00
StapleButter 49314244e1 start work on the input config dialog. nonfunctional and looks like shit.
add manifest crap under Windows so it gets the cool controls.
2017-03-23 23:38:40 +01:00
StapleButter f237afeb66 aqezsfrdgthfyjgu 2017-03-23 17:27:33 +01:00
StapleButter 8c059c9953 * more thread-safe UI
* config system base
* FPS counter and limiter
2017-03-23 17:14:48 +01:00
StapleButter 91f46b00fb fix bug that occured when a flush command was sent between lines 192 and 215 2017-03-21 18:08:11 +01:00
StapleButter 3590d210f3 always apply matrix push/pop/store/restore to the vector matrix stack, even in mode 1. fixes SM64DS lighting. 2017-03-21 12:52:17 +01:00
StapleButter 3dd79d63f1 start 3D rendering at scanline 215. fixes Worms2D. 2017-03-21 11:45:12 +01:00
StapleButter cc86aa57ae fix that bug where NSMB's backgrounds lagged one frame behind 2017-03-21 02:11:49 +01:00
StapleButter 08a634371a fix bug that happened when HDMA got interrupted (or any repeating DMA, for that matter) 2017-03-21 02:05:40 +01:00
StapleButter 3a89513c93 * more accurate direct boot
* improve touchscreen precision a bit
* proper support for 512KB firmwares
2017-03-21 00:53:04 +01:00
StapleButter 2150240cbd implement some obscure DMA types 2017-03-20 22:18:35 +01:00
StapleButter a56bf5c76c make timers not suck. fixes issues (Worms2 intro FMV plays at the right speed, aging cart tests get further...) 2017-03-20 17:39:42 +01:00
StapleButter f38bc94011 input, with hardcoded (but not retarded) key mappings.
touchscreen support that doesn't suck.
2017-03-20 00:43:45 +01:00
StapleButter 59d107bfb0 make ROM path not be hardcoded. 2017-03-19 19:07:39 +01:00
StapleButter 5a061bc638 begin work on wxWidgets+SDL interface
Windows crapo ditched
2017-03-19 18:43:01 +01:00
StapleButter 8a4ed8f41c reorganize repo, move shit around 2017-03-16 23:01:22 +01:00