The file basic_1.0_19750302_cpyApr02.ptp was send to me by Al Kossow to have a look at it. This file is a copy of the paper tape here: http://www.computerhistory.org/revolution/personal-computers/17/312/1142 A hexdump from the start of the tape shows how to load it into machines: 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000010 00 00 00 00 00 00 00 00 00 00 00 6a c3 16 02 00 |...........j....| 00000020 00 00 00 00 e3 be 23 e3 c2 61 05 7f c5 7e 23 fe |......#..a...~#.| 00000030 20 c3 18 05 e6 7f c3 d4 03 00 00 00 7c 92 d8 c0 | ...........|...| 00000040 7d 93 c9 00 00 00 00 00 00 00 00 00 e1 5e 23 56 |}............^#V| The tape has a leader with 0 bytes as usual, the first data byte is 6a, I don't know what it is for. BASIC starts with c3 16 02, a jump instruction to the warm start routine, from here on the tape needs to be loaded at address 0. So to convert it to a loadable Intel hex file use: bin2hex -i 28 -o 0 basic_1.0_19750302_cpyApr02.ptp basic4k10.hex If you load this tape into a machine and run BASIC from address 0 it will just print READY to the terminal, it jumps to the warm start routine. With a bit of dissassembly the address for the cold start routine can be found at 107EH: 107e - LD SP,114A 1081 - LD HL,0216 1084 - LD (0001),HL 1087 - CALL 068D 108a - LD HL,1131 108d - CALL 03CA 1090 - LD HL,(114A) 1093 - LD (01C6),HL 1096 - CALL 02F5 1099 - RST 10 So before you toggle the Run key set the address bus to 107E: A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 OFF OFF OFF ON OFF OFF OFF OFF OFF ON ON ON ON ON ON OFF -------+------- -------+------- -------+------- -------+------- | | | | 1 0 7 E Now toggle Examine to set the PC to this address, and then toggle Run to start BASIC at the cold start entry. With this it runs through a similar configuration dialog as the later versions. Better is to patch the jmp @ 0 to the cold start entry, the warm start entry will be written there to address 1, see disassembly above. This is done already in basic4k10.hex I've created from this tape. If you use a VT-100/ANSI compatible terminal you'll notice, that the display will get confused to some degree. This is because the following bug in the code: >>> d10f0 Adr 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ASCII 10f0 - 1a 11 cd ca 03 c3 03 04 57 41 4e 54 20 53 49 4e ........WANT SIN 1100 - 2d 43 4f 53 2d 41 54 4e 3f a0 00 20 42 59 54 45 -COS-ATN?.. BYTE 1110 - 53 20 46 52 45 c5 0d 1b 0a 00 0d 0a 38 30 38 30 S FRE.......8080 1120 - 20 42 41 53 49 43 20 56 45 52 20 31 2e b0 0d 0a BASIC VER 1.... 1130 - 00 4d 45 4d 53 49 da 00 00 00 01 35 2b 04 1e 03 .MEMSI.....5+... 1140 - 5c 01 80 00 05 00 5e 05 a0 10 70 17 00 00 00 00 \.....^...p..... After BYTES FREE the line is terminated with CR ESC LF and the ESC will confuse all terminals using it for the control sequences. So the offending line better is patched: 1110 - 53 20 46 52 45 c5 0d 0a 00 00 0d 0a 38 30 38 30 S FRE.......8080 This is done already in basic4k10.hex I've created from this tape.