-a100			;Begin assembling code at 100
0100	LXI H,2FE	;Where to store in memory
0103	SHLD 200	;Keep pointer there
0106	MVI E,D		;Get a CR
0108	MVI C,4		;Output to PUNCH {send to HOST}
010A	CALL 5
010D	MVI C,3		;Input from READER {read from HOST}
010F	CALL 5
0112	ANI 7F		;Strip parity bit
0114	PUSH PSW	;save a and flags
0115	MOV E,A		;move char to e for echo
0116	MVI C,2		;Output to screen
0118	CALL 5
011B	POP PSW		;restore a and flags
011C	CPI 40		;Is it our DEC-20 prompt?
011E	JZ 127		;Yes, have whole file in memory
0121	CALL 17A	;no , store another byte
0124	JMP 10D		;read another byte
0127	MVI A,1A	;Get a Control-Z {CP/M EOF mark}
0129	CALL 17A	;store it in memory
012C	LXI H,300	;Get memory pointer
012F	SHLD 202	;Store as DMA pointer
0132	LDA 201		;Get 'HI' byte of memory pointer
0135	STA 200		;and store it as 'LO' one
0138	XRA A
0139	STA 201		;Zero 'HI' byte {slow *256}
013C	MVI C,16	;Make NEW file
013E	LXI D,5C	;With FCB1
0141	CALL 5
0144	CALL 15E	;Write 128 bytes {sector}
0147	CALL 15E	;Write another sector
014A	LXI H,FFFF	;Get a 16-bit Minus One
014D	XCHG		;into DE
014E	LHLD 200	;Get 256-byte counter
0151	DAD D		;decrement
0152	SHLD 200	;and store back
0155	MVI A,2		;Check if
0157	CMP L		; 256-byte counter down to offset
0158	JZ 183		;Yes, wer'e done
015B	JMP 144		;Keep writing..
015E	LHLD 202	;Get file-pointer
0161	XCHG		;into DE
0162	MVI C,1A	;Set DMA-address
0164	CALL 5
0167	MVI C,15	;Write sector {128 bytes}
0169	LXI D,5C	;using FCB1
016C	CALL 5
016F	LHLD 202	;Get file-pointer
0172	LXI D,80	;128-bytes
0175	DAD D		;added to file-pointer
0176	SHLD 202	;and save
0179	RET		;and return
017A	LHLD 200	;Get Memory-pointer
017D	MOV M,A		;store character
017E	INX H		;Increment Pointer
017F	SHLD 200	;and save
0182	RET		;and return
0183	MVI C,10	;CLOSE file
0185	LXI D,5C	;using FCB1
0188	CALL 5
018B	JMP 0		;Force WARM BOOT