Atari 8-bit EEProm programming

Topics related to older 6502-based hardware and systems including (but not limited to) the MOS Technology KIM-1, Synertek SYM-1, and Rockwell AIM-65.
Post Reply
TonyR
Posts: 3
Joined: 06 Oct 2002
Location: Pittsburgh, PA

Atari 8-bit EEProm programming

Post by TonyR »

Are there any programmers with experience with the Atari 8-bits that may have experience with reading and writing eeproms vie their cart slot?

I'm making a hardware device that goes in the left hand slot, and would like to add a microchip eeprom that is SPI based, and would like to access it.

Anyone have experience or code on how to bit bang an SPI eeprom via a parallel bus (preferably Atari's)

Thanks

Tony
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Post by GARTHWILSON »

Hi Tony! Long time no post!
Quote:
and would like to add a microchip eeprom that is SPI based [...] Anyone have experience or code on how to bit bang an SPI eeprom via a parallel bus (preferably Atari's)
Since I'm not Atari-literate, I don't know know how much good I can do you, but I'll comment anyway. I've used Microchip's I²C EEPROMs but didn't remember they had SPI ones, so I went and looked, and the biggest one I found was 128Kx8, the 25xx1024. I haven't used that one but I got SST's 25VF032 (4Mx8, but in the same family, and not much more expensive from Mouser) going recently, and just followed the data sheet and had no problems bit-banging it. This is in contrast to the 24256 and 24512 I²C EEPROMs which I found out the hard way (because it wasn't in the data sheet) that if you do a busy poll after setting the address, it resets the address! I know you shouldn't need to do the busy poll there, but I put it in one of my program building blocks to make other parts easier, and it had me stumped for quite awhile, wondering where my data was going.
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: Atari 8-bit EEProm programming

Post by GARTHWILSON »

Something that might save you a lot of time-- after it wasted a ton of mine! When you end AAI (auto address increment) writing with hardware busy poll between byte pairs on the 25VF032 SPI flash memory, you do a WRDI (WRite-DIsable) command (command 04), followed by a DBSY (Disable hardware BuSY poll on SO, command $80). As I said above, I got it going quickly on the workbench computer with the 6502 in Forth, but forgot the DBSY when I took it to the PIC, and then was not able to read it again. It took a lot of time to find it partly because I had to first discover a hardware bug in the PIC that was making my software probes not work right, so they were misleading me.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Post Reply