Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000
Publié : 20 mars 2018 19:42
Voici le fichier texte du logiciel "phonem-64.prg", p123 : parole et micros
si vous voyez des erreurs???
Je vais essayer de le retaper.
voici le listing : il peut y avoir des différences avec les caractères spéciaux qui sur le forum apparaissent autrement.
1 print"“":print"•"
2 poke53280,5:poke53281,7
3 print"qqqq"
4 ifflag=1then9
5 print" phonem-64 (c) h.benoit 1984"
6 print" ***************************"
7 print"qqqqq":print" chargement vocabulaire en cours"
9 poke53280,4:poke53281,2
10 print"“":print"ž"
20 print" phonem-64 (c) h.benoit 1984"
30 print" ***************************":print"e"
40 print:print" composez votre phrase au moyen des symboles phonetiques:"
50 print:print:poke54296,15
60 print" a,e,i,o,0,u,$(ai),'(eh),w(ou),q(on)":print
70 print" 1(in),2(eu),3(oi),4(an),<(ien),>(oin)":print
80 print" b,d,f,g,j,k(c,q),l,m,n,p,r,^,s,t,v,z":print
90 print" $(ch),y(gn),@(ail),#(eil),%(euil)":print
100 print"ž inton:[=]] ponct:.*] duree:+- sil:.;:print"e"
110 inputl$:l=len(l$):print
120 poke50944,0
130 poke50947,60
140 c=4:c0=c
150 fori=1tol
160 a$=mid$(l$,i,1)
170 ifa$=" "thena$=";"
172 ifa$="["then1100
176 ifa$="]"then1100
178 ifa$="="thenc0=c:goto290
180 ifa$="-"then800
190 ifa$="+"then1000
200 readb$,m
210 ifa$<>b$then200
220 a=192+peek(49152+2*m)
230 b=peek(49152+2*m+1)
240 k=peek(256*a+b+1)
250 forj=4tok
260 n=peek(256*a+b+j)
270 poke50944+c+j-4,n
280 nextj:restore:c=c+k-4
290 nexti
300 t=c
310 poke50944,int(t/256)
320 poke50945,t-256*int(t/256)
370 ifright$(l$,1)="*"thengosub500
380 poke252,0:poke253,199:sys50688
390 print" presser c pour corriger"
400 print" presser s pour sauvegarder"
410 print" espace pour repeter"
430 gete$:ife$=""then430
440 ife$=" " thenprint"‘‘‘‘":goto380
450 ife$="c"thenprint"‘‘‘‘‘‘":goto110
455 ife$="s"thenprint"“":goto1250
460 print:restore:goto10
470 dataa,0,e,1,i,2,o,3,u,4,&,5,',6,2,7,w,8,4,9,1,10,q,11,3,12,b,13,d,14
480 dataj,17,k,18,l,19,m,20,n,21,p,22,r,22,r,23,^,24,s,25,t,26,v,27,z,28,$,29
490 data@,31,#,32,%,33,<,34,>,35,0,36,;,38,.,39,g,16,y,30,*,39,f,15
500 forq=50951to50944+t-astep4
510 e=peek(q)
520 g=int(e/16)
530 r=e-16*g
540 ifr=0andg>2*int(g/2)then570
550 g=2*int(g/2)+1:e=16*g
560 pokeq,e
570 nextq
580 return
800 forj=0to3
810 n=peek(50944+c-j)
820 poke(50944+c-j-4),n
850 nextj
860 c=c-4
870 goto290
1000 forj=0to3
1010 n=peek(50944+c-j)
1020 poke(50944+c-j+4),n
1030 n=peek(50944+c-j-4)
1040 poke(50944+c-j),n
1050 nextj
1060 c=c+4
1070 goto290
1100 forj=50944+c0+3to50944+c+3step8
1110 e=peek(j):g=int(e/16)
1115 ifg/2>int(g/2)then1200
1120 ifa$="["theng=2*int(g/2):e=16*g+1
1130 ifa$="]"theng=2*int(g/2)+1:e=16*g+15
1150 pokej,e
1200 nextj
1210 c0=c:goto290
1250 input"nom fichier";nm$:ln=len(nm$)
1300 poke780,ln:poke781,8:poke782,255
1310 sys65466
1320 fori=1toln:poke831+i,asc(mid$(nm$,i,1)):next
1330 poke780,ln:poke781,832-256*int(832/256):poke782,int(832/256)
1340 sys65469
1350 poke251,0:poke252,198
1360 af=50944+c:lf=af-256*int(af/256)
1370 poke780,251:poke781,lf:poke782,af/256
1380 sys65496
si vous voyez des erreurs???
Je vais essayer de le retaper.
voici le listing : il peut y avoir des différences avec les caractères spéciaux qui sur le forum apparaissent autrement.
1 print"“":print"•"
2 poke53280,5:poke53281,7
3 print"qqqq"
4 ifflag=1then9
5 print" phonem-64 (c) h.benoit 1984"
6 print" ***************************"
7 print"qqqqq":print" chargement vocabulaire en cours"
9 poke53280,4:poke53281,2
10 print"“":print"ž"
20 print" phonem-64 (c) h.benoit 1984"
30 print" ***************************":print"e"
40 print:print" composez votre phrase au moyen des symboles phonetiques:"
50 print:print:poke54296,15
60 print" a,e,i,o,0,u,$(ai),'(eh),w(ou),q(on)":print
70 print" 1(in),2(eu),3(oi),4(an),<(ien),>(oin)":print
80 print" b,d,f,g,j,k(c,q),l,m,n,p,r,^,s,t,v,z":print
90 print" $(ch),y(gn),@(ail),#(eil),%(euil)":print
100 print"ž inton:[=]] ponct:.*] duree:+- sil:.;:print"e"
110 inputl$:l=len(l$):print
120 poke50944,0
130 poke50947,60
140 c=4:c0=c
150 fori=1tol
160 a$=mid$(l$,i,1)
170 ifa$=" "thena$=";"
172 ifa$="["then1100
176 ifa$="]"then1100
178 ifa$="="thenc0=c:goto290
180 ifa$="-"then800
190 ifa$="+"then1000
200 readb$,m
210 ifa$<>b$then200
220 a=192+peek(49152+2*m)
230 b=peek(49152+2*m+1)
240 k=peek(256*a+b+1)
250 forj=4tok
260 n=peek(256*a+b+j)
270 poke50944+c+j-4,n
280 nextj:restore:c=c+k-4
290 nexti
300 t=c
310 poke50944,int(t/256)
320 poke50945,t-256*int(t/256)
370 ifright$(l$,1)="*"thengosub500
380 poke252,0:poke253,199:sys50688
390 print" presser c pour corriger"
400 print" presser s pour sauvegarder"
410 print" espace pour repeter"
430 gete$:ife$=""then430
440 ife$=" " thenprint"‘‘‘‘":goto380
450 ife$="c"thenprint"‘‘‘‘‘‘":goto110
455 ife$="s"thenprint"“":goto1250
460 print:restore:goto10
470 dataa,0,e,1,i,2,o,3,u,4,&,5,',6,2,7,w,8,4,9,1,10,q,11,3,12,b,13,d,14
480 dataj,17,k,18,l,19,m,20,n,21,p,22,r,22,r,23,^,24,s,25,t,26,v,27,z,28,$,29
490 data@,31,#,32,%,33,<,34,>,35,0,36,;,38,.,39,g,16,y,30,*,39,f,15
500 forq=50951to50944+t-astep4
510 e=peek(q)
520 g=int(e/16)
530 r=e-16*g
540 ifr=0andg>2*int(g/2)then570
550 g=2*int(g/2)+1:e=16*g
560 pokeq,e
570 nextq
580 return
800 forj=0to3
810 n=peek(50944+c-j)
820 poke(50944+c-j-4),n
850 nextj
860 c=c-4
870 goto290
1000 forj=0to3
1010 n=peek(50944+c-j)
1020 poke(50944+c-j+4),n
1030 n=peek(50944+c-j-4)
1040 poke(50944+c-j),n
1050 nextj
1060 c=c+4
1070 goto290
1100 forj=50944+c0+3to50944+c+3step8
1110 e=peek(j):g=int(e/16)
1115 ifg/2>int(g/2)then1200
1120 ifa$="["theng=2*int(g/2):e=16*g+1
1130 ifa$="]"theng=2*int(g/2)+1:e=16*g+15
1150 pokej,e
1200 nextj
1210 c0=c:goto290
1250 input"nom fichier";nm$:ln=len(nm$)
1300 poke780,ln:poke781,8:poke782,255
1310 sys65466
1320 fori=1toln:poke831+i,asc(mid$(nm$,i,1)):next
1330 poke780,ln:poke781,832-256*int(832/256):poke782,int(832/256)
1340 sys65469
1350 poke251,0:poke252,198
1360 af=50944+c:lf=af-256*int(af/256)
1370 poke780,251:poke781,lf:poke782,af/256
1380 sys65496