Commit Graph

518 Commits

Author SHA1 Message Date
goyuken 58dacf9bcc NES: add line to rom status log for SHA1 hash when loading UNIF 2012-10-17 00:59:22 +00:00
goyuken 00c6259689 Unif: populate ci.wram_battery based on BATR chunk. 2012-10-17 00:44:34 +00:00
zeromus 4e079389da nes-re-sort board list continually with the most recently used one at the top of the list 2012-10-17 00:38:28 +00:00
zeromus 28687957cc nes-try prioritizing board search order 2012-10-17 00:25:46 +00:00
goyuken 201c7a9dc2 VRC7: create the fm chip in Configure(), instead of before constructor. this shaves .001ns off board scanning times 2012-10-17 00:25:02 +00:00
goyuken 9e2a207d4f nes mapper 41: caltron 6 in 1 2012-10-16 22:41:00 +00:00
zeromus 31c7edf8dd nes-unif support. we will need to explicitly add every UNIF board we support to their respective mappers, because
[1] each unif board name carries with it its own unique assumptions about which chips are present. 
[2] the unif board names may not be matching bootgod's, which we accept as canonical; 
also fix a small memory leak due to nes boards not being disposed during scan process.
2012-10-16 22:27:48 +00:00
goyuken cffc9293c1 nes mapper 164: fix final fantasy v graphics 2012-10-16 21:59:30 +00:00
goyuken 0e87a399ef Dummy commit to test problems with our bot
Hello, World!
2012-10-16 21:45:11 +00:00
goyuken 2207dc32ef mapper42: fix whitespace
natt is so godlike
2012-10-16 21:39:34 +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 9f31d09473 nes mapper 165: fix triggered ppu bankswap; Fire Emblem (Ch) looks good now 2012-10-16 20:21:36 +00:00
goyuken e45a80f6d5 NES: better error message for certain gamedb gaffe 2012-10-15 23:53:14 +00:00
goyuken fbcc7375de nes: add "NES-TR1ROM" to TVROM, should emulate identically (except for differences in MMC3 variant, which are handled). like "NES-TVROM", bootgod id only, as iNES is too crappy for this. should fix some version of Gauntlet (U), but can't test as I don't have the rom. 2012-10-15 21:34:39 +00:00
goyuken dfe0e6fa96 nes mapper116: fix exception 2012-10-15 20:50:46 +00:00
goyuken 1dd0265e60 Mapper 77 ("IREM-74*161/161/21/138", Napoleon Senki (ナポレオン戦記)): fix nametable mirroring 2012-10-15 20:25:15 +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 d90bf4ac0f SachenSimple.cs: add comment about PAL emulation 2012-10-14 21:11:26 +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 1f63e410ba support "TENGEN-800004" as it is functionally identical to NES-DRROM. Fixes Gauntlet (Unl). Bad dumps of Gauntlet won't work because bootgod id and setup is required. 2012-10-14 14:16:25 +00:00
adelikat 6fedb67949 Fix the Write callback for the MemoryCallBackSystem and refactor the object more appropriately 2012-10-14 14:08:25 +00:00
goyuken a5f7e1f3f8 mapper 156: buzz and waldog, metal force 2012-10-14 02:46:02 +00:00
adelikat 557fb150c3 Lua - implement onmemoryread and onmemorywrite for the NES and PCE cores 2012-10-13 18:59:09 +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 402508e4e5 mapper218: force vram_size to 0 (ignore whatever is in the broken header) 2012-10-13 16:19:08 +00:00
goyuken db0783f606 support mapper218: Magic Floor (Homebrew) 2012-10-13 15:25:23 +00:00
goyuken 4a87b8462d coontiue mapper 18 implementation. magic john appears to be playable now 2012-10-13 13:40:05 +00:00
goyuken 4510712ada AGCI-50282 \ MAPPER144: Death Race (Unl) (U). this game is a piece of shit 2012-10-13 01:29:59 +00:00
goyuken c1b9293c09 TQROM: writes to chrrom are ignored, instead of attempting to write to incorrect chrram addresses 2012-10-12 01:58:36 +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 9be282789b add DisplayType to NES. fixed to NTSC as that's all that our NES core supports at the moment 2012-10-06 16:56:46 +00:00
goyuken b545d79fb6 lua: add emu.on_snoop() 2012-10-06 13:34:04 +00:00
zeromus ddac7fcefd nes-dont generate a framebuffer before the ppu runs. generate it after! 2012-10-04 21:51:34 +00:00
goyuken 98d9f13600 change IEmulator.DeterministicEmulation to get-only; the old interface implies that a core should be able to take a change to the property at any time, which isn't feasable. most existing cores changed to return true all the time. SNES now takes determinism parameter in Load() 2012-10-03 15:31:04 +00:00
adelikat e964dfb1df Trace Logging hooked up for NES core, trace logger tool doesn't display rows for some reason 2012-09-30 02:37:00 +00:00
adelikat f8c508b1a3 Add a CpuTracingAvailable flag to CoreOutputComm and set to true for NES, set the Trace Logger menu item to be enabled/disabled based on this flag 2012-09-30 02:07:14 +00:00
goyuken bb995c1472 SxROM: fix "Bill & Ted's Excellent Video Game Adventure.nes"
breaks all MMC1 savestates
2012-09-30 01:32:10 +00:00
zeromus 0b03e6edc8 nes-big improvements to sound, hopefully. fix regressions from last night which killed a lot of music. 2012-09-29 22:19:49 +00:00
zeromus 3898733e8e nes-fix dmc sfx bug in bt&dd making nonexistent sfx; add emulation of empty databus (to extra joystick bits and reads of nonexistent EXP and WRAM memory ranges.. need to scan other emulator source codes for places to check for use of empty databus); fixes freeze bug in bt&dd. also break savestates, but add a crude version system so we at least have a way to avoid it in the future.
bt&dd has a glitch that reads from $6000 when there is no ram installed, and crashes if something too large is returned. I think this chooses a frame for abobo, and you can actually see abobo's sprites glitch for one frame right when the wall finishes getting busted down (the same place where bizhawk was freezing)
2012-09-29 08:39:59 +00:00
zeromus 3095df51c3 nes-fix a missing variable in apu savestates. fixes nothing. 2012-09-28 08:34:02 +00:00
zeromus 079f19a03c nes-i think the 8 sprite limit remover option was already working. however, it looks sync-dangerous, so i addressed that 2012-09-27 06:18:35 +00:00
goyuken b6fd5c6b5f china pokemon ahoy 2012-09-26 20:15:33 +00:00
goyuken 36df8e4aab fix default patch set for VRC7 2012-09-24 17:34:17 +00:00
goyuken c94d5aa9b8 i implemented dwedit's DMC fix as best as i could understand it. 'Fire Hawk (USA) (Unl).nes' no longer has graphical glitches on the intro screen.
audio still sounds wrong, and crash still occurs once you get in game
2012-09-24 14:48:00 +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
goyuken 51fc8e695c add 'bool rendersound' to IEmualtor.FrameAdvance()
if false, the emulator is free to gain whatever speedup it can by not doing audio processing (shouldn't change anything sync related, though)
the core should still always call SoundProvider.GetSamples() after each FrameAdvance(), else DRAGONS
at the moment, only test-implemented in gambattehawk
2012-09-20 19:52:47 +00:00
goyuken 1301344d71 neshawk: fix: when paused, toggling "clip left and right 8" in nes graphics config caused garbage to show on screen. 2012-09-20 00:53:21 +00:00
zeromus 1760e9593f nes-probably need to handle the left clipping case too 2012-09-20 00:24:46 +00:00
zeromus e8487b77d8 change lua drawing to use an offset specified by the emulator core, so that drawing in the nes core can have nes-relative coords instead of multiclient-display-relative coords 2012-09-20 00:22:24 +00:00
zeromus b33fc4982c remove derelict CoreVersion/Introspection stuff 2012-09-16 20:08:36 +00:00
zeromus 4018452f21 add CoreInputComm.CpuTraceEnable and CoreInputComm.CpuTraceStream, and use it in NES; set those appropriately from a gui component and you can effect user-controlled cpu tracing, if its been setup in the core he's interested in. CoreInputComm doesnt reconstruct between emulator instances, so this may not be the best way of hooking it up, but its serviceable. 2012-09-16 19:38:08 +00:00
zeromus 88fab46b21 fix error in snes Select and Start button binding (was using the NES bindings due to copy/paste error) 2012-09-16 16:23:10 +00:00
goyuken 83e145c36f change the IEmulator saveram interface.
i don't like doing this, but there were already two emus with special bandaid logic in MainForm.cs
i hope this doesn't break something, but if it does i'll fix it
2012-09-14 22:28:38 +00:00
beirich 90d1d12086 gen: fix some vram corruption issues
general: fix some build warnings
2012-09-09 21:15:20 +00:00
beirich 3ed2261cf9 Delete some unused files
Move Nintendo\Docs folder to Nintendo\NES\Docs
2012-09-09 01:53:28 +00:00
zeromus f5c0965045 snes-support save ram 2012-09-04 07:09:00 +00:00
adelikat 35ec42073f NES - implement address poking on the system bus domain. Anything in the EXP, WRAM, PRG regions is done via the built in cheat system due to being handled by the mappers. This may not be the ideal way to do this but it seems to work well, and I don't know of a more logical way to handle this. 2012-09-01 18:34:31 +00:00
adelikat 9b7404b059 NES - Round 1 of Hook up NES cheats for system bus (i.e. game genie codes now work) 2012-09-01 14:13:36 +00:00
adelikat 67822be97c NES - PPU - very minor cleanup 2012-08-23 01:28:33 +00:00
adelikat 959e56b71a NES - small (probably unnoticeable) speedup to WriteMemory() 2012-08-19 21:09:48 +00:00
adelikat 6473321100 NES - some optimizations to ReadMemory(), ~1fps speed up 2012-08-19 20:38:20 +00:00
adelikat 70929679d5 NES - don't recalculated the framebuffer constantly, instead only do it once per frame. ~1fps speed up 2012-08-19 20:01:17 +00:00
adelikat 493cff72c4 NES - tiny speedup 2012-08-19 19:21:35 +00:00
adelikat f84a3709c9 Misc code cleanup 2012-08-12 01:09:30 +00:00
adelikat 1bce6a724d oops, add Mapper197.cs 2012-08-05 22:28:03 +00:00
adelikat 975d449722 AxROM (Mapper 7) - make all AOROM games not emulate bus conflicts, fixes various Wheel of Fortune games, Double Dare, and Jeopardy 2012-08-05 22:02:58 +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 77da639dc6 NES - Fix Mapper 50 2012-08-05 19:20:54 +00:00
adelikat 33954ddef7 NES - map MAPPER219 to NROM (fixes a version of 3D Block) 2012-08-04 19:22:49 +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 a7b847dbe2 NES - some small easy optimizations to the APU (very small) 2012-08-04 02:41:15 +00:00
adelikat b10769ab4a NES - dsiable NESWatch checks in ReadMemory since this feature is not yet used for anything 2012-08-04 01:54:19 +00:00
adelikat fba6e64c58 NES - some small speed optimizations 2012-08-04 01:47:54 +00:00
andres.delikat 31db5f9d05 NES - better handling of bus conflicts for AOROM board, fixes Wheel of Fortune 2012-08-03 14:12:04 +00:00
adelikat 70f07346b1 NES - start VRC6 sound, currently sounds terrible 2012-08-03 02:08:42 +00:00
andres.delikat 4754889131 NES - mapper 231 - optimize the ReadPRG() method 2012-08-02 21:05:15 +00:00
adelikat accd643fde NES - progress on mappers 90 & 209 2012-08-01 02:55:01 +00:00
andres.delikat eeb0171eda Start mapper 90/209 2012-07-31 22:04:45 +00:00
adelikat a5262488c7 NES - fix mapper 96 prg mapping. These games are working as well as can be tested without better peripheral support, so I'm considering this mapper complete. 2012-07-31 03:07:38 +00:00
adelikat 4930979940 NES - progress on mapper 96, Oeka Kids - Anpanman no Hiragana Daisuki seems to play (but I can't get passed the title screen without Oeka Kids tablet emulation). Oeka Kids - Anpanman to Oekaki Shiyou!! fails to load (suggesting a PRG mapping problem?) 2012-07-31 02:58:59 +00:00
adelikat c04b750d6a Finish mapper 245 2012-07-31 01:01:15 +00:00
andres.delikat a34bf45610 Add islag to savestates (now lagframe alert status updates when loading a state) 2012-07-30 14:42:52 +00:00
adelikat 59ba7efdaf NES - start mapper 18 2012-07-29 22:40:57 +00:00
adelikat 31843f3e3a NES - mappers 74, 192, 194 - set VRAM sizes when mapper object is created, this removes the need to set vram in the gamedb. 2012-07-29 18:43:21 +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 71865576a7 NES - finish mapper 192 2012-07-29 18:12:37 +00:00
adelikat 7cbee7bde4 NES - mapper 74 - implemented chr-ram behavior, however, it does not work (chinese characters still missing in dialogs, but this checkin causes no regressions) 2012-07-29 17:55:45 +00:00
adelikat 047ed975d1 NES - implement mapper 234 2012-07-29 03:42:05 +00:00
adelikat c555e1df40 NES - mapper 52 complete 2012-07-28 18:53:26 +00:00
adelikat 9e96eb9ddc NES - start mapper 52 2012-07-28 18:14:04 +00:00
adelikat 1fb7d9a8a6 NES - Mapper 45 - oops, add lock_regs flag to savestates 2012-07-28 15:42:57 +00:00
adelikat 678e60815e NES - Mapper 50 - hook up IRQ logic? 2012-07-28 13:19:12 +00:00