Commit Graph

1278 Commits

Author SHA1 Message Date
goyuken a87a9c1cd5 add "Default CGB" button to gambatte color chooser for default CGB grayscale
if no palette at all is available, the core will internally default to the "bsnes improved" palette
2012-09-16 17:09:52 +00:00
goyuken 727e441bb4 change gameboy control "Reset" virtual button to "Power" virtual button
some consoles have both "Reset" and "Power" notions, so this is to be more consistent
i'm not sure that i got all references...
2012-09-16 16:25:54 +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
beirich e208b147ae gen: support save-ram. but not eeprom, yet. 2012-09-16 04:42:14 +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
adelikat 644f7415b9 Remove some delete controller images from the .sln file, GB Palette Config - misc dialog tweaks 2012-09-15 17:44:17 +00:00
goyuken cfe73b292d add gambatte boot flags to menu and config. i don't like all that stuff in mainform, but it works anyway...
TODO: these flags must also be added to .chickenfucker file header
2012-09-15 16:14:03 +00:00
goyuken 27b5d29f0c Gambatte: soft resets (all 3 lines of code!)
Internally, Gambatte implements this as a full hard reset of everything except saveram.  There are comments in the code to suggest that this is appropriate real console behavior...
2012-09-15 02:36:19 +00:00
goyuken feaa652986 fix SMS SaveRAM == null in SMS 2012-09-14 23:31:10 +00:00
goyuken 16e831a84c fix BRAM == null case in PCE 2012-09-14 23:18:16 +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
goyuken 4101efb92d implement ClearSaveRam in gambatte core, and fix a bug with using memory domains before any frames have been run 2012-09-14 21:29:35 +00:00
goyuken 1697e77042 gambatte: leave CoreOutputComm strings empty since we have nothing to say (for the moment) 2012-09-14 15:50:35 +00:00
goyuken 6053d1bf89 add ability to save to gambatte-style palette files 2012-09-14 00:35:31 +00:00
goyuken c05c9ebda7 add loading of gambatte-style palette files to the palette selector (includes drag and drop) 2012-09-14 00:02:37 +00:00
goyuken f5d37cf73b the world would end if microsoft ran it 2012-09-13 23:09:03 +00:00
goyuken c72ac19037 gambatte pal editor: use system color picker dialog
... but something about the customcolors isn't working right?
2012-09-13 22:20:05 +00:00
goyuken bf5625655d rename gambatte memory domains per todo list 2012-09-13 21:19:26 +00:00
goyuken 12d06a2c94 add system bus memory domain to gambatte
in order to guarantee correct resolution of mappings and mmio every time, all calls go straight to the core and are not cached
this makes this domain slower in performance than the other ones.  it can also be more difficult to use in some cases because you have to resolve mappings that you may not care about.
there is also the possibility of side-effects on reads, although i do not believe that this actually happens in any situations.  still, use at your own risk.
2012-09-13 21:03:34 +00:00
beirich 2d2af1d143 oops 2012-09-13 04:15:25 +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 76c68bf6d5 add "interpolate" button to dmg color select
idea shamelessly ripped from bgb
2012-09-12 23:45:42 +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
goyuken d57e195e52 gambatte: add oam, hram to memory domain list 2012-09-11 19:05:44 +00:00
goyuken 25c34d2ca6 significant speedup in gambatte MemoryDomains by keeping shadow copy of native memory
not quite sure at the moment what each of the domains actually is, though
2012-09-11 17:37:17 +00:00
goyuken ed2b690f75 add memory domains to gambatte
appears to work, but i don't really have much of anything to test on it
ramwatch is horribly slow
2012-09-11 15:28:38 +00:00
beirich bf504d1220 gen: work on sprite masking/overflow code. substantially improved. Fixes Sonic 1 title screen, Galaxy Force 2 level select, Landstalker sprite masking, and improved nemesis' test rom. Still something amiss in Sonic 2 title screen. 2012-09-11 05:00:45 +00:00
goyuken d84f13275e add IsLagFrame, LagCount, Frame to Snes savestates 2012-09-11 01:50:55 +00:00
goyuken f2ce38851a add IsLagFrame, LagCount, Frame to Gambatte savestates 2012-09-11 01:46:57 +00:00
goyuken 578e247524 add lag counter to LibsnesCore
per ilari, this should work correctly on certain games that poll the input in a particular way.  however, it is completely non-functional on many other games.  core digging is required for anything better.
2012-09-11 01:36:12 +00:00
goyuken 4e35cb566f functioning saveram support for gambatte 2012-09-10 23:40:53 +00:00
andres.delikat 286e5c9b08 SNES - make controllers 2-4 work 2012-09-10 18:40:39 +00:00
goyuken 62f2771a8e gambatte: lagframe stuff is hooked up and appears to be working 2012-09-09 21:57:15 +00:00
zeromus 8e42658702 completing the trifecta: fix the terrible nondeterminisms that made series of snes romloads act wacky 2012-09-09 21:19:54 +00:00
goyuken a6caa8680d fix up rom loading routines for libgambatte to use memory block directly (and not file) 2012-09-09 21:15:54 +00:00
beirich 90d1d12086 gen: fix some vram corruption issues
general: fix some build warnings
2012-09-09 21:15:20 +00:00
zeromus f3b6afa5ad change libco to use an msvc-compiled dll so that it doesnt get wrecked whenever the .net GC process suspends a thread in a coroutine. cant figure out how to get that same code working compiled by mingw32. 2012-09-09 19:02:13 +00:00
goyuken 8cdcae462d gambatte savestates. slightly modifies some parts of the core and the pinvoke hookup to produce memory arrays instead of disk files as savestates.
does not work, for now.  (sorry about the exceptions!)
2012-09-09 18:47:00 +00:00
goyuken a277dfa1e5 wire controls into gambatte. 2012-09-09 14:17:57 +00:00
goyuken 3acc87c013 remove unnecessary extra video buffer in gambatte wrapper, and dispose of resampler properly 2012-09-09 13:35:58 +00:00
goyuken 72260690df r2931 accidentally reverted r2929 2012-09-09 12:23:40 +00:00
beirich a4f8ecc2e0 gen: fix render scroll plane size / window calculation bug. fixes gfx glitches in several games. 2012-09-09 04:22:44 +00:00
beirich 4dbab90b87 gen: remove old, unneeded hack. Fixes Quackshot. 2012-09-09 03:29:40 +00:00
beirich cbe1292e16 fix GB RewireInputChain crash 2012-09-09 02:06:07 +00:00
beirich 3ed2261cf9 Delete some unused files
Move Nintendo\Docs folder to Nintendo\NES\Docs
2012-09-09 01:53:28 +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 7962c6d2cd change quality parameter for SpeexResampler in Gambatte from 5 to 2. Speedup: 85fps->1500fps 2012-09-09 01:04:39 +00:00
goyuken f18eb2fef2 gambatte now has sound! output from the core is original 2MEGAHURTZ audio, but libspeexdsp handles it fine.
seems to be a lot of DC offset at times; not sure if there's a good way to remove it
2012-09-09 00:41:11 +00:00
goyuken d3cb60d833 remove a few notimplemented exceptions, and add .gb, .gbc to the standard open file dialog.
.gbc fails to load because of something else...
2012-09-08 22:01:47 +00:00
goyuken 7b9bbe6b31 libgambatte can now get into game (with recognizable graphics). exceptions everywhere and nothing is hooked up, though. 2012-09-08 21:48:46 +00:00
goyuken 588d6214d5 more gambatte wrapper stuff 2012-09-08 21:36:04 +00:00
goyuken 7fc9dbd22c typos, comments 2012-09-08 20:46:54 +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
zeromus 285b9581f2 snes-work on graphics tools. can now render typical BGs for mode 1. SLOWLY!!!!! this is definitely getting turned into c++ code 2012-09-08 20:03:04 +00:00
goyuken 2a01e01e78 clean up resampler with rest of libsnes 2012-09-08 01:15:16 +00:00
andres.delikat d56c0c354b SNES - oops, hookup setting the frame counter as well 2012-09-07 20:31:05 +00:00
goyuken 71652b25dc cleanup/simplify SpeexResampler 2012-09-07 20:12:47 +00:00
andres.delikat afa27c1a26 SNES - hook up frame counter 2012-09-07 20:06:57 +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 cfe1e749a1 hook up path config for intellivision and change erom and grom to use it. now you need erom.bin and grom.bin in the Intellivision directory by default. 2012-09-07 06:18:58 +00:00
zeromus 8eba3fb37c stop crashing the intellivision core when the emulation menu is opened 2012-09-07 05:41:33 +00:00
zeromus 58c7966449 should probably add this file too 2012-09-06 08:35:45 +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
brandman211 fd1560177e -Implemented Colored Squares mode. It looks sensible in one of the improperly loaded ROMs that triggers it.
-Masked the Color Stack registers. This prevents the previously mentioned ROM from throwing an ArgumentException in ColorToRGBA.
2012-09-06 08:02:49 +00:00
brandman211 a6f11a7ade -The STIC now displays the encoded background color when one is provided.
--The only time I've seen this was in a game that used FGBG mode, and it looked messed up.
-Implemented the parsing of the background for Color Stack mode.
--Because the STIC Registers aren't populated, this doesn't do anything. I'm not sure when this is supposed to occur.
-Determined when Colored Squares mode is active. I'll try to implement this mode shortly.
2012-09-06 07:31:25 +00:00
brandman211 8230f63ddf The foreground now shows its true colors. 2012-09-06 06:56:21 +00:00
brandman211 641ef2bcff -Unset pixels when necessary.
-Fixed the loading of a card's rows.
-Corrected the maskings. The top tiles look perfect now, but the text isn't showing up yet.
2012-09-06 06:20:50 +00:00
brandman211 06022c9076 -Added Read/WriteMemory to the STIC so that it can access the RAM it needs to draw the screen.
--Did the same for the PSG because why not.
-Discovered that the Commando HLT happens after the CPU goes idle, so there's no point in further investigating the issue until I emulate that.
-Parsed the BACKTAB cards for the STIC's Draw().
-Attempted to draw the screen using the aforementioned cards.
--I'm only trying to apply color to the foreground.
---Instead of converting the FG color to RGBA, I'm making it all white for now.
--There's clearly some sanity to what's being drawn, so I think each 8x8 card is being drawn in the right place.
--I think the next step is trying to make each individual card draw properly.
--I believe the algorithm for populating the FrameBuffer is VERY inefficient in the way it accesses memory. Will need some suggestions as to how I can rewrite this.
2012-09-06 04:51:17 +00:00
goyuken a85dadcf7d did a bunch of listening tests with libsnes and metaspu. switched to vecna metaspu
it seems to be the most stable when the system is fast enough to maintain approximately 100% speed.

