Commit Graph

399 Commits

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