Jump to content
IGNORED

Homemade atari super vcs {ntsc} 6502 questions


universal2600

Recommended Posts

Hello everyone I'm in the process of building a VCS based hardware clone from scratch and have a few queries;



I am going to replace the 6507 with 6502 (to get full 64k addressing + hardware interrupts + phi 1 and phi2 clocks ) and adding 32k of extra ram like the super Atari project (site is down but thanks for the wayback machine http://bit.ly/2FHlAH7)


But these "NEW" eBay 6502 cpus (http://ebay.to/2DzjYJC) should work, or are these new chips like 65c02 in that the silicon has been altered due to "modern manufacture reasons"? And what's the highest clock speed available on a 6502?



Also can you place some asynchronous buffer sram [cy7c408 = 128byte sram fifo memory] (http://bit.ly/2HGAAlm) between the data lines on the tia and 6502/7, so that the when the TIA Is drawing the data is already in the buffer, and all the cpu needs to do is correctly send the corrects address locations relevant to data stored in the buffer?


(i.e instead of cpu calculating the display every scan-line you simply write a few scan-lines of image data into the buffer before The TIA begins to draw, then just correctly address in the order of whats stored in the buffer and do program logic)


Since the [cy7c408a] is dual ported with asynchronous R/W, means you can just clock the output data [DO0-DO7] bus with the 1.19MHz clock from the TIA, iirc the TIA doesn't tend to like bus speeds higher than 1.19MHz?



Then this should allow one to overclock the 6502 with for simplicity of counting cycles a multiple of the [ntsc] color-burst [TIA] clock ( i.e being able to have 684 cpu cycles per scan-line {using a 6502 clocked @ 10.75MHz = ~3x the TIA clock } instead of just 76 cycles) in such cases also sacrificing [native 2600] compatibility for increased cpu speed and more time for crunching instructions.



I would also assume having the TIA reading the buffer @ 1.19Mhz would present in situations a bottleneck as well


(when "drawing" to the TIA)? Since you can write data faster to the buffer than its being read (if the CPU is overclocked)? Since it seems the cy7c408 operates similar to a giant shift register, once its written you have to wait until data to reach to the TIA before it you write new data?? Can you just fill the buffer with 128 bytes of scan-line/sound data for the TIA, then handle the TIA addressing, and just fill the buffer as its being emptied, and essentially have 128 bytes of "VRam" (well more like Video buffer)? Also Can NMI be used instead of RDY, so that when the tia begins a new frame, wsync simply have the TIA tell the 6502 to "Stop, Pause , Go and do Display routine and then come back here", instead of just halting the cpu?



Aswell i have a few microchip and avr (atmega8515) mcu's laying around wanting to be used for something and with a both MCU's, it's instructions are pipelined so that it takes effectively 1 cycle to load and execute data or decode and execute an instruction, except iirc when changing the program counter which iirc takes 2 - 3 cycles, So you don't have wait states [i.e iirc if using a z80, thats takes 3+ cycles for most of its instructions which is why they have such high clocks].



Is it possible to use the atmega or 18f4550 as sort of display controller for the TIA having the MCU handle reads from the buffer instead, and handle writing the data to the TIA, and use the atmega8515 to emulate the RIOT?


Is it possible to emulate the Riot but with 256 bytes of ram? iirc RIOT ram is in page 0 so is faster to access than the 32k of extra ram?



Plus is it possible, using A12 and A15 with a 74hc138 and a logic gate or two as a way to partially decode address to swap between cartridge space and 32k ram, so one can simply keep some compatibility, simply if A12 is high and A15 low then cartridge ROM is accessed, and if A15 is high in any case 32k Ram is Accessed?



just building it to just play 2600 games isn't really hard (it was done from 1977 to 1992 literally millions of times), and seems a little redundant to me, I just figured since you can build your own 2600 compatible hardware clone for less than $50 in parts shipped, why not beef it up for some shits and giggles like a dev kit, have 256k of rom space and 32k ram, 6502, if possible using an MCU or 2 as an "In Hardware display Kernel", as well as emulate the riot, And CO10444D. why you ask? Because i i'll have the only atari "super" VCS with full USB 2.0 support (upto 12Mbit/s if I do use the 18f4550 lol) and plus i can really push the hardware to the limit see what it can do with some actual "power" behind it :-D :P


Link to comment
Share on other sites

Be very careful with buying 6502 type chips from ebay, most of them are fake and do not perform to specifications. I am sure someone else get can you some more details on how to spot them (maybe kevtris). Good luck with your project.

Link to comment
Share on other sites

Not sure this idea could work, but you could "piggy-back" another TIA chip on top of the original and connect the address lines from the top one to address lines A6-A11.

 

You would add 2 more channels of audio!

 

One TIA chip could backgrounds and the other foreground graphics.

 

Like in a football game, one TIA draws the playfield and moving sprites and the other for scoring and other moving sprites!

 

Or in Pac-Man, you could divide up the ghosts so there would be no flickering!

Edited by SoundGammon
Link to comment
Share on other sites

Be very careful with buying 6502 type chips from ebay, most of them are fake and do not perform to specifications. I am sure someone else get can you some more details on how to spot them (maybe kevtris). Good luck with your project.

 

Uh oh lol whoops, well I ordered one for like $4 from China iirc it was marked with rockwell, also bought an eBay rockwell 6532 at the Same price, the markings looked okay, but I guess I see what I get, bought the TIA from eBay but it's legit a tsu brand ceramic dip 16th week of 83

 

Not sure this idea could work, but you could "piggy-back" another TIA chip on top of the original and connect the address lines from the top one to address lines A6-A11.

 

You would add 2 more channels of audio!

 

One TIA chip could backgrounds and the other foreground graphics.

 

Like in a football game, one TIA draws the playfield and moving sprites and the other for scoring and other moving sprites!

 

Or in Pac-Man, you could divide up the ghosts so there would be no flickering!

This actually could be feasible (i remember there was a post here talking about paralleling TIA's but don't remember exact details), probably would need some extra decoding logic so that you could use each TIA independent of each other, probably have to overclock the CPU, so you'd have enough time to draw both frames, or just put a pokey in for better sound, lol i do also have a gtia

  • Like 1
Link to comment
Share on other sites

okay I looked at the ebay listing for the 6502 I bought (http://ebay.to/2DCEgC1), and the feedback all gave positive reviews, it seems the 6502 should be legit.

 

and here is the 6532 listing (http://ebay.to/2DEgYfd), seems the date code is of the correct period (at least in the photo), I don't think they make 6532 new anymore though?

 

 

Link to comment
Share on other sites

I have a few questions, since iirc that the TIA registers are latched, if I simply set the playfied color, it will "paint" the frame with that color until it's changed? Or is it latched only for one scanline.

 

And can I just use wsync to strobe nmi instead of rdy, that way the CPU automatically knows the TIA is at the start of frame (or line) and just executes a drawing routine (display kernel),then once the display is drawn, it automatically goes back to the stack and simply resumes what it was executing.

 

Would using a cy7c408 as a makeshift buffer have any benefit on what can be done or would it be more of a bottleneck, since it's first in first out, once you write to it, you have to wait until the tia receives the data before you can rewrite more?, since data is clocked independently into and out the buffer, inputs are clocked by the CPU, which doesn't have to be 1.19MHZ since that's simply used to clock the output (so I don't have to go and recalculate timings due to higher CPU clocks). I have 2 spare tia one being used for this, the other in an Arduino (I might just use a pic and avr combo so I can have USB) "computer" ( I have a post with pcb layouts but I didn't get any response but still in the works) mainly for experimenting with the tia capabilities graphically and sound-wise (push the chip in different ways to see what happens...)

Link to comment
Share on other sites

Mmm.. The fact that it is 9VDC (regulated or unregulated matters not) should tell you it's DC. And no clock is derived from DC.

 

Thanks but I am talking about pin 10 (color delay/color adjust) which is what the color pot controls, iiirc it derives a voltage from +5v and the 9vdc unregulated from the power supply. Not pin 11 which is the clock input

Link to comment
Share on other sites

Thanks but I am talking about pin 10 (color delay/color adjust) which is what the color pot controls, iiirc it derives a voltage from +5v and the 9vdc unregulated from the power supply. Not pin 11 which is the clock input

Iirc the Atari 9v power supply just simply rectifies 9vdc, filtering is done inside the console, even though it's dc it's unfiltered so you're going to have a dc voltage, but it has ripple (iirc 60 or 120hz depending of the rectification method)..

Link to comment
Share on other sites

Well an update, I got most of the parts, still waiting on 74hcu04, load caps, and the ic sockets, but I am going to use the pic18f4550 as a in system programmer/debugger, that way I can just write up to 256k of rom data....over usb ?, and a co processor with a pic32mx270 which is going to be clocked at the same speed as the cpu (1.19 to start with), since its 32bit, I should have plenty of cpu power even at 1.19MHz, and it has its own 256k of storage and 64k of ram, I think it should be enough to emulate the riot and be used as a co processor (probably will need a faster clock but only experimentation will tell)

 

Here's a pic of the board so far

post-30967-0-64146500-1521832950_thumb.jpg

  • Like 1
Link to comment
Share on other sites

Looking good, think I would have reduced the complexity on the ROM idea and just put in a Zif-socket for the first version. Could also pick up a cheap RIOT and use that in the beginning till you get the emulation down - that way you're not trying to do everything at one.

 

Just my 2c, it's incredibly how minute detail quickly changes things into a garbled mess.

Link to comment
Share on other sites

At first, I thought, what's the point, but then using dual TIA's and the full 6502 and more memory space does sound like it would produce a machine that the homebrewers could really take advantage of. Make it fit in a sixer and this thing could grow legs as an upgrade...

  • Like 1
Link to comment
Share on other sites

Looking good, think I would have reduced the complexity on the ROM idea and just put in a Zif-socket for the first version. Could also pick up a cheap RIOT and use that in the beginning till you get the emulation down - that way you're not trying to do everything at one.

 

Just my 2c, it's incredibly how minute detail quickly changes things into a garbled mess.

 

Thanks, and yeah Ive ordered a 6532 from ebay, its a Rockwell chip, but idk if they still make these new, for $5, well imho its designed for a 6502....I see when it arrives

 

At first, I thought, what's the point, but then using dual TIA's and the full 6502 and more memory space does sound like it would produce a machine that the homebrewers could really take advantage of. Make it fit in a sixer and this thing could grow legs as an upgrade...

Thats the idea behind it, if you look at the demoscence for the vcs, quite alot is possible with quite little, even digitized audio, essentially atari could've taken the vcs design and tweaked it into a "cheap" home computer, that could've competed with the vic 20, trs-80, and apple, call it the atari vcs line of consoles, cheaper than the Atari 8-bit, but more features than the competition...

, but they didn't know the full capable extent of the hardware, since it was new tech then..I do have another tia, I recommend the ebay seller, they have a better deal than best electronics, 2 for $10, (here is the ebay listing for those who may want it: http://ebay.to/2IR3sIZ), I could use another pic32 and use it as a display controller to drive both chips, I assume you'd mix the video signal from both chips together?

Edited by universal2600
Link to comment
Share on other sites

It's not 9V DC, it is 5V DC. The 7805 voltage regulator takes care of that.

the color delay (bottom left center) uses (15?)9vdc, goes through a 4.7k resistor into the color delay pot which acts a sort of voltage divider, with two 1n914 diodes parralled across the 7805, my question is what voltage needs to be on pin 10 to get proper color output

post-30967-0-41354900-1522020778_thumb.png

Link to comment
Share on other sites

the color delay (bottom left center) uses (15?)9vdc, goes through a 4.7k resistor into the color delay pot which acts a sort of voltage divider, with two 1n914 diodes parralled across the 7805, my question is what voltage needs to be on pin 10 to get proper color output

attachicon.gifSchematic_Atari2600A_2000.png

 

I see, why don't you just measure it?

Link to comment
Share on other sites

 

I figure I can just order the 500k trimmer pot, and just simply just connect it like it is in the schematic, and use color bar generator to adjust the color, less than $2 for 20 of them, and its simpler to construct now that I look at the schematic again

Edited by universal2600
Link to comment
Share on other sites

okay I looked at the ebay listing for the 6502 I bought (http://ebay.to/2DCEgC1), and the feedback all gave positive reviews, it seems the 6502 should be legit.

 

and here is the 6532 listing (http://ebay.to/2DEgYfd), seems the date code is of the correct period (at least in the photo), I don't think they make 6532 new anymore though?

 

 

There's the 6502A and the 6532A on E-Bay. The A means 2MHZ.

Link to comment
Share on other sites

  • 2 weeks later...

the color delay (bottom left center) uses (15?)9vdc, goes through a 4.7k resistor into the color delay pot which acts a sort of voltage divider, with two 1n914 diodes parralled across the 7805, my question is what voltage needs to be on pin 10 to get proper color output

attachicon.gifSchematic_Atari2600A_2000.png

 

The color delay voltage is a poor mans adjustable power supply. The voltage at the "top" end of the 2 diodes will be 5V + (2 * V_FD) ~= 7.3V. The 500k pot allows you to adjust pin 10 (the gate voltages of the internal delay line) from that value down to 0V.

 

The "proper" voltage depends on your particular TIA. You should definitely use a visual tool such as the Video Soft (classic) or CyberTech (better) Color Bars programs to do the adjustment. Or, if you have an oscilloscope or a vectorscope, use that. That's the best possible adjustment. And wait until everything is warmed up. Temperature makes a difference of those delay gates!

Edited by cwilkson
  • Like 1
Link to comment
Share on other sites

The color delay voltage is a poor mans adjustable power supply. The voltage at the "top" end of the 2 diodes will be 5V + (2 * V_FD) ~= 7.3V. The 500k pot allows you to adjust pin 10 (the gate voltages of the internal delay line) from that value down to 0V.

 

The "proper" voltage depends on your particular TIA. You should definitely use a visual tool such as the Video Soft (classic) or CyberTech (better) Color Bars programs to do the adjustment. Or, if you have an oscilloscope or a vectorscope, use that. That's the best possible adjustment. And wait until everything is warmed up. Temperature makes a difference of those delay gates!

 

Okay now it makes sense, you could use a cheap dc-dc converter with adjustable output instead...
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...