home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
A.N.A.L.O.G. Magazine 1988 April
/
88_apr_a.atr
/
upeditor.act
< prev
next >
Wrap
Text File
|
2023-02-26
|
9KB
|
1 lines
¢;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("} רסתIJפג דגחקנפ")¢ 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("áצIJשדá")¢ FI¢ IF S=3 THEN¢ Position(21,1)¢ Print("áכנIJגá")¢ FI¢ IF S=4 THEN¢ Position(29,1)¢ Print("áבכדIJפá")¢ 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¢¢