This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
Listing 1
10 GRAPHICS 8:DPOKE 741,(PEEK(742)-4)*256:NZS=DPEEK(741):SZS=224*256
11 POKE 709,0:POKE 710,10:POKE 712,82
12 DPOKE 741,DPEEK(741)-3720
13 POKE 559,0
15 MOVE SZS,NZS,1024
17 DIM A$(30),P$(216)
19 P$="$<fff<<>f>0`"
20 P$(25)="<```<8>ff><f`<"
21 P$(49)=":f``f<:`<<RFfff"
22 P$(73)="8<Bfff>z"
23 P$(97)="=ffff<(<fff8|ffff"
24 P$(121)="<fff<|d|d|`<fff"
25 P$(145)="|f```>`<|"
26 P$(169)="bfff>zff|lf<f`<"
27 P$(193)="`|``bff>x0"
28 MOVE ADR(P$),512+NZS,216
30 P$="$ffff>$<>f>"
32 MOVE ADR(P$),768+NZS,8
33 MOVE ADR(P$)+8,984+NZS,8
35 COLOR 1
40 TEXT %0,8," "
42 TEXT %0,16," "
44 TEXT %0,24," "
46 TEXT %0,32," "
48 TEXT %0,40," "
50 TEXT 24,56," "
52 TEXT 24,64," "
54 TEXT 24,72," "
56 TEXT 24,80," "
58 TEXT 24,88," "
62 TEXT 24,104," "
64 TEXT 24,112," "
66 TEXT 24,120," "
68 TEXT 24,128," "
70 TEXT 24,136," "
73 POKE 756,156:POKE 752,1
75 ? " Pro ATARI XL/XE and Joystick"
77 ? " Vytvoil Pavel Kadank"
78 ? " V 1.0"
79 ? " Potebuji jet chviliku prosm.";
80 POKE 559,34
149 VR=DPEEK(88):VR2=VR:DL=7680:DIM T$(40),MM(3)
150 MM(0)=VR+6440:A=DPEEK(741):DM=1240:MM(1)=A:MM(2)=A+DM:MM(3)=A+2*DM
155 COLOR 1:SX=0:SY=161:X=319:Y=191:GOSUB 4150
160 FOR Z=0 TO 3:GOSUB 200+Z*5
165 FOR K=O TO LEN(P$)-1 STEP 8
170 FCE=ASC(P$(1+K,1+K))-1+21
171 A=(ASC(P$(2+K,2+K))-1)/100-1
172 B=(ASC(P$(3+K,3+K))-1)/100-1
174 X=ASC(P$(4+K,4+K))-1
176 Y=ASC(P$(5+K,5+K))-1
178 SX=ASC(P$(6+K,6+K))-1
180 SY=ASC(P$(7+K,7+K))-1
182 P=ASC(P$(8+K,8+K))-1
184 TEXT SX,SY,CHR$(P)
185 EXEC PDC:GOSUB 200+Z*5
186 NEXT K:NEXT Z
188 TEXT 229,164,"Esc - Data"
189 TEXT 229,174,"Caps - Prep"
190 TEXT 229,182,"Space- Menu"
191 COLOR 1:PLOT 295,174:PLOT 297,174:PLOT 296,175
199 MOVE MM(0),MM(2),DM:GOTO 300
200 P$="3eS3eB3eK3eK3eD3e(X3e(E":RETURN
205 P$="3e(W3e2E[e2ETe2EFe]ZO eTRQehiG":RETURN
210 P$="ewxHewJeMeIeYeUeL":RETURN
215 P$=")eVeNeP)eCeZ":RETURN
300 FOR I=162 TO 186 STEP 8:TEXT 0,I," ":NEXT I
305 COLOR 1:PLOT 0,161:DRAWTO 319,161:DRAWTO 319,191:DRAWTO 0,191:DRAWTO 0,161
307 P$="PLBXCEF TUSQ"
310 FOR I=20 TO 240 STEP 20:PLOT I,162:DRAWTO I,191:TEXT I-19,162,P$(I/20,I/20):NEXT I
312 PLOT 142,163:DRAWTO 142,168:DRAWTO 147,168:DRAWTO 147,163:DRAWTO 142,163:PLOT 142,168:DRAWTO 147,163
313 PAINT 143,164
315 TEXT 244,164,"Esc -Data"
316 TEXT 244,174,"Caps-Prep"
317 TEXT 244,182,"Spac-Menu":PLOT 276,188:PLOT 277,188
320 PLOT 2,170:DRAWTO 13,170:PLOT 10,176:DRAWTO 14,180:PLOT 5,172:DRAWTO 5,187:PLOT 7,189:DRAWTO 15,181
325 PLOT 34,172:DRAWTO 38,172:PLOT 36,170:DRAWTO 36,174:PLOT 36,172:DRAWTO 25,187:PLOT 23,187:DRAWTO 27,187
326 PLOT 25,185:DRAWTO 25,189
330 PLOT 42,170:DRAWTO 50,170:DRAWTO 50,180:DRAWTO 42,180:DRAWTO 42,170
331 PLOT 45,175:DRAWTO 58,175:DRAWTO 58,188:DRAWTO 45,188:DRAWTO 45,175
335 PLOT 62,170:DRAWTO 70,170:DRAWTO 70,175:DRAWTO 78,175:DRAWTO 78,188:DRAWTO 65,188:DRAWTO 65,185:DRAWTO 62,185:DRAWTO 62,170
336 PLOT 65,185:DRAWTO 65,175:DRAWTO 75,175
340 CIRCLE 90,178,8:CIRCLE 92,183,5,7
350 CIRCLE 110,178,8:CIRCLE 110,183,5,7
352 COLOR 0:PLOT 108,186:DRAWTO 112,186:PLOT 107,185:DRAWTO 113,185:COLOR 1
355 CIRCLE 130,180,7:PLOT 129,170:DRAWTO 129,189:PAINT 133,180
360 PLOT 142,170:DRAWTO 158,170:DRAWTO 158,189:DRAWTO 142,189:DRAWTO 142,170:PLOT 142,189:DRAWTO 158,170:PAINT 143,171
364 REM TEXT
365 TEXT 162,172,"Aa":TEXT 162,181,""
370 TEXT 186,169,"M":PLOT 182,180:DRAWTO 198,180:DRAWTO 198,189:DRAWTO 182,189:DRAWTO 182,180
371 PLOT 190,185:DRAWTO 190,176:DRAWTO 188,178:DRAWTO 192,178:DRAWTO 190,176
375 PLOT 202,180:DRAWTO 218,180:DRAWTO 218,189:DRAWTO 202,189:DRAWTO 202,180
380 REM MOVE ************
385 TEXT 226,169,"M":PLOT 222,180:DRAWTO 238,180:DRAWTO 238,189:DRAWTO 222,189:DRAWTO 222,180
386 PLOT 230,176:DRAWTO 230,185:DRAWTO 228,183:DRAWTO 232,183:DRAWTO 230,185
755 MOVE MM(0),MM(1),DM
757 MOVE VR,VR2,DL
999 TRAP 1100:DEL 0,999
1070 ------------------------------
1100 REM DRUHY START
1102 CLR
1105 GRAPHICS 24
1107 DPOKE 741,36216
1108 TRAP 10000
1120 DL=7680:DIM S$(DL),T$(40),A$(30),P$(200),MM(3),INV$(28),PRNT$(172),MOVX$(29),A(15),B(15)
1130 VR=DPEEK(88):VR2=ADR(S$):MM(%0)=VR+6440:A=DPEEK(741):DM=1240:MM(%1)=A:MM(%2)=A+DM:MM(%3)=A+%2*DM
1140 INV$="hXYI`"
1145 PRNT$(%1,80)="hhhhh 6^i_i(`_^i(i"
1146 PRNT$(81,172)="i%>>>>>>>BDEIH V`"
1148 MOVX$="hhhhhhh`"
1150 FOR I=5 TO 14:READ A:A(I)=A:NEXT I:DATA 1,1,1,0,-1,-1,-1,0,0,0
1155 FOR I=5 TO 14:READ A:B(I)=A:NEXT I:DATA 1,-1,0,0,1,-1,0,0,1,-1
1160 SS=224:NS=156:NZS=39936:X=159:Y=79
1170 POKE 709,0:POKE 710,10:POKE 712,82:POKE 764,33:KOD=%1:KK=33
1180 REM A=FRE(0):END
1197 POKE 16,64:POKE 53774,64
1198 GOTO 1500
1199 ------------------------------
1220 PROC STICK
1230 J=STICK(%0)
1240 X=X+A(J):Y=Y+B(J)
1250 IF STRIG(%0)=%0 THEN TG=%1:GOTO 1250
1260 ENDPROC
1370 ------------------------------
1399 REM HLAVNI SMYCKA
1500 IF STRIG(%0)=%0 THEN S=%1
1510 J=STICK(%0):IF J=15 THEN GOTO 1530
1512 E=(X+A(J)=320)+(X+A(J)=-%1)+(Y+B(J)=192)+(Y+B(J)=-%1):IF E>%0 THEN 1530
1515 X=X+A(J):Y=Y+B(J):LOCATE X,Y,N:COLOR %1-N:PLOT X,Y:COLOR S:PLOT X-A(J),Y-B(J):S=N:IF GOS=6 THEN 1500
1530 IF PEEK(764)<>K THEN EXEC KLAV
1540 IF FCE=6 THEN GOTO 1500
1550 IF STRIG(%0)=%0 THEN TG=%1:GOTO 1550
1555 IF TG=%1 THEN TG=%0:EXEC UNSO:TG=%0
1560 GOTO 1510
1600 ------------------------------
1840 PROC ULOZ
1850 LOCATE X,Y,F:COLOR %1-F:PLOT X,Y
1860 MOVE VR,VR2,DL
1870 ENDPROC
1999 ------------------------------
2000 PROC SMAZ
2010 FOR I=%0 TO 79:POKE VR+I,%0:NEXT I
2020 FOR I=%1 TO 95:MOVE VR,VR+I*80,80:NEXT I
2030 ENDPROC
2050 ------------------------------
2070 REM TEXT
2100 SX=X:T$="":I=%1:POKE 764,255:COLOR %1
2110 GET KEY:IF KEY=155 THEN GOTO 2190
2120 IF KEY<>126 THEN GOTO 2160
2130 IF I=%1 THEN X=SX:GOTO 2110
2140 I=I-%1:X=X-8:TEXT X,Y," ":GOTO 2110
2150 GOTO 2110
2160 T$(I,I)=CHR$(KEY):I=I+%1
2170 TEXT X,Y,CHR$(KEY):X=X+8:IF X<=310 THEN GOTO 2110
2190 IF I=%1 THEN T$(%1,%1)=CHR$(155):GOTO 2200
2192 T$=T$(1,I-%1):X=SX
2200 RETURN
2250 ------------------------------
2300 PROC KLAV
2310 K=PEEK(764):QK=K
2315 SOUND 1,45,10,10:PAUSE 1:DSOUND
2320 IF K=60 THEN KOD=%3-KOD:K=33
2330 IF K=33 THEN GOSUB 2450:GOTO 2310
2335 IF K=28 THEN GOTO 3000
2340 IF KOD=%2 THEN K=K-64*(K>63)+64*(K<64)
2345 IF K=103 THEN K=39
2346 IF K=111 THEN K=47
2350 FCE1=INSTR("*8---'>///////hRjzxcJmWPnMAVy@HEeKUk",CHR$(K))
2360 IF FCE1=%0 THEN SOUND %1,99,10,10:PAUSE 10:DSOUND:K=33:GOTO 2330
2365 IF FCE1>10 AND FCE1<21 THEN GOSUB 2800+10*(FCE1-10):K=KK:POKE 764,KK:GOTO 2390
2370 FCE=FCE1:KK=QK:K=QK
2390 ENDPROC
2448 ------------------------------
2449 REM MENU
2450 POKE 764,255:MOVE MM(%0),MM(%3),DM:MOVE MM(KOD),MM(%0),DM
2455 IF PEEK(764)=255 THEN GOTO 2455
2457 MOVE MM(%3),MM(%0),DM:RETURN
2499 ------------------------------
2800 REM POSLI
2810 P=USR(ADR(INV$)):S=%1-S:RETURN:REM INVERZE
2820 EXEC ULOZ:RETURN
2830 EXEC ULOZ:EXEC SMAZ:RETURN:REM SMAZAT
2840 MOVE VR2,VR,DL:RETURN:REM VRATITRUN
3000 ------------------------------
3001 MOVE MM(%0),MM(%3),DM:POP:POP:POP:K=5
3002 FOR I=162 TO 186 STEP 8:TEXT 0,I," ":NEXT I
3008 TRAP 7000:X1=SX:Y1=SY:COLOR %1:Y=183
3009 TEXT %3,173,"amd Dis urbo as ":TEXT 158,173,"Narat rint sada "
3010 IF K=40 THEN A$(%1,%3)="D8:":Z=%1:TEXT %3,173,"":MM=%0
3020 IF K=5 THEN A$(%1,%3)="D1:":Z=%2:TEXT 43,173,"":MM=%0
3030 IF K=45 THEN A$(%1,%2)="T:":Z=%3:TEXT 83,173,"":MM=%0
3040 IF K=18 THEN A$(%1,%2)="C:":Z=4:TEXT 131,173,"":MM=128
3046 ZK=K:POKE 764,K
3047 TEXT %3,163,"oad ave Dr Lck ":TEXT 158,163,"nlock Rname elete"
3048 TEXT 5,Y," "
3049 IF K=PEEK(764) THEN GOTO 3049
3050 K=PEEK(764)
3052 A$=A$(%1,INSTR(A$,":"))
3053 IF K=13 THEN TEXT 83,163,"":EXEC DIR:Y=183:GOTO 3009
3055 IF K=40 OR K=5 OR K=45 OR K=18 THEN GOTO 3009
3057 IF K=10 THEN EXEC PRINT:GOTO 3001
3060 IF K=16 THEN GOTO 7017
3062 P$="#>*:"
3065 OP=INSTR(P$,CHR$(K)):IF OP=0 THEN GOTO 3048
3067 IF OP>4 THEN GOTO 3200
3070 IF OP>%2 THEN LS=8:GOTO 3075
3072 LS=4
3075 P$=" OBRAZ SADAOBRAZ SADA":P$=P$(OP*5,OP*5+4)
3076 TEXT 5,183,P$
3077 P$="LOADSAVE":TEXT 53,183,P$(LS-%3,LS):TEXT 93,183,A$:X=93+LEN(A$)*8
3080 SX=X:GOSUB 2070:A$(LEN(A$)+%1)=T$:OPEN #1,LS,MM,A$
3085 GOSUB 3090+OP*%2:CLOSE #%1:DSOUND:GOTO 3002
3092 BGET #%1,VR,DL:MOVE MM(%0),MM(%3),DM:RETURN
3094 BGET #%1,NZS,1024:RETURN
3096 MOVE MM(%3),MM(%0),DM:BPUT #%1,VR,DL:RETURN
3098 BPUT #%1,NZS,1024:RETURN
3099 ------------------------------
3100 PROC DIR
3105 IF Z>%2 THEN GOTO 3195
3110 Y=5:COLOR %1:T$="":A$(4,6)="*.*":POKE 764,255
3115 EXEC SMAZ
3120 OPEN #%1,6,%0,A$(%1,6)
3130 INPUT #%1,T$:GOSUB 3190:IF I>%0 THEN GOTO 3180
3140 TEXT 5,Y,T$:INPUT #%1,T$:GOSUB 3190:IF I>%0 THEN Y=Y+8:GOTO 3180
3150 TEXT 165,Y,T$:Y=Y+8:IF Y>150 THEN GET KEY:EXEC SMAZ:Y=5:GOTO 3130
3160 GOTO 3130
3180 TEXT 5,Y,T$:Y=SY:CLOSE #%1:A$=A$(%1,%3):GOTO 3195
3190 I=INSTR("0123456789",T$(%1,%1)):RETURN
3195 TEXT 83,163,"Dr":ENDPROC
3199 ------------------------------
3200 REM JEN DISKETA
3210 IF Z>%2 THEN GOTO 3048
3220 P$=" RENAMEDELETEUNLOCK LOCK ":P$=P$((OP-4)*6,(OP-4)*6+5)
3230 TEXT 5,183,P$:X=85:TEXT 61,183,A$:SX=X
3240 GOSUB 2070:A$(4)=T$
3250 GOSUB 3250+(OP-4)*5:GOTO 3048
3255 RENAME A$:RETURN
3260 DELETE A$:RETURN
3265 UNLOCK A$:RETURN
3270 LOCK A$:RETURN
3499 ------------------------------
3500 PROC UNSO
3510 IF FCE>20:EXEC SOUC:ELSE:EXEC UNIV:ENDIF
3520 ENDPROC
3599 ------------------------------
3600 PROC SOUC
3602 COLOR %1
3605 IF RR=%0 THEN EXEC ULOZ:COLOR %1:DX=-%1
3610 K=PEEK(764):IF TG=%1 THEN GOTO 3698
3620 IF K=7 THEN A=-%1:B=%0
3630 IF K=15 THEN A=%0:B=-%1
3640 IF K=14 THEN A=%0:B=%1
3645 IF K=6 THEN A=%1:B=%0
3658 MOVE VR2,VR,DL:EXEC STICK:EXEC PDC:DX=X:DY=Y:GOTO 3610
3659 PROC PDC
3660 I=%1:GOSUB 5000+(FCE-21)*10
3670 X1=ASC(P$(I,I)):Y1=ASC(P$(I+%1,I+%1))
3680 IF X1<80 THEN X1=40-X1:Y1=40-Y1:PLOT X+X1*A+Y1*B,Y+Y1*A+X1*B:GOTO 3693
3685 IF X1<161 THEN X1=120-X1:Y1=120-Y1:DRAWTO X+X1*A+Y1*B,Y+Y1*A+X1*B:GOTO 3693
3690 I=I+%1:X1=200-X1:Y1=200-Y1:P=ASC(P$(I+%1,I+%1)):P=ABS(A*P+B*P):CIRCLE X+X1*A+Y1*B,Y+Y1*A+X1*B,P
3693 IF I<LEN(P$)-%2 THEN I=I+%2:GOTO 3670
3696 ENDPROC
3698 RR=%0:SX=X:SY=Y:LOCATE X,Y,S:POKE 764,KK
3699 ENDPROC
4000 PROC UNIV
4005 IF RR=%0 THEN EXEC ULOZ:SX=X:SY=Y:X1=SX:Y1=SY:COLOR %1-S:PLOT X,Y:COLOR %1
4007 IF FCE<%3 THEN X=%0:Y=%0:X1=%0:Y1=%0
4010 IF FCE=8 AND RR=%0 THEN POKE 756,NS:GOSUB 2070
4035 IF FCE=%3 THEN TG=%1
4040 DX=X:DY=Y
4050 EXEC STICK:GOSUB 4100+(FCE*10)
4060 IF TG=%1 THEN GOTO 4080
4070 GOTO 4040
4080 IF FCE>%2 THEN SX=X:SY=Y
4081 X=SX:Y=SY
4082 LOCATE SX,SY,S
4084 POKE 756,SS:POKE 764,KK
4085 RR=%0:ENDPROC
4110 MOVE VR2,VR,DL:CIRCLE SX,SY,ABS(X),ABS(Y):RETURN
4120 COLOR %0:CIRCLE SX,SY,ABS(X1),ABS(Y1):COLOR %1:CIRCLE SX,SY,ABS(X),ABS(Y):X1=X:Y1=Y:RETURN
4130 COLOR S:PLOT SX,SY:COLOR %1:PAINT SX,SY:RETURN
4140 MOVE VR2,VR,DL:PLOT SX,SY:DRAWTO X,Y:RETURN
4150 MOVE VR2,VR,DL:PLOT SX,SY:DRAWTO X,SY:DRAWTO X,Y:DRAWTO SX,Y:DRAWTO SX,SY:RETURN
4160 COLOR NOVY:PLOT SX,SY:X=SX:Y=SY:RR=%0:TG=%1:K=%1:RETURN
4170 COLOR %0:PLOT SX,SY:DRAWTO X1,SY:DRAWTO X1,Y1:DRAWTO SX,Y1:DRAWTO SX,SY
4171 COLOR %1:PLOT SX,SY:DRAWTO X,SY:DRAWTO X,Y:DRAWTO SX,Y:DRAWTO SX,SY:X1=X:Y1=Y:RETURN
4180 MOVE VR2,VR,DL:TEXT X,Y,T$:RETURN
4999 REM ODPOR
5000 P$="((xvvxx.(zzx":RETURN
5010 P$="((x.&zzvv":RETURN
5020 P$="((x0$|1$|6$|7$|8(x":RETURN
5030 P$="((x0$|1$|8(tt||xx":RETURN
5040 P$="((x1$|2$|4'y5&z6%7$|":RETURN
5050 P$="((xxxx*'-'0'3'6'9'<'?'*3-303336393<3?3":RETURN
5060 P$="((xxxx*'-'0'3'*3-30333":RETURN
5070 P$="((xqk4(4$|8-7-9+9,":RETURN
5080 P$="((xqk4(4$|7-7,8+9+":RETURN
5090 P$="((xs9(x":RETURN
5100 P$="((x9(x.%u.$t4t3"r2!q":RETURN
5110 P$="((x(6.#s:/":RETURN
5120 P$="((x0$|1$|6$|7$|8(x)-r>$>#="<";"":RETURN
5130 P$="((xvvxx.(zzx("r9.8.:-:,":RETURN
5140 P$="((s/(z#,#+$-%-+-,-*,*+":RETURN
5150 P$="(')&*'*(+),(,'-&.'.(/)0(":RETURN
5160 P$="((x1%3#ss7%8(x":RETURN
5170 P$="((wwywyywyww":RETURN
5180 P$="((xqqx8(x0,t":RETURN
5190 P$="((txtxxxpx)'y":RETURN
5200 P$="$,|t$$||":RETURN
5210 P$="%+u*%)%+&+'":RETURN
5220 P$="((mxxx-s-18&r8**"v+"u,"t-"s5#s6"r7!q8 p5-6.7/80991.*-+,,|+-*.%%wu%%wu?%u@$v":RETURN
5230 P$="((xxxx"/x&.&0%-u8/<-=.=0":RETURN
5240 P$="((xxxx,,|,2,8+-+33-3349":RETURN
7000 REM TRAP I/O
7005 CLOSE #%1
7010 TEXT %1,183," CHYBA:":TEXT 290,183,ERR
7015 PAUSE 50
7017 POP:POP:POP:POP
7020 MOVE MM(3),MM(0),DM:GOTO 1170
10000 REM TRAP
10002 SOUND %1,150,10,10:PAUSE 20:DSOUND
10005 POP:POP:POP:POP:TRAP 10000:TG=%1
10008 IF DX=-%1 THEN MOVE VR2,VR,DL:TG=%0:RR=1:GOTO 1555
10010 RR=1:X=DX:Y=DY:GOTO 1555
31999 REM ------------------------
32000 PROC PRINT
32010 MOVE MM(%3),MM(%0),DM
32050 TRAP 32120:EXEC ULOZ:SCREEN=VR
32060 JSR=USR(ADR(MOVX$),ADR(PRNT$),LEN(PRNT$),1536)
32070 CLOSE #%2:OPEN #%2,8,%0,"P:"
32080 FOR PR=%0 TO 27:? #%2;"9A";CHR$(%1);CHR$(64+68);
32090 FOR I=%1 TO 68:? #%2;CHR$(%0);:NEXT I
32100 DUMMY=USR(1536,%2,SCREEN):SCREEN=SCREEN+280:? #%2:NEXT PR:? #%2;"6":CLOSE #%2
32105 LPRINT:LPRINT
32110 MOVE VR2,VR,DL
32115 ENDPROC
32120 TEXT %0,184,"TISKARNA NENI ZAPOJENA":GOTO 32115
References
Listing downloads
Copyright holder
