DrWho198 Posted November 29, 2015 Share Posted November 29, 2015 Can anyone tell me what happens to the pins on the A2600 cartridge port when a value is written to an adress. I'm trying to do the same with my arduino but I can't get it to work. I know a scope would help but I don't have any and would not know how to use it anyway. So to clearify things, I wish to know in what order what pins are set high or low. Quote Link to comment Share on other sites More sharing options...
DrWho198 Posted November 29, 2015 Author Share Posted November 29, 2015 (edited) More detail about a read would be nice too. I managed to get things working, but I'm unsure if I do it correctly. I want to get it as perfect as possible to avoid problems in the future. One major problem I got in to, was the fact that I turned off the data lines before I changed the address lines. Because the data lines were floating for a split second, the RAM address got written to again and got erased. This shows that timing and the order of things has an important roll in getting things working. Edited November 29, 2015 by DrWho198 Quote Link to comment Share on other sites More sharing options...
7800fan Posted November 29, 2015 Share Posted November 29, 2015 STA = store variable A somewhere STX = store variable X somewhere. Variable containers are usually internal in CPU and when you specify store, it goes into external RAM at specified location. Programming on Atari 2600 can be easy if you're familiar with basic behind 6500 series CPU. You would need to know the memory location of RAM (128 bytes), where the cart normally sits (2k and 4k space) and how to communicate with TIA if you intended the 2600 console to display something on the TV. One major drawback to programming for 2600 is no dedicated video memory so you have to manually redraw every pixel, every line, and every screen. If your WSYNC is off by a cycle or 2, you'd end up with tearing of the screen. If you have too few or too many lines between field, the older TV will roll and modern TV may flat out refuse to work. Quote Link to comment Share on other sites More sharing options...
DrWho198 Posted November 29, 2015 Author Share Posted November 29, 2015 Thanks 7800, But that's sadly not what i was asking I know how to write basic assebler... but that's not what I'm after. I want to know what happens on the address and data lines of the cartridge when a store occurs. Maybe the topic should have included 'on a hardware level' But since this was the hardware section I thought it would be unnecessary. Quote Link to comment Share on other sites More sharing options...
alex_79 Posted December 1, 2015 Share Posted December 1, 2015 In the "MCS6500 Family Hardware Manual" there are a few timing diagrams for read and write cycles of the 650x (pages 15-19).Also the visual 6502 simulator might be useful. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.