Abstracted from a Dan McInnis JAVA program- translate 1401 holes to an ASCII approximation - April 24, 2005
This program reads a binary file produced by the Documation reader and software at the Computer History Museum. It produces an ASCII file acceptable to SIMH. The major code differences are < is translated to ), ? to ' and | to ".
Condition Remarks Result ( ch ==0 && ch1 == 0) 00 00 blank No Bits blank ' ' ( ch ==0 && ch1 == 0x10) 00 10 1 1 1 '1' ( ch ==0 && ch1 == 8) 00 08 2 2 2 '2' ( ch ==0 && ch1 == 4) 00 04 3 21 3 '3' ( ch ==0 && ch1 == 2) 00 02 4 4 4 '4' ( ch ==0 && ch1 == 1) 00 01 5 4 1 5 '5' ( ch ==0x80 && ch1 == 0) 80 00 6 42 6 '6' ( ch ==0x40 && ch1 == 0) 40 00 7 421 7 '7' ( ch ==0x20 && ch1 == 0) 20 00 8 8 8 '8' ( ch ==0x10 && ch1 == 0) 10 00 9 8 1 9 '9' ( ch ==0 && ch1 == 0x20) 00 20 0 8 2 0 '0' ( ch ==0x20 && ch1 == 0x04) 20 04 8.3 8 21 # '#' ( ch ==0x20 && ch1 == 2) 20 02 8,4 84 @ '@' ( ch ==0x20 && ch1 == 0x01) 20 01 8,5 84 1 : ':' ( ch ==0xA0 && ch1 == 0x0) A0 00 6,8 842 > '>' ( ch ==0x60 && ch1 == 0x0) 60 00 8,7 8421 ( '(' ( ch ==0x00 && ch1 == 0x20) 00 20 0 A ^ *** '^' ( ch ==0x00 && ch1 == 0x30) 00 30 0,1 A 1 / '/' ( ch ==0 && ch1 == 0x28) 00 28 0,2 A 2 S 'S' ( ch ==0 && ch1 == 0x24) 00 24 0,3 A 21 T 'T' ( ch ==0 && ch1 == 0x22) 00 22 0,4 A 4 U 'U' ( ch ==0 && ch1 == 0x21) 00 21 0,5 A 4 1 V 'V' (ch == 0x80 && ch1 == 0x20) 80 20 0,6 A 42 W 'W' ( ch ==0x40 && ch1 == 0x20) 40 20 0,7 A 421 X 'X' ( ch ==0x20 && ch1 == 0x20) 20 20 0,8 A 8 Y 'Y' ( ch ==0x10 && ch1 == 0x20) 10,20 0,9 A 8 1 Z 'Z' ( ch ==0x20 && ch1 == 0x28) 20 28 0,8,2 A 8 2 ' *** '\'' ( ch ==0x20 && ch1 == 0x24) 20 24 0,3,8 A 8 21 , ',' ( ch ==0x20 && ch1 == 0x22) 20 22 0,8,4 A 84 % '%' ( ch ==0x20 && ch1 == 0x21) 20 21 0,8,5 A 84 1 = '=' ( ch ==160 && ch1 == 0x20) A0 20 0,8,6 A 842 \ '\\' ( ch ==0x60 && ch1 == 0x20) 60 20 0,8,7 A 8421 + *** '+' ( ch ==0 && ch1 == 0x80) 00 80 12 BA & '&' ( ch ==0 && ch1 == (0x90)) 00 90 12,1 BA 1 A 'A' ( ch ==0 && ch1 == 0x88) 00 88 12,2 BA 2 B 'B' ( ch ==0 && ch1 == 0x84) 00 84 12,3 BA 21 C 'C' ( ch == 0 && ch1 == 0x82) 00 82 12,4 BA 4 D 'D' ( ch == 0x0 && ch1 ==0x81) 00 81 12,5 BA 4 1 E 'E' ( ch ==0x80 && ch1 == 0x80) 80 80 12,6 BA 42 F 'F' ( ch ==0x40 && ch1 == 0x80) 40 80 12,7 BA 421 G 'G' ( ch ==0x20 && ch1 == 0x80) 20 80 12,8 BA8 H 'H' ( ch ==0x10 && ch1 == 0x80) 10 80 12,9 BA8 1 I 'I' ( ch ==0 && ch1 == 0xA0) 00 A0 12,0 BA8 2 ? '?' ( ch ==0x20 && ch1 == 0x84) 20 84 12,8,3 BA8 21 . '.' ( ch ==0x20 && ch1 == 0x82) 20 82 12,8,4 BA84 ) *** ')' ( ch ==0x20 && ch1 == 0x81) 20 81 12,8,5 BA84 1 [ '[' ( ch ==160 && ch1 == 0x80) A0 80 12,8,6 BA842 < '<' ( ch ==0x60 && ch1 == 0x80) 60 80 12,7,8 BA8421 " *** '"' ( ch ==0x0 && ch1 == 0x40) 00 40 11 B - '-' ( ch == 0 && ch1 == 0x50) 00 50 11,1 B 1 J 'J' ( ch ==0 && ch1 == 0x48) 00 48 11,2 B 2 K 'K' ( ch ==0 && ch1 == 0x44) 00 44 11,3 B 21 L 'L' ( ch ==0 && ch1 == 0x42) 00 42 11,4 B 4 M 'M' ( ch ==0 && ch1 == 0x41) 00 41 11,5 B 4 1 N 'N' ( ch ==0x80 && ch1 == 0x40) 80 40 11,6 B 42 O 'O' ( ch ==0x40 && ch1 == 0x40) 40 40 11,7 B 421 P 'P' ( ch ==0x20 && ch1 == 0x40) 20 40 11,8 B 8 Q 'Q' ( ch ==0x10 && ch1 == 0x40) 10 40 11,9 B 8 1 R 'R' ( ch ==0 && ch1 == 96) 00 60 11,0 B ! '!' ( ch ==0x20 && ch1 == 0x48) 20 48 11,8,2 B 8 2 ! '!' ( ch ==0x20 && ch1 == 0x44) 20 44 11,8,3 B 8 21 $ '$' ( ch ==0x20 && ch1 == 0x42) 20 42 11,8,4 B 84 * '*' ( ch ==0x20 && ch1 == 0x41) 20 41 11,8,5 B 84 1 ] ']' ( ch ==0xA0 && ch1 == 0x40) A0 40 11,8,6 B 842 ; ';' ( ch ==0x60 && ch1 == 0x40) 60 40 11,8,7 B 8421 _ '_' else println(" ... ch ch1 ") 'o'