[C64] Saisie d'un code basic/ASM pour carte MAE8000

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Carl, Papy.G, fneck

cedric
Messages : 20
Enregistré le : 06 mars 2018 00:11

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par cedric » 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
Modifié en dernier par cedric le 20 mars 2018 20:33, modifié 1 fois.

cedric
Messages : 20
Enregistré le : 06 mars 2018 00:11

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par cedric » 20 mars 2018 20:08

https://we.tl/MwLpmrsLtc
https://we.tl/CAavtjaF7F


Lien du programme phonem-64.prg pour commodore64 + ph4.2speech
version non finalisée a debugger....

Avatar du membre
Xavier_AL
Messages : 230
Enregistré le : 06 déc. 2017 20:30

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par Xavier_AL » 20 mars 2018 23:03

Salut Cédric,

Quelques petites erreurs, dans les datas (ligne 480)...

Voici ma version Vice en PRG et CBMprgStudio (fichier texte).
inclus dans le zip:
phonem-64.zip
(5.15 Kio) Téléchargé 13 fois
Question: Sur Vice, la "Magic voice" est elle une cartouche compatible?
J'ai pas trouvé la config qui va bien...
:mrgreen:

fichier texte pour aperçu rapide:

Code : Tout sélectionner

!--------------------------------------------------
!- phonem-64.prg
!- Commodore 64
!--------------------------------------------------
1 PRINT"{clear}":PRINT"{brown}"
2 POKE53280,5:POKE53281,7
3 PRINT"{down*4}"
4 IFFLAG=1THEN9
5 PRINT"{space*6}phonem-64 (c) h.benoit 1984"
6 PRINT"{space*6}***************************"
7 PRINT"{down*5}":PRINT"{space*5}chargement vocabulaire en cours"
8 FLAG=1:LOAD"ph4.2speech",8,1
9 POKE53280,4:POKE53281,2
10 PRINT"{clear}":PRINT"{yellow}"
20 PRINT"{space*6}phonem-64 (c) h.benoit 1984"
30 PRINT"{space*6}***************************":PRINT"{white}"
40 PRINT:PRINT"{space*3}composez votre phrase au moyen{space*10}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"{yellow} inton:[=]{right} ponct:.*{right} duree:+-{space*2}sil:.;":print"{white}"
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"{space*8}presser c pour corriger"
400 PRINT"{space*8}presser s pour sauvegarder"
410 PRINT"{space*8}espace pour repeter"
430 GETE$:IFE$=""THEN430
440 IFE$=" " THENPRINT"{up*4}":GOTO380
450 IFE$="c"THENPRINT"{up*6}":GOTO110
455 IFE$="s"THENPRINT"{clear}":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,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-1STEP4
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

cedric
Messages : 20
Enregistré le : 06 mars 2018 00:11

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par cedric » 21 mars 2018 19:15

Merci xavier pour votre retour et votre fichier, ça m' évitera de retaper :)
Par contre de mon coté la carte electronique mea8000 ne répond pas.
J' ai vu mes erreurs mais je crois avoir grillé le mea, donc j' en recommenderai un, un peu plus tard.

Sinon sur vice je ne sais pas si la cartouche magic voice est compatible. http://www.lemon64.com/forum/viewtopic. ... 11b8e8a89e
Avis des autres membres du forum? :)

Avatar du membre
6502man
Messages : 8933
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par 6502man » 21 mars 2018 20:16

Il faudrait ouvrir une cartouche pour vérifier, mais je pense pas que cela soit la même puce.

Quelles erreur as-tu commis sur la carte électronique ?

Tu commandes ou tes MEA8000 ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

cedric
Messages : 20
Enregistré le : 06 mars 2018 00:11

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par cedric » 21 mars 2018 20:54

J' ai commandé sur ce site le mea8000 :http://www.buy-transistors.com/ics/mea8000.html
Il y a d' autres sites qui en vendent...
C' est la version 4607 mais selon eux la version m 4244 préconisée est la même. le numéro de version correspondrait a un code de date.

Mon erreur est d' avoir alimenté en 5volt la pin 14 du mea au lieu de la pin 13, j' ai ressoudé le 5 volt sur le pin 13 mais aucune réaction avec phonem-64,prg de xavier_al. Je retaperai le code pour voir.
J' ai une deuxième carte perforée et vais réessayé de refaire le circuit, le mois prochain...si le simple changement du mea suffit pas.

Avatar du membre
Xavier_AL
Messages : 230
Enregistré le : 06 déc. 2017 20:30

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par Xavier_AL » 21 mars 2018 21:10

Heu, oui ... j'ai trompé dans le titre...
Cédric, tu peux modifier le titre de ton premier message en "MEA8000" !
:mrgreen:

Compare ton montage avec celui de la carte VTR:
http://zx81.ordi5.free.fr/vtr/download/ ... ORE%5D.pdf

