Commit Graph

298 Commits

Author SHA1 Message Date
saxxonpike c1556de4a4 commodore64: work begins on alternate VIC emulation 2012-11-17 06:03:44 +00:00
goyuken 276b00fb35 snes: unify color generation for debugger and core. include 3 alternate implications: r3809, r3808, and hypothetical snes9x. nothing ui hooked up yet 2012-11-16 21:29:23 +00:00
saxxonpike 8196caf731 commodore64: add serial cable interface for CIA/VIA communication, also DriveLED 2012-11-15 21:40:01 +00:00
zeromus 2ff12a9e3a add homemade cd-rom ECC/EDC code 2012-11-15 08:03:23 +00:00
saxxonpike 5926918f8b commodore64: implement some of the waveform calculation algorithms documented in libsidplayfp 2012-11-14 18:15:52 +00:00
goyuken 631212ca4f nes: implement mapper249: mmc3 plus "security features"
San Shi Liu Ji,
Shui Hu Zhuan,
Myth Struggle,
Duo Bao Xiao Ying Hao - Guang Ming yu An Hei Chuan Shuo
2012-11-14 16:41:33 +00:00
saxxonpike a3db998a0d commodore64: Implemented conversion of D64 into GCR bitcode (both major disk formats can be loaded now) 2012-11-14 04:48:21 +00:00
saxxonpike d29eecb4f6 commodore64: G64 disk format support 2012-11-14 01:50:17 +00:00
saxxonpike 7bd469d514 commodore64: add SyncSoundProvider for SID, placeholder for 1541 disk drive and VIA I/O chip 2012-11-13 22:40:54 +00:00
saxxonpike 30d18601ba commodore64: VIC sprite renderer fixed (shows line 21), SID noise shift register fixed (proper output frequency) 2012-11-13 16:11:31 +00:00
saxxonpike 2c5f179da2 commodore64: VIC, SID, CIA0, CIA1, RAM have their own domains now, Memory is what is visible to the CPU 2012-11-12 15:52:31 +00:00
saxxonpike a54df87b02 commodore64: simplification and performance increase: VIC implements IVideoProvider, SID implements ISoundProvider 2012-11-10 05:57:46 +00:00
saxxonpike f1dbf23bce commodore64: implement keyboard matrix (input is not connected, planned) 2012-11-09 18:44:05 +00:00
saxxonpike 6097111bad commodore64: cartridge mapper function adapter added, should make adding new mappers very easy 2012-11-08 19:57:22 +00:00
goyuken 119d6e8c1c z80gb: remove old disassembler due to license issues 2012-11-07 22:13:57 +00:00
saxxonpike f682734c39 commodore64: PRG files now autoload after Kernal is ready- hardcoded to load at 2064 for now 2012-11-07 17:52:16 +00:00
saxxonpike 4f2cd1263c c64- CIA register class, data port class 2012-11-05 16:56:58 +00:00
zeromus b4b2657965 some libmednahawk work. it can't possibly be used by anyone else yet, but i gotta do a checkin. 2012-11-04 23:29:06 +00:00
goyuken a7b2be48e2 nes: implement mapper028, a hypothetical multicart. untested 2012-11-03 23:56:35 +00:00
goyuken 3575eb849b z80gb: add new disassembler 2012-11-03 18:17:55 +00:00
saxxonpike 73f625dee4 2012-11-03 06:03:58 +00:00
adelikat 3858ff9b95 start a skeleton C64 project, mapped .prg, .d64, .g64, .crt to C64, rom loading should work (gets the bytes to the core), haven't tested 2012-11-01 16:48:32 +00:00
goyuken 5cbd11c850 NES: add some vs system stuff. not done yet 2012-10-31 21:15:44 +00:00
goyuken cd2ff4ed63 Add unmanaged version of 6502X core. The core it self is nearly exactly a copy+paste job from the C# one; most things map over exactly. A strange and abusive p/invoke setup is required to realize a performance gain; see code for details. Seems to be worth a bit more than 20% overall speed for me. Core is savestate compatible with managed 6502X. slight modifications to existing API has been made to support the new cpu. also included is a test module that runs both cores together, savestating every cycle to check for sameness. Core should fit in Atari, although that hasn't been done yet. For the moment, tracelog and disassemble are broken, but they'll be back soon. 2012-10-30 23:01:54 +00:00
goyuken 8313c103f6 Namco163 Audio 2012-10-30 12:07:33 +00:00
adelikat ca86a8dff3 Atari - start DPC mapper (Pitfall 2) - only does the basic bankswitching right now, still needs the 2k display bank and DPC sound chip 2012-10-30 01:33:56 +00:00
zeromus 223de0609c finish the attic, move some old junk up there. i think i threw out my back. 2012-10-29 07:56:30 +00:00
goyuken f09f8008ca nes: mapper036: "Strike Wolf (MGC-014)" 2012-10-29 00:09:27 +00:00
goyuken 8ce3857305 nes: mapper 250: "Time Diver Avenger (Unl)". mmc3 clone 2012-10-28 17:34:47 +00:00
goyuken 7ee00fbcb8 ines mapper 103: smb2 pirate fds conversion 2012-10-26 15:43:05 +00:00
goyuken ff08e1f83e nes: mapper "TENGEN-800008". support Tetris (Tengen) 2012-10-24 22:03:59 +00:00
adelikat 427a80548c Start an atari 7800 core based on emu7800, if you have bios files in very specific locations and filenames, you can open 2k ntsc games, and watch with no sound or controls! 2012-10-23 03:33:57 +00:00
goyuken 966495cbae fds audio channel. completely untested 2012-10-22 16:10:19 +00:00
goyuken cda9a49d5f FDS : get a little farther before erroring out. still work to do 2012-10-21 19:22:22 +00:00
goyuken 7568ff9437 add FDS skeleton. set up your fds bios with pathconfig, then try to load any file with extension ".fds" 2012-10-21 15:58:24 +00:00
goyuken d3a6b04a40 nes mapper 108: Meikyuu Jiin Dababa (FDS Conversion) 2012-10-17 19:06:03 +00:00
goyuken b2db264eed nes: unif mapper "BMC-NovelDiamond9999999in1". possibly also INES mapper 54, but i've only seen this game in unif form. One game: "Multi-Game Pirate Carts.7z|Novel Diamond 999999-in-1 [U][p1][!].unf" 2012-10-17 16:48:28 +00:00
goyuken 41d401c60a nes mapper 177:
Shang Gu Shen Jian
Xing Zhan Qing Yuan
Wang Zi Fu Chou Ji
Xing He Zhan Shi
Mei Guo Fu Hao
2012-10-17 15:52:01 +00:00
goyuken 77b53f1400 nes mapper 143 : magic math, dancing blocks. dancing blocks refuses to run due to core problem? see comments... 2012-10-17 15:01:49 +00:00
goyuken 9e2a207d4f nes mapper 41: caltron 6 in 1 2012-10-16 22:41:00 +00:00
goyuken 80737e8097 nes Mapper 42: dumb FDS conversion pirate stuff
Ai Senshi Nicol [p1].nes
Bio Miracle Bokutte Upa (J) (Mario Baby - FDS Conversion).nes
2012-10-16 21:37:25 +00:00
goyuken d575e50fd2 mapper 27: doesn't work and i'm tired of looking at it. blah 2012-10-15 19:44:41 +00:00
goyuken feb124bc89 nes mapper 37: "Super Mario Bros. / Tetris / Nintendo World Cup" licensed multicart (E) 2012-10-15 16:02:23 +00:00
goyuken e034115ad8 nes mapper 168: racermate. not playable until special controller is emulated 2012-10-15 14:47:37 +00:00
goyuken 4ffacf1ff8 wrote some UNIF load routines, but since NES.Init() is a giant mountain of spaghetti, i didn't feel like plugging it in. for a rainy day perhaps... 2012-10-15 00:39:41 +00:00
goyuken 0bf3ab7636 mapper 133, 145, 146, 148, 149, 160: jovial race \ qi wang chinese chess \ sidewinder \ galactic crusader \ lucky 777 \ twin eagle \ mahjan samit kabukicho hen \ master chu & the drunkard hu \ metal fighter \ millionaire \ pyramid ii \ silent assault \ mahjong world \ shisen mahjong seifuku hen \ taiwan mahjong 16 2012-10-14 21:00:50 +00:00
goyuken a93d7018e4 mapper 040: smb2j (US pirate cart) 2012-10-14 19:56:49 +00:00
goyuken 5125f43854 add mapper 165: mmc3 variant. Fire Emblem (Pirate). Some graphical glitches. 2012-10-14 18:34:15 +00:00
goyuken a5f7e1f3f8 mapper 156: buzz and waldog, metal force 2012-10-14 02:46:02 +00:00
goyuken def3a06da0 add mapper 132 (creatom). i have no idea how to play the game, though 2012-10-13 18:35:31 +00:00
goyuken e1fa9c0a4a add mapper038: "Crime Busters (Unl).nes" boots but the game requires zapper... 2012-10-13 17:20:22 +00:00
goyuken db0783f606 support mapper218: Magic Floor (Homebrew) 2012-10-13 15:25:23 +00:00
goyuken b40897bb77 sound api changes. added a new ISyncSoundProvider, which works similarly to ISoundProvider except the source (not the sink) determines the number of samples to process. Added facilities to metaspu, dcfilter, speexresampler to work with ISyncSoundProvider. Add ISyncSoundProvider to IEmulator. All IEmulators must provide sync sound, but they need not provide async sound. When async is needed and an IEmulator doesn't provide it, the frontend will wrap it in a vecna metaspu. SNES, GB changed to provide sync sound only. All other emulator cores mostly unchanged; they just provide stub fakesync alongside async, for now. For the moment, the only use of the sync sound is for realtime audio throttling, where it works and sounds quite nice. In the future, sync sound will be supported for AV dumping as well. 2012-10-11 00:44:59 +00:00
zeromus 54810ee6c6 nes-support mapper 101 2012-10-10 18:13:09 +00:00
goyuken b6fd5c6b5f china pokemon ahoy 2012-09-26 20:15:33 +00:00
goyuken 247402dbb3 for fun, find a copy of "vs castlevania" with ines header and load it. watch the pretty colors
TODO: Everything
2012-09-24 01:08:36 +00:00
beirich 5742d69f6a 2012-09-16 19:03:44 +00:00
goyuken a7bdd745c6 move ColorChooserForm to the MultiClient
also disable its menu item if the emulator is currently in CGB mode (since it doesn't do anything)
2012-09-15 18:30:11 +00:00
beirich adee5befa5 Genesis ROM header parsing
and other stuff thats only committed because svn isn't decentralized!
2012-09-13 04:13:49 +00:00
goyuken 03caa3b32f gambatte dmg palette editor. blah. 2012-09-12 22:18:51 +00:00
goyuken 1e6a9415c1 add Sound.Utilities.DCFilter and use it in gambatte
haven't decided yet whether i like the idea; it's mostly about playing nice with other audio mixing (from other applications)
well, it's not bad anyway...
2012-09-11 21:30:50 +00:00
beirich 6a968003ef derp 2012-09-09 01:54:31 +00:00
beirich 11464a7e03 Move Gambatte files to Nintendo folder
Clean up some missing file links in the csproj file
2012-09-09 01:40:29 +00:00
beirich e8de0327d2 Remove the 2 dead gameboy cores 2012-09-09 01:31:30 +00:00
goyuken 588d6214d5 more gambatte wrapper stuff 2012-09-08 21:36:04 +00:00
goyuken 3061abbc4b preliminary C api for libgambatte, plus pinvoke bindings
i'm a bit out of my league on this one, but that's ok
2012-09-08 20:22:07 +00:00
goyuken 001b28c60e replace junk and bad license resamplers with libspeexdsp (using p/invoke). MIT licensed, sounds pretty decent.
the p/invoke wrapper class is a hackjob i was using for testing and will be replaced.
2012-09-07 18:49:18 +00:00
zeromus ad6910fd74 snes-some beginning steps on graphics debugging tools. nothing to see yet, move along 2012-09-06 08:32:25 +00:00
goyuken b0e3a332d8 abstract resampling functionality into IStereoResampler for testing purposes
add two example resamplers that implement this: LinearResampler and CubicResampler.  both are very basic and sound like shit compared to libresample4j
ultimately, a single good resampler with a better license than libresample4j should be selected and used
2012-09-05 21:21:35 +00:00
goyuken 0430ec91c8 add resampler based on libresample4j (LGPL)
hook that up to libsnes, so libsnes audio now goes through libresample4j and then metaspu
it sounds ok
2012-09-05 18:52:17 +00:00
zeromus 37e6f68370 bsneshawk step 1 of N - compile libsnes, make bsneshawk core, setup interop, support frameadvance, video, gamepad. games are playable, I think. 2012-09-04 00:20:36 +00:00
beirich d745b3112b whoops, commit .csproj also for previous change 2012-09-03 00:46:28 +00:00
beirich 8ad3e72ffa Allow easy swapping of active 68000 core the C# core, or Musashi... As we are likely to be swapping between versions rapidly for some period of time. 2012-08-26 14:39:06 +00:00
brandman211 5239b4f55b -Separated the STIC and PSG memory map logic into new objects.
-Foreground / Background | Color Stack Mode
--Actually made a boolean for it (FGBG).
--Reading from a write-only STIC alias of $21 does change the STIC into Color Stack mode, but it doesn't actually read.
--Color stack mode is enabled when $21 or its alias is read and it is disabled (FGBG) when written its written, both having to occur during VBlank Period 1.
---This is what I gathered from the wiki, but I'm confused as to why it says that "The STIC stays in this mode until the program accesses location $21 again." I'm assuming this doesn't mean the mode changes on every access because then I don't understand why a read would change to a different mode than a write.
--FGBG is disabled by default. I don't think it matters.
2012-08-08 23:05:55 +00:00
beirich 32bc79be06 ym2612 mothaaaaafukkkkaaaaaaa 2012-08-07 05:48:30 +00:00
adelikat ea8d47bcc0 Start Mapper 197 (based on MMC3) and sort out the use of this vs Mapper 91. 2012-08-05 21:34:00 +00:00
zeromus 6a63f2f197 nes-work on mapper091 a bit, but its still not right 2012-08-05 20:19:07 +00:00
adelikat c0706ed0ac NES - add Mapper 120 (not documented by Disch docs), used by Tobidase Daisakusen (FDS Conversion). Mapper implementation based on FCEUX but game freezes before gameplay starts (plays fine in FCEUX) 2012-08-04 19:02:51 +00:00
adelikat 70f07346b1 NES - start VRC6 sound, currently sounds terrible 2012-08-03 02:08:42 +00:00
andres.delikat eeb0171eda Start mapper 90/209 2012-07-31 22:04:45 +00:00
brandman211 80a0f8f75b -Made Intellicart its own class.
-Separated cartridge logic into a separate ICart named Cartridge.cs.
-Made WriteMemory return a bool to match ICart.Write. It currently returns true if either the cart or the core responded.

TODO: Parse the vanilla Intellivision ROM, which will hopefully include the read / writability of the data segments. adelikat seems to think that I just need to send the bytes to $5000, but I'm not convinced.
2012-07-31 06:54:20 +00:00
adelikat 59ba7efdaf NES - start mapper 18 2012-07-29 22:40:57 +00:00
adelikat d4ac95bd30 NES - implement mappers 74 and 194. Added gamedb entries for the games I could find that correspond to these mappers 2012-07-29 18:35:24 +00:00
adelikat 047ed975d1 NES - implement mapper 234 2012-07-29 03:42:05 +00:00
adelikat 9e96eb9ddc NES - start mapper 52 2012-07-28 18:14:04 +00:00
adelikat 7805c460d0 NES - start mapper 50, but it doesn't work 2012-07-28 03:11:39 +00:00
adelikat 10c71da526 NES - implement mapper 45 2012-07-28 01:29:06 +00:00
andres.delikat f72905f602 NES - start mapper 96 (prg mapping working) 2012-07-24 14:32:09 +00:00
andres.delikat b08c2861a4 NES - start mapper 245 prg mapping working (possibly) 2012-07-23 22:15:22 +00:00
adelikat f45238132e NES - start mapper 205 2012-07-22 18:41:54 +00:00
adelikat b089f2996c NES - decently support mappers 74 and 192 (games play fine other than missing characters in text boxes)) 2012-07-22 16:57:44 +00:00
adelikat f85b6a017b NES - checkin start of mapper 91 2012-07-22 01:02:18 +00:00
adelikat 225079a843 NES - implement board MLT-ACTION52 (Mapper 228) for both Action-52 and Cheetahmen II 2012-07-21 20:40:10 +00:00
adelikat 86e14410b7 NES - mapper 225 finished 2012-07-21 17:19:59 +00:00
andres.delikat 5f4ad218a2 NES - start mapper 225 2012-07-20 21:48:16 +00:00
adelikat 96e7d85122 NES - add mapper 61, chr mapping is off somehow 2012-07-20 03:52:14 +00:00
andres.delikat 2e71b04de4 Start mapper 57 2012-07-19 18:30:39 +00:00
andres.delikat 77f4eeeac1 NES - implement mapper 58 2012-07-19 16:01:40 +00:00
andres.delikat a9323e0386 NES - Implement mapper 62 2012-07-19 15:51:41 +00:00
andres.delikat 8f95b611a5 BizHawk - implement mapper 201 2012-07-19 15:01:32 +00:00