dectape_read reads a dectape. Specify -12, -16, -18, or -36 to select format to write data in. -12 is the format all the PDP-8 tapes on my site are in. I think I used -18 for non pdp-8 DECtapes. SIMH works with -12 and -18 and possibly others. Specify -l to read LINCtapes. Data will be written in the LINCtape format I used on my site. * 12-bit: each 12-bit word will be written in two bytes of output, * padded with four zero bits. * 16-bit: each 16-bit word will be written in two bytes of output. * 18-bit: each 18-bit word will be written in four bytes of output, * padded at MSB with zero bits. * 36-bit: each 36-bit word will be written in five bytes of output, * padded with four zero bits. Specify as last option -n to not retry read errors. Program will read to decoded.fwd when reading in the forward direction and decoded.rev when reading the the reverse direction. If the two reads match it will leave a single file decoded. Run setup_pins_dectape once after booting to configure the beaglebone. Don't mount a tape until running this command since the drive control lines aren't in a defined state. Some pullups/pulldowns may be a good idea. Example reading LINCtape. root@beaglebone:~/dectape_code# ./read_dectape -l INFO: Starting PRU_memAccess_DDR_PRUsharedRAM example. INFO: Initializing example. DDR base 9f700000 offset 0 size 100000 INFO: Executing example. got 0 blocks, 0 format errors, 0 chksum errors read 245.362970 kwords/sec Illegal blocksize 1 found, ignoring got 0 blocks, 0 format errors, 0 chksum errors read 258.153848 kwords/sec Blocksize 256 got 507 blocks, 0 format errors, 0 chksum errors read 273.348651 kwords/sec End of tape, last block First -8 first rev -8 Pass 0 expected 533 block, got 533. 0 format errors, 0 checksum errors Minimum buffer free 889675 Blocksize 256 got 533 blocks, 0 format errors, 0 chksum errors read 315.854587 kwords/sec End of tape, last block First -8 first rev -8 Pass 1 expected 533 block, got 533. 0 format errors, 0 checksum errors Minimum buffer free 1015764 !!Files matched, saved as decoded!! Read executed succesfully. INFO: Waiting for HALT command. INFO: PRU completed transfer. root@beaglebone:~/dectape_code# ls -l decoded -rw-r--r-- 1 root root 272902 Dec 21 01:06 decoded And for reading a PDP-8 DECtape root@beaglebone:~/dectape_code# ./read_dectape -12 INFO: Starting PRU_memAccess_DDR_PRUsharedRAM example. INFO: Initializing example. DDR base 9f700000 offset 0 size 100000 INFO: Executing example. DECtape raw image decoder, Copyright 2001 Eric Smith Rewinding to beginning of tape, found block 118 got 1469 blocks, 0 format errors, 0 chksum errors read 503.896493 kwords/sec Pass 0 expected 1474 block, got 1474. 0 format errors, 0 checksum errors Minimum buffer free 839861 DECtape raw image decoder, Copyright 2001 Eric Smith got 1465 blocks, 0 format errors, 0 chksum errors read 342.037169 kwords/sec Pass 1 expected 1474 block, got 1474. 0 format errors, 0 checksum errors Minimum buffer free 929160 !!Files matched, saved as decoded!! Read executed succesfully. INFO: Waiting for HALT command. INFO: PRU completed transfer. root@beaglebone:~/dectape_code# ls -l decoded -rw-r--r-- 1 root root 380292 Dec 21 01:10 decoded root@beaglebone:~/dectape_code# dectape_decode.c is based on Eric Smith's. The version on his site seems to be one revision newer. http://www.brouhaha.com/~eric/retrocomputing/dec/dectape/