Jump to content
Wickeycolumbus

EPROM Emulator

Recommended Posts

Hello all, it's been a while since I've posted here.  Just wanted to share this info with you all, in case it's useful to anyone else on here.

 

I was browsing Ebay and happened upon a kit for an EPROM Emulator.  I ended up buying it, and am very happy with the purchase.  It can emulate 2K - 64K EPROMs (27x16 - 27x512) and uses a USB connection to a host computer.  Has a built in EEPROM that you can save the ROM image to, and later load it by pressing a button.  It has both a command line interface and GUI running in python, which I would guess means you can use it with nearly any computer operating system that has a python interpreter.  Everything including the hardware is completely open source so I would imagine you could make modifications if you knew what you were doing. 

 

Loading a 2K ROM takes about 1 second, it's almost as fast as using an emulator on PC.  Haven't tried it with bankswitching yet, but I don't think there will be any issues with that.

 

https://mygeekyhobby.com/2020/07/05/eprom-emulator/

 

Using it requires that the emulator board has access to the CPU's reset line, that is why I have the 2600 disassembled in the picture.

Atari_2600_2716_eprom_emulator.jpeg

  • Like 1

Share this post


Link to post
Share on other sites

I've gone a slightly different way: I asked Al to build me four EPROM PCBs: 4K, F8, F6, F4 with sockets instead of EPROMs. In each of those sockets I put in a ZIF-socket (aka Textool socket). And for those sockets I've got 27SF256 EEPROMs, which can be reprogrammed without going through the UV-erase phase using my first gen MiniPro TL866. Works like a charm.

Slightly more complicated to use, but solder-free (at least for me), versatile (can run "standard" 4k-32k ROMs), and a bit less cost intensive (considering I already had the MiniPro).

Share this post


Link to post
Share on other sites
7 hours ago, SvOlli said:

I've gone a slightly different way: I asked Al to build me four EPROM PCBs: 4K, F8, F6, F4 with sockets instead of EPROMs. In each of those sockets I put in a ZIF-socket (aka Textool socket). And for those sockets I've got 27SF256 EEPROMs, which can be reprogrammed without going through the UV-erase phase using my first gen MiniPro TL866. Works like a charm.

Slightly more complicated to use, but solder-free (at least for me), versatile (can run "standard" 4k-32k ROMs), and a bit less cost intensive (considering I already had the MiniPro).

I had the same before, EPROM cartridges with ZIF sockets, but never heard of the special EPROMS with no UV eraseing. Are they different from EEPROMS?

 

The nice thing about this setup, you can use it with your existing boards. Then compile your new code, and run a command line script to transfer the new binary.  The emulator will automatically reset the system and start running the new program.  It only takes a few seconds to start running, and you dont have to deal with reprogramming any chips/removing it every time.

Share this post


Link to post
Share on other sites
On 12/11/2020 at 7:29 PM, Wickeycolumbus said:

I had the same before, EPROM cartridges with ZIF sockets, but never heard of the special EPROMS with no UV eraseing. Are they different from EEPROMS?

These are EEPROMs, but have the pinout of a standard 27(c)256 EPROM.

And for your setup: yes, there are some advantages. But for me Stella is so close to the real thing and offers the best debugger I've seen so far. Period. So running a cycle with Harmony Cart in USB-mode (not using the SD card) or SuperCharger is close enough for final testing, even though I have to power cycle manually.

So what I'm saying here, for me I've got enough hardware that fits well enough. But if I had an EPROM simulator already I'd gone for something very similar. So congrats for a project well done.

Share this post


Link to post
Share on other sites
On 12/8/2020 at 10:31 AM, Wickeycolumbus said:

Very nice, not too bad a price.  How is the software and documentation?  Is it multiplatform?

The entire project is open-source and has been built by many people by now, the main project has been described here:

 

https://mygeekyhobby.com/2020/07/05/eprom-emulator/

 

Software, Firmware and all documentation needed to build one can be found here:

 

https://github.com/Kris-Sekula/EPROM-EMU-NG

 