also fixed up metaspu in dumping and switched it to vecna.  i can now have clean audio while running libsnes with lua script and ffmpeg dumping.
2012-09-06 00:07:37 +00:00
goyuken 41e2e5bced orphaned variable from r2898 2012-09-05 23:32:41 +00:00
zeromus ade89fe798 snes-fix bug where loading more than one snes rom would wreck the emulator 2012-09-05 23:16:08 +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
brandman211 1a760096bc -Laid out the groundwork for the video provider.
--VirtualHeight / Width will be useful due to how the scanlines are doubled on TVs, but for now, I will just be drawing to scale.
-Enabled XOR@, SAR, and COMR. Advanced Dungeons & Dragons provided more test cases.
-Noticed that Commando, as well as some other games, triggers a HLT. This should be looked into later.
2012-09-05 04:42:49 +00:00
goyuken fd5494a316 libsnes: dumb change to dumb code slightly lessens appearance rate of rice crispies in some situations 2012-09-05 01:30:09 +00:00
zeromus b2b1c8755c snes-apply lsnes patches 2012-09-04 20:23:18 +00:00
brandman211 44e03b1923 -Changed the amount of pending cycles to add when the STIC sets SR1.
--This number is fairly arbitrary, and I don't know why it works, but for now, it does.
--The values of INTRM don't match up exactly, but I think this is mostly a logging issue, though I still need to look into this.
-Fixed the Overflow Flag calculation.
--My original formula didn't compare the signs of the operands.
--It always needs to use the original operands, not the 2s complement one.
--As such, a result parameter has been added.
-Fixed the detection of a double swap, shift, and rotate in the related instructions. Ironically, I shifted one too many bits in my detection.
-Masked the result of left shifts and rotates to 0xFFFF so that the flags are calculated properly.
-Made RSWD (un)set the right flags.
-Enabled GSWD, MVI, SARC, CMP@, ADD, SUB@, INCR, RRC, SLR, SLL, RLC, ADDR, SUBR, SLLC, CMPR, and RSWD.
-COMR, NEGR, ADCR, SAR, ANDR, SUB, AND, XOR, and XOR@ remain disabled as I have yet to hit any test cases for them.

At this point, IntelliHawk is executing instructions indefinitely with what seems to be perfect results! I think I'm ready to hook up the screen.
2012-09-04 19:29:02 +00:00
zeromus 4903ad240c snes-change libsnes color output to 32bpp to avoid having to uncrunch 16bpp pixels, for an indeterminate speedup 2012-09-04 19:25:09 +00:00
zeromus 9726b75ec4 snes-support layer toggles (needs gui hookups) 2012-09-04 19:12:16 +00:00
zeromus 76cfbc47c1 fix loading of non-snes games, and try to make snes core reset a little more reliable by reconstructing more 2012-09-04 18:04:06 +00:00
zeromus c8aa937f4f snes-memorydomains (but not systembus) 2012-09-04 17:29:20 +00:00
zeromus ea6c0b9378 snes-enable savestates. dont get your hopes up, its a bit bloated and weird, and we still need to asses the bsnesariffic savestate synchronization issues. but, it works. 2012-09-04 08:21:01 +00:00
zeromus f5c0965045 snes-support save ram 2012-09-04 07:09:00 +00:00
brandman211 ca8b778a52 -Noted interrupts in the log.
-Added and Interrupted flag to make it so that interrupts only trigger once per falling edge.
-For now, interrupts take 28 cycles.
-Made it so that the STIC tracks Pending / Total Executed Cycles just like the CPU.
-Forwarded the cycles executed in the CPU to the STIC's Execute.
-SR1 is now inverted when there are no pending cycles.
--If SR1 is high, 14394 cycles are added to the pending cycles.
--If SR1 is low, 3791 cycles are added to the pending cycles.
2012-09-04 06:26:08 +00:00
zeromus caed262122 snes-try and determine whether game is snes based on libsnes's internal heuristics, and use .SFC for it anyway 2012-09-04 06:08:46 +00:00
beirich 2ef33fbfec gen: fix dumb bug with sprite masking... fixes sprites showing up in WINDOW in many games where theyre not supposed to 2012-09-04 02:56:53 +00:00
goyuken 25e213f157 libsnes sound is functioning. very quick, very dirty 2012-09-04 01:21:14 +00:00
beirich ff8a58a9b7 gen: Implement CRAM read, VSRAM read. Correct sprite coordinate masking, fixing games several games where sprites were missing. 2012-09-04 01:07:03 +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 0a60a37705 gen: fix Flavio's DMA test rom. and hopefully something else too. 2012-09-03 22:26:33 +00:00
beirich c9b3f7bedf gen fixes: HINTs shouldnt fire during vblank, some DMA fixes, fix a render priority issue (albeit not the ideal fix), substantial rom compatibility testing 2012-09-03 16:01:56 +00:00
beirich dd25cc924a Move ICart.cs from directory/namespace for generic interfaces to Intellivision folder/namespace, as it is entirely Intellivision specific. 2012-09-03 00:45:30 +00:00
adelikat 1f128aeda4 Ram Search - small speedup on UpdateValues 2012-09-02 01:52:16 +00:00
adelikat 8c5d8741cb Genesis - add Rom data memory domain 2012-09-02 01:33:12 +00:00
beirich c91c001093 gen: Fix bug with word-reading Z80 bus status; fixes music in Monster World IV, Thunder Force 3 still boots 2012-09-01 21:04:40 +00:00
adelikat 2af24ba9fd Genesis - add system bus memory domain 2012-09-01 19:49:40 +00:00
beirich d586876f40 gen: implement H-ints
gen: implement Vram/Vram DMA copy (badly)
gen: fix dumb sprite rendering bug
gen: fix crash bug with certain WINDOW settings
2012-09-01 18:40:52 +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
beirich f21429b996 gen: implement WINDOW rendering
gen: initialize VDP registers to power-on values
2012-09-01 05:02:27 +00:00
beirich e24f0962fc gen: fix dumb tile priority bug (primarily affects Ghouls n Ghosts, which use the layers backwards from normal) 2012-08-30 04:29:33 +00:00
beirich c4afd9f393 gen: allow word-reads to query Z80 bus status. now thunder force 3 boots. 2012-08-27 02:59:26 +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
beirich 2f73408029 gen: improved memory map and VDP I/O 2012-08-26 03:43:35 +00:00
beirich 58780191de gen: implement raster effects 2012-08-24 04:45:09 +00:00
beirich 9545475455 gen: render priority improved somewhat... still some issues 2012-08-24 02:30:20 +00:00
beirich 575ceb3966 gen: Fix tile VFLIP bug, correcting the most obnoxious of the graphical glitches 2012-08-24 00:37:54 +00:00
pjgat09 78de49c923 Atari: Added an audio object to the TIA, including functions to run the 4 and 5 bit LFSRs. Also added some code for the first 4 audio modes, enough to generate samples for one of the audio channels.
Added a logic simulation of some parts of the TIA, including the audio portion. This requires logisim to run.
2012-08-23 02:04:24 +00:00
adelikat 67822be97c NES - PPU - very minor cleanup 2012-08-23 01:28:33 +00:00
beirich 40a427e68f md: correct hscroll offset calculation. genesis core 10% less embarassing. 2012-08-22 04:54:36 +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
brandman211 26b1d06b7a -Simplified the CPU / STIC connection.
-Made FrameAdvance handle the pending cycle loop. During each iteration, it runs one instruction and ticks the STIC accordingly.
2012-08-14 03:58:11 +00:00
brandman211 9100232547 -Made connections between the signal pins on the CP1610 and the STIC.
--Not sure why the STIC has any connection to the SST, but the docs on the SST are virtually non-existent from what I could find.
--I took advantage of Func and Action instead of passing bool references to both devices. I think this makes sense.
-Added reset functions for both devices.

My comparison log for INTRM is still weird because it says it is true initially (Expected) and remains as such after the first instruction (A bit odd). I think this happens because the STIC is supposed to "tick" and shift SR1 to false immediately, but the STIC tick happens after the CPU tick, and the CPU tick is where the logging happens. I need to find a better place to put this logging, and I need to implement the STIC ticking for IntelliHawk. I'm not positive how to approach the latter issue as I assume a tick means one instruction execution, and my executions happen in a loop on the CPU, which has no reference to the STIC, so I'm not sure where this fits into the equation.
2012-08-13 08:10:15 +00:00
adelikat f84a3709c9 Misc code cleanup 2012-08-12 01:09:30 +00:00
brandman211 c6cf18061f Scratchpad RAM, Graphics ROM, and Graphics RAM are apparently all 8-bit. 2012-08-10 20:40:34 +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 b07008c7e7 Genesis vdp: small loadstate fix 2012-08-08 00:44:08 +00:00
brandman211 0d20c133a5 -Moved the reset address to the CP1610 and made RegisterSP/PC private.
-Created helper functions for indirect ops; Indirect_Set will be needed for interrupts.
2012-08-06 15:51:35 +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
brandman211 b83bb1901d -When neither the cartridge nor hardware responds to a read, it now returns 0xFFFF instead of throwing an exception.
-I will now assume that 0x7000 is not mapped for the sake of continuing on. I will need to implement a mapper system shortly though.
--Did the same thing for 0x4800.
-AND@, MOVR, CMP enabled.
-Made the logging separator generate before an instruction instead of after the register states. This is quite petty, but I don't like the separator at the end of the file.