issus de ici : http://zx81.ordi5.free.fr/vtr/
Tu as la doc du MEA, aussi.

En fait, ça va dépendre des IO de la carte...
Pour les tests de la "Magic Voice" sur Vices, il reste sans voie aussi.

C'est embêtant !
On ne peut pas déboguer le code sur émulateur.

cedric
Messages : 20
Enregistré le : 06 mars 2018 00:11

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par cedric » 21 mars 2018 21:25

Xavier_al, a première vue votre logiciel phonem-64.prg ne semble pas buggé par rapport au mien.
J' essayerai de retaper le mien pour voir avec ma carte.
C 'est pas simple surtout quand ça fonctionne pas, je vais tout faire empiriquement.
J' avais vu le montage pour zx81 mais les montages semblent tous différents sauf pour la partie audio de sortie, et encore...
je m' y remettrai le mois prochain quand j' aurai un nouveau mea. J' ai juste suivi les instructions de "parole et micros"
Merci quand même d' avoir tapé le code du phonem-64 et ph4.2speech. :)

Avatar du membre
Xavier_AL
Messages : 230
Enregistré le : 06 déc. 2017 20:30

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par Xavier_AL » 21 mars 2018 22:15

Salut Cédric,
Le montage donné en PDF est une carte vendue pour le C64, mais je n'ai aucune informations sur le nom commerciale qui pouvait varier selon les distributeurs.
Donc, conçues par l'entreprise MAGECO, mais commercialisé par VTR pour ZX... pour Oric et Apple, le nom pouvait changer...

Pour le pin 13, pas d'affolement, c'est une entrée /REQen de validation, donc à priori pas de risque de détérioration.
Connais-tu l'adresse ou les IO de la carte? (par rapport à ton schéma!)

cedric
Messages : 20
Enregistré le : 06 mars 2018 00:11

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par cedric » 21 mars 2018 23:28

A Xavier_al
https://we.tl/ZCDKzqZAj0
P121 de parole et micros, tu as le schéma de la carte électronique pour le c64:
a gauche du schéma tu as les pins correspondant au port cartouche du c64.
(en dessous du schéma il y a une annotation : adresses décodées $9FFE et $9FFF)

https://we.tl/5L5FssrgcQ
- mea8000pdf avec les numéros des pins
- port cartouche du c64 avec numeros des pins correspondants

si ça peut t' aider

la carte commerciale pour c64 était techni-musique mais elle est différente de celle-ci.
Een comparant une photo de la techni-musique http://www.tomshardware.fr/articles/tec ... 63626.html, on voit qu'il y a plus de composants logiques sur celle de "parole et musique".

sinon pour réaliser la carte, la liste des composants se trouve chez conrad.fr

moi la mienne ne fonctionne pas donc je vais essayer un autre mea et si c' est pas ça et bien c' est mon cablage qui n' est pas bon, je verrai ça le mois prochain...Mais bon il y a eu aussi le pin ground qui a touché le 5volt, alors...

Avatar du membre
Xavier_AL
Messages : 230
Enregistré le : 06 déc. 2017 20:30

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par Xavier_AL » 22 mars 2018 02:16

Salut Cédric,

Regarde quand même si tu as un signal sur la sortie du MEA, sur sa patte de sortie audio!
ca peut-être un problème d'ampli...
(teste avec un HP/entrée son d'un PC, et écoute si ca crache lors des essais! Pas avec un voltmètre car ca va être difficile à visualiser)

Car tu faisais remarquer le nombre de composants qui n'était pas le même, mais ça dépend du type d'ampli mis en sortie de la bête, et du mode de décodage d'adresse pour la configuration des IOs.

Sur la carte VTR, il y a une sortie audio et un potar à gauche de l'extension.

Laissons un peu de temps pour s'imprégner du montage, et tu nous donnes des infos plus tard.

Certains auront peut-être l'idée de réaliser ce montage sympa pour eux même!
:P

Avatar du membre
6502man
Messages : 8933
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par 6502man » 30 mars 2018 11:50

D'ailleurs quel serait le type d'ampli en sortie (uniquement en +5V) pour le connecter à des Haut-Parleurs type PC ou une TV ???
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Avatar du membre
Xorion
Messages : 79
Enregistré le : 17 mars 2018 10:00

Re: [C64] Saisie d'un code basic/ASM pour carte MAE8000

Message par Xorion » 04 avr. 2018 16:34

Wow beau projet ! mais ça a pas l'air coton ^^ en tout cas bravo et je te souhaite d'y parvenir. tu es sur la bonne voix je crois.
Perso je cherche une carte Techni Sythetiseur Vocal pour C64 mais ça à l'air dur à trouver...

Ta cartouche faite maison donnera le même résultat ? :-)

et si tu aboutis, tu pourras en faire d'autres éventuellement pour ceux qui comme moi n'ont pas trouvé de synthe vocal techni ?

Répondre