Commit Graph

174 Commits

Author SHA1 Message Date
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