I hit an infinite loop, and I'm very very certain it's happening because I don't have an interrupt system yet. Time to stop avoiding that!
2012-08-05 05:59:55 +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
brandman211 97727ab658 -Fixed the memory mapping. I don't know why I thought I'd be able to just mask addresses to the length of the segment and think it'd work...
-Tried two methods of parsing the ROM file. Neither of them worked.
2012-08-01 17:45:37 +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
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 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
brandman211 0d768ef710 Finished the Memory Map. I think the cartridge logic needs to be separated. 2012-07-31 01:39:47 +00:00
adelikat c04b750d6a Finish mapper 245 2012-07-31 01:01:15 +00:00
brandman211 f66d92f2a5 Started filling the gaps in the Memory Map, getting up to 0x7FFF. Once complete, a lot of TODOs remain, the most important being the actual mapping of the cartridge. 2012-07-30 22:25:00 +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
andres.delikat daff01ad2e Genesis - add lag and frame counts to savestates 2012-07-30 13:43:25 +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
adelikat 8d45516811 NES - mapper 50 - fix mirroring 2012-07-28 12:35:51 +00:00
adelikat 5d521a5132 NES - mapper 50 - some fixes, almost complete 2012-07-28 03:37:06 +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
adelikat 524bc29b43 NES - remove some console logging spam on mapper 49 2012-07-28 01:02:16 +00:00
adelikat 9ee133866d NES - complete mapper 205, slight fix to mapper 91 (still not working) 2012-07-27 02:14:18 +00:00
andres.delikat f72905f602 NES - start mapper 96 (prg mapping working) 2012-07-24 14:32:09 +00:00
adelikat d774e49cd8 NES - Mapper 245 - do chr-ram logic. The 3 games I found correctly labeled as 245 (Yin He Shi Dai, DQ7, Hyrule Fantasy) all fail to run properly in this implementation, and FCEUX. 2012-07-24 00:12:40 +00:00
andres.delikat b08c2861a4 NES - start mapper 245 prg mapping working (possibly) 2012-07-23 22:15:22 +00:00
adelikat ed16f40529 oops, forgot to add Mapper205.cs 2012-07-22 20:11:55 +00:00
brandman211 743480e26f -Logging now uses a static StreamWriter instead of building the string and writing on destruction.
-Applied to the old Gameboy core. Why not? It at least fixes that annoying bug from before if we ever care to use it again.
-Both logs are now written to different files.
2012-07-22 18:40:28 +00:00
brandman211 9f2bcf3318 -Fixed logging.
--It now just builds a strings and writes on finalization.
-Fixed up format strings.
-As RegisterPC already increments upon reading the third decle, I now just store PC as the return address for jumping instead of PC + 1.
2012-07-22 18:08:10 +00:00
brandman211 60c5a1ce58 Added logging for the CP1610. Not working for some reason. 2012-07-22 17:18:11 +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 91be138920 NES - fixes to mapper 91, still fails 2012-07-22 15:35:19 +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
zeromus e66e936567 nes-fix mapper 061 2012-07-21 19:45:16 +00:00
adelikat b8a16f93fa Implement mapper 243 2012-07-21 19:23:05 +00:00
adelikat f16a44d4e6 Start Mapper 243 2012-07-21 18:54:12 +00:00
adelikat 8aeb313381 Fixes to mapper 164, Final Fantasy V has a broken title screen but otherwise playable. Implemented based on Disch's original notes and so not quite complete. 2012-07-21 18:31:41 +00:00
adelikat 544410b4d8 Fix mapper 154 (Devil Man) 2012-07-21 17:51:52 +00:00
adelikat 86e14410b7 NES - mapper 225 finished 2012-07-21 17:19:59 +00:00
brandman211 0a0763966c -Refactored of the executor / disassembler / Intellicart to use more descriptive variable names and types to clear up a lot of confusion.
-Added implementation for NOP (6 cycles of nothing).
-Made SWAP actually store the result (Still disabled).
-Added breaks to the swap / shift / rotate cases (Yikes).

Instruction disassembly:

JSRD R5, $1026
MVI@ R7, R6
JSR R5, $1A83
MVO@ R5, R6
MVO@ R0, R6
MVO@ R1, R6
MVI@ R7, R4
MVI@ R7, R0
JSR R5, $1738
MVO@ R5, R6
XORR R5, R5 <- Needs implementation.
2012-07-21 05:25:52 +00:00
andres.delikat 5f4ad218a2 NES - start mapper 225 2012-07-20 21:48:16 +00:00
brandman211 610acf6ad6 -Made MVI@ and ADD@ follow the stack and immediate mode rules for incrementing / decrementing the SP / PC.
-Disabled Intellicart hook for ReadMemory, which seemed to be interfering.
-Implemented MVO@.
-Several instructions are now executed in succession until it hits the unimplemented "XORR R5, R5".

I should probably refactor Disassemble and Execute to label registers as source / destination to avoid further confusion at some point. My disassembly might have the source / destination registers flipped as well.
2012-07-20 07:22:41 +00:00
adelikat 96e7d85122 NES - add mapper 61, chr mapping is off somehow 2012-07-20 03:52:14 +00:00
zeromus dd504a4960 nes-fix mapper057 2012-07-20 03:19:19 +00:00
adelikat afbde96fe5 NES - fix some chr mapping logic in Mapper 57 2012-07-20 02:57:46 +00:00
andres.delikat 2e71b04de4 Start mapper 57 2012-07-19 18:30:39 +00:00
zeromus 3321c3e2c4 nes-fix mapper226 2012-07-19 18:20:32 +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
andres.delikat c256e90a9d NES - add mapper 203, doesn't play the 35-1 properly, but it doesn't run in fceux as well, documentation may be off, or the ROM i used is bad (not a lot of info on good dumps for these types!) 2012-07-19 14:13:45 +00:00
adelikat 876007c502 NES - fixes to mapper 226 2012-07-19 02:56:43 +00:00
brandman211 e73c48219a -Loaded EROM / GROM.
-Fixed disassembly for JMP:
--Now it uses the parameter pc, not RegisterPC.
--I was loading both the second and third value from the second's address.
--Casting the calculated addresses to bytes when addresses are 16-bit was a bad idea.
--Removed a closing parenthesis I accidentally stuck in the formatting.

It seems that I've gotten far enough to use the Executive ROM as a test case! Now to go instruction by instruction and see if they work as planned and hope this will all eventually make something.
2012-07-19 00:05:08 +00:00
brandman211 198c60af88 -Refactored ReadMemory so that both the core and cart addresses are read.
--Afterwards, the data is reconciled, right now by chucking out the core value if the cart responded.
-WriteMemory now writes to both the core and the cart unconditionally.
--Each case now breaks out of the switch statement in case we want to do more complex things at the end of the function later on.
-All default paths in both functions now throw an exception.
2012-07-18 06:19:03 +00:00
brandman211 1ee1d03aea -Parsed / implemented fine addresses for the Intellicart.
-Implemented the final CRC check.

I didn't get around to implementing bank-switched ranges, but I don't think it's worth worrying about that right now considering that the Intellicart is not marked as readable at the initial PC, so something is either wrong or I need to implement more things before this will work. I think I'll put Intellicarts on hold and try to get a .int / .bin to run in the meantime.
2012-07-18 05:35:10 +00:00
adelikat 188716ab7b Start mapper 226 2012-07-18 04:22:41 +00:00
adelikat ecd3a2dd84 NES - add mapper 233 2012-07-18 04:08:37 +00:00
adelikat 803833d04a Fix Mapper 230 2012-07-18 03:00:52 +00:00
adelikat ea60a2c9f8 Mapper 60 - a more respectable bit logic implementation in ReadPRG 2012-07-17 23:58:53 +00:00
adelikat 2174e9938f Implement mapper 60 2012-07-17 23:52:55 +00:00
andres.delikat 8aea375f9f Mapper 230 - fix mirroring and some prg mapping 2012-07-17 23:05:58 +00:00
andres.delikat d939e66867 NES - Implement a SoftReset function into the board base, Mapper 230 - implement mode switching via soft reset, implement prg mode 0, game select screen now playable, games are not 2012-07-17 15:24:36 +00:00
andres.delikat fa449a5116 NES - add mapper 230, contra mode is working, still todo: implement mode toggling on soft reset 2012-07-17 14:02:56 +00:00
zeromus 5eaf27e510 nes-fix mapper 231 2012-07-17 06:24:36 +00:00
zeromus 309d6b4e64 nes-fix mapper 200 2012-07-17 06:19:03 +00:00
brandman211 0a3a392285 -Attempted to parse out memory attributes.
--In my test case, only a few segments were set to readable and nothing else was set. 0x1000, which is where the PC is initialized to, certainly isn't in a writable page.
--Although I've read that these memory attributes affect the Intellivision and not the Intellicart, I'm pretty sure this has to be implemented in the Intellicart so that my Read/WriteCart functions can choose to respond / not respond depending on these attributes. I very well could be wrong.
-Hooked Read/WriteCart into Read/WriteMemory.
-Implemented memory attributes into Read/WriteCart.
--TODO: Bank-switching.

