Du nouveau pour Thomson
Modérateurs : Papy.G, fneck, Carl
Re: Du nouveau pour Thomson
Avec le PortA et B c'est une vraie galère car totalement différent d'une config à l'autre rien que le TO7 et TO7/70 la matrice n'est pas géré de la même manière et sans parler des TO8,TO9 ....
J'abandonne cette solution et je reprend avec GETC
le délai de répétition des touches est réglable sur TO7 mais le même réglage bloque le clavier sur TO8
J'abandonne cette solution et je reprend avec GETC
le délai de répétition des touches est réglable sur TO7 mais le même réglage bloque le clavier sur TO8
Re: Du nouveau pour Thomson
Les claviers TO7 et TO9 n'ont rien de commun, ni dans le principe, ni dans les adresses. Il n'y a aucune chance d'y accéder physiquement avec le même programme.
Le délai de répétition, en particulier, est assuré par les interruptions timer pour le TO7, et par le processeur 6805 du clavier pour le TO9. Dans le premier cas, il peut être modifié en changeant un paramètre en RAM, dans le deuxième cas il faut envoyer des commandes au clavier au travers de la liaison série à 9600 bauds. Pour compliquer les choses il n'y a pratiquement pas de documentation sur le sujet, c'est donc extrêmement difficile.
Le délai de répétition, en particulier, est assuré par les interruptions timer pour le TO7, et par le processeur 6805 du clavier pour le TO9. Dans le premier cas, il peut être modifié en changeant un paramètre en RAM, dans le deuxième cas il faut envoyer des commandes au clavier au travers de la liaison série à 9600 bauds. Pour compliquer les choses il n'y a pratiquement pas de documentation sur le sujet, c'est donc extrêmement difficile.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Du nouveau pour Thomson
Oui et je comprends mieux les incompatibilités des jeux TO7 au clavier sur TO8/TO9
Sinon j'ai constaté une incompatibilité du jeux sur l'émulateur TEO, pourtant ca fonctionne correctement sur DCMOTO à l'identique du vrai TO8D
Sinon j'ai constaté une incompatibilité du jeux sur l'émulateur TEO, pourtant ca fonctionne correctement sur DCMOTO à l'identique du vrai TO8D
Re: Du nouveau pour Thomson
Je crois que Prehisto est actuellement le principal développeur de TEO. Il faudrait lui signaler.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Du nouveau pour Thomson
Oui Préhisto ou Gilles (Fétis), mais ils se font rares ces dernier temps.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Du nouveau pour Thomson
C'est peut être ma cartouche qui n'est pas conforme
Quoiqu'elle fonctionne sur un vrai TO8D
Sinon j'arrive pas à trouver une solution pour avoir du son et en même temps attendre l'appuie d'une touche, c'est pour le menu de démarrage !!
Il faut rester appuyé 2 secondes sur la touche pour qu'elle soit détecté
J'ai codé ca :
Quoiqu'elle fonctionne sur un vrai TO8D
Sinon j'arrive pas à trouver une solution pour avoir du son et en même temps attendre l'appuie d'une touche, c'est pour le menu de démarrage !!
Il faut rester appuyé 2 secondes sur la touche pour qu'elle soit détecté
J'ai codé ca :
Code : Tout sélectionner
BoucleData2
LDB 7,X
CMPB #$00
BEQ EndSOUND2
JSR sfxNOTE
INX
JSR KEY
CMPB #$31
BEQ EndSOUND2
CMPB #$33
BEQ EndSOUND2
CMPB #$22
BEQ EndSOUND2
CMPB #$2A
BEQ EndSOUND2
BRA BoucleData2
EndSOUND2
RTS
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Du nouveau pour Thomson
Plutôt que de faire un appel à GETC qui est une routine lente, il vaut mieux faire avant appel à KTST qui détecte rapidement s'il y a oui ou non une touche à lire. Si le flag C=0, il n'y a rien à lire et on peut passer à la suite, sinon si C=1 à la sortie de KTST alors tu peux appeler GETC et tu aura une vraie touche appuyée dans B.
Sinon, si c'est la routine moniteur qui joue de la musique alors c'est normal que la détection de touche soit retardée: il faut attendre +/- longtemps suivant la longueur de la note qu'elles rendent la main avant de faire appel à ta routine KEY. La musique de la page de présentation de Sortilège possède aussi ce défaut qu'il faut attendre un peu entre l'appui d'une touche et sa prise en compte. Cependant, 2secs me paraissent longs. En pratique je dirais qu'il faut plutôt 1/2 sec ce qui est déjà très long pour des gamins qui veulent jouer.
Enfin le CMPB #00 juste après le LDB 7,X est inutile: sur 6809 le chargement par LD<truc> positionne toujours les flags. ==> code plus court, plus rapide et plus dans l'esprit 6809.
Sinon, si c'est la routine moniteur qui joue de la musique alors c'est normal que la détection de touche soit retardée: il faut attendre +/- longtemps suivant la longueur de la note qu'elles rendent la main avant de faire appel à ta routine KEY. La musique de la page de présentation de Sortilège possède aussi ce défaut qu'il faut attendre un peu entre l'appui d'une touche et sa prise en compte. Cependant, 2secs me paraissent longs. En pratique je dirais qu'il faut plutôt 1/2 sec ce qui est déjà très long pour des gamins qui veulent jouer.
Enfin le CMPB #00 juste après le LDB 7,X est inutile: sur 6809 le chargement par LD<truc> positionne toujours les flags. ==> code plus court, plus rapide et plus dans l'esprit 6809.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Du nouveau pour Thomson
Bon j'ai abandonné la musique sur le menu, mais j'ai improvisé une bricole en plus
Sinon j'ai enfin pu faire des tests sur plusieurs TO, et surtout vérifier sur TO9 en bricolant pour faire rentrer la cartouche avec EERPOM :
TO9
Comme sur DCMOTO plantage:
T9000 clavier gomme
Fonctionne très bien, sauf que ce T9000 à un petit problème de couleur !
TO7-70 clavier mécanique
Fonctionne très bien
TO8
Fonctionne et différemment de DCMOTO car il y a répétition des touches pas pratique pour le jeu !
Donc en résumé comme je l'avais constaté sur DCmoto le jeu n'est pas compatible TO9
Et comme je l'avais déjà constaté au paravent il y a répétition de touches sur TO8
Et finalement le jeu est idéal sur un T9000 ou TO7 ou TO7/70
Il me reste à trouver comment réduire la répétition des touches sur TO8, lorsque j'appuie par exemple sur la touche haut elle est pris en compte 2 ou 3 fois d'affilé et pourtant j'utilise GETC.
j'ai déjà implémenté l’identification du modèle de TO car j'avais déjà un problème de beep du clavier sur TO7, il me reste juste à intégrer la réduction de la répétition pour TO ....
Sinon j'ai enfin pu faire des tests sur plusieurs TO, et surtout vérifier sur TO9 en bricolant pour faire rentrer la cartouche avec EERPOM :
TO9
Comme sur DCMOTO plantage:
T9000 clavier gomme
Fonctionne très bien, sauf que ce T9000 à un petit problème de couleur !
TO7-70 clavier mécanique
Fonctionne très bien
TO8
Fonctionne et différemment de DCMOTO car il y a répétition des touches pas pratique pour le jeu !
Donc en résumé comme je l'avais constaté sur DCmoto le jeu n'est pas compatible TO9
Et comme je l'avais déjà constaté au paravent il y a répétition de touches sur TO8
Et finalement le jeu est idéal sur un T9000 ou TO7 ou TO7/70
Il me reste à trouver comment réduire la répétition des touches sur TO8, lorsque j'appuie par exemple sur la touche haut elle est pris en compte 2 ou 3 fois d'affilé et pourtant j'utilise GETC.
j'ai déjà implémenté l’identification du modèle de TO car j'avais déjà un problème de beep du clavier sur TO7, il me reste juste à intégrer la réduction de la répétition pour TO ....
Re: Du nouveau pour Thomson
Je n'arrive pas à trouver l'information de configuration de la répétition des touches dans les docs technique du TO8
EDIT: si j'ai trouvé apparemment la solution : le buffer clavier en $607B, réponse après les tests...
EDIT: si j'ai trouvé apparemment la solution : le buffer clavier en $607B, réponse après les tests...
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Du nouveau pour Thomson
C'est bizzare cette répétition des touches.
De mémoire la répétion sur thomson me semble suivre ce principe: quand on appuie sur une lettre, disons A, GETC retourne A. Si on reste appuyé sur A et qu'on appelle à nouveau GETC, ce dernier ne rend pas la main tout de suite mais au bout de 1/2 ou 1/3 de seconde. Ensuite si on reste toujours appuyé sur A, GETC n'attends plus que 1/10sec (à la louche) avant de rendre la main (auto-repeat). En gros on observe quelque chose comme: A <attente 1/2 sec> A <attente 1/10 sec> A <attente 1/10 sec> A <attente 1/10 sec> ....
Un desassemblage de la routine GETC sur TO8 pourrait te permettre de voir si tu peux ou pas diminuer les temps d'attente en cas d'auto-repeat. A noter si c'est bien 1/10secs l'auto-repeat il n'est pas exclus que celà soit fortement lié à l'IRQ du timer. Donc en changeant la vitesse du timer on est peut-être capable de moduler l'auto-repeat.
Pour info sur TO9 pour lire le clavier hyper rapidement en basic je faisais: $E7C8 contient 0 si aucune tout n'est appuyée, et 1 sinon. Quant à $E7DF il contient le code ascii de la dernière touche lue par le clavier.
De mémoire la répétion sur thomson me semble suivre ce principe: quand on appuie sur une lettre, disons A, GETC retourne A. Si on reste appuyé sur A et qu'on appelle à nouveau GETC, ce dernier ne rend pas la main tout de suite mais au bout de 1/2 ou 1/3 de seconde. Ensuite si on reste toujours appuyé sur A, GETC n'attends plus que 1/10sec (à la louche) avant de rendre la main (auto-repeat). En gros on observe quelque chose comme: A <attente 1/2 sec> A <attente 1/10 sec> A <attente 1/10 sec> A <attente 1/10 sec> ....
Un desassemblage de la routine GETC sur TO8 pourrait te permettre de voir si tu peux ou pas diminuer les temps d'attente en cas d'auto-repeat. A noter si c'est bien 1/10secs l'auto-repeat il n'est pas exclus que celà soit fortement lié à l'IRQ du timer. Donc en changeant la vitesse du timer on est peut-être capable de moduler l'auto-repeat.
Pour info sur TO9 pour lire le clavier hyper rapidement en basic je faisais:
Code : Tout sélectionner
LETTRE% = PEEK(&HE7C8)*PEEK(&hE7DF)
Dernière modification par __sam__ le 28 mai 2016 18:08, modifié 1 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Du nouveau pour Thomson
J'ai peut être aussi un bug dans mon programme
Ou mon programme assembleur est trop rapide
Mais en tout cas ca ne le fait pas sur TO7 et TO7/70 clavier gomme ou mécanique !
Demain je fait le test avec la modification de la taille du buffer pour voir si cela affecte la répétition des touches ....
Ou mon programme assembleur est trop rapide
Mais en tout cas ca ne le fait pas sur TO7 et TO7/70 clavier gomme ou mécanique !
Demain je fait le test avec la modification de la taille du buffer pour voir si cela affecte la répétition des touches ....
Re: Du nouveau pour Thomson
J'ai trouvé ce qui fait que le jeu plante sur TO9, mais je ne vois pas pourquoi :
Il y a changement de pagination et le numéro de ROM passe à 2 au lieur de 0 ???
Mais ca ne ce produit que sur TO9 ???
EDIT:Ca y est j'ai trouvé c'est dans la routine "NOTE" du moniteur du TO9
Ca me parait trop gros mais si je désactive les appels à cette routine tout fonctionne correctement
Il y a changement de pagination et le numéro de ROM passe à 2 au lieur de 0 ???
Mais ca ne ce produit que sur TO9 ???
EDIT:Ca y est j'ai trouvé c'est dans la routine "NOTE" du moniteur du TO9
Ca me parait trop gros mais si je désactive les appels à cette routine tout fonctionne correctement
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Du nouveau pour Thomson
NOTE sur TO9 active la commutation de ROM pour appeller une routine en $3FF0 de la rom interne 3. J'imagine que le décodage d'adresse se fait mal et qu'on tombe sur ta ROM à cette adresse. Comme à tous les coups en $3FF0 il n'y aura pas la routine attendue, pas étonnant que ca plante.
Code : Tout sélectionner
3FF0 7E30B5 JMP $30B5
30B5 347F PSHS U,Y,X,DP,B,A,CC
30B7 8660 LDA #$60
30B9 1F8B TFR A,DP
30BB 1A50 ORCC #$50
30BD C40F ANDB #$0F
30BF 8E313E LDX #$313E
30C2 E685 LDB B,X
30C4 9E31 LDX /$31
30C6 109E33 LDY /$33
30C9 1F98 TFR B,A
30CB 4D TSTA
30CC 2602 BNE $30D0
30CE 8650 LDA #$50
30D0 0F6C CLR /$6C
30D2 D135 CMPB /$35
30D4 2328 BLS $30FE
30D6 0D6C TST /$6C
30D8 2706 BEQ $30E0
30DA 9B35 ADDA /$35
30DC D035 SUBB /$35
30DE 0F6C CLR /$6C
30E0 DE36 LDU /$36
30E2 3404 PSHS B
30E4 3402 PSHS A
30E6 B6E7C1 LDA $E7C1
30E9 8A08 ORA #$08
30EB B7E7C1 STA $E7C1
30EE 8D30 BSR $3120
30F0 3502 PULS A
30F2 3504 PULS B
30F4 2728 BEQ $311E
30F6 335F LEAU -$01,U
30F8 11830000 CMPU #$0000
30FC 26E4 BNE $30E2
30FE DE36 LDU /$36
3100 3402 PSHS A
3102 3404 PSHS B
3104 B6E7C1 LDA $E7C1
3107 84F7 ANDA #$F7
3109 B7E7C1 STA $E7C1
310C 8D12 BSR $3120
310E 3504 PULS B
3110 3502 PULS A
3112 270A BEQ $311E
3114 335F LEAU -$01,U
3116 11830000 CMPU #$0000
311A 26E4 BNE $3100
311C 20B4 BRA $30D2
311E 35FF PULS CC,A,B,DP,X,Y,U,PC
3120 A67F LDA -$01,S
3122 E663 LDB $03,S
3124 4C INCA
3125 5A DECB
3126 26FC BNE $3124
3128 A17F CMPA -$01,S
312A 240D BCC $3139
312C 0C6C INC /$6C
312E 313F LEAY -$01,Y
3130 2607 BNE $3139
3132 109E33 LDY /$33
3135 301F LEAX -$01,X
3137 2704 BEQ $313D
3139 A77F STA -$01,S
313B 1CFB ANDCC #$FB
313D 39 RTS
313E FCB 00,$77,$70,$69,$62,$5C ,$56,$50n$5B,$46,$41,$3C,$38
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Du nouveau pour Thomson
Oui effectivement, bon et bien ca restera l'exception, le jeu ne seras pas compatible TO9
Et la cartouche BASIC ARABE ne fonctionne pas non plus sur TO9 mais fonctionne sur TO7/8/9+
En développant le TO9 il n'ont pas penser que dans le futur des cartouches pourrais utiliser 64Ko
Et la cartouche BASIC ARABE ne fonctionne pas non plus sur TO9 mais fonctionne sur TO7/8/9+
En développant le TO9 il n'ont pas penser que dans le futur des cartouches pourrais utiliser 64Ko
Re: Du nouveau pour Thomson
Du coup suite à l'aventure de ce week end je n'ai pas pu terminer le jeu
Il me reste qu'à résoudre le problème de répétitions des touches du clavier sur TO8 pour terminer, je vais essayer de m'y remettre d'ici ce week end ....
Il me reste qu'à résoudre le problème de répétitions des touches du clavier sur TO8 pour terminer, je vais essayer de m'y remettre d'ici ce week end ....