Parallel Port (or general PIO) IO Modules author Neil Franklin, last modification 2008.06.04 This is a collection of ideas for interface modules to connect to parport most of them are generic PIO port usages, are better done on microcontroller and then have that connected via RS232 or USB or USB->RS232 to the PC this would give far better real time behaviour, needed for some of them 8 * 7-seg display 8 out data to segments (7+dot) of all, only 8 Rs as always only 1 7-seg active 8 out select to which 7-seg display is active common select pins, with transistors because load, not direct to chip pin but parport has only 4 control pins, so 3 control pins 3 out and 3:8 decoder wire so that all-on is possible (all-off via data=0), using 4th control pin or use 4th control pin fuer 4:16 decoder, select between 16 7-seg displays scan all in one 50 times int or with each separate with 8*50 times int experiment to see what needed, one reason for begin on PC and module format possibly with 0-9+A-F+fn keypad like on uP training systems same 8 selects and 5 in data for read in, up to 8x5=40 button keypad LEDs and switches for emulators front pannel lots of TTL decoding, LS138s or shift regs only of interest if making an pannel lookalike for an emulator or possibly for an invented pannel-analogue for an x86 debugger TV video out 2bit R converter for 0|0.3|0.7|1.0V for white/gray/black/sync signal levels alternatively a full data port 8bit R2R converter for 0..1V in 256 levels or low resol 1+3bit control port R2R converter for 0.3V + 0..0.7V in 8 levels timer for starting hsync (and possibly vsync), RTI if no line, else draw VGA video out 3*2+2 red1+red0+green1+green0+blue1+blue0+hsync+vsync 3 2bit R array for 0.7V @75||75ohm DACs, + 2 direct TTLs, to HD15 connector timer for starting hsync (and possibly vsync), RTI if no line, else draw this will need very exact timing, only in standalone PC, no OS in the way because PC x86 processors caches impossible, use an microcontroller as in http://neil.franklin.ch/Projects/SoftVGA/ project sound R-CRgnd-C-cinch 1bit delta sigma DAC, to 0.7V oder 1V sound signal alternatively a full data port 8bit R2R converter for 0..1V in 256 levels RS232 MAX232 or MAX233 4 lines TxD/RxD and RTC/CTS or DTR/DSR+DCD, but requires power alternative all 6 TxD/RxD and RTC/CTS and DTR/DSR+DCD, power from other end 4/6 data pins, TxD/RxD on ones with uC internal USART behind them alternative connect to PC via parport, already brought out for programmer board "null printer", laplink style cable, crossout box, 2 * 25f, type 4bit or 8bit but this then requires PC side transfer software, not just terminal emulator C64 keyboard 8 column select, 8 data from keyb or better fitting parport: 3 control pins and 3:8 decoder for column scan at end of every video frame, PC int 9, or from PC system timer PS/2 2 wires data and clock to 2 pins, so possibly 2 PS/2 or together with RS232, or together with VGA would allow PS/2 keyboard and/or mouse on laptops without PS/2 ports drive lines with 3-state setting, and R in keyb, emulates OC out Atari joystick 5 data for 5 switshes, ev Rs to + (on parport taken from strobe or /reset) there already exists an standard for this, see Linux kernel db9 driver Atari paddles discharge C, let pot load until 1/2 Vcc, timer timer can be polling parallel to drawing lines on screen Atari 2600 schematic has 1k8 in series with pot pin and C 0.68uF C64 intern gives configuration for pots: 200ohm..200k, not down to 0! C64 schematic has 4066 and C 1800pF, far faster Amiga HW reference manual gives configuration for this, pot 470k +/-10% C 0.047uF +/-10%, time max 16.6ms (1/60s 256line screen) RC servo 1bit 1-2ms(?) pulses, roughly every 10-20ms