start tok64 d64-r5hX8m 100 REM save music object code 110 : 120 FOR i=320 TO i+31 130 READ a: POKE i,a 140 NEXT 150 : 160 PRINT "{down}start of save (hex)"; 170 INPUT "{space*2}a{0*3}{left*6}";s$ 180 IF s$="" GOTO 350 190 a$=s$: GOSUB 710 200 POKE 252,u/256 210 POKE 251,u-256*PEEK(252) 220 : 230 INPUT "{space*2}{down}end of save (hex)";e$ 240 a$=e$: GOSUB 710 250 IF e$="" GOTO 350 260 POKE 345,u/256 270 POKE 343,u-256*PEEK(345) 280 : 290 PRINT "{down}confirm with {reverse on}return{reverse off}: "; 300 PRINT s$ " to " e$ 310 : 320 GET c$: IF c$="" GOTO 320 330 IF c$=CHR$(13) GOTO 360 340 : 350 PRINT "{down}save cancelled": END 360 PRINT "{down}save confirmed" 370 : 380 INPUT "{down}file name";f$ 390 l=LEN(f$): IF l>16 THEN l=16 400 POKE 2,l: IF l=0 THEN END 410 : 420 OPEN 1,8,15 430 OPEN 2,8,2,"0:"+f$+",p,r" 440 INPUT#1,a,a$,b,b: IF a=62 GOTO 550 450 CLOSE 2 460 IF a<20 GOTO 490 470 PRINT "disk problem:" a,a$: END 480 : 490 PRINT "{down}replace " f$ "? (y/n) "; 500 GET a$ 510 IF a$<>"n" AND a$<>"y" GOTO 500 520 PRINT a$ 530 IF a$="n" THEN CLOSE 1: GOTO 350 540 PRINT#1,"s0:" f$ 550 CLOSE 1 560 : 570 FOR i=1 TO l 580 POKE 351+i,ASC(MID$(f$,i,1)) 590 NEXT i 600 : 610 SYS 320 620 : 630 END 640 : 650 DATA 198, 1,169, 2,162, 8,160 660 DATA 255, 32,186,255,165, 2,162 670 DATA 96,160, 1, 32,189,255,169 680 DATA 251,162, 0,160, 0, 32,216 690 DATA 255,230, 1, 96 700 : 710 u=0 720 a$=RIGHT$("{0*4}"+a$,4) 730 FOR i=1 TO 4 740 v=ASC(MID$(a$,i,1)) 750 v=v-48+7*(v>64) 760 u=u+v*16^(4-i) 770 NEXT 780 RETURN stop tok64 (bastext 1.0)