OM Tape Reader [8bit]
Read the whole guide if you want to know how to use it!
(use this if you want to test your machine but you don’t want to waste time for making new tapes: https://steamcommunity.com/sharedfiles/filedetails/?id=1931927566)
Hold red button without tape inserted first to repair blinking lights.
BUTTONS:
Red button: 1 cycle forward (do not use when don’t needed, can be used to adjust the tape position or to debug your program)
Blue switch: Turn on tape engines
Three Switches on the left: Set which tape engines to use, don’t change it as there is no purpouse to do that, keep every engine turned on.
TAPE:
Width: 10
Length: as long as you want
Data:
0: No color
1: Black
(only 8 blocks will be read)
FRONT PANEL GATES AND WHICH TO USE:
Don’t change values of timers, the green one is equal to 1/2 of one cycle length.
Gates connected with the green path are blinking once a cycle.
Red gates: raw input
Blue gates: last state of the inputs
Dark green gates: state filtered from various bugs, they are available for a very short ammount of time
But which should you use to connect to
your machine?:
If you need simple output then use red.
(for example for a music box and other
simple machines)
I don’t know if the blue one will be useful for you, it is used as a source for the dark green output, use it only if your machine isn’t sensitive to bugs like double reading the same bit.
If your machine is sensitive to such bugs, for example it is a computer, then you have these options:
– Make your own reader by somehow reading from the red output, maybe the right hand side blinker will help you to sync with the cycle (but I don’t know how reliable is it)
– Use the dark green output, but remember how it works, it pulses for a fraction
of second and then turns out (for very little time), if you need to sync with it then you need to figure out which timer or gate blinks on the write or reset, but I would advise that you should make your own
syncing circuit that will detect when new data will come.
(or sync by using one of the bits on the tape (red output) as the trigger for reading other bits (from red output too) so it will look like 0101010101010101, and the trigger will turn on when the state of this bit changes)
If you want you can mix outputs (for example if some of your circuits need a long input and some need only a blink (maybe
in some music box?))
Tips:
If your tape is long then you will need few supports outside of your machine (made of a pole with a wheel)
Don’t mess with the timers if you don’t know what are you doing.
If you want to change motor speed and adjust the cycle length, then I think that the only thing you need to do is change the green (bottom rigth) timer to half of the cycle, and when you will think that you adjusted it well, then set the bottom red timer to one cycle so the red button will work well.
If you need some technical details, then maybe I could help but even at this
oment, when I’m writing this guide I don’t remember how half of the things work as I forgot everything 🙂
Revert the tape by using the welding tool.
If you make a creation using this thing, then show me it and I can make a link to it from this page.
If you want a tape with larger width you can follow these steps (I’ve never tested it):
– Bring as many emulators (link on the top of this page) as you want (16bit – 2 emulators, 32 bit – 4 emulators, 64bit -8 and so on) and connect them
– Build one button and one switch and connect every emulator to it (these are the two buttons on the right side)
– Build your own tape drive with sensors for each bit
– Connect each sensor to red inputs in the emulators (disconnect the switches)
– (optional) Make one common output which takes outputs from each emulator and brings them to one common "screen"
Challenges:
– make something like a punched card reader used for example in old IBM mainframes, a stack of small tapes that will one after another enter the reader and then come back to the top of the stack 🙂
– make a display which will display numbers or letters based on the tape input
– make a computer using tape as the source of code