Commit Graph

30 Commits

Author SHA1 Message Date
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
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 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
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
pjgat09 74594b961b Added SyncState functions to the M6532 and TIA. 2012-03-30 02:34:47 +00:00
zeromus 0cf6b0bcb7 switch atari 2600 to new 6502 core 2012-03-24 03:45:47 +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
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
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 a55bdd1a69 TIA: Implemented player copy mode 0x06
M6532: Added an interrupt register
2012-03-14 21:57:10 +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 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
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