Jump to content
IGNORED

Question about 2600 ROM function


Destinaxe

Recommended Posts

Hello All!

 

I have been working on an Arduino based cart dumping tool for my old 2600 carts and I have everything working aside from one very small, strange issue that I won't delve into in this post. However, I have been reading various documents and scouring various forums for an explanation of the timing that the carts used for reading addresses and writing to the data bus. As of right now I am under the impression that information is not sent out on the data bus until CE (Chip Enable) is pulled LOW on the EEPROM. So in my code for dumping the carts, I pull CE HIGH, write to the address bus, pull CE low and read from the data bus. My current tool dumps the cart perfectly aside from a few bytes (always in different locations with values that seem to have no real consistency so error checking has become very difficult leading me to believe that it is a timing issue) I also am able to fetch and one memory location and receive the correct value, but when I try to read multiple locations in a row I get a few errors, again leading me to believe that it is a timing issue.

 

Does anyone know where I might be able to find a timing diagram for the EEPROMs used in the carts? Am I approaching this correctly?

 

I apologize if this is in the wrong subforum and if more information is needed please just let me know!

Edited by Destinaxe
Link to comment
Share on other sites

Ah ok, and am I ting the use of the control signal properly? Pull it low whe you've written to the address bus and are ready to receive data? So a rough outline of program flow would be:

 

1.) Pul CE High

2.) Slight delay

3.) Write to address bus

4.) Delay

5.) Pull CE Low

6.) Delay

7.) Read From data bus

Link to comment
Share on other sites

Hi,

 

I've had this working with a Arduino Mega2560 (well a Sainsmart clone of one anyway ;-) basically using the code and wiring from:

 

http://z80dave.blogspot.co.uk/2011/09/20-building-eeprom-programmer.html

 

I thought I'd added delays - but I've checked and that was on the writes (I was programming an EEPROM so I could run my code on a real 2600). The pages discusses the need to do this - but its not relevant for reading.

 

I've been able to read a bunch of carts quite successfully. I guess it works because the Arduino script turns the bytes into human readable text complete with addresses and this takes time to get sent up the serial link. I've got mine set to 9600.

 

Roland.

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...