-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLOADER.BAS.TXT
58 lines (58 loc) · 2.32 KB
/
LOADER.BAS.TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
10 POKE &BE78,255
20 POKE &BE66,1
30 GOSUB 200:PAPER 0:INK 1,0:BORDER 13:INK 0,26
40 ON BREAK GOSUB 40:MODE 2:A$="Quelle Mode ? >":LOCATE 40-LEN(A$)ç 2,12:PRINT A$;:INPUT "",m
50 MODE 2:A$="Vitesse ? >":LOCATE 40-LEN(A$)ç 2,12:PRINT A$;:INPUT "",v
55 MODE 2:o=0:A$="Automatique ? >":LOCATE 40-LEN(A$)ç 2,12:PRINT A$;:INPUT "",o$:IF o$="O" OR o$="o" THEN o=1:GOTO 80
60 MODE 2:A$="De La Piste ? >":LOCATE 40-LEN(A$)ç 2,12:PRINT A$;:INPUT "",dp
70 A$="A Le Piste ? >":LOCATE 40-LEN(A$)ç 2,13:PRINT A$;:INPUT "",fp
80 MODE 2:A$="Format ? >":LOCATE 40-LEN(A$)ç 2,12:PRINT A$;:INPUT "",f$
90 IF f$="VENDOR" THEN a=&41 :aa=&49:l=1
100 IF f$="DATA" THEN a=&C1 :aa=&C9:l=1
110 IF l<>1 THEN 80
111 IF o=1 THEN 1000
120 MODE m:GOSUB 140:PRINT CHR$(7):CALL &BB06:A$="Changer parametre ? >":LOCATE 40-LEN(A$)ç 2,12:PRINT A$;:INPUT "",nnn$
130 IF nnn$="o" OR nnn$="oui" THEN 40 ELSE MODE 2:PRINT CHR$(7):A$="INSERT DISC":LOCATE 40-LEN(A$)ç 2,12:PRINT A$:CALL &BB06:GOTO 120
140 iii=-1
150 FOR i=dp TO fp:LOCATE 1,1:PRINT i
160 FOR ii=a TO aa:FOR u=1 TO v:NEXT
170 iii=iii+1:IF iii=32 THEN iii=0
180 ùRDSECT,0,i,ii,&C000+512*iii
190 NEXT:NEXT:RETURN
200 RESTORE 230:nb=0:FOR ad=&9C30 TO &9CA1
210 READ da$:da=VAL("&"+da$):nb=nb+da:POKE ad,da
220 NEXT
230 DATA 21,3a,9c,01,3e,9c,cd,d1
240 DATA bc,c9,00,00,00,00,46,9c
250 DATA c3,53,9c,c3,97,9c,52,44
260 DATA 53,45,43,d4,57,52,53,45
270 DATA 43,d4,00,fe,04,c0,3e,84
280 DATA 32,90,9c,dd,6e,00,dd,66
290 DATA 01,dd,7e,02,dd,56,04,dd
300 DATA 5e,06,22,8a,9c,eb,22,94
310 DATA 9c,32,96,9c,21,90,9c,cd
320 DATA d4,bc,22,91,9c,79,32,93
330 DATA 9c,2a,94,9c,eb,3a,96,9c
340 DATA 4f,21,00,30,df,91,9c,c9
350 DATA 84,00,00,00,00,00,00,fe
360 DATA 04,c0,3e,85,32,90,9c,c3
370 DATA 5b,9c
380 CALL &9C30
390 RETURN
1000 MODE m:i=0:sect=a:
1010 FOR z=1 TO v:NEXT
1020 IF INKEY(2)=0 THEN 1400
1030 IF INKEY(60)=0 THEN 1600
1031 IF INKEY(0)=0 THEN 1200
1040 GOTO 1010
1200 sect=sect-1:iii=iii-1:IF sect<a THEN sect=aa:i=i-1
1210 IF i<0 THEN i=39
1211 IF iii<0 THEN iii=31
1212 ùRDSECT,0,i,sect,&C000+512*iii
1220 GOTO 1010
1400 iii=iii+1:sect=sect+1:IF sect>aa THEN sect=a:i=i+1
1410 IF i>39 THEN i=0
1411 IF iii=32 THEN iii=0
1412 ùRDSECT,0,i,sect,&C000+512*iii
1420 GOTO 1010
1600 SOUND 1,200,50:CALL &BB06:SAVE"ecran.ecr",b,&C000,&4000:SOUND 1,200,50:GOTO 1010