And of course for those who are not able to assemble it, you can get a ready made one on Tindie: 

 

https://www.tindie.com/stores/mygeekyhobby/

 

or eBay

 

https://www.ebay.com/sch/avr4sale/m.html

 

Coming back to the idea of EPROM Emulator, once you start using it, you will never think of go back to "juggling" EPROM chips, UV erasing etc. With the emulator you can "instantly" load an "image" and the "emulator" pretends to be the EPROM. If you are writing low level stuff (like firmware or games for the old platforms) you can add the emulator to your tool-chain and have it "update" your "target" system just after you compile new version of the code. 

 

The control software is a Python script (I tested it on windows 10, macOS, raspberry pi and all work fine). The script can be operated via command line (you would use it this way if it is part of your tool-chain or a batch file) or you can start the script without parameters and a small "GUI" comes up, where you can select all the parameters.

 

The firmware is still getting improved, at this point of time it takes about 12s to load a full 64k image to emulate a 27512 EPROM, a 2716 or 2732 will take less than a second to "load"... I'm still working on optimising those number, but even 12s is much less than it would take you to remove EEPROM from a ZIF socket, re-program it and re-install back into your system. With the EPROM emulator you don't need to touch the HW at all, bonus feature it can "reset" you "target" once new image is loaded :)

 

Hope that helps, but feel free to ask if you need any other information or more details.

 

Thanks

Kris

  • Like 2

Share this post


Link to post
Share on other sites
On 12/4/2020 at 8:05 PM, Wickeycolumbus said:

Hello all, it's been a while since I've posted here.  Just wanted to share this info with you all, in case it's useful to anyone else on here.

 

I was browsing Ebay and happened upon a kit for an EPROM Emulator.  I ended up buying it, and am very happy with the purchase.  It can emulate 2K - 64K EPROMs (27x16 - 27x512) and uses a USB connection to a host computer.  Has a built in EEPROM that you can save the ROM image to, and later load it by pressing a button.  It has both a command line interface and GUI running in python, which I would guess means you can use it with nearly any computer operating system that has a python interpreter.  Everything including the hardware is completely open source so I would imagine you could make modifications if you knew what you were doing. 

 

Loading a 2K ROM takes about 1 second, it's almost as fast as using an emulator on PC.  Haven't tried it with bankswitching yet, but I don't think there will be any issues with that.

 

https://mygeekyhobby.com/2020/07/05/eprom-emulator/

 

Using it requires that the emulator board has access to the CPU's reset line, that is why I have the 2600 disassembled in the picture.

Atari_2600_2716_eprom_emulator.jpeg

Cool project, thanks for the link!

Share this post


Link to post
Share on other sites

I use this vintage eprom programmer that includes an eprom emulator function.


Connection is over rs232 (and works perfectly with an usb to serial adapter too), and doesn't need any proprietary software, so it works with modern devices with no problem.


The default file format is "intel hex" and I use the program "srec_cat" on linux which is part of the "Srecord" package to convert to/from binary files. (the program can use the serial port device directly as input or output without creating intermediate files). I've set up two simple bash scripts to upload or download data to the programmer with a single command.

 

I use an harmony cart to test binaries on the 2600, but the eprom emulator comes in handy with other consoles for which I don't have flashcarts.

Edited by alex_79

Share this post


Link to post
Share on other sites

Is this code tested? I'm wondering how this possibly could work since it's not handling chip select, so it's corrupting the data bus, if anything else, like RAM, is selected.

Share this post


Link to post
Share on other sites
Posted (edited)

Yup, totally works... (for systems like the IBM XT)   The OE_n signal is attached to the output enables of the data buffers, so it does not corrupt the bus.   For for systems that use separate OE_n and CS_n like the PCjr will need a jumper wire.  

 

It was a proof of concept which was fun and inexpensive to make. Five boards were made, so im gauging the interest in building more...

 

Improvements could include supporting both CS_n and OE_n, pinouts for pre-EPROM devices, or multiple chip-selects so a single board can support multiple socketed ROMS.

Edited by MicroCoreLabs

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