home *** CD-ROM | disk | FTP | other *** search
- 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
-