Posted Thu Aug 9, 2012 11:18 PM
Posted Fri Aug 10, 2012 12:34 AM
Edited by Rybags, Fri Aug 10, 2012 12:39 AM.
Posted Fri Aug 10, 2012 6:10 AM
Edited by carmel_andrews, Fri Aug 10, 2012 6:15 AM.
Posted Fri Aug 10, 2012 6:45 AM
Posted Fri Aug 10, 2012 7:18 AM
Posted Fri Aug 10, 2012 7:37 AM
Edited by Rybags, Fri Aug 10, 2012 7:38 AM.
Posted Fri Aug 10, 2012 10:15 AM
Posted Fri Aug 10, 2012 12:41 PM
Speeding up existing games may be fun. What I'd like to see is something like the DPC+ and ARM assist developments with the Harmony board. What if you used the base 2600 to just draw the screen and collect information about switch settings and joystick input. Have the game code run off the faster processor for nifty tile engines and 3D vector graphics.
Posted Fri Aug 10, 2012 2:19 PM
Posted Fri Aug 10, 2012 4:10 PM
Maybe this clock should be buffered first? My elecronics are a bit rusty, but isn't this a sine wave, and maybe the 6502 wants square waves?I've done a preliminary experiment where I wired the OSC input of the TIA to the clock input of the 65c02, but all I get is a black screen.
Edited by roland p, Fri Aug 10, 2012 4:14 PM.
Posted Fri Aug 10, 2012 9:14 PM
Maybe this clock should be buffered first? My elecronics are a bit rusty, but isn't this a sine wave, and maybe the 6502 wants square waves?I've done a preliminary experiment where I wired the OSC input of the TIA to the clock input of the 65c02, but all I get is a black screen.
In the tia schematic it is buffered: http://www.atariage...._tia/index.html (sheet 1, upper left)
It also seems logical to me that if the signal was a square wave the osc input of the tia would be called clk or something.
Its easy to tell if you have an oscilloscope.
Posted Fri Aug 10, 2012 9:53 PM
The main problem you're up against is that the TIA's graphics are driven by polynomial counters or LFSRs, and the main counter-- the horizontal sync counter on sheet 1-- controls when the horizontal blanking is turned on and off, when the horizontal sync is turned on and off, and when the color burst is turned on and off. So if you're driving the TIA at 3-times normal speed by feeding it a faster OSC signal, the best you could hope to achieve would be a screen that's one-third as wide as normal, since horizontal blanking and horizontal sync will still be triggered on the basis of the horizontal sync counter, and it will be counting 3 times as fast as normal, so hsync will occur about a third of the way across the screen. That also means the hblank period will be one-third as long as it should be, hsync will be one-third as long as it should be, color burst will be one-third as long as it should be, and the color burst will not begin when expected.You're absolutely right, and that's probably why I get the same result with OSC hooked up to the clock input as I do with no CPU at all. So do I just put it through a couple inverters? Schmitt trigger maybe? Here is a screenshot of that section for anyone interested:
![]()
Posted Fri Aug 10, 2012 10:21 PM
The main problem you're up against is that the TIA's graphics are driven by polynomial counters or LFSRs, and the main counter-- the horizontal sync counter on sheet 1-- controls when the horizontal blanking is turned on and off, when the horizontal sync is turned on and off, and when the color burst is turned on and off. So if you're driving the TIA at 3-times normal speed by feeding it a faster OSC signal, the best you could hope to achieve would be a screen that's one-third as wide as normal, since horizontal blanking and horizontal sync will still be triggered on the basis of the horizontal sync counter, and it will be counting 3 times as fast as normal, so hsync will occur about a third of the way across the screen. That also means the hblank period will be one-third as long as it should be, hsync will be one-third as long as it should be, color burst will be one-third as long as it should be, and the color burst will not begin when expected.You're absolutely right, and that's probably why I get the same result with OSC hooked up to the clock input as I do with no CPU at all. So do I just put it through a couple inverters? Schmitt trigger maybe? Here is a screenshot of that section for anyone interested:
![]()
Posted Sun Aug 12, 2012 12:04 AM
I don't know if you can speed up the processor without speeding up the TIA. The 2600 feeds its 3579575 Hz oscillator signal into the TIA via the OSC pin. The TIA uses that input to get its CLK signal, then multiplies the lengths of the CLK pulses by 3 (thereby dividing the Hz rate by 3) and outputs it to the CPU as PHI_0. The CPU then uses the PHI_0 signal to generate its PHI_1 and PHI_2 clocks, and sends the PHI_2 clock back to the TIA. So the speed of the TIA controls the speed of the CPU. To speed up the CPU separately, you'd have to break the PHI_0 connection between the TIA and the CPU, or maybe feed it through some additional circuit to multiply the PHI_0 rate. As for two different oscillators, I take it you mean the second oscillator would generate the PHI_0 signal for the CPU? That might work, but you would probably have to sync the timing, so it might make more sense to somehow feed the original oscillator's signal to the CPU rather than have two oscillators. In any case, I'm not sure how the TIA would react to the faster PHI_2 signal coming back from the CPU. It would certainly make an interesting experiment!The main problem you're up against is that the TIA's graphics are driven by polynomial counters or LFSRs, and the main counter-- the horizontal sync counter on sheet 1-- controls when the horizontal blanking is turned on and off, when the horizontal sync is turned on and off, and when the color burst is turned on and off. So if you're driving the TIA at 3-times normal speed by feeding it a faster OSC signal, the best you could hope to achieve would be a screen that's one-third as wide as normal, since horizontal blanking and horizontal sync will still be triggered on the basis of the horizontal sync counter, and it will be counting 3 times as fast as normal, so hsync will occur about a third of the way across the screen. That also means the hblank period will be one-third as long as it should be, hsync will be one-third as long as it should be, color burst will be one-third as long as it should be, and the color burst will not begin when expected.
I didn't know about that, thanks for the information. I found an old [stella] post where Chris Wilkson described running both the 6507 and TIA at double speed and said that the screen was smaller. I never understood why though.
Since I'm running the TIA at the same speed, and only increasing the speed of the processor, I don't think this will be an issue. However, if I want to run the processor at more than 3.58 mhz, I may run into problems. Or perhaps I could just have two different oscillators?
Posted Sun Aug 12, 2012 9:22 AM
I don't know if you can speed up the processor without speeding up the TIA. The 2600 feeds its 3579575 Hz oscillator signal into the TIA via the OSC pin. The TIA uses that input to get its CLK signal, then multiplies the lengths of the CLK pulses by 3 (thereby dividing the Hz rate by 3) and outputs it to the CPU as PHI_0. The CPU then uses the PHI_0 signal to generate its PHI_1 and PHI_2 clocks, and sends the PHI_2 clock back to the TIA. So the speed of the TIA controls the speed of the CPU. To speed up the CPU separately, you'd have to break the PHI_0 connection between the TIA and the CPU, or maybe feed it through some additional circuit to multiply the PHI_0 rate. As for two different oscillators, I take it you mean the second oscillator would generate the PHI_0 signal for the CPU? That might work, but you would probably have to sync the timing, so it might make more sense to somehow feed the original oscillator's signal to the CPU rather than have two oscillators. In any case, I'm not sure how the TIA would react to the faster PHI_2 signal coming back from the CPU. It would certainly make an interesting experiment!The main problem you're up against is that the TIA's graphics are driven by polynomial counters or LFSRs, and the main counter-- the horizontal sync counter on sheet 1-- controls when the horizontal blanking is turned on and off, when the horizontal sync is turned on and off, and when the color burst is turned on and off. So if you're driving the TIA at 3-times normal speed by feeding it a faster OSC signal, the best you could hope to achieve would be a screen that's one-third as wide as normal, since horizontal blanking and horizontal sync will still be triggered on the basis of the horizontal sync counter, and it will be counting 3 times as fast as normal, so hsync will occur about a third of the way across the screen. That also means the hblank period will be one-third as long as it should be, hsync will be one-third as long as it should be, color burst will be one-third as long as it should be, and the color burst will not begin when expected.
I didn't know about that, thanks for the information. I found an old [stella] post where Chris Wilkson described running both the 6507 and TIA at double speed and said that the screen was smaller. I never understood why though.
Since I'm running the TIA at the same speed, and only increasing the speed of the processor, I don't think this will be an issue. However, if I want to run the processor at more than 3.58 mhz, I may run into problems. Or perhaps I could just have two different oscillators?
Edited by Wickeycolumbus, Sun Aug 12, 2012 9:23 AM.
Posted Sun Aug 12, 2012 12:48 PM
The RIOT shouldn't have anything to do with the sound, aside from values being read from RAM and then stored in the audio registers.The thing that worries me is that there is no sound in the demo, though there should be. I think this may have to do with the RIOT being too slow (I have to look at the code again, I wrote it in 2008).
Edited by SeaGtGruff, Sun Aug 12, 2012 12:53 PM.
Posted Sun Aug 12, 2012 3:30 PM
Posted Mon Aug 13, 2012 7:56 PM
Posted Mon Aug 13, 2012 11:03 PM
Posted Fri Dec 21, 2012 2:45 PM
Edited by Wickeycolumbus, Fri Dec 21, 2012 3:06 PM.
Posted Sat Dec 29, 2012 1:43 PM
Posted Sun Jan 6, 2013 12:59 AM
Posted Sun Jan 6, 2013 3:47 AM
Posted Mon Jan 14, 2013 8:57 AM
This is looking cool, just one thing - it seems like the upgrade will be a bigger beast than the machine itself, would it be just easier to yank the TIA out and build on a custom board to replace the old one?
0 members, 0 guests, 0 anonymous users