Jump to content
luke@platypuscreations.net

In-circuit programmable eeprom/flash chip

Recommended Posts

I am currently working on Ben Eater's 6502 project and I'm getting tired of popping out the eeprom each time I want to program it.  That got me to thinking that this must be a common issue and I thought someone here might have run across this. Perhaps a flash chip that provides a virtual eeprom interface?  

Maybe I'm just dreaming, but thinking bigger than this project, perhaps it could be incorporated into a cartridge with a USB interface and then my C64 could be programmed like an Arduino. 😂

 

For now I will continue popping the eeprom in and out of the breadboard, but I'd love to hear your thoughts.

 

--Luke

Edited by luke@platypuscreations.net
Typo
  • Like 1

Share this post


Link to post
Share on other sites

I don't have a good answer but you can at least minimize the to/fro & hassle by using a zif socket in the breadboard.

I'm not big on pushing ICs into sockets, probably displaced fear from the 5 times I folded legs of ICs in the 80s on my Commodore projects and while breadboards are more forgiving, having the IC elevated from the rest of the wiring, only a simple lever stands in the way of a quick pop-out. < $5 @ Adafruit. 

 

  • Like 2

Share this post


Link to post
Share on other sites

You can do it with a Teensy microcontroller... that's what Eva did with the Backbit, but you'd probably have to write the software to do the job. 

  • Like 2

Share this post


Link to post
Share on other sites
9 hours ago, TomXP411 said:

You can do it with a Teensy microcontroller... that's what Eva did with the Backbit, but you'd probably have to write the software to do the job. 

Thanks for sharing BackBit. I'd not heard of this project. I'll look into this approach.

I had considered rolling my own with a Arduino mega and some SPI flash memory as I'm familiar with both, but I'm worried about timing. 

  • Like 1

Share this post


Link to post
Share on other sites
10 hours ago, EMwhite said:

I don't have a good answer but you can at least minimize the to/fro & hassle by using a zif socket in the breadboard.

I'm not big on pushing ICs into sockets, probably displaced fear from the 5 times I folded legs of ICs in the 80s on my Commodore projects and while breadboards are more forgiving, having the IC elevated from the rest of the wiring, only a simple lever stands in the way of a quick pop-out. < $5 @ Adafruit. 

 

That is a good call.  I'm concerned about bent pins myself. I didn't consider a breadboard compatible ZIF socket. 

  • Like 1

Share this post


Link to post
Share on other sites
16 hours ago, luke@platypuscreations.net said:

Thanks for sharing BackBit. I'd not heard of this project. I'll look into this approach.

I had considered rolling my own with a Arduino mega and some SPI flash memory as I'm familiar with both, but I'm worried about timing. 

The Mega might not be fast enough, but the Teensy and the Grand Central should be. (I'm making the assumption you're running at 1MHz.)

The Teensy 3.5 already has a DIP-ish package and a memory card reader, so you can just plop it down on a breadboard. You may need level converters on the output side, although the input side (your address bus) is 5v safe. 

Note that the Teensy 3.6 is not 5v safe. So even though they look similar, the 3.6 will not work without additional support hardware. 

Here's a post I found on writing directly to the pins in parallel, which is important if you're optimizing for speed:
https://forum.pjrc.com/threads/17532-Tutorial-on-digital-I-O-ATMega-PIN-PORT-DDR-D-B-registers-vs-ARM-GPIO_PDIR-_PDOR

 

Edited by TomXP411
  • Like 1

Share this post


Link to post
Share on other sites

Just a quick follow up.  I started down the road of building my own eeprom emulator when I stumbled across the EPROM Emulator project by Kris Sekula.  I built the kit and I have it working with my BE6502 setup and it works pretty much the way I imagined.  It is designed to emulate a 27cXXX eprom, but with just a couple minor changes (pin 1 and pin 27) I am able to use it in place of the 28cXXX eeprom.  Now I am able to write 6502 assembly in VSCode and use a Makefile to build and deploy the code directly on to the BE6502.  It even triggers the reset line after code is deployed.  🙂

 

PXL_20210201_235724264.thumb.jpg.d45f466a24aaf07a2cd3d8ff62cdb0fe.jpg

Edited by luke@platypuscreations.net
Typo
  • Like 3

Share this post


Link to post
Share on other sites
17 hours ago, kris@mygeekyhobby.com said:

Nice one Luke! I guess by now you had a chance to use the emulator long enough to "solidify" your opinion ... still happy using it?

Yes, I am quite happy using it.  My use case is fairly simple compared to how some of the folks on the mailing list are using it, but it has dramatically simplified my development flow.  I currently write to the onboard flash memory and set it to load automatically at power on. So far I have not experienced any issues whatsoever. 

I appreciate your work on developing and sharing this project. It has definitely helped resolve a pain point for me. 🙂

Share this post


Link to post
Share on other sites

Bit late to the party so apologies all, I've got a hold of one of these https://www.exxoshost.co.uk/forum/viewtopic.php?f=44&t=2018&sid=aabef2c37ad131918d33376235259bf9 for when I get my a600 back up and running or my X16 which ever happens first.

For the TLDR brigade basically it's a 27c 400 or  800 emulator that can be reflashed over USB.

Hope it is of use to anyone reading this in the future

 

Share this post


Link to post
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.

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.


×
×
  • Create New...

Important Information

Please review our Terms of Use