Firstly, this question will seem a little awkward without a bit of an explanation. I'm writing a simple emulator(s) in order to teach myself more about computer architecture. My first stab at one was just a simple, one operand, word addressable computer with no real peripherals or I/O. I made funny little instructions to write to standard out and to read in from it, which deviates from actual I/O greatly.
On my second attempt (which is what I'm working on now) I decided to go with a 16-bit, byte-addressable RISC'y design. I've already got the instruction set worked out and have decided one some of the memory ranges that are going to be for some of the devices. This is where my question comes into play.
How do paper tape readers work? From what I know now, I have the device assigned to a block of address in memory and I write commands to those addresses as if I were writing to RAM and read the information back in the same manner. Any insight/explanations would be greatly appreciated because the sooner that I can get some form of input working, the sooner that I can start programming it without using magic (having the emulator seed memory from a file) and I'm kind of excited about writing a bootloader.
Hellbound Hackers is the collective work of the staff and the community and is therefore licensed under the CC BY-NC-SA license.