Page 1 of 1

Atari 8-bit EEProm programming

Posted: Mon Oct 18, 2010 4:36 pm
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

Posted: Mon Oct 18, 2010 5:27 pm
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.

Re: Atari 8-bit EEProm programming

Posted: Sat Mar 09, 2013 7:45 am
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.