Commit Graph

148 Commits

Author SHA1 Message Date
adelikat 4ed68e0c9a oops 2012-10-30 23:42:42 +00:00
adelikat 1d4a8fd3ba Atari 2600 - add a Playfield toggle 2012-10-30 23:38:53 +00:00
adelikat a4a53342d1 Atari - Checkin DPC Mapper file 2012-10-30 23:13:49 +00:00
pjgat09 c1c85dba56 A2600: Implemented atari graphics toggles except for playfield 2012-10-30 23:12:09 +00:00
goyuken 27bcfcff55 oops 2012-10-30 22:41:56 +00:00
goyuken acc9806d55 2600: add fake mDPC.cs to fix compile. 2012-10-30 22:14:31 +00:00
adelikat ca86a8dff3 Atari - start DPC mapper (Pitfall 2) - only does the basic bankswitching right now, still needs the 2k display bank and DPC sound chip 2012-10-30 01:33:56 +00:00
pjgat09 dfb45aa99c A2600: Fixed graphics on games including Enduro and Activision Boxing 2012-10-26 03:44:13 +00:00
pjgat09 bff6ac53d7 A2600: Fixed issue with vsync which caused flashing in Pleaides and Enduro 2012-10-26 01:50:08 +00:00
pjgat09 ce930374de A2600: Added very basic paddle support. Changing a hard coded value while debugging the emulator allows you to move the paddle. 2012-10-24 03:30:02 +00:00
adelikat 5309bea951 Add some docs for atari 2600 & 7800 mappers, slight fix to 7800 core 2012-10-24 01:47:04 +00:00
adelikat 11db3f1912 Atari 7800 - cleanup the BIOS paths and usage of those variables 2012-10-23 20:21:55 +00:00
adelikat 9c047b34b4 oops 2012-10-23 03:47:00 +00:00
adelikat 427a80548c Start an atari 7800 core based on emu7800, if you have bios files in very specific locations and filenames, you can open 2k ntsc games, and watch with no sound or controls! 2012-10-23 03:33:57 +00:00
adelikat 9a1cbbb34c Atari - attempt the 3E mapper, seems broken 2012-10-20 01:51:38 +00:00
adelikat 4f045eb20d Atari - a stab at implementing mapper m4A50, don't work, oh well, the mapper is garbage and overly complicated, and can't really exist 2012-10-20 00:14:28 +00:00
adelikat 90a288afeb Implement X07 mapper 2012-10-19 23:31:42 +00:00
adelikat 162932797b Atari - make 4Pak use the F6 mapper (header wants 4IN1 which I couldn't find any info on). F6 makes it playable it seems. 2012-10-19 21:33:23 +00:00
adelikat 563065d054 AtariHawk - fixes to the E7 mapper, still broken, don't know why, tired of looking at it 2012-10-19 00:13:39 +00:00
adelikat 00934939b0 AtariHawk - implement mapper 3F (including support of 512kb for homebrew) 2012-10-18 22:22:09 +00:00
adelikat 826419a0a3 AtariHawk - don't flag a frame as lag if the control switches are being read 2012-10-18 19:45:44 +00:00
goyuken 556d428406 atari: fix mapper F0 (megaboy). game appears to be playable 2012-10-15 15:17:20 +00:00
goyuken 591857ad0f atari2600: show what mapper is in use in romstatusdetails 2012-10-15 15:13:32 +00:00
adelikat f7c6659b76 Atari - Mapper E7 - small fix, the games still don't work but it may or may not be this mapper, need to look into it more 2012-10-15 14:29:13 +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
adelikat 98ae0abe28 Lua - Implement onmemoryread() and onmemorywrite() to the remaining C# cores except Genesis 2012-10-13 20:15:28 +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
goyuken 19e5325afa DCFilter: allow variable filterwidth. 2600 tia: use a rather aggressive (~172hz cutoff) dc filter. this coefficient is reasonably close to actual hardware behavior. 2012-10-10 00:56:48 +00:00
goyuken ac86041b94 2600 tia: octave up 2012-10-10 00:24:15 +00:00
goyuken 494f1bdbb5 diced up TIA audio into tiny bits. GHOSTBUSTERS!!!! also, i have no idea what i'm doing 2012-10-10 00:16:38 +00:00
goyuken 8cb8879212 implement some more audio stuff in 2600 tia. many things still undone 2012-10-08 23:30:17 +00:00
goyuken b545d79fb6 lua: add emu.on_snoop() 2012-10-06 13:34:04 +00:00
goyuken 35013f07e8 2600: stop emulator from hanging, consuming all ram, and then crashing in some situations 2012-09-22 19:47:25 +00:00
goyuken 51fc8e695c add 'bool rendersound' to IEmualtor.FrameAdvance()
if false, the emulator is free to gain whatever speedup it can by not doing audio processing (shouldn't change anything sync related, though)
the core should still always call SoundProvider.GetSamples() after each FrameAdvance(), else DRAGONS
at the moment, only test-implemented in gambattehawk
2012-09-20 19:52:47 +00:00
goyuken 83e145c36f change the IEmulator saveram interface.
i don't like doing this, but there were already two emus with special bandaid logic in MainForm.cs
i hope this doesn't break something, but if it does i'll fix it
2012-09-14 22:28:38 +00:00
beirich 90d1d12086 gen: fix some vram corruption issues
general: fix some build warnings
2012-09-09 21:15:20 +00:00
zeromus f5c0965045 snes-support save ram 2012-09-04 07:09:00 +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
andres.delikat a34bf45610 Add islag to savestates (now lagframe alert status updates when loading a state) 2012-07-30 14:42:52 +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
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 3d10431a2b Atari - implement console switches (as menu items) 2012-04-29 02:48:33 +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 e41eabcfc3 fix atarihawk video 2012-04-16 22:56:30 +00:00
adelikat f495e7e068 Atari - slight fix to support the F4 mapper 2012-04-05 23:46:01 +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
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
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
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
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
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
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
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
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
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
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
pjgat09 8a73d50e0b Basic implementation of player 0 graphics 2012-03-10 08:34:04 +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
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
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