8-Bit Software Online Conversion
:0.M.LOAD - Listing
10MODE1
20REM A Drawing by Andrew York
30REM Made using the Drawing
40REM program called Zoom.
50:
110np%=600:ONERROR GOTO 1770
120*FX4,2
200*FX12,3
210*DR.0
220MODE 4:VDU19,1,2,0,0,0:*FX200,0
240X=639.5:Y=511.5
250oldX=X:oldY=Y
260pnt%=0
270DIM endx(np%),endy(np%),startx(np%)
,starty(np%)
280GCOL 4,0
290COM$="y"
291fn$="MR"
292PROCload:VDU4
293PROCsave:END
1190DEF PROCscale(sc)
1200IF sc=0 GOTO 1240 ELSE MOVE 0,1023
1220SCALE=VAL(SCALE$)
1230IF SCALE<=0 VDU 7:ENDPROC
1240CLS:GCOL 0,1
1250FOR I%=0 TO pnt%-1
1260startx(I%)=(startx(I%)-X)*SCALE+639
.5:starty(I%)=(starty(I%)-Y)*SCALE+511.5
1270 endx(I%)=(endx(I%)-X)*SCALE+639.5:
endy(I%)=(endy(I%)-Y)*SCALE+511.5
1280IF ABS(startx(I%))<32768 AND ABS(st
arty(I%))<32768 AND ABS(endx(I%))<32768
AND ABS(endy(I%))<32768 MOVE startx(I%),
starty(I%):DRAW endx(I%),endy(I%)
1290NEXT
1300X=639.5:Y=511.5:oldX=X:oldY=Y
1310GCOL 4,0:VDU 7
1320ENDPROC
1330:
1370:
1380DEFPROCload
1390VDU4:VDU31,0,0
1410CLS:PRINT"Please wait ... ";:VDU5
1420IF COM$="y" GOTO 1500
1430X=OPENOUT fn$
1440PRINT #X,pnt%
1450FORp=0TOpnt%
1460PRINT #X,startx(p),starty(p),endx(p
),endy(p)
1470NEXT
1480CLOSE#0
1490GOTO 1570
1500:
1510X=OPENIN fn$
1520INPUT #X,pnt%
1530FORp=0TOpnt%
1540INPUT #X,startx(p),starty(p),endx(p
),endy(p)
1550NEXT
1560CLOSE#0
1570SCALE=1:X=640:Y=512:PROCscale(0):*F
X15
1580ENDPROC
1590DEFPROCsave:*FX4,0
1600PRINTTAB(3,30);"Do you want to save
this picture to":PRINTTAB(3,31);"disc ?
";
1610REPEAT
1620S$=GET$
1630UNTIL S$="Y" OR S$="y" OR S$="N" OR
S$="n"
1640IF S$="N" OR S$="n" THEN CHAIN"MENU
!"
1650VDU23,1,0;0;0;0;:PRINTTAB(3,30);"
"
1660PRINTTAB(3,31);" "
1670PRINTTAB(3,29);"This picture will b
e saved on drive 0":PRINTTAB(3,30);"as '
Picture'. Press space ..."
1680REPEAT:A$=GET$:UNTIL A$=" "
1690PRINTTAB(3,29);"
"
1700PRINTTAB(3,30);"
"
1710OSCLI"SAVE PICTURE 3000+5000"
1720CLS:PRINT"PICTURE SAVED"'
1730PRINT"TO DISPLAY PICTURE TYPE"'
1740PRINT"MODE4:*LOAD PICTURE 3000"'
1750PRINT"WHY NOT TRY IT NOW!"'
1760ENDPROC
1770ONERROR OFF:VDU4:CLOSE#0:*FX200,0
1780IF ERR=17 THEN VDU22,7:*FX4,0
1790IF ERR=17 THEN END
1800MODE7:*FX200,1
1810REPORT
1820PRINT" at line ";ERL
1830PRINT"Press any key";
1840A$=GET$
1850RUN
1860END