home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Run Magazine ReRun 1985 Winter
/
rerun-1985-winter.d64
/
screenviewer
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
4KB
|
192 lines
1 rem *********************************
2 rem * 'screen viewer' (c) 1985 *
3 rem * by doug smoak *
4 rem * 303 heyward st. *
5 rem * columbia, s.c. 29201 *
6 rem * *
7 rem * will load a series of screens *
8 rem * created by graphmaker 64 or *
9 rem * screenmaker 64. *
10 rem*********************************
15 poke53280,12:poke53281,11
20 t1$="[147][152] screen viewer [146]"
30 fori=0to23:reada
40 poke49152+i,a:ck=ck+a:next
50 ifck<>4077thenprintt1$"error in data statements!":end
60 dimf$(83)
70 printt1$
80 print"c_ create [146] a name file"
90 print"l_ load [146] a name file"
100 print"e_ end [146] "
110 getop$:ifop$<>"l"andop$<>"c"andop$<>"e"then110
120 ifop$="l"thengosub1550:ifsf$<>""then300
130 ifop$="e"thenprint"[147]":end
140 ifop$<>"c"then70
150 :
160 rem ------ input screen names -----
170 :
180 printt1$
190 ns$="":input"how many screens to view";ns$
200 ns=val(ns$):ifns<1then70
210 fori=1tons
220 sn$="":printt1$"screen name"i;
230 inputsn$:iflen(sn$)>14then220
240 ifsn$=""then220
250 f$(i)=sn$
260 next
270 :
280 rem --------- edit option ---------
290 :
300 printt1$:poke53280,12:poke53281,11
310 print"c_ continue [146]"
320 print"e_ edit names [146]"
330 geta$:ifa$<>"c"anda$<>"e"anda$<>chr$(141)then330
340 ifa$="c"then530
350 ifa$=chr$(141)then70
360 print:gosub1260
370 :
380 rem ------- edit screen name ------
390 :
400 printt1$
410 print"screen number to edit? 1 -"ns;
420 e$="":inpute$:e=val(e$):ife$=""then300
430 ife<1ore>nsthen400
440 print"screen #"e"= "f$(e)
450 print"new screen #"e;
460 f$="":inputf$
470 iff$=""then400
480 iflen(f$)>14then450
490 f$(e)=f$:goto300
500 :
510 rem -------- save option ----------
520 :
530 printt1$
540 print"s_ save [146] name file"
550 print"v_ view [146] with no save"
560 geta$:ifa$=chr$(141)then300
570 ifa$<>"s"anda$<>"v"then560
580 ifa$="s"thengosub1390:goto300
590 :
600 rem -------- view menu 1 ----------
610 :
620 print"[147] viewing options "
630 print"1_ short [146] delay between screens"
640 print"2_ medium [146] delay between screens"
650 print"3_ long [146] delay between screens"
660 geta$:ifa$=chr$(141)then530
670 ifa$<"1"ora$>"3"then660
680 dl=val(a$)
690 :
700 rem -------- view menu 2 ----------
710 :
720 print"[147] viewing options "
730 print"1_show once "
740 print"2_show continuously "
750 geta$:ifa$=chr$(141)then620
760 ifa$<"1"ora$>"2"then750
770 cy=val(a$)-1
780 printt1$"insert disk with screens..."
790 gosub1330:ifa$=chr$(141)then720
800 print"o.k."
810 :
820 rem ------ main display loop ------
830 :
840 forf=1tons
850 f$=f$(f)
860 gosub1050:ifathenf=ns:goto300
870 fork=1to2000*dl
880 getg$:ifg$<>""thenk=2000*dl:ifg$=chr$(141)then300
890 next:next
900 ifcythen840
910 goto300
920 :
930 rem -------- put filename ---------
940 :
950 fori=1tolen(f$)
960 poke749+i,asc(mid$(f$,i,1))
970 next
980 poke183,len(f$)
990 poke187,238:poke188,2
1000 poke186,8:poke185,1
1010 return
1020 :
1030 rem --------- load screen ---------
1040 :
1050 gosub950:fc=0:poke157,0
1060 poke780,0:sys65493
1070 gosub1150:ifathenreturn
1080 f$=f$+".c":gosub950:fc=1
1090 poke780,0:sys65493
1100 gosub1150:ifathena=0:sys49152:return
1110 poke53280,peek(56296)
1120 poke53281,peek(56297)
1130 return
1140 :
1150 rem ------ screen load error ------
1160 :
1170 open15,8,15
1180 input#15,a,b$,c,d
1190 close15
1200 iffcor(a=0)thenreturn
1210 printt1$"disk error"a;b$
1220 poke53280,12:poke53281,11
1230 print"on file "f$
1240 print"to display screen names ..."
1250 gosub1330
1260 fori=1tons
1270 print"screen #"i"= "f$(i)
1280 ifi/20=int(i/20)thengosub1330
1290 next:gosub1330:return
1300 :
1310 rem ------- prompt & wait --------
1320 :
1330 print"press [return][146]":print
1340 geta$:ifa$<>chr$(13)anda$<>chr$(141)then1340
1350 return
1360 :
1370 rem ------- save name file -------
1380 :
1390 printt1$" save name file "
1400 sf$="":input"filename";sf$
1410 ifsf$=""thenreturn
1420 iflen(sf$)>16then1390
1430 open15,8,15
1440 open8,8,8,"@0:"+sf$+",s,w"
1450 gosub1710
1460 ifathen1390
1470 print"o.k."
1480 print#8,ns$
1490 fori=1tons
1500 print#8,f$(i)
1510 next:close8:close15:return
1520 :
1530 rem ------ load name file -------
1540 :
1550 printt1$" load name file "
1560 sf$="":input"filename";sf$
1570 ifsf$=""thenreturn
1580 iflen(sf$)>16then1550
1590 open15,8,15
1600 open8,8,8,"0:"+sf$+",s,r"
1610 gosub1710
1620 ifathen1550
1630 print"o.k."
1640 input#8,ns$:ns=val(ns$)
1650 fori=1tons
1660 input#8,f$(i)
1670 next:close8:close15:return
1680 :
1690 rem -- error for name load/save --
1700 :
1710 input#15,a,b$,c,d
1720 ifa=0thenreturn
1730 close8:close15
1740 printt1$:print"disk error"a;b$
1750 gosub1330:return
1760 :
1770 rem -- m.l. data --
1780 :
1790 data160,0,132,251,169,216,133,252,162,4
1800 data173,134,2,145,251,200,208,251,230,252
1810 data202,208,246,96