Commit Graph

684 Commits

Author SHA1 Message Date
goyuken 6ffd71973a 6502: improve tracelog to only disassemble actual opcodes, and also enable it on 2600 2012-11-02 22:27:22 +00:00
goyuken 323caaaff7 nes: sxrom: decrease speed by 1%, also fix overflow possibility 2012-11-02 19:52:02 +00:00
goyuken 3eda4a90a6 gbhawk: tracelogger 2012-11-02 19:44:31 +00:00
zeromus aa161d8910 proper Peek support in NES and 6502X 2012-11-02 19:28:00 +00:00
goyuken 5bf33b54a6 SxROM: 1% speedup 2012-11-02 17:51:07 +00:00
goyuken 967a60dcf7 ack! 2012-10-31 21:16:50 +00:00
goyuken 5cbd11c850 NES: add some vs system stuff. not done yet 2012-10-31 21:15:44 +00:00
goyuken 5cff02b74d nes: vrc4, vrc6, vrc7: change to use CPU cycle counting 2012-10-31 19:40:18 +00:00
goyuken e487e39c9e nes: clean up region detect code a bits 2012-10-31 18:48:06 +00:00
goyuken bc22049a19 NES Multiregion: sound frequencies supported 2012-10-31 18:35:34 +00:00
goyuken 7dc5808771 NES: preliminary support for PAL, Dendy, and RGB (part 1). at the moment, it's all determined from gamedb, and not at all saved to movies or savestates 2012-10-31 18:25:46 +00:00
goyuken 8af6cac4ec NES: BANDAI-FCG-1: cleanup and fix some stuff (broke savestates). FIXES: Dragon Ball - Dai Maou Jukkatsu, Rokudenashi Blues, Dragon Ball Z - Kyoushuu! Saiya Jin, SD Gundam Gaiden, Magical Taruruuto Kun 1, 2 2012-10-31 16:29:26 +00:00
goyuken 0d515dafdf nes: add ClockCPU() to INESBoard, for boards that count M2 cycles, and changed some mappers to use it. Mappers that need more inspection: Mapper027, SxROM, VRC2_4, VRC6, VRC7 2012-10-31 14:36:43 +00:00
zeromus 59664959f1 speed up c# 6502 and enable it instead of cpp one 2012-10-31 01:55:26 +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
goyuken aa292b678e shorten some of the FDS mechanical timings based on nesdev feedback. bizhawk now seems to be about 6 seconds slower than fceux in initial loading of FDS titles. This makes sense, as fceux isn't timing at all the BIOS's first pass over the disk, worth about 6 seconds. 2012-10-29 19:26:52 +00:00
goyuken 8a67af227e NES: MMC5: add "ExRAM" as memory domain, for debugging purposes 2012-10-29 17:11:19 +00:00
goyuken f09f8008ca nes: mapper036: "Strike Wolf (MGC-014)" 2012-10-29 00:09:27 +00:00
goyuken 164a6cb42d nes: gxrom: fix possible crash on 64K prg carts???? maybe? 2012-10-28 23:53:29 +00:00
goyuken 29c0733150 sneshawk: log core firmware requests to console 2012-10-28 23:42:04 +00:00
goyuken 4fa571d6e9 nes: mapper 171: "Tui Do Woo Ma Jeung". mmc1 with no mirror control 2012-10-28 17:50:48 +00:00
goyuken 8ce3857305 nes: mapper 250: "Time Diver Avenger (Unl)". mmc3 clone 2012-10-28 17:34:47 +00:00
goyuken af86a270d5 FDS: fix savestate ejected disks 2012-10-28 15:23:10 +00:00
goyuken a2c0d1b57b FDS: cleanup and savestates 2012-10-28 15:13:56 +00:00
goyuken b1039a6bf9 nes: sunsoft4: partial support for "UNIF_NES-NTBROM". "Nantettatte!! Baseball" UNIF dumps now boot. 2012-10-27 15:11:07 +00:00
goyuken fce1ffcce2 FDS: make the sound channel softer overall. there are still some bugs with it, though... 2012-10-27 14:24:00 +00:00
goyuken afaa256e37 FDS: SaveRam support. The "saveram" actually stored is a simple collection of (originalside ^ side), more or less. Like any wip beta, don't get too attached to your saves yet. Also misc cleanup. 2012-10-27 14:01:55 +00:00
goyuken 452e1f0db4 FDS: implement CRC writing, reading, and checking 2012-10-27 01:04:54 +00:00
goyuken 06d131b777 NES: add FDS "currently loaded disk side" as a memorydomain. very rudimentary; for deblugging purposes only.
FDS: add disk writing.  nothing's saved anywhere at end of session, so not at all permanent.  seems to work though.
2012-10-26 21:25:20 +00:00
goyuken e6058e6bd8 break some stuff. FDS can eject and insert disk sides now 2012-10-26 18:51:08 +00:00
goyuken 7ee00fbcb8 ines mapper 103: smb2 pirate fds conversion 2012-10-26 15:43:05 +00:00
goyuken 57349cdbcb NES: fix crash when loading UNIF with incomplete gamedb entry 2012-10-24 23:30:46 +00:00
goyuken ff08e1f83e nes: mapper "TENGEN-800008". support Tetris (Tengen) 2012-10-24 22:03:59 +00:00
goyuken 3378ea8001 fds audio: clip. intro to Metroid now sounds passable 2012-10-22 17:04:37 +00:00
goyuken 966495cbae fds audio channel. completely untested 2012-10-22 16:10:19 +00:00
goyuken fbb46e7054 fds - fix up some junk. smb2j runs now 2012-10-22 02:50:43 +00:00
goyuken e84f1d2761 fds: hmm 2012-10-22 01:11:39 +00:00
goyuken 44a8f442ee fds boots something 2012-10-22 00:57:28 +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 485d7c05c7 make av dumping with avi a bit more graceful error handling. NES: avoid crash when the frontend behaves in a naughty manner 2012-10-18 20:57:53 +00:00
goyuken d3a6b04a40 nes mapper 108: Meikyuu Jiin Dababa (FDS Conversion) 2012-10-17 19:06:03 +00:00
zeromus 9e50d25c16 snes-support user override backdrop color 2012-10-17 18:39:44 +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 ea02d40c66 add a number of UNIF board mappings. every one of these is tested playable on at least one game, but that doesn't mean it's "right" overall. as always, the only true solution is a hash identify. 2012-10-17 02:08:19 +00:00
goyuken 2c881a0785 AxROM: forgot that stupid ines doesn't really specify vram size at all. force vram = 8 for MAPPER007, because that's all that makes sense 2012-10-17 01:56:28 +00:00
goyuken a77e103d2b nes AxROM: turn crash from bad iNESes into an assert failure. 2012-10-17 01:52:54 +00:00
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 8d8e636450 libgambatte: add memory read\write callbacks, maybe? not sure how to test it... 2012-10-14 15:10:33 +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 c392b24d22 libsnescore: eliminate errant querying of "P1 ", et al in controller routine 2012-10-08 18:55:25 +00:00
goyuken c24abbcbad libsnescore: make deterministic mode savestates all the same size (previously, frame 0 savestates were slightly smaller)
rewind: throw a slightly more intelligible exception message when savestates differ in size
2012-10-08 18:18:43 +00:00
goyuken c167c043e1 rework libsnescore's deterministic savestate mode. like before, savestates are created every single frame. unlike before, now they are created on the frame before they "happen". this is all presented invisibly to the user. don't try to load old savestates in deterministic mode. don't try to mix deterministic and non-deterministic savestates. playing back old movies (provided they don't start from a savestate) should cause no problems, but may or may not sync. 2012-10-08 14:37:42 +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 6d683f9327 libsnes: like sms, DisplayType property for ntsc\pal 2012-10-06 16:28:42 +00:00
goyuken b545d79fb6 lua: add emu.on_snoop() 2012-10-06 13:34:04 +00:00
zeromus 96089026cd remove "SGB" systemid because its gonna cause a lot of trouble if we dont hook it up in a lot of places.. why can't we set it up as just a regular snes core? and run the sgb rom through the snes firmwares directory. 2012-10-05 04:47:45 +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 d3d2ce8893 gb: fix line breaks in rom annotation status details. fuck cr\lf forever. 2012-10-03 16:50:10 +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
goyuken 0e292d19ca snes: don't instantiate "BUS" domain when DeterministicEmulation == true 2012-10-03 15:11:21 +00:00
goyuken e509b0cd9b snes: Add "BUS" memory domain. Like GB, caveat that it could possibly maybe affect sync, maybe... doubly so because I can't penetrate byuu code so well. 2012-10-03 14:54:32 +00:00