TODO: Fine address table and memory attribute / fine address checksums.
2012-07-17 05:32:00 +00:00
brandman211 cd5458a5e4 Fixed CRC. Passes! 2012-07-17 04:16:11 +00:00
adelikat bbf5be7d74 NES - add mappers 200 & 231, PRG mapping isn't quite right on either but some games work 2012-07-17 04:06:48 +00:00
adelikat ee5db4cc06 Mapper 112 - Finish implementation of CHR mapping, and misc small cleanups 2012-07-17 02:01:53 +00:00
adelikat 69712a203d Remove compatibility.txt and replace with a link to the wiki page 2012-07-17 01:46:55 +00:00
adelikat 5df5def02d remove NES test status doc that is outdated and obsolete to this page: http://tasvideos.org/EmulatorResources/NESAccuracyTests.html 2012-07-17 01:06:38 +00:00
zeromus ecd58fc96e nes-protect from syncstates which dont call base.SyncState 2012-07-16 22:06:55 +00:00
zeromus 9c2a521c19 nes-fix m112 and some other unnecessary things 2012-07-16 22:01:10 +00:00
andres.delikat ad2e9267e3 NES - Mapper 112 - fix prg bank selection, however, game still fails to run 2012-07-16 21:12:01 +00:00
brandman211 21558eaf11 -Made ReadMemory and WriteMemory for the Intellicart Read/WriteCart and made them return nullable values instead of passing an out value.
-Started parsing data segments.
--CRC check fails. :(
-Added .bin and .rom to the Intellivision associated file extensions in the load ROM dialog.
2012-07-16 05:52:01 +00:00
zeromus cf5c972990 nes-try fixing m207 2012-07-16 03:04:44 +00:00
zeromus 06c44cf040 nes-add NES-JLROM for mr gimmick! (e) - but it doesnt work cos its pal 2012-07-16 02:59:54 +00:00
adelikat 2d89f5485f Implement Mapper 207, Fudou Myouou Den now playable but graphical issues. 2012-07-16 01:51:16 +00:00
adelikat 1751e615d7 Oops, update csproj file with new mapper files, update mapper compat list 2012-07-15 23:58:00 +00:00
adelikat c9128cc78e Start Mappers 154, 112 2012-07-15 23:12:52 +00:00
zeromus 3ae3a52f7a nes-do mapper088 differently 2012-07-15 22:30:25 +00:00
zeromus a33859fc1e nes-fix mapper 088 2012-07-15 22:22:57 +00:00
adelikat f62607dea9 Start mapper 88 2012-07-15 21:45:28 +00:00
brandman211 4f9539b73c -Made Executive ROM and Graphics ROM read-only. I still haven't made the memory map accessibility limited by the VBlank Period, but I'm assuming that should come way later.
-Initialized the memory devices with a tentative size that ignores the unofficial ranges.
-Masked addresses to match those sizes (That's my understanding of what the memory map needs to do based on other examples).
-Added the ICart interface.
-Started the Intellicart parser; got far enough to know that the files I'm working with are not Intellicarts. ^_^
2012-07-15 08:38:50 +00:00
beirich d24d3ae932 fix a dumb PAL bug. possibly for the second time. 2012-07-15 07:15:31 +00:00
zeromus a47c70d0ef nes-fix #12 "Strange "White noise" sound during 1943 (USA) intro" as well as a boatload of aesthetic improvements to make the sound output not so embarassing. no speedups whatsoever though. 2012-07-15 00:09:34 +00:00
zeromus 1f588c451f nes-add broken bisq apu. it probably wont be fixed. but its a lot of work, so there it is. also remove spam in SXROM 2012-07-14 18:43:37 +00:00
andres.delikat 0834c63a43 NES - sound config dialog for toggling sound channels 2012-07-12 23:13:22 +00:00
goyuken fd7a0b2fe7 change CoreOutputComm to use exact integers to specify VsyncRate. Helps for AV dumping with formats that require exact integer rates (AVI), and for emulators that aren't exactly 50hz/60hz (none yet). 2012-07-11 21:37:35 +00:00
brandman211 32baa013af -Made the memory map use ushort arrays because the Intellivision is 16-bit.
-Fixed JMP disassembly; I need to return on an invalid opcode because I was breaking out of the inner switch statement, not both that and the outer one.
2012-07-09 23:19:57 +00:00
brandman211 f3ce111c48 Checked in memory map...I need to stop programming and start sleeping. 2012-07-09 19:41:49 +00:00
brandman211 104511c5b7 -Intellivision.cs' constructor initializes the PC to 0x1000.
-Set up the "official" memory map - see http://wiki.intellivision.us/index.php?title=Memory_Map
--Things I didn't do:
---Accessibility.
---Additional Occupied Memory Ranges.
---Addresses Available to Cartridges
---Initialize any of the byte arrays.
--Not sure which of these I need to do, but clearly the byte arrays have to be initialized somewhere to something and there's a lot of gaps in this memory map.
2012-07-09 05:29:45 +00:00
beirich 36ba018ae0 basic wire-up of Intellivision core 2012-07-08 04:20:53 +00:00
adelikat 60640acece NES - Implement Mapper 246 2012-07-06 03:44:34 +00:00
zeromus 1eda5f6d63 nes-express m193 differently, maybe more clearly 2012-07-06 03:12:20 +00:00
zeromus 157c145a46 nes-fix m193 2012-07-06 02:29:42 +00:00
adelikat 7a9d037fed NES - Progress on Mapper 193 2012-07-06 01:36:19 +00:00
zeromus 1d254c3705 nes-fiddle around with board irq signal tracking system. break every NES savestate. fix a desync bug in a bunch of mappers 2012-06-25 06:32:54 +00:00
beirich b599c69c18 Add VirtualWidth to IVideoProvider and the (numerous) implementations. This is just phase 1, client needs to be updated to utilize this information, and some cores (especially PCE) should be updated in a more involved way to provide better TV emulation. 2012-06-25 02:50:34 +00:00
zeromus 7e8752a5b9 nes-sort out some bus conflict flags for CNROM games to fix colorful dragon (unl) (sachen) 2012-06-24 17:39:12 +00:00
zeromus 5b356c5157 nes-support mapper 178 and fix a regression from yesterday that made most roms not loadable 2012-06-23 18:30:27 +00:00
adelikat dcdd98fc03 Fix mapper 116 code so that project compiles 2012-06-23 15:45:58 +00:00
zeromus 50d4564e0e nes-support mapper 116 2012-06-23 08:52:12 +00:00
zeromus 8bf9b92949 nes-support mapper 241 2012-06-20 22:24:56 +00:00
zeromus 6156188676 nes-support m015 2012-06-19 21:23:24 +00:00
adelikat a2a9bfde3c NES - implement mapper 92 2012-06-16 23:34:42 +00:00
zeromus ace86fa321 nes-clarificatoin to mapper 19 and 210 (theyre actually identical) 2012-06-16 16:59:02 +00:00
zeromus 540be07cf2 nes-support mapper 076 2012-06-15 19:55:29 +00:00
zeromus e1152799b4 nes-last commit was broken, fix tlsrom compile issue 2012-06-15 19:28:40 +00:00
zeromus 916066c3f0 nes-mmc3/namcot108 differences have become more clear in the past few months. refactor those mappers (split them apart, theyre not as similar as once thought) to reflect new understandings. no functional improvement from this other than maybe some new bugs, but it will help on some other mappers later 2012-06-15 19:24:06 +00:00
zeromus 931c9c9b23 get rid of some warnings 2012-06-15 19:21:46 +00:00
zeromus b240c675ce nes-mapper 72 fixed and misc bookkeeping 2012-06-11 07:59:30 +00:00
zeromus 6462d84ac9 nes-add some docs and clarification and cleanups of the sunsoft mappers 2012-06-11 06:55:34 +00:00
zeromus 3a336b9ef4 nes-mapper 67 2012-06-11 06:32:44 +00:00
zeromus cff7ba6d24 nes-fix lagrange point, including sound 2012-06-07 20:52:49 +00:00
beirich fe369e0455 pce: alter handling of reading $1FF402 irq status port, fixes Aldynes intro freeze 2012-06-03 20:09:09 +00:00
beirich 2dd91c4079 pce-cd: fix CD Set Audio End Position command Mode 2 bug - not ending audio playback! 2012-06-03 02:03:31 +00:00
brandman211 c3a4b12ca9 -Copied over the functions I need to implement for GB, leaving FrameAdvance and GetVideoBuffer unimplemented until I fully understand them. 2012-05-28 08:37:52 +00:00
zeromus 65060e47a7 nes-note that in compat list 2012-05-27 20:21:10 +00:00
zeromus 45cfc7b036 nes-add mapper 176 and fix savestate of mapper 164 2012-05-27 20:20:27 +00:00
zeromus 82e57988c6 nes-remove newly redundant wram masking from derived board classes (mmc3 and mmc1 affected); separate checkin done for this in case i goofed up 2012-05-27 07:44:29 +00:00
zeromus c5a2d0f8f0 nes-fix bug in base board class wram functionality (forgot to add masking to wram size configured in the Cart struct by the derived board Configure method) 2012-05-27 07:42:13 +00:00
brandman211 2553ac50bb -As I'm not going to know what I'm doing if I keep hacking away at zeromus' old core blindly, I'm writing a new one.
--It's going to be based heavily based on Imran Nazar's "GameBoy Emulation in Javascript" series. I figure it's better that I learn by emulation (Har har) instead of spending more time reading references than programming.
--Finished the memory management (Part 2).
--adelikat:
---Do I implement the required functions for IEmulator and IVideoProvider now, do it later, or is this something you or zeromus would do (Like for the API)?
---At what point should we have the emulator actually use this core instead of zeromus'? As terrible as he says his is, this one doesn't do anything yet. Still, I need some mechanism of testing it.
2012-05-27 04:06:48 +00:00
beirich df59686cbb Fix crash in PCE Coryoon when attempting to access disabled TurboCD ports 2012-05-26 20:21:00 +00:00
brandman211 b29c9835ff -Separated the logging from the save state function.
-Made it so that the log only opens when logging is true and that the file closes upon destruction.
--Still, BizHawk says that it can't open the file again when I load a game again. This is because the emulator class gets recreated without deleting the original one every time you load a game.
---adelikat convinced me not to care about this.
-Fixed the initial state of the GB CPU:
--It was setting AF to 0x01, not A. This is effectively setting F to 0x01, which gets overwritten later anyway.
--Two BIOS flags were used in different places; merging them gets the PC to start in the right place.
-By fixing the initial state, most of the log now matches up.
--The only differences are the VBA has some repeated records (Where all of the registers, including PC, are the same as the previous record) whereas BizHawk doesn't.
--This very well might be an issue with how I'm logging it
--Alternatively, it could be some kind of lagging mechanism.
--I'm not sure which version is even correct...VBA is far from accruate.
--All in all, considering that the vast majority of the diff comes out as the same, I think I fixed the biggest CPU related bug. Will investigate more later.
2012-05-24 17:19:33 +00:00
beirich db1bfcfdfc very preliminary genesis savestate support 2012-05-22 02:25:41 +00:00
zeromus 97933f2560 nes-support TENGEN-80004 (just bookkeeping; uses already existing mapper 068) 2012-05-20 21:10:22 +00:00
zeromus 638a99a1f7 nes-fix a potentially desyncable bug in mmc3 savestate 2012-05-20 21:04:06 +00:00
adelikat 147caec758 GameboyHawk - Skip BIOS menu option 2012-05-19 15:17:32 +00:00
adelikat abba87738f Fix input config for Gameboy, some small random work on ColecoHawk 2012-05-18 22:57:05 +00:00
brandman211 5f534518aa Colors were still wrong. I just used a switch statement to fix them. Not elegant, but I can't see a simple pattern. 2012-05-18 19:47:43 +00:00
brandman211 9f8144ec58 -Set the number of cycles per frame to 70224.
-Inverted the colors; according to http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-Graphics, 0 is white, 1 is light gray, 2 is dark gray, and 3 is black, which is the opposite of the norm.
2012-05-18 19:11:14 +00:00
zeromus 42715fdca7 rehabilitate the GB core: fix videoprovider and input system 2012-05-18 18:28:12 +00:00
adelikat 02bad39a88 Some Coleco docs 2012-05-06 23:16:50 +00:00
brandman211 cd0016343f Done trying to optimize the PPU's FrameAdvance. We may have saved some processing time, but it's not very consistent. 2012-05-06 06:04:00 +00:00
brandman211 05157997f1 -Added a very basic fix to the graphics scaling issue per adelikat's advice.
--Gets worse as the scale increases.
--For x3, the box doesn't increase size, but the box still changes position. I think there might be a difference between the TargetZoomFactor and the actual screen size, so perhaps we should tie this to something else.
-Working on very small optimizations to the NES PPU with CorruptedSyntax...this is more fun, so we'll do this first.
--Eliminated an entire loop.
--Branched to two loops instead of branching for every iteration in one loop.
--Got rid of some redundant instructions using temporary variables.
--This may be completely premature, but I seem to have gained a few FPS from doing this. For me, I get 38-39 FPS where I'd previously get 33-34.
2012-05-06 04:09:28 +00:00
adelikat 5fa0a681e1 Colecohawk - start VDP (ripped from the SMS core) 2012-05-06 02:48:39 +00:00
adelikat 3b7c23817a Coleco - some hacks and fixes to make a coleco rom open without crashing (draw a black screen instead) 2012-05-06 01:15:02 +00:00
adelikat 059aebec8e ColecoHawk - set up ROM loading (bind .col to Coleco), set up preliminary controller garbage in 85 places for coleco 2012-05-06 00:54:13 +00:00
adelikat 592b73ea5a Atari - implement mapper EF 2012-04-29 21:12:58 +00:00
adelikat e0a6ae5264 Atari - put descriptions at the top of each mapper file 2012-04-29 21:01:06 +00:00
adelikat 02767a9fbb Genesis - hook up lag counter 2012-04-29 12:55:20 +00:00
beirich 59eb4b4abe ym2612: support TimerA and TimerB 2012-04-29 06:05:15 +00:00
adelikat 3d10431a2b Atari - implement console switches (as menu items) 2012-04-29 02:48:33 +00:00
beirich d322c3c00f Fix some bugs responsible for out-of-bounds array access crash on ym2612 2012-04-29 01:40:38 +00:00
beirich 7f1292d4f9 start on YM2612. DAC works. process port writes for FM channels. No FM channels output audio yet. 2012-04-29 01:09:06 +00:00
adelikat 4e04facdd9 Atari - make games marked F6SC load 2012-04-28 23:21:12 +00:00
adelikat 1adec35f93 Atari - implement player 2 button 2012-04-22 00:02:24 +00:00
zeromus 06239e1aa3 nes-fix mapper 64 and some minor details of ppu data bus management; fixes klax and chu chu rocket 2012-04-17 06:50:23 +00:00
zeromus e41eabcfc3 fix atarihawk video 2012-04-16 22:56:30 +00:00
adelikat 836415455a NES - start an APU softreset function, and clear sequencer_irq, and 0x4015. Still a lot of work to be done for this, but passes nes apu reset tests: 4015_cleared, irq_flag_cleared 2012-04-14 13:51:26 +00:00
zeromus 7b86f66353 nes-oops. now, actually pass all mmc3 tests 2012-04-14 09:40:41 +00:00
zeromus 73fba31c34 nes-add mapper012 (mmc3 variant, for dragon ball z 5). add concept of mmc3 chip revision variants to mmc3 code and game database, and add proper emulation thereof. pass a bunch of mmc3 tests. simplify (to almost nothing) iNES board detection to correspond to new paradigms of virtual board types. your savestates for mmc3 games are invalidated. 2012-04-14 08:28:42 +00:00
zeromus eb1a6eb387 nes-clarify relationship between mapper 115 and mapper 248 (and support 248) 2012-04-09 20:09:58 +00:00
zeromus a561f8b7e7 nes-add mapper 227 2012-04-09 18:13:58 +00:00
zeromus a78a0fc5db nes-meant to check this in with last gamedb updates 2012-04-09 06:38:28 +00:00
adelikat eeec746010 NES Hawk - remove list of broken games from NES.cs and placed it on http://tasvideos.org/BizHawk/TODO.html instead 2012-04-08 18:07:46 +00:00
adelikat f495e7e068 Atari - slight fix to support the F4 mapper 2012-04-05 23:46:01 +00:00
zeromus a1cdd5dbfd nes-fix mapper 242 2012-04-05 18:55:34 +00:00
adelikat ea2bdac456 Fix an exception from commit 2161 (Prevent lua script restart when resetting a game). Fixed by making RecentFiles.GetRecentFileByPosition() more robust by not crashing when there is no recent file (returns "") instead 2012-04-04 02:23:47 +00:00
pjgat09 b5927b1212 Atari M6532: Turned the timer into an object, and now uses a prescaler, replacing the previous 32 bit int implementation.
Fixed a typo with the interrupt flag. 
These changes fix freezes with "Berzerk (1982) (Atari)" and "Omega Race (1983) (CBS Electronics)"
2012-04-04 01:18:41 +00:00
pjgat09 3591f7ca47 Atari: Changed the core to make the TIA the video and sound provider. 2012-04-02 20:55:29 +00:00
andres.delikat 31d65725bd Atari - start game compatibility spreadsheet 2012-04-02 19:13:24 +00:00
andres.delikat f0e4db8023 Atari - implement mapper CV (untested) 2012-04-02 17:13:38 +00:00
andres.delikat 5d28f8727a Atari - implement UA mapper (untested) 2012-04-02 16:58:04 +00:00
andres.delikat aed58c67e4 oops 2012-04-02 16:52:53 +00:00
andres.delikat 8ed2b8acbc Atari - F0 Mapper implemented (probably, needs testing) 2012-04-02 16:51:41 +00:00
andres.delikat c22c6ec4ce Atari - implmeent mapper E7, probably, hasn't been tested 2012-04-02 16:30:55 +00:00
zeromus 0e8b3605fa 2600-fix mapper FA? 2012-04-02 03:02:49 +00:00
adelikat 73b55dbf2e Atari mappers - Fix E0, add aux ram to FA but incorrectly most likely 2012-04-02 02:53:43 +00:00
adelikat a8de23fb79 Atari - mappers FA and E0 started 2012-04-02 01:54:51 +00:00
adelikat a22a2fa3dc Atari - implement mapper F4 2012-04-01 21:00:32 +00:00
zeromus eb13c505d6 nes-fix mapper 2 which broke a few revisions ago 2012-04-01 15:41:51 +00:00
adelikat 28effcba8c Atari - go ahead and hook up empty mappers for all 20 mappers 2012-03-31 20:53:14 +00:00
adelikat 7e30f2844f Atri - implement mapper F6 2012-03-31 20:32:40 +00:00
zeromus 79782defbe nes-dont crash when vrc mapper asks for unusual irq mode 2012-03-31 15:37:53 +00:00
andres.delikat 724fe704fc Atari - hook up console select and reset buttons to config file. Still TODO: add to input config dialog, modify mnemonics 2012-03-30 16:40:52 +00:00
pjgat09 74594b961b Added SyncState functions to the M6532 and TIA. 2012-03-30 02:34:47 +00:00
zeromus 6fc4ff01c5 a2600-add mapper system 2012-03-30 00:35:15 +00:00
zeromus 37d58f1a4f add a2600 game database 2012-03-29 23:55:10 +00:00
adelikat 81f0f031f3 Coleco - very minor mostly useless changes 2012-03-25 17:39:50 +00:00
zeromus d3321f552f nes accuracy fixes
- pass more apu_test 4-jitter and 6-irq_flag_timing (necessary for timing on other tests)
- pass all cpu interrupt tests
- pass all sprite hit tests
2012-03-25 09:25:27 +00:00
adelikat 6b9024dd5c Start colecohawk (skeleton) 2012-03-25 01:33:05 +00:00
zeromus 0cf6b0bcb7 switch atari 2600 to new 6502 core 2012-03-24 03:45:47 +00:00
adelikat bbf282e131 Atari - implement lag counter, refactor implementation of frame counter slightly, add frame and lag counters to savestates 2012-03-23 02:55:46 +00:00
pjgat09 e708527168 TIA: Implemented missile copying. Also added the missile 1 size which was missing before. 2012-03-22 22:01:20 +00:00
zeromus fa25305d67 atari-add player 2 controls? 2012-03-22 06:33:28 +00:00
zeromus dc2107bd3b nes-make fake boards for almost every mapper, unless i missed one. 2012-03-22 06:20:10 +00:00
pjgat09 a56ddcdb15 Atari 2600: Modified how memory read/writes are handled, to better emulate the address bus. Cleaned up some comments. Turned off CPU debugging. Added functions to read console switches and player 2 buttons.
M6532: Mostly re-written, this time based on the datasheet. 
TIA: Removed console debug outputs.
2012-03-21 20:28:26 +00:00
adelikat f4bd799484 Atari - hook up main ram memory domain 2012-03-21 02:57:26 +00:00
pjgat09 5b5932696d M6532: Added a dedicated cycle count variable to fix a timer issue.
TIA: Increment the M6532 cycle count when in wsync.
2012-03-21 01:02:24 +00:00
pjgat09 5e65c7e977 TIA: Removed code for cosmic ark starfield (to be added back later, in a cleaner way). Changed the definition of a frame to start with the first scanline where VSYNC is disabled.
MOS6507: Fixed a copy-paste mistake with SBC instructions where it would remove another cycle. This fixes the screen bounce issue with pitfall.
2012-03-20 22:45:15 +00:00
zeromus 0131b23501 nes-fix a pretty gnarly regression from earlier today 2012-03-18 21:46:56 +00:00
zeromus 1c7fdf7529 nes-pass 10-even_odd_timing and 05-nmi_timing 2012-03-18 18:41:45 +00:00
zeromus a4cf363904 nes-fix bug in mmc5 (fixes mmc5exram test) and add support for ex1 mode (fixes gemfire) 2012-03-18 09:05:40 +00:00
zeromus 471b3ffb98 nes-fix soft reset functionality which had got broken when i upgraded the cpu core 2012-03-18 03:46:06 +00:00
zeromus 5883401ab1 nes-load formerly unloadable tests 2012-03-18 03:18:04 +00:00
pjgat09 63ceeff646 TIA: Fixed a typo breaking ball collisions 2012-03-17 03:28:50 +00:00
pjgat09 b95b3d5a5f TIA: Added missile graphics. Attempted to make hmove show cosmic ark's starfield correctly, with some luck. Still not correct though. Added collisions. 2012-03-17 03:10:49 +00:00
pjgat09 8afd24a305 New TIA: Moved counter increase into playerdata struct to limit repeated code. Implemented stretched player graphics. Implemented ball graphics (with hmove). Moved hmove data into a struct for better organization. 2012-03-16 18:05:16 +00:00
pjgat09 40ca3e1616 Atari 2600: Turned off sound output until the new TIA is further developed.
New TIA: Implemented a portion of the TIA using counters. Pitfall's first screen renders correctly.
2012-03-16 07:24:00 +00:00
zeromus 2b21ca7127 add new, more detailed 6502X cpu core, use it in the nes core as experiment. win almost all the speed back, pass some more tests. 2012-03-15 21:28:37 +00:00
pjgat09 ef28378dcd Atari 2600: added stub for the new TIA 2012-03-15 21:08:53 +00:00
pjgat09 d80abfaba5 Atari 2600: renamed TIA to oldTIA in preparation for a new TIA revision 2012-03-15 21:08:00 +00:00
pjgat09 2d94018eaa Atari 2600: Sketchy implementation of audio output (mode 0x01 only) 2012-03-15 20:34:14 +00:00
zeromus 516735d3b6 nes-add some catch-all mappers 2012-03-15 19:17:54 +00:00
pjgat09 10365ef970 Atari 2600: Implemented the reset button 2012-03-15 06:09:10 +00:00
pjgat09 a55bdd1a69 TIA: Implemented player copy mode 0x06
M6532: Added an interrupt register
2012-03-14 21:57:10 +00:00
zeromus 3c267db54c add reset button to atari 2600 and add .a26 to multiclient filetypes list 2012-03-14 21:35:07 +00:00
pjgat09 e686660a7c TIA: Added score graphics. Added support for collisions, and added responses for some collisions. Added support for controller button input. Added another copying mode (0x01: 2 copies close). Fixed a color issue with Pacman. 2012-03-14 20:28:10 +00:00
adelikat 863f3fc4e5 fix an error in chr rom size for a CNROM game 2012-03-13 02:10:18 +00:00
pjgat09 b9a791ab30 Atari 2600: Added support to read UDLR from controller
M6532: Gives controller data to game program
TIA: Fixed player reflecting error
2012-03-12 21:16:38 +00:00
pjgat09 5e69d7503e TIA: Added blanking when HMOVE occurs.
Implemented playfield copying (fixes some Pacman display issues).
Added a document which discusses the inner workings of the TIA on a circuit level.
M6532: Added stubs for several registers, and changed the returns for some. Pitfall's first screen now renders correctly, and the copyright message scrolls.
2012-03-12 18:44:29 +00:00
beirich ca47082737 fix some PCE savestate desyncs 2012-03-12 00:14:44 +00:00
adelikat 643c742266 PCE Core - fix SystemBus memory domain size 2012-03-11 19:16:04 +00:00
taotao54321 2f9a5212bc Added BG/OBJ display settings for SMS (not accessible yet) 2012-03-11 16:15:20 +00:00
taotao54321 575c44f470 Now setrenderplanes() works also for SuperGrafx. 2012-03-11 09:51:23 +00:00
pjgat09 c72eef1abc Atari 2600 TIA: added support for delayed graphics
sketchily implemented cloning, enough to get pitfall to render
2012-03-11 08:43:45 +00:00
pjgat09 23cb513188 MOS6507: adjusted for instructions with a variable cycle count 2012-03-11 07:08:48 +00:00
taotao54321 30b0dc6780 PCE: added settings to show/hide BG/OBJ for TurboGrafx (not for SuperGrafx)
Now setrenderplanes() works for TurboGrafx (not for SuperGrafx)
2012-03-11 06:50:46 +00:00
pjgat09 84a11eacdf Switched over to using the 6507 to allow for some modifications to the CPU
MOS6507: now executes instructions on the last cycle. This corrects a syncing issue with the TIA
TIA: added ball data, partially implemented HMOVE, implemented VBLANK
2012-03-11 03:22:44 +00:00
pjgat09 3e67e78da2 Partially implemented player0 graphics, this time in a more organized fashion 2012-03-10 18:12:12 +00:00
zeromus ab2e19af32 nes-remove console spam 2012-03-10 17:59:02 +00:00
adelikat 67c98f7d37 Implement board AVE-74*161 2012-03-10 13:40:36 +00:00
adelikat efd4c5cbab Make...a certain game...work 2012-03-10 13:30:39 +00:00
pjgat09 8a73d50e0b Basic implementation of player 0 graphics 2012-03-10 08:34:04 +00:00
zeromus 5493904312 new-fix a recently created ppu bug affecting some vertical scrolling 2012-03-10 05:30:53 +00:00
zeromus c3ba1905ca straighten out mappers 232 and 71 2012-03-10 05:02:17 +00:00
pjgat09 0079d6ade5 Modified the TIA to be cycle based. Improved the rendering of pitfall in the process. 2012-03-10 04:53:23 +00:00
pjgat09 781ab15e1e Partially implemented the M6532's timer capabilities
Sketchy implementation of the TIA. But hey, it kind of renders pitfall!
2012-03-10 00:26:54 +00:00
adelikat 3a6ac596bf Add some atari mapper documentation 2012-03-09 19:35:49 +00:00
zeromus 78c13395a2 nes-note that mapper 192 is impossible to emulate at the present due to lack of test cases 2012-03-09 05:06:57 +00:00
zeromus edebf0da14 nes-"support" mapper 191 (no known test cases) 2012-03-09 04:57:46 +00:00
zeromus b65438d819 nes-support mapper 189 2012-03-09 04:44:30 +00:00
zeromus cf5dcb1cd5 nes-support mapper 182 2012-03-09 04:30:46 +00:00
zeromus f592fc3748 nes-support mapper 115 2012-03-09 04:15:56 +00:00
adelikat 7d308da245 Mapper 46 complete. 2012-03-09 03:38:11 +00:00
adelikat f9e43cf3d7 Mapper 46 - fix gamedb entry, put in high bits 2012-03-09 03:24:05 +00:00
adelikat 5655262df6 Start Mapper 46, could not get the gamedb.txt entry to work properly 2012-03-09 02:57:04 +00:00
pjgat09 405af35d72 Started work on Atari 2600 core. Added stubs for the TIA and M6532 to be filled in later. Memory map is hard coded, but will only work for basic 4K carts like pitfall. That'll have to be changed later. 2012-03-08 08:12:44 +00:00
zeromus 137522691c nes-fix an old crusty wart of a scroll timing bug that grew while ppu was getting ported from fceux 2012-03-08 07:50:16 +00:00
zeromus e973533b48 nes-change oam dma cycles to 513 2012-03-08 04:49:19 +00:00
zeromus 1b91aa6bca nes-fix bug in xml parsing which made games with multiple carts (unusual) not detect subsequent carts 2012-03-08 04:48:14 +00:00
zeromus 9a6d6a63bd improve nes rom detection log, and set svn:executable on some files 2012-03-07 19:14:15 +00:00
pjgat09 0f92deb140 Added an atari docs folder 2012-03-07 00:55:09 +00:00
zeromus c0ace9ce83 add a2600 core stub 2012-03-07 00:40:20 +00:00
zeromus 2278cfcccb nes-fix $2007 access while rendering (young indiana jones) 2012-03-06 19:19:56 +00:00
adelikat 9d39b88783 Some testing results of Mapper 16 2012-03-06 13:33:50 +00:00
adelikat 3a48e91496 Mapper 82 is complete as well 2012-03-06 12:14:52 +00:00
zeromus 9d6001691f nes-fix gauntlet 2012-03-06 09:55:57 +00:00
zeromus ed9de010c0 nes-add some crappy mmc3 multicart mappers 2012-03-06 09:42:11 +00:00
zeromus 8e829faa03 nes-restore some more verbose detection logging that had got lost at some point 2012-03-06 08:01:48 +00:00
zeromus 7d263c9a10 nes-support 8KB PRG roms 2012-03-06 07:51:41 +00:00
adelikat ff86bc5101 Mapper 82 complete 2012-03-05 20:16:25 +00:00
zeromus 1ac5ce1bfb nes-fix taito_x1_005 2012-03-05 18:21:17 +00:00
adelikat 5a76c282ac Start mapper 82 - PRG mapping working, needs chr mapping 2012-03-05 18:06:30 +00:00
adelikat 204c025af2 Add "escape clears mapping" message on controller config dialog 2012-03-05 14:22:49 +00:00
adelikat f450246098 NESHawk - mapper 80 prg mapping done, still need some chr work 2012-03-04 22:18:24 +00:00
adelikat a25699fb89 NESHawk - progress on mapper 80 2012-03-04 21:20:30 +00:00
beirich a76ea9c520 pce: fix a crash when a HuCard accessing invalid addresses would venture into TurboCD ports (namely, Rastan Saga) 2012-03-04 19:37:00 +00:00
zeromus 1a66be9a06 nes-fix chu chu related things 2012-03-04 03:50:45 +00:00
zeromus bda74d9e3d no need for mapper docs anymore, as theyre all on nesdev wiki 2012-03-04 01:52:02 +00:00
zeromus fce546dc2b nes-straighten out rendering range off by one issues 2012-03-04 01:41:14 +00:00
adelikat ee9f493976 NES - start mapper 80 2012-02-25 03:39:31 +00:00
zeromus 8b3246a510 continuing cleanup.. sorry, this is like a month's worth of work 2012-02-24 20:42:11 +00:00
zeromus fd6ac896fc general cleanup.. remove a bunch of warnings.. improve log console system a bit.. add new icons for log console window.. remove old demo psx interop system and add new, simpler one, which isnt really tested yet but is way less annoying. 2012-02-24 20:38:35 +00:00
brandman211 a92865a13d -Removed the redundancy from TI-83 as well. The whole revamping is a net loss of 292 lines of code.
--Note that I don't think that the calculator pad simulator is registering when I click 0, and that this doesn't seem to be related to any changes I made.
2012-02-21 00:40:44 +00:00
brandman211 79d12b9181 -Refactored NES and PCE button orders.
-Realized that FixMnemonic is useless as GetControllersAsMnemonic() + WriteMovie() = Fixed.
-Finished the NES / PCE importers, now without string builders (Thanks zeromus)!
-Converted ImportMMV to this same method.

TODO:
-Decide how's the best way to handle the mnemonic header and implement it. Apparently, anything other than a predefined header and a | is considered as a comment, so I might do something like:

comment Mnemonic format:
[0|UDLRsSBA]
2012-02-19 07:09:24 +00:00
andres.delikat e220d62c54 Gameboy - oops, fix SRAM memory domain 2011-12-27 03:03:10 +00:00
andres.delikat 9b2a9a390f Gameboy - refactor memory domains to use the correct objects instead of the cpu buss 2011-12-27 02:59:37 +00:00
andres.delikat 422e9c6daa Gameboy - fix ROM loading, and implement memory domains (WRAM banks, VRAM, HRAM, OAM) 2011-12-27 02:10:07 +00:00
andres.delikat f1da3bfa08 Play Movie dialog - Match Game Name option, checked by default. 2011-12-27 00:15:48 +00:00
andres.delikat b2748b7836 Genesis - hook up lag counter (shows all frames as lag currently), and hook core up to input config dialog (1 controller only currently) 2011-12-24 01:59:51 +00:00
zeromus 242e6c8aed nes-add KONAMI-CNROM 2011-11-13 09:18:14 +00:00
beirich 5a5a424cc7 gen: some work on renderer. 2011-10-18 03:48:37 +00:00
beirich 7424d370a7 gen: implement sprite HFlip and VFlip 2011-10-16 16:04:08 +00:00
beirich f8564bf8a7 GEN: Preliminary sprite rendering. hook up MemoryDomains. 2011-10-16 06:23:15 +00:00
zeromus dcf7846d3f nes-fix hkrom rom bugs to add startropics sound 2011-10-15 06:16:35 +00:00
zeromus ebbe60c009 nes-fix a pretty big systematic error that wouldve made lots of savefiles not get generated 2011-10-15 05:15:46 +00:00
zeromus d2aba72502 nes-add HKROM mmc6 (startropics) 2011-10-14 09:27:22 +00:00
beirich c3038bbe07 gen: re-fix shinobi and strider. possibly a hack, marked for followup 2011-10-13 02:55:28 +00:00
beirich 136cc3158e gen: input works in basic form (one 3-button pad) 2011-10-12 05:45:10 +00:00
beirich 5b5c7c2890 68000: add MULU, MULS, DIVU, DIVS, MOVE to CCR
Some genesis source reorganization
2011-10-11 03:52:44 +00:00
beirich 1c38de023e 68000: implement BSET, BCLR, BCHG, and NOT 2011-10-08 23:26:29 +00:00
beirich ccea71e74d 68000: interrupt support.
gen: fire vertical interrupt, now some games show sega logo before immediately crashing!
2011-10-08 15:44:41 +00:00
beirich f2ca21759c 68000 timings and flags fixes, some new opcode handlers 2011-10-07 03:04:48 +00:00
beirich dcc0a34d93 Add NBA Jam [Proto] SMS to gamedb 2011-10-03 13:01:27 +00:00
beirich 8fb8a35317 Genesis core revive! Get it back to where loading a genesis rom doesnt crash everything immediately 2011-10-01 17:06:25 +00:00
beirich cf8216ac46 pce-cd: basically working pretty okay! (fixed bug causing issues with extended ADPCM playback sequences) 2011-09-28 05:03:22 +00:00
beirich f3dc6068ce delete extra/external 68k core 2011-09-27 02:46:23 +00:00
zeromus 58738c1af3 nes-sunsoft reorg yet again. think we've got it under control this time though. i even added a doc specially for sunsoft to describe whats going on 2011-09-26 08:05:17 +00:00
zeromus 17e0b48a2a nes-a bit of cleanup and add a compatibility note 2011-09-26 03:26:47 +00:00
zeromus dfb375d720 nes-add mapper 105 (NWC) 2011-09-26 03:07:27 +00:00
zeromus 02478925ad nes-fix jaleco JF 13 2011-09-26 01:45:50 +00:00
zeromus 3d1ef60a01 nes-oops, i broke everything. 2011-09-26 01:34:08 +00:00
zeromus b7863fb7d1 nes-support tengen board (mapper64) 2011-09-26 01:30:22 +00:00
beirich e5f1c142f8 pce-cd: fix Snatcher, Madou Monogatari, Tangai Makyo, ValisIII playable now 2011-09-25 23:34:53 +00:00
andres.delikat 7e43858ec1 Started Mapper 193 2011-09-25 22:19:47 +00:00
andres.delikat 7943ff5781 Start Mapper 164 and add Final Fantasy V (Unl) to gamedb.txt 2011-09-25 21:52:10 +00:00
andres.delikat 075c4ea3dd NES - some work on classifying mapper 16/159 roms: Added to gamedb various versions of roms, added board cases to BANDAI-FCG-1, misc cleanup of board. Most of these games don't work but a few did. 2011-09-25 17:16:26 +00:00
zeromus a6afe4f355 nes-add namcot mappers 019 and 210 2011-09-25 09:44:13 +00:00
andres.delikat fb0d6365b8 Mapper 185 implemented via CNROM, mighty bomb jack (j) and spy vs spy (j) now work 2011-09-25 03:28:35 +00:00
zeromus 8efd076f99 nes-a bit of reorg, and support mapper 48 2011-09-25 03:23:26 +00:00
zeromus 3d5798c179 nes-oops. also collapse UN1ROM into UxROM 2011-09-25 02:52:53 +00:00
zeromus 395b10956a nes-add mapper 47 (mmc3 multicart) 2011-09-25 02:26:50 +00:00
zeromus 9d5c52ee7e nes-support vrc1 2011-09-25 01:41:54 +00:00
andres.delikat fece5fd7e2 NES - Start HVC-CNROM-256K-01 board (for mapper 185). Finishing will require finding a rom with the right sha1. 2011-09-25 01:20:32 +00:00
zeromus 91fa1e6636 nes-support vrc3 2011-09-25 01:07:24 +00:00
zeromus a5d31cc488 nes-add vrc7 and fix irq bugs in vrc2,4,6 2011-09-25 00:23:47 +00:00
zeromus afbd3e0ee3 nes-fix NINA-06 2011-09-25 00:21:19 +00:00
zeromus cc70fafc42 nes-once more, without the debug prints 2011-09-24 23:36:15 +00:00
zeromus c0f61bc1e8 nes-fix bug in scroll reg logic causing mis-scrolls in p'radikus conflict 2011-09-24 23:35:25 +00:00
andres.delikat 4d9fe23e5d Add Board IREM-74*161/161/21/138 (Mapper 77), Napoleon Senki now works 2011-09-24 21:21:27 +00:00
zeromus 3ba330cef6 nes-support vrc2 and vrc4 2011-09-24 20:43:01 +00:00
andres.delikat 754b4ee2ee NES - Started JALECO-JF-13 board (Mapper 86). The only copy of Moero!! Pro Yakyuu (Red) I could find doesn't work and doesn't match bootgod's db. However, it worked in FCEUX 2011-09-24 19:48:18 +00:00
andres.delikat 12c664ea00 NES - Implement board BANDAI-74*161/161/32 (Mapper 70). Family Trainer - Meiro Daisakusen, Kamen Rider Club, Space Shadow tested and verified to work. Updated compatibility list. Added goodnes3.14 version of space shadow to gamedb.txt 2011-09-24 18:47:02 +00:00
andres.delikat d64a985d97 NES - Implement board HVC_UNROM_74HC08 (Mapper 180). Crazy Climber (J) now works. Testing is limited since it uses a crazy climber controller that we don't emulate 2011-09-24 18:28:07 +00:00
zeromus 452e6768a8 nes-fix triangle channel note length issue 2011-09-24 17:36:48 +00:00
zeromus 40d8fba002 nes-fix totally embarassing sound tempo issue 2011-09-24 17:14:55 +00:00
andres.delikat 9dd24ebe3e better NESHawk version number 2011-09-24 17:07:48 +00:00
andres.delikat 6bbab41b0c PCE - Implement PCECD system id in core and in game info. Also set cancel property of LogWindow winform 2011-09-24 17:05:34 +00:00
andres.delikat 6a23ed18e1 NES - update mapper compatibility list 2011-09-24 14:06:28 +00:00
andres.delikat d17934b395 Fix TAITO_74_161_161_32 board (mapper 152), arkanoid 2 now works. Added Goodnes3.14's version of arkanoid 2 to the gamedb (even though it is actually a bad dump, our policy is to support 3.14 roms). Fixes to other mappers, Holy Diver now works properly (among other games). 2011-09-24 14:04:21 +00:00
andres.delikat cfd5cca324 NES - Start TAITO_74_161_161_32 (Mapper 152). Check in HVC_UN1ROM.cs. 2011-09-24 02:03:03 +00:00
andres.delikat 683eef347b Board HVC-UN1ROM (Mapper 94) implemented. Senjou no Ookami (Commando) now works. 2011-09-23 23:35:03 +00:00
andres.delikat fc87701129 NES - Mapper 78 - add a variable to savestates 2011-09-23 02:49:55 +00:00
andres.delikat 0003b7320b NES - Mapper 78 implemented, Holy Diver & Uchuusen - Cosmo Carrier now work 2011-09-23 02:42:57 +00:00
andres.delikat 78e8e7a1a7 Start Jaleco_JF_17 board (mapper 72) 2011-09-22 01:10:23 +00:00
andres.delikat 0ea0e3ef96 NES - fix IREM_TAM_S1 (mapper 97) Kaiketsu Yanchamaru (Kid Niki (j)) now works 2011-09-21 23:35:41 +00:00
andres.delikat 3e47de6f24 Log Window - save window position & size (only on closing the dialog, but not emulator main window atm) and minor cosmetic fixes. NES - readd IREM_TAM_S1 to csproj. Update compatibility doc 2011-09-21 23:31:48 +00:00
andres.delikat c803b81345 ADD irem_tam-s1.CS 2011-09-21 11:19:16 +00:00
zeromus 6a570c89fc nes-fix a little bug in MMC2 and support MMC4 while i am at it 2011-09-21 05:47:41 +00:00
zeromus d6d8a15084 nes-update compatibility.txt 2011-09-21 05:15:59 +00:00
zeromus e5d46e1adc add vrc6 and reorg sunsoft-2 stuff a bit (its too nonsensical to give name a file after) 2011-09-21 05:11:38 +00:00
andres.delikat 4cf66cdc95 Rename to Mapper 89 and add mapper 93 to this file. Bootgod points both ines mappers to Sunsoft2 with no distinction between the two, and all documented games for these two mappers point to another board type instead. But at least we have the mappers implemented. Next step is to get games pointing to these 2011-09-21 01:28:50 +00:00
andres.delikat e91352e040 NES update compatibility text 2011-09-20 23:51:22 +00:00
andres.delikat 56c4d8f39e NES - change sunsoft3 to sunsoft2 2011-09-20 23:50:04 +00:00
andres.delikat 4ccf9d674d Sunsoft 3 fixes, still broken 2011-09-20 02:45:49 +00:00
andres.delikat ea3c6f7cca nes - SUNSOFT3 - trying something 2011-09-20 02:30:28 +00:00
andres.delikat ab23cb486c NES - Start Sunsoft3 board (mapper 89), tweak comments of jaleco567, add some missing variables to savestates for bandai-fcg-1 2011-09-20 01:07:24 +00:00
andres.delikat 820d003544 NES - Implement boards JALECO_JF_05 and JALECO_JF_06 (iNES mapper 87) 2011-09-19 22:55:43 +00:00
andres.delikat 14f3172e42 It would help if i checked in the file 2011-09-19 22:42:11 +00:00
andres.delikat 94c57481f5 NES - Jaleco_JF_7 board (iNES mapper 87) implemented 2011-09-19 22:26:20 +00:00
beirich c282308071 [SMS] correct sprite flicker appearance. year-2000-me was a jackass, sprites are not drawn back-to-front. 2011-09-19 04:17:16 +00:00
beirich f9d7ff62f4 pce-cd: support arcade card, fix cd-audio playback bug
add new emulation options to gui for SMS and PCE/CD
2011-09-19 00:39:28 +00:00
zeromus bd77e95bfd nes-fix BANDAI-FCG-1 bugs 2011-09-18 19:29:53 +00:00
andres.delikat 3c82e4f524 NES - Some work on BANDAI-FCG-1 (mappers 16 & 159) 2011-09-18 16:14:55 +00:00
andres.delikat 7c55b343ae NES - start BANDAI-FCG-1 board (mappers 69 + 159) 2011-09-18 02:49:09 +00:00
beirich 5781d0b4cd pce-cd gamedb and compatibility updates 2011-09-17 21:34:02 +00:00
beirich 82cf9486f3 about halfway through pce-cd compat test and gamedb updating, plus commit some bugfixes 2011-09-17 05:35:41 +00:00
beirich 7eb2eb0071 PCE-CD states are now stable 2011-09-16 23:59:03 +00:00
beirich 9aa70c4fa9 Much improved pce-cd savestateyfulness
Cleanup and stateyness of SCSI bus still in progress; states not done yet
2011-09-16 04:59:59 +00:00
zeromus d529383826 nes-fix small bug in MMC1 reset function 2011-09-16 00:58:19 +00:00
beirich 7a272192fb Add version IDs to the other working cores
Add toggle for saving screenshot with savestate. Update loadstate code to not die when encountering a state without a screenshot
2011-09-15 23:32:21 +00:00
beirich f7109d5f17 fix a stupid bug in pce-cd causing irqs to not be released 2011-09-15 05:10:23 +00:00
beirich e8c3da9c1f [pce] Improve ADPCM flags and interrupt handling 2011-09-09 03:40:58 +00:00
beirich 41de458ec6 [pce] Fix ADPCM more and code cleanup 2011-09-07 03:31:32 +00:00
zeromus 4924b4a9a0 nes-fix tetris differently 2011-09-06 01:58:22 +00:00
zeromus b21c04c0a7 nes-add new ines detection rule for goodnes's totally un-good tetris dump 2011-09-06 01:51:44 +00:00
beirich a8aaaef45e [PCE] ADPCM playback more or less working correctly now
plus some cleanup
2011-09-05 17:45:01 +00:00
beirich e67ff446da Fix new GameInfo to not default to in-database, special handling for 'null' games 2011-09-05 01:21:59 +00:00
beirich 620437c10d pce, dispose disc when core is disposed 2011-09-04 06:28:55 +00:00
beirich 647cae698e Max volume is settable per sound source to enable mixing many sound sources without clipping. Potentially can be used to disable individual sound sources. 2011-09-04 04:38:11 +00:00
andres.delikat 35d0ad1b31 NES - implement Clip Left & Right sides option 2011-09-04 01:58:16 +00:00
andres.delikat 721a514d26 NES Graphics Config - Ability to set the first and last scanlines. NES Core - refactor MyVideoProvider to accomodate new settings. Set to Top 8, Bottom 231 by default. 2011-09-04 01:12:12 +00:00
beirich e13af4064b [pce] very preliminary ADPCM playback, added a bunch more MemoryDomains 2011-09-03 20:32:18 +00:00
andres.delikat d5247babe8 NES - Update game issues notes, several games are working since this was last checked 2011-09-03 17:13:42 +00:00
andres.delikat 67433a5f17 NES APU - a fix for the triangle channel, Double Dragon 2 sounds much better 2011-09-03 15:50:46 +00:00
beirich 9f4ffde86f [pce-cd] somewhat improve save-statey-ness. still not solid but good enough to work a lot of the time 2011-09-01 01:14:40 +00:00
beirich 65d6961160 [pce] fix adpcm address calculation error; fixes Terraforming & others 2011-08-31 04:06:54 +00:00
beirich afaf5879f6 Improve CD-Audio w/ volume/fade support; put error messages in client when invalid system card selected 2011-08-30 04:02:52 +00:00
beirich 2caf635dd9 derp :( 2011-08-29 22:49:24 +00:00
beirich 8571853828 still-in-the-midst-of-it turbocd check-in 2011-08-29 02:47:03 +00:00
zeromus f210e21b1e NES-support super C 2011-08-29 00:38:29 +00:00
zeromus 470b36a20d nes-add OAM memory domain 2011-08-28 19:07:33 +00:00
andres.delikat 942a9e086a Add a SoundOn flag to the nes core and hook to the sound on/off in sound config. the flag bypasses the apu.run function. the apu read/writes are still going, and seems to be TAS safe to do this 2011-08-27 15:49:16 +00:00
beirich e703d3a99f [pce] fix R-Type CD audio start bug(s) 2011-08-16 03:11:27 +00:00
zeromus 3bab049363 disc-clarify difference between LBA and ABA 2011-08-15 10:43:36 +00:00
beirich cd65961b53 fixed subcode stuff and a stupid bug in CDAudio.cs 2011-08-15 04:22:54 +00:00
zeromus 019ad69459 disc subchannel Q calculation; make TOC a little more useful by adding TOCPoints which are easier to search than nested sessions, tracks, and indices; and change path browser to use a superior folder browser which lets you enter paths into a textbox. I refuse to click to navigate folders 2011-08-14 23:13:31 +00:00
beirich 0a5157d9a6 Extremely preliminary TurboCD support 2011-08-14 18:20:13 +00:00
beirich cfccc65672 add metaspu V method, set NES to use it experimentally 2011-08-14 01:42:54 +00:00
beirich b27673f26c M-M-M-MONSTER COMMIT! change Game-load api stuff 2011-08-04 03:20:54 +00:00
beirich 6f379cee76 remove freeze system; replacement incoming 2011-08-03 02:13:42 +00:00
zeromus 0f2b81796f demo altered freeze system for nes 2011-08-03 01:42:51 +00:00
beirich 74a58186df fix Disc/Disc name collision
add function to disc-api to get game-ID hash from 1st data track
2011-08-03 00:57:01 +00:00
andres.delikat 183ef7f14c Cheats implemented in the TI83 core, show messagebox on Cheat enable failure 2011-08-02 22:41:47 +00:00
zeromus f356d5b354 add core scanning system 2011-07-31 19:46:42 +00:00
andres.delikat 2e68314e01 Movies that start from savestate now supported. Record Movie dialog "Record from Now" option implemented. ResetFrameCounter() added to IEmulator and implemented in all existing cores 2011-07-30 20:49:36 +00:00
beirich 0b49dd25a0 [PCE] fix Lost Sunheart sound glitch, calling PSG fixed for now (except LFO) 2011-07-28 06:09:04 +00:00
beirich cc3206a610 crash bugfix 2011-07-24 22:46:32 +00:00
beirich 06d8792830 [PCE] fix Youkai Douchuuki, Yo Bro, and Order of the Griffon 2011-07-24 19:52:20 +00:00
beirich c30529685d [PCE] regretfully implement sprite limit, fixing some anomalies 2011-07-24 03:32:39 +00:00
beirich d8b6432d9a [PCE] cap active display to 242 lines, fixes Puzzle Boy (requests 512) 2011-07-23 21:52:44 +00:00
beirich 91baebf8b2 [PCE] Implement ORA under T-Flag, fixes City Hunter 2011-07-23 21:24:43 +00:00
beirich 8295e6d65b PCE GameDB overhaul 2011-07-23 20:22:32 +00:00
beirich 3bedad1e95 Update SGX with new timing & support frameskip... huge success!
100% SGX compatibility (not that this is difficult)
2011-07-20 03:57:41 +00:00
beirich 47def064fa significant PCE timing/compat improvements, still poking at a few things 2011-07-19 03:53:07 +00:00
beirich cc9cf04a57 "Fix" PCE Paranoia by marking bad roms 2011-07-18 00:11:16 +00:00
beirich 1475d55da1 blegh 2011-07-16 21:09:44 +00:00
andres.delikat 7445ff887c small amount of work on NES Sprite viewer, added nesasm.pdf to NES docs 2011-07-16 18:16:21 +00:00
beirich 3f27ac0b2a Fix PCE Populous by supporting its custom SaveRAM.
+ Unsubstantial TurboCD progress.
2011-07-15 02:08:18 +00:00
zeromus 4b892cdfea ti83: savestate vram 2011-07-14 01:18:04 +00:00
beirich 652e56083f PCE: fix sprite bugs introduced in fighting run fix 2011-07-12 00:37:00 +00:00
zeromus 9628ab3506 hook up nes dump status stuff, and also add a log window that we could use for console output in the near future but for now is just used to show you a detailed rom analysis report 2011-07-10 21:00:28 +00:00
beirich bf203b54f5 FIX FIGHTING RUN PCE! 2011-07-10 19:55:17 +00:00
beirich 732bd982af Update to GameDB and update PCE compat.txt 2011-07-10 18:26:55 +00:00
beirich c8727ae01f fix some gamedb stuff, add some genesis games to db, get genesis back to a state where it at least loads roms correctly 2011-07-10 04:54:18 +00:00