Du nouveau pour Thomson

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

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

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 :twisted: et sans parler des TO8,TO9 ....
J'abandonne cette solution et je reprend avec GETC :roll:

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 :twisted: :shock:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Du nouveau pour Thomson

Message par Daniel »

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.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

Oui et je comprends mieux les incompatibilités des jeux TO7 au clavier sur TO8/TO9 :lol: :lol: :lol:


Sinon j'ai constaté une incompatibilité du jeux sur l'émulateur TEO, pourtant ca fonctionne correctement sur DCMOTO à l'identique du vrai TO8D :roll:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Du nouveau pour Thomson

Message par Daniel »

Je crois que Prehisto est actuellement le principal développeur de TEO. Il faudrait lui signaler.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Du nouveau pour Thomson

Message par __sam__ »

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
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

C'est peut être ma cartouche qui n'est pas conforme :roll:

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

Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Du nouveau pour Thomson

Message par __sam__ »

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.
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
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

Bon j'ai abandonné la musique sur le menu, mais j'ai improvisé une bricole en plus :roll:

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 :lol: :


TO9
Comme sur DCMOTO plantage:
Image

T9000 clavier gomme
Fonctionne très bien, sauf que ce T9000 à un petit problème de couleur !
Image
Image

TO7-70 clavier mécanique
Fonctionne très bien
Image
Image
Image

TO8
Fonctionne et différemment de DCMOTO car il y a répétition des touches pas pratique pour le jeu !
Image

Donc en résumé comme je l'avais constaté sur DCmoto le jeu n'est pas compatible TO9 :( :x
Et comme je l'avais déjà constaté au paravent il y a répétition de touches sur TO8 :twisted:

Et finalement le jeu est idéal sur un T9000 ou TO7 ou TO7/70 :lol: :lol:

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 ....
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

Je n'arrive pas à trouver l'information de configuration de la répétition des touches dans les docs technique du TO8 :roll:

EDIT: si j'ai trouvé apparemment la solution : le buffer clavier en $607B, réponse après les tests...
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Du nouveau pour Thomson

Message par __sam__ »

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:

Code : Tout sélectionner

 LETTRE% = PEEK(&HE7C8)*PEEK(&hE7DF)
$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.
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
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

J'ai peut être aussi un bug dans mon programme :roll:
Ou mon programme assembleur est trop rapide :lol: :lol:

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 ....
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

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 :shock:
Ca me parait trop gros mais si je désactive les appels à cette routine tout fonctionne correctement :shock:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Du nouveau pour Thomson

Message par __sam__ »

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
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

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+ :wink:

En développant le TO9 il n'ont pas penser que dans le futur des cartouches pourrais utiliser 64Ko :roll:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Du nouveau pour Thomson

Message par 6502man »

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 ....
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Répondre