Category Archives: Uncategorized

Using ROM’s as combinational logic (Updated)

Published by:

Someone commented on my youtube video about the EPROM as combinational logic stating that the video was too quiet. Unfortunately my original footage is no longer available to re-upload so I decided to redo it. This time I decided to expand upon the concept by including other ROM types than just the EPROM since the concept does apply to all parallel ROM’s.

The software I designed should work the same for different types of ROM’s since they follow the same concept.

A new page has been created with the document on it here:

The new video can be found here:


Using EPROMs and simple combinational logic

Published by:

This post has been replaced by a newer version:

Using ROM’s as combinational logic (Updated)

A few years back I came across something in an old Z80 book that mentioned that EPROMs can be used a crude logic devices, though only supporting combinational logic, you could craft the data to mimic logic. Recently I tried it out and found it to work really well.

I recently uploaded a YouTube video showing my experiment.

In the video I hand-crafted the code to go into the EPROM, this took a while just to act as 2 logic gates, so I decided to have a go at writing a bit of software to do it for me.

Boolean to ROM conversion software


I wrote this in Delphi and you can put up to 8 boolean algebraic expressions into the boxes, one for each data line output. You select how many address lines you are using (you can put only the number your actually using and ground the rest in hardware) Then you hit the “Parse” button and it will go through each address combination using the boolean expression to create the required data for each location.

This is only a first version so may have some kinks that need to be ironed out. The handling of parenthesis is very crude and does not take them into consideration with order of operation. it does somewhat process the order as ~(NOT), * (AND), +(OR), ^(XOR).

Valid inputs are A-P (not case sensitive), these are representative of A0-A15 inputs. Unused Data lines can be unchecked to not have them used

Once you have parsed what you need, you can view the data to the right on the table. Note: These numbers are all in Decimal!

You can then hit the “Save…” button and select where you want to save the binary file. Note: you need to add you own .bin extension, I’ve not added it yet.


Hopefully this will be of some use to people, it’s certainly an interesting concept.


Dave Jones from the EEVBlog used a similar method to make a finite state machine PLC back in 2000 :


bye for now, if you have any questions, suggestions, etc.. please contact me:  peter AT

Welcome to 39K

Published by:

Welcome to 39K, here you will find many things related to electronics, as well as some other things that are not.

On this site I will be hosting the pages for the power supply project that I am currently showing on my YouTube channel.

This site is currently being built up so more will be following shortly, thanks for stopping by.