›;UPWARD EDITOR by Greg Knauss››; CHECKSUM DATA›;[B4 F9 4B 46 88 45 83 FF ›; 5A 0C 27 3D EC 4A 1F 34 ›; 24 27 7E 19 65 C4 11 E8 ›; 69 63 6C C8 DE AC 77 1F ›; 4F 3A 10 9D 15 33 5B 6D ›; 65 AD 02 5F 74 60 ]››BYTE› P,I,X=[1],Y=[1],S,STG=[0],SLO,SHI,› STC=[32],SN=[1],CLR=[32],ERR=[0],› L=[1]››INT› X1,Y1››CARD› J,SCN,DL,CH››BYTE ARRAY› ST="D:UPSET.A"›››PROC DLI()› [ 72 169 56 141 10 212 141 22› 208 169 54 141 23 208 169 10› 141 24 208 169 68 141 25 208› 169 0 141 10 212 169 0 141› 26 208 169 0 141 9 212 104› 64]›RETURN›››PROC NEWLIST()› [112 112 112 71 0 0 6 130› 0 5 32 101 0 0 37 37› 37 37 37 37 37 37 37 5› 65 0 0]›RETURN›››PROC CHSTORE()› [170 170 170 170 170 170 170 170› 85 170 170 170 170 170 170 170› 0 85 170 170 170 170 170 170› 0 0 85 170 170 170 170 170› 0 0 0 85 170 170 170 170› 0 0 0 0 85 170 170 170› 0 0 0 0 0 85 170 170› 0 0 0 0 0 0 85 170› 0 0 0 0 0 0 0 85› 168 32 0 0 0 0 0 0› 170 42 32 0 0 0 0 0› 170 42 34 0 0 0 0 0› 170 170 170 168 32 0 0 0› 170 170 170 170 168 32 0 0› 170 170 170 170 170 168 32 0› 170 170 170 170 170 170 40 32› 0 0 0 0 0 0 0 0› 85 170 170 170 170 170 170 32› 85 170 42 42 42 10 10 0› 85 170 170 168 168 160 128 128› 0 0 64 128 144 164 168 169› 0 0 0 0 0 0 0 0› 0 0 0 0 0 0 0 0› 1 2 2 6 10 26 42 106› 170 42 42 10 10 2 2 2› 170 168 160 128 128 128 0 0› 125 190 190 190 174 190 190 190› 48 60 60 60 12 60 60 60› 186 190 190 190 174 190 190 190› 255 255 255 255 255 255 255 255› 255 191 191 191 175 175 171 170› 255 254 254 250 250 234 170 170› 170 171 175 175 191 191 255 255› 170 234 234 250 250 250 254 254›› Ôèå æïììï÷éîç äáôá éó îïô õóåä éî › ¢Õð÷áò䢠áîä éó õîéñõå ôï ôèéó › ðòïçòáí® ›› 255 195 195 195 195 195 195 255› 0 63 48 63 3 3 63 0› 0 60 51 51 51 51 60 0› 15 15 3 63 207 207 12 60› 192 204 12 240 192 192 192 240]›RETURN›››PROC TOPSCRN()› Poke(83,39)› Position(0,1)› Print(" *+,-./012 3456789; <=>ABC")› Print(" DEF GHIJK ")› Position(0,2)› Print(" *+,-./012 3456789; <=>ABC")› Print(" DEF ÇÈÉÊË MN ")› Poke(83,0)›RETURN›››PROC SETUP()› Graphics(0)› Poke(752,1)› Poke(82,1)› PrintE(" ")› DL=PeekC(560)› SHI=Peek(106)-32› SHI==+8› SLO=0› MoveBlock(DL,NEWLIST,50)› SCN=PeekC(88)› J=PeekC(88)› PokeC(DL+4,J)› Poke(DL+12,0)› Poke(DL+13,SHI)› J=PeekC(560)› PokeC(DL+25,J)› CH=(Peek(106)-40)*256› MoveBlock(CH+80,CHSTORE,512)› Zero(CH,8)› Poke(DLI+35,CH/256)› PokeC(512,DLI)› Poke(54286,192)› Poke(708,0)› Poke(709,6)› Poke(710,15)› Poke(712,148)› Zero(SHI*256+SLO,256*12+40)› Print("} ÕÐ×ÁÒÄ ÅÄÉÔÏÒ")› PrintE(" LEVEL: 1")› TOPSCRN()›RETURN›››PROC OOPS()› Poke(559,34)› Position(0,1)› Print("  ÄÉÓË ÅÒÒÏÒ¡ ")› Print(" Any key to continue.ý")› I=GetD(1)› ERR=1› Close(2)›RETURN›››PROC SETNO()› FOR J=1 TO 15000 DO OD› WHILE STrig(0)=1 DO› IF Stick(0)=7 AND SN<25 THEN› SN==+1› FI› IF Stick(0)=11 AND SN>1 THEN› SN==-1› FI› IF Stick(0)<>15 THEN› Position(24,1)› Print(" ")› PrintB(SN)› FI› FOR J=1 TO 7000 DO OD› OD›RETURN›››PROC CONFIRM()› S=0› Position(31,1)› Print("Y/Î")› FOR J=1 TO 15000 DO OD› WHILE STrig(0)=1 DO› IF Stick(0)=7 THEN› Position(31,1)› Print("Y/Î")› S=0› FI› IF Stick(0)=11 THEN› Position(31,1)› Print("Ù/N")› S=1› FI› OD›RETURN›››PROC SAVE()› Position(0,1)› Print(" Save set:")› Print(" ")› Position(24,1)› PrintB(SN)› SETNO()› Position(6,1)› Print("Confirm: Óáöå as set ")› PrintB(SN)› Print("?")› CONFIRM()› IF S=0 THEN› RETURN› FI› Poke(559,0)› SHI=Peek(106)-32› SLO=0› L=1› Position(33,0)› Print(" ")› PrintB(L)› Poke(DL+12,SLO)› Poke(DL+13,SHI)› Close(2)› Error=OOPS› ERR=0› Poke(ST+9,SN+64)› Open(2,ST,8,0)› IF ERR=0 THEN› FOR J=0 TO 2999 DO› S=Peek(SHI*256+J)› PutD(2,S)› OD› Close(2)› FI› Poke(559,34)›RETURN›››PROC LOAD()› Position(0,1)› Print(" Load set:")› Print(" ")› Position(24,1)› PrintB(SN)› SETNO()› Position(6,1)› Print("Confirm: Ìïáä set ")› PrintB(SN)› Print("?")› CONFIRM()› IF S=0 THEN› RETURN› FI› Poke(559,0)› SHI=Peek(106)-32› SLO=0› L=1› Position(33,0)› Print(" ")› PrintB(L)› Poke(DL+12,SLO)› Poke(DL+13,SHI)› Error=OOPS› ERR=0› Poke(ST+9,SN+64)› Open(2,ST,4,0)› IF ERR=0 THEN› FOR J=0 TO 2999 DO› S=GetD(2)› Poke(SHI*256+J,S)› OD› Close(2)› FI› Poke(559,34)›RETURN›››PROC CLEAR()› Position(6,1)› Print("Confirm: Ãìåáò set?")› Print(" ")› CONFIRM()› IF S=1 THEN› SHI=Peek(106)-32› SLO=0› L=1› Position(33,0)› Print(" ")› PrintB(L)› Poke(DL+12,SLO)› Poke(DL+13,SHI)› Zero(SHI*256+SLO,3000)› PokeC(88,SCN)› FI›RETURN›››PROC DISK()› Poke(83,39)› Position(0,1)› Print(" EXIT SAVE LOAD")› Print(" CLEAR ")› S=1› WHILE STrig(0)=1 DO› IF S>1 AND Stick(0)=11 THEN› S==-1› FI› IF S<4 AND Stick(0)=7 THEN› S==+1› FI› IF Stick(0)=7 OR Stick(0)=11 THEN› Position(0,1)› Print(" EXIT SAVE")› Print(" LOAD CLEAR ")› FI› IF S=1 THEN› Position(5,1)› Print(" ÅØÉÔ ")› FI› IF S=2 THEN› Position(13,1)› Print(" ÓÁÖÅ ")› FI› IF S=3 THEN› Position(21,1)› Print(" ÌÏÁÄ ")› FI› IF S=4 THEN› Position(29,1)› Print(" ÃÌÅÁÒ ")› FI› FOR J=1 TO 5000 DO OD› OD› FOR J=1 TO 10000 DO OD› IF S=2 THEN› SAVE()› FI› IF S=3 THEN› LOAD()› FI› IF S=4 THEN› CLEAR()› FI› X=38› STC=32› TOPSCRN()› Position(38,2)› Print("L")›RETURN›››PROC LEV()› PokeC(88,SCN)› Poke(83,39) › Position(33,0)› Print(" ")› PrintB(L)› Poke(83,0)› Poke(88,SLO)› Poke(89,SHI)›RETURN›››PROC SCROLLDN()› Color=CLR› Plot(X,Y)› FOR S=1 TO 6 DO› FOR I=0 TO 15 DO› Poke(54277,I)› FOR J=1 TO 150 DO OD› OD› Poke(54277,0)› SLO==+40› IF SLO<40 THEN› SHI==+1› FI› Poke(DL+12,SLO)› Poke(DL+13,SHI)› Poke(88,SLO)› Poke(89,SHI)› OD› L==+1› LEV()› CLR=Locate(X,Y)›RETURN›››PROC SCROLLUP()› Color=CLR› Plot(X,Y)› FOR S=1 TO 6 DO› Poke(54277,15)› SLO=SLO-40› IF SLO>215 THEN› SHI==-1› FI› Poke(DL+12,SLO)› Poke(DL+13,SHI)› Poke(88,SLO)› Poke(89,SHI)› I=15› FOR P=1 TO 16 DO› Poke(54277,I)› I==-1› FOR J=1 TO 150 DO OD› OD› OD› L==-1› LEV()› CLR=Locate(X,Y)›RETURN›››PROC GETNPRNT()› STC=GetD(1)› IF STC<33 OR STC>'K THEN› STC=32› FI› IF STC>'F THEN› STC==+128› FI› Color=STC› Plot(X,Y)› CLR=STC› STG=0› IF X<39 THEN› X==+1› CLR=Locate(X,Y)› FI› Color='L› Plot(X,Y)› Poke(764,255)›RETURN›››PROC CHOOSE()› Color=CLR› Plot(X,Y)› PokeC(88,SCN)› TOPSCRN()› Y=2› CLR=Locate(X,Y)› Color='L› Plot(X,Y)› DO› S=Stick(0)› X1=0› IF S=11 AND X>0 THEN› X1=-1› FI› IF S=7 AND X<39 THEN› X1=1› FI› IF S<>15 AND (X1<>0 OR Y1<>0) THEN› S=Locate(X+X1,Y+Y1)› Color=CLR› Plot(X,Y)› X==+X1› Color='L› Plot(X,Y)› CLR=S› FI› FOR J=1 TO 2000 DO OD› IF STrig(0)=0 THEN› STC=CLR› FOR J=1 TO 255 DO› Sound(0,J,8,15-J/17)› OD› STG=0› FI› IF STC='N THEN› DISK()› FI› UNTIL Stick(0)=13› OD› TOPSCRN()› Poke(88,SLO)› Poke(89,SHI)› Y=0› CLR=Locate(X,Y)› Color='L› Plot(X,Y)› IF STC='M THEN› STG=1› STC='3› FI›RETURN›››PROC MAIN()› SETUP()› Poke(88,SLO)› Poke(89,SHI)› Color=32› For J=0 TO 8 DO› P=Locate(0,J)› Plot(0,J)› OD› FOR J=3000 TO 3079 DO› Poke(SHI*256+J,10)› OD› Poke(SHI*256+2954,47)› Poke(SHI*256+2955,48)› Open(1,"K:",4,0)› CLR=32› DO› S=Stick(0)› X1=0› Y1=0› IF (S=10 OR S=14 OR S=6) AND› Y>0 THEN› Y1=-1› FI› IF (S=9 OR S=13 OR S=5) AND› Y<8 THEN› Y1=1› FI› IF S<12 AND S>8 AND X>0 THEN› X1=-1› FI› IF S<8 AND S>4 AND X<39 THEN› X1=1› FI› IF Stick(0)=14 AND Y=0 THEN› CHOOSE()› FI› IF (X1<>0 OR Y1<>0) AND› S<>15 THEN› S=Locate(X+X1,Y+Y1)› Color=CLR› Plot(X,Y)› X==+X1› Y==+Y1› CLR=S› FI› Color='L› Plot(X,Y)› IF Peek(53279)=6 AND SLO<>80 THEN› SCROLLDN()› FI› IF Peek(53279)=5 AND SLO<>0 THEN› SCROLLUP()› FI› IF Peek(764)<>255 THEN› GETNPRNT()› FI› IF STrig(0)=0 AND STC<>'M THEN› CLR=STC› FI› IF STrig(0)=0 AND STG<>0 THEN› STC==+STG› IF STC='9 THEN› STG=255› FI› IF STC='3 THEN› STG=1› FI› FI› FOR J=1 TO 2000 DO OD› OD›RETURN››