Commit Graph

321 Commits

Author SHA1 Message Date
saxxonpike e4c760be83 commodore64: fixed Ultimax E000 mapping, updated mapper 0000, added EzFlash mapper 0020 (no official games use this but a lot of disk-to-cart and homebrew do) 2012-11-29 17:58:35 +00:00
saxxonpike 1eca7805cf commodore64: add cartridge mapper 0012 (Zaxxon, Super Zaxxon), fix mapper 0000 to support 4k roms 2012-11-29 16:33:04 +00:00
saxxonpike d05bd47ed0 commodore64: add cartridge mapper 0005 (Ocean), should cover a few high profile games 2012-11-29 06:29:42 +00:00
saxxonpike b55d6526d1 commodore64: PRG loading uses a more robust method 2012-11-28 17:49:42 +00:00
saxxonpike e490d1be04 commodore64: input added back, this method is closer to the circuitry itself 2012-11-28 17:26:40 +00:00
saxxonpike 49a847d8bc commodore64: VIC timing fix, implemented new cartridge I/O which handles writes into ROM addresses (apparently some carts use this) 2012-11-28 03:30:59 +00:00
saxxonpike 95d228f413 commodore64: new core with focus on low-level comm between chips and activity on both phases of the clock 2012-11-27 05:11:40 +00:00
zeromus efbdd58839 nes-fix mapper027 based on new understandings from fceumm; fix world hero 2012-11-26 22:08:25 +00:00
saxxonpike 4ffce9e5f9 commodore64: slight performance gain, video rendering pipeline structure rebuilt for flexibility (for pending changes) 2012-11-24 06:20:49 +00:00
saxxonpike af355f6d5b commodore64: clean up video code, remove unused VIC emulation 2012-11-24 02:10:05 +00:00
saxxonpike 155d185fe5 commodore64: further work on video code 2012-11-22 06:40:16 +00:00
saxxonpike 7114ecd914 commodore64: more work on new video code 2012-11-21 20:39:51 +00:00
saxxonpike 484545fef6 commodore64: restructuring of VIC code for video glitch fixes 2012-11-21 06:55:53 +00:00
saxxonpike bc06a1c59a commodore64: savestates implemented on all chips and connected 2012-11-21 01:30:54 +00:00
saxxonpike dab0a0dd38 commodore64: add VIC chip savestate code (not connected) 2012-11-20 03:45:58 +00:00
saxxonpike 6560900e6e commodore64: CIA chip savestate code added (not connected) 2012-11-20 02:37:42 +00:00
goyuken 93ad387db8 stuff, don't use 2012-11-19 22:43:34 +00:00
saxxonpike a304b5666b commodore64: savestate code added (not connected yet, devices still need to report state) 2012-11-19 19:07:38 +00:00
saxxonpike 8d6e55e2a9 commodore64: implement proper lag frame counting 2012-11-19 16:38:39 +00:00
goyuken 12844bbd7f GB: gbc color change infrastructure. not hooked up to UI yet 2012-11-18 17:02:55 +00:00
saxxonpike 90c3ce03c0 commodore64: complete VIC rewrite. PAL timing corrected (should run at around 50fps now). Region left on PAL for further timing debugging. 2012-11-18 10:25:57 +00:00
zeromus a301b29a7d discsystem-finish ECM support project. random access ECM decoding is now supported. 2012-11-17 22:16:09 +00:00
beirich 4c83970b2b initial ColecoVision commit. Needs BIOS ROM & input wired up to client (plus more emulation work) 2012-11-17 17:39:33 +00:00
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