1 CLS:INPUT"File name to save ";F$:INPUT"Start address ";AD:AS=AD 2 INPUT" End address ";AF:INPUT"Entry address ";AE:CLS 3 OPEN"BLDCO.DO"FOROUTPUTAS1:DEFINTI-N:NL=10:PRINT#1,NL"'":NL=NL+1 4 PRINT#1,NL"'Basic program to build "F$:NL=NL+1:PRINT#1,NL"CLEAR 300,"AD 5 NL=NL+1:PRINT#1,NL"'":NL=NL+1 6 PRINT#1,NL"DEFINT I-N:H$="CHR$(34)"0123456789ABCDEF"CHR$(34):NL=NL+1 7 PRINT#1,NL"CLS:AD="AD:NL=NL+1 8 PRINT#1,NL"ND=99:PRINT@40,"CHR$(34)"Data line number"CHR$(34)";":NL=NL+1 9 PRINT#1,NL"PRINT@80,"CHR$(34)"File address"CHR$(34)";":NL=NL+1 10 PRINT#1,NL"READ A$:ND=ND+1:PRINT@70,ND;:PRINT@110,AD;":NS=NL:NL=NL+1 11 PRINT#1,NL"B$=MID$(A$,1,2):GOSUB 1000:N=K":NL=NL+1 12 PRINT#1,NL"IF K=0 THEN 900":NL=NL+1 13 PRINT#1,NL"B$=MID$(A$,3,2):GOSUB 1000:L=K":NL=NL+1 14 PRINT#1,NL"B$=MID$(A$,5,2):GOSUB 1000:L=K*256+L:L1=0":NL=NL+1 15 PRINT#1,NL"FOR I=1 TO N":NL=NL+1:PRINT#1,NL"J=I*2+5":NL=NL+1 16 PRINT#1,NL"B$=MID$(A$,J,2):GOSUB 1000":NL=NL+1 17 PRINT#1,NL"POKE AD,K:L1=L1+K:AD=AD+1":NL=NL+1:PRINT#1,NL"NEXT I":NL=NL+1 18 PRINT#1,NL"IF L<>L1 THEN BEEP:PRINT@165,"CHR$(34); 19 PRINT#1,"Checksum error"CHR$(34)":END":NL=NL+1:PRINT#1,NL"GOTO"NS:NL=99 20 NL=NL+1:N=0:M=0:M$="":PRINT@70,AD 21 KK=PEEK(AD):GOSUB32:M$=M$+H$:M=M+KK:N=N+1:AD=AD+1:IFAD>AF ORN=12THEN23 22 GOTO21 23 K1=M/256:K2=M-K1*256:KK=K1:GOSUB32:M1$=H$:KK=K2:GOSUB32:M2$=H$:KK=N 24 GOSUB32:M3$=H$:PRINT#1,NL"DATA "M3$M2$M1$M$:IFAD9THENKX=KX+55ELSEKX=KX+48 33 IFKY>9THENKY=KY+55ELSEKY=KY+48 34 H$=CHR$(KX)+CHR$(KY):RETURN