Commit Graph

278 Commits

Author SHA1 Message Date
nattthebear 110d741cb3 TSTHawk: controller stuff 2017-07-09 13:40:52 -04:00
nattthebear dd7389f848 PicoDrive: Add core query whether 32X hardware is currently active. Remove code that assumed that the emulator would always activate 32X hardware when _32xPreinit was true, or that it would never activate 32X hardware when _32xPreinit was false. Both assumptions are false. 2017-07-09 12:14:27 -04:00
nattthebear d1ff443540 PicoDrive: Add the rest of the games to the DB. Expose IRegionable information and use it to inform FPS rate 2017-07-09 11:59:54 -04:00
nattthebear 0ee1832d57 Adult Video Games 2017-07-09 11:18:03 -04:00
nattthebear ee0ae25d3e uzem: Fix some controller stuff: clock activates on rising edge, latch is continuously active whenever high... fixes the detect controllers routine in the official kernel 2017-07-04 09:11:31 -04:00
nattthebear bd57871171 New! With more games than the 32X! And better sounding ones too! 2017-07-03 21:29:34 -04:00
nattthebear ea02e62d05 PicoDrive: Add memory domains, including ISaveRammable support. In order to get memory domains for 32x, "32X" needs to be on the gamedb entry. 2017-07-03 11:43:03 -04:00
nattthebear 5e54b896b7 PicoDrive: Disable idle loop detection. Move rom to alloc_sealed. Set heap sizes. 2017-07-03 10:50:24 -04:00
nattthebear d1a9c41466 PicoDrive: Fail fast when trying to run any hardware that calls PicoCartResize (SVP, Pier Solar, and others). Bizhawk won't be using this, so no reason to think about it. 2017-07-03 10:24:26 -04:00
nattthebear b6d2f38899 remove stray printf 2017-07-03 09:09:00 -04:00
nattthebear bc55597e90 PicoDrive: CD Audio support. GPGX and PicoDrive both share the same MCD emulation core, which has significant accuracy difficulties with CD audio... 2017-07-03 08:16:34 -04:00
nattthebear 24cd317a1c PicoDrive: Mega CD. No CD audio yet. 2017-07-02 20:46:01 -04:00
nattthebear a80f16c032 PicoDrive: minor cleanup 2017-07-02 18:29:41 -04:00
nattthebear 45e0770d06 PicoDrive: Connect 32X bios files. These are not required by the emulator, but we'll require them for deterministic mode. Otherwise, they're used if available. 2017-07-02 18:16:38 -04:00
nattthebear fee2f865cc PicoDrive: Fix 32x. (The 32x video draw routines don't respect pitch so you have to set it to width in bytes) 2017-07-02 17:45:10 -04:00
nattthebear 264436e614 PicoDrive: input plus lagged and callback 2017-07-02 16:15:54 -04:00
nattthebear 8b4176df70 PicoDrive: Sound 2017-07-02 15:06:44 -04:00
nattthebear 47535f8158 PicoDrive (WIP) 2017-07-02 13:47:43 -04:00
nattthebear bc9726f687 Waterbox: Connect basic stdio. You get an empty stdin, real stdout and stderr, and can present readonly files to the core. 2017-07-01 21:02:52 -04:00
nattthebear f972df72ea pizza: Save the last rendering of the border as well when MASK_EN is used. Seems to match real hardware? 2017-07-01 10:09:27 -04:00
nattthebear 8e1df5562a Pizza: Fix bug that broke sound channel 3 in certain cases. Bug was introduced by the porting process and does not exist in original core. 2017-07-01 09:38:20 -04:00
nattthebear 203a0521b5 pizza: set up constructors right for SGB and GB 2017-06-28 22:19:20 -04:00
nattthebear e8ef4913e9 snes9x: Port byuu's s-cpu fix 2017-06-27 20:29:10 -04:00
nattthebear e57a3ae23c gpgx: silently discard R&W on bus to locations that shouldn't be accessed by plain pointer 2017-06-26 18:17:00 -04:00
nattthebear db73b7f275 virtual boyee: make frame 0 size match other frame sizes 2017-06-26 17:34:01 -04:00
nattthebear 7c5c3482e7 pizza: RTC, maybe 2017-06-25 09:19:32 -04:00
nattthebear 537b2a1616 pizza: saverams 2017-06-24 21:46:11 -04:00
nattthebear 876a138e9b pizza: fix MASK_EN - the frame is grabbed before the command 2017-06-24 19:10:13 -04:00
nattthebear ed57f766ad Pizza: Savestates at ~600K in SGB mode 2017-06-24 11:05:59 -04:00
nattthebear 00f2743240 pizza: ship wbx file 2017-06-24 09:47:51 -04:00
nattthebear 6637e0a53f pizza: add lag/polling support 2017-06-24 09:38:03 -04:00
nattthebear e81d269fbe pizza: support pocahontas custom musacks. this game is an abomination 2017-06-24 09:12:08 -04:00
nattthebear 26063b35d0 pizza: first bits of sound. bios starting sound plays. bomb sound plays in Bomberman GB. 2017-06-23 20:51:19 -04:00
nattthebear 21c70d1d65 gpgx: port other changes from the old branch 2017-06-22 17:44:23 -04:00
nattthebear e231cd5084 gpgx: port some svp changes from old branch. that game sucked 2017-06-22 17:31:31 -04:00
nattthebear d1838cb868 pizza: some debugging info 2017-06-20 18:31:10 -04:00
nattthebear c112bb835f pizza: most things besides sound should be working now 2017-06-20 18:23:51 -04:00
nattthebear ea32862199 pizza: some basic ATTR stuff now working 2017-06-19 19:53:40 -04:00
nattthebear 95a56b15a8 pizza: SGB joypad functionality working 2017-06-18 20:35:55 -04:00
nattthebear 278b29a840 pizza: use waterboxcore 2017-06-18 16:05:55 -04:00
nattthebear 80698781b1 misc code cleanup 2017-06-18 15:01:02 -04:00
nattthebear 37b285fe8d saturnus: get rid of the round-tripping of analogs through the mednafen input system. 2017-06-18 12:25:01 -04:00
nattthebear 9ff2da5265 Start work on Honda Oddessy2 2017-06-18 10:29:03 -04:00
nattthebear 1292b27163 Add some draft work for supporting sysv <-> msabi interop. I wonder if we'll ever use this? I'd put it on a separate branch but it would be merge hell. 2017-06-18 08:51:09 -04:00
nattthebear 5a8fad73b9 saturnus: use waterboxcore 2017-06-17 15:30:03 -04:00
nattthebear c04beea4d0 update snes9x to use WaterboxCore 2017-06-17 12:57:43 -04:00
nattthebear 3e731ae0b3 Make ngp core use WaterboxCore infrastructure 2017-06-17 10:47:10 -04:00
nattthebear 6f60eb5efc Create an abstract base class for waterbox cores, and adapt Virtual Boyee to use it. Not sure yet how useful this is... 2017-06-17 10:07:02 -04:00
nattthebear a4c6d04a18 pizza: change internal rendering pipeline to 32 bit colors 2017-06-16 09:20:35 -04:00
nattthebear 04d4880564 pizza: cover your ears 2017-06-16 08:19:03 -04:00
nattthebear dd9d1b2018 pizza: input 2017-06-15 21:38:52 -04:00
nattthebear 8fa903c004 pizza progress: it runs 2017-06-15 19:00:41 -04:00
nattthebear 69ec6b2a73 remove some sound buffers from snes savestates 2017-06-14 18:56:24 -04:00
nattthebear 17cc595ba6 i'd stash all of this but it's less effort to commit 2017-06-14 16:49:42 -04:00
zeromus f7ac0d0b02 update snes9x submodule -> obj layers toggle commit 2017-06-13 21:47:08 -05:00
nattthebear 7d6b4611dc pizza: start removing parts i don't like 2017-06-13 20:21:13 -04:00
nattthebear a82d3bc540 snes9x: shartfox: show 99% of all frames as lag frames, as intended 2017-06-13 20:21:13 -04:00
nattthebear 2eb4205a3b libsnes: remove some palette code that wasn't used by us. not sure what this was for. gets raw snes state size down to 5MB 2017-06-13 19:24:28 -04:00
nattthebear cbbc922cf7 pizza boy at c7bc6ee376028b3766de8d7a02e60ab794841f45 2017-06-13 19:24:28 -04:00
nattthebear 668006fba0 arbitrarily slash the size of most libsnes cothreads significantly, decreasing overall state size from 10MB to 7MB 2017-06-11 20:33:58 -04:00
nattthebear 626de2d7c8 waterbox: add guard pages to libco stacks 2017-06-11 20:10:37 -04:00
nattthebear edbe83bc13 libsnes: savestate uncompressed size 14MB=>10MB (for a game with nothing special) 2017-06-11 15:30:54 -04:00
nattthebear 8cf1e43e70 libsnes: move tile cache out of savestates. saves like 400kB. meh. 2017-06-11 11:28:29 -04:00
nattthebear ee026d0525 libsnes: Cleanup some dead code. Apparently the codebase contained a primitive attempt to implement savestates, but it contained significant bugs and had no use beyond toy projects. 2017-06-11 09:37:47 -04:00
nattthebear 5f2c5b0934 snes core is ready for business, I think 2017-06-10 20:01:07 -04:00
nattthebear 67ff767f95 libsnes: recreate the emu cothread at the end of init, to avoid pointer poison that was breaking xor state consistency. Big todo: all init functionality really needs to happen from the main thread, as there are many syscalls that reenter managed in that code, and reentering managed from a cothread stack is a Bad Thing 2017-06-10 19:51:59 -04:00
nattthebear dde953d612 fix a libco issue that was breaking xorstate consistency 2017-06-10 18:20:58 -04:00
nattthebear ba7543c19a snes waterbox: fix a leaky pointer which was breaking xorstate integrity 2017-06-10 17:19:18 -04:00
nattthebear baf7a7973b snes: do some more savestate prep, including removing the unused cheat system, which cost sixteen megidobites of ram 2017-06-10 15:53:38 -04:00
nattthebear fcbb85a579 snes: move some stuff to sealed_heap 2017-06-10 15:20:06 -04:00
nattthebear f0ec682314 snes runs! sorta. 2017-06-10 14:16:25 -04:00
nattthebear 36be9e9fc7 snes: waterboxification phase 2 2017-06-10 14:16:25 -04:00
nattthebear 9975a05695 snes: waterboxification phase 1 2017-06-10 14:16:24 -04:00
nattthebear a7ef10322e snes: move files to waterbox area 2017-06-10 14:16:24 -04:00
nattthebear d8c19f3787 waterbox libco (not yet tested) 2017-06-09 19:54:20 -04:00
nattthebear 3170f4ac49 add ss.wbx. Saturnus core is now ready for testing 2017-06-09 17:55:34 -04:00
nattthebear 1c46b79bbb saturnus: settings 2017-06-09 16:42:08 -04:00
nattthebear a42631fadc Saturnus: IMemoryDomains. Names match the old yahbooze names when applicable. 2017-06-08 17:15:29 -04:00
nattthebear 51d36f4563 saturnus: move cartridge allocations to special heaps 2017-06-07 20:21:44 -04:00
nattthebear 7d4b6a5209 Saturnus: Simplify BIOS rom loading and move it to alloc_sealed 2017-06-07 19:48:26 -04:00
nattthebear 90d9474530 Saturnus: Lag detection and input callbacks 2017-06-07 18:56:44 -04:00
nattthebear 4d875e0c24 Saturnus: Add CD sanity checks 2017-06-07 17:54:16 -04:00
nattthebear 40680a9d74 Saturnus: Connect reset button, but you need to hold it down for 3 consecutive frames (working as intended). Also, DRIVE LIGHT HOOOOOOOOOOOOOOOOOOOOOOOOO 2017-06-07 17:34:30 -04:00
nattthebear 8bbfa26d1c saturnus: get basic interlace working 2017-06-07 06:43:01 -04:00
nattthebear fd915a5999 saturnus: R/B swap (No, you still can't play games) 2017-06-05 17:33:45 -04:00
nattthebear d7b8464a9b saturnus: start working on controller hook up. there's something wrong with the CD stuff though, and games don't work 2017-06-04 21:14:00 -04:00
nattthebear b9ab41a4da More like Chie SatURNaka 2017-06-04 16:41:11 -04:00
nattthebear f96a7abb94 ngp: connect saveram. due to the way this is implemented in neopop, connecting it greatly increased the size of savestates, which may or may not be worth fixing. 2017-06-03 07:58:14 -04:00
nattthebear 034337c51d start of dngp linkup. It works enough for KOF2 to think a cable is there, but not enough to run anything 2017-06-01 20:44:49 -04:00
nattthebear df0a955621 ngp: memory domains 2017-05-31 16:58:16 -04:00
nattthebear d799624e9c NGP: It works and stuff 2017-05-30 18:36:11 -04:00
nattthebear aab6391b12 virtual boyee: actually fix the color config stuff 2017-05-29 20:34:07 -04:00
nattthebear 3ec7b0252f Exploding your computer NYI https://www.youtube.com/watch?v=dUHYNmNrqoY 2017-05-29 20:21:34 -04:00
nattthebear f75ad4a472 replace snes9x.wbx for a buuug 2017-05-29 19:20:44 -04:00
nattthebear b20354448b vboyee-- somehow the default colors for anaglyph were all wrong 2017-05-29 14:11:35 -04:00
nattthebear 391160ebf9 vboyEE: settings and syncsettings 2017-05-29 13:50:40 -04:00
nattthebear 4ab407bb42 virtual boy: add IInputPollable. Unfortunately, adding one more field to EmulateSpec caused C# to vomit its brains out, so yeah... 2017-05-29 12:16:24 -04:00
nattthebear 2887ba5823 savestates for vb. this includes savestates for mmap_heap. unfortunately, usage of mmap_heap was scrapped as the things going into it were better suited for invisible/sealed. it may be eventually useful 2017-05-29 11:26:38 -04:00
nattthebear fbf7be92d5 VirtualBoyee: Hookup video, input, and sound. 3D Tetris appears to be working, but only the alternate dump of merio tenis works 2017-05-29 08:16:56 -04:00
nattthebear 855ff7deca Start working on a primitive mmap implementation. It's good enough for VirtualBoyee to boot, but undoubtedly has many bugs. 2017-05-28 22:18:01 -04:00
nattthebear a52e9d7dc1 https://www.youtube.com/watch?v=0sKRRY5tQz8 2017-05-28 17:19:07 -04:00
nattthebear 7f7f490b6d The InputCallbackSystem on this Core is now fully operational. https://www.youtube.com/watch?v=g7-tskP0OzI 2017-05-28 14:18:08 -04:00
nattthebear 61aa4f5df3 Connect Snes9x controllers, syncsettings, and regular settings 2017-05-28 10:18:20 -04:00
nattthebear 7ea3755f13 rename gpgx.exe to gpgx.wbx and push some binaries 2017-05-28 07:33:55 -04:00
nattthebear 0cc1abd51b snes9x: savestates 2017-05-28 06:39:11 -04:00
nattthebear ef8264a8b0 waterbox: Add special handling for imports in XorStates. Fix a few other instances where managed pointers were leaking out into XorStates 2017-05-27 20:38:28 -04:00
nattthebear b737959d11 snes9xHawk which is totally not a thing: connect audio 2017-05-27 14:32:12 -04:00
nattthebear 34791d8589 bizinvoker: fix clas being used in place of ref struct 2017-05-27 12:59:57 -04:00
nattthebear 2665510502 Add enough changes so that snes9x now boots. This includes stubs for a bunch of syscalls, a few mmglue changes, and C++ global constructor support 2017-05-27 12:29:05 -04:00
nattthebear 7739b9dc80 rough in some snes9x stuff. not working yet 2017-05-21 17:43:43 -04:00
nattthebear dc6646a020 add snes9x sobmodule 2017-05-21 11:17:22 -04:00
nattthebear fa24f5fc9d GPGX64 works with the new waterbox, or would if I pushed the binaries. Savestates are hosed; TBD 2017-05-20 18:50:01 -04:00
nattthebear a325969963 Work more on waterbox and convert GPGX64 to use the new PERunner. Doesn't work yet. 2017-05-20 17:18:31 -04:00
zeromus 2f405cd01e fix gpgx CDL z80 -> MD cart 2016-04-15 00:10:23 +01:00
zeromus 6f68925a75 fix typo in genesis z80 CDL that made addresses in mirrored z80 ram region crash 2016-04-22 12:34:12 -05:00
nattthebear e294e29202 Commit current gpgx.elf build 2016-04-05 21:29:52 -04:00
nattthebear ad2fbd03f0 Waterbox: a few small libc changes 2016-04-05 21:19:23 -04:00
nattthebear 82baec8e6b Add some random junk to headers to make some things not complain. (You'll get linker errors if you try to use any of it, of course) 2016-03-27 22:00:33 -04:00
nattthebear 5876c60571 gpgx waterbox - dynamically allocate some sega CD memory areas to reduce state size. raw core is now about 800K in normal mode; 2MB in sega CD mode 2016-03-27 12:00:50 -04:00
nattthebear ab16086dfd waterbox gpgx: fix crash on cart sram games 2016-03-26 23:32:48 -04:00
nattthebear a029e60cfc Per spec, if mouthbreather calls longjmp(buf, 0), return 1 instead 2016-03-26 17:14:44 -04:00
nattthebear b4735502a5 gpgx waterbox: fix a few misc bugs in elfrunner, and fix a few misc bugs in the core so that Virtua Racing now works 2016-03-26 14:44:44 -04:00
nattthebear a3a761d028 won't miss that code 2016-03-23 21:37:33 -04:00
nattthebear 92e708d011 gpgx waterbox: move bg_pattern_cache to alloc_invisible 2016-03-23 21:10:18 -04:00
nattthebear 06f9d78452 gpgx: trim savestate size by moving some things to the sealed heap 2016-03-23 20:52:49 -04:00
nattthebear b06908e5d4 gpgx waterbox: get sega cd working 2016-03-23 20:11:47 -04:00
nattthebear 8136aa0f03 Add the basics of multiple memory arenas to elfrunner. With a bit of tweaking, gpgx core states are now 3.5MB (and could get smaller) 2016-03-23 19:45:02 -04:00
nattthebear c857b162d0 Add waterbox folder with the gpgx waterbox experiment. Not useful for much yet 2016-03-22 21:58:52 -04:00