[Thomson] DCMOTO nouveau

Couvre tous les domaines de l'émulation ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 9744
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] DCMOTO nouveau

Message par Daniel » 18 avr. 2016 18:35

Merci __sam__. Je m'attendais à cet ordre de grandeur mais je n'avais pas eu le temps de faire l'étude précise. Avec 5700 octets/s le son est supportable, l'animation d'un dessin au trait aussi. Avec le double on doit pouvoir faire son + vidéo. C'est mon premier objectif.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
jb_jb_fr
Messages : 293
Enregistré le : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson] DCMOTO nouveau

Message par jb_jb_fr » 18 avr. 2016 23:06

Daniel

Ton code ca pourrait donner ca:

Code : Tout sélectionner

RBYTE
  LDMD  #$01          Passage en mode Natif     (5)
  LDQ   #$FE7F005F    A.b0 marqueur fin de boucle (5)
RBYTE1     
  STB   <$CC          clock high, di high       (3)
  CMPB  <$CC          PA b7 (bit lu) -> carry   (3)
  STF   <$CC          clock low, di high        (4)
  ROLA                C (bit lu) -> b0 reg A    (1)
  BCS   RBYTE1        suite de la boucle        (3)
  LDMD  #$00          Passage en mode emulation (5)
  RTS                 retour (octet dans A)     (4)
Jacques

__sam__
Messages : 3815
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] DCMOTO nouveau

Message par __sam__ » 18 avr. 2016 23:44

Joli 8)

Code : Tout sélectionner

  LDQ   #$FE7F005F    A.b0 marqueur fin de boucle (5)
Ca m'impressionne de voir des instructions pour cpu 8bits ayants des arguments en 32bits :P
Samuel.
Amiga 500+GVP530(MMU/FPU) (hs), A1200(030@50mhz/fpu/64mb/cf 8go), R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Daniel
Messages : 9744
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] DCMOTO nouveau

Message par Daniel » 19 avr. 2016 08:53

Merci Jacques !
Il faudra dérouler la boucle pour gagner du temps. Dans ce cas A n'a plus besoin d'être initialisé et on peut choisir les registres E et F pour l'horloge. Le passage en mode natif et le retour en mode émulé ne seront pas à chaque octet, mais à chaque secteur de 512 octets pour la simulation des disquettes, ou une seule fois pour les démonstrations de streaming. On doit arriver à moins de 90 cycles par octet. C'est presque deux fois moins qu'avec le 6809.
Daniel
L'obstacle augmente mon ardeur.

__sam__
Messages : 3815
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] DCMOTO nouveau

Message par __sam__ » 19 avr. 2016 09:04

Attention cependant STE/STF prennent un cycle de plus que STA/STB.
Samuel.
Amiga 500+GVP530(MMU/FPU) (hs), A1200(030@50mhz/fpu/64mb/cf 8go), R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Daniel
Messages : 9744
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] DCMOTO nouveau

Message par Daniel » 19 avr. 2016 09:49

Alors on doit pouvoir utiliser A et B pour l'horloge et E ou F pour stocker l'octet lu.
On aura le temps d'en discuter plus tard. Dans l'immédiat l'objectif prioritaire est d'émuler le 6309 dans dcmoto pour pouvoir tester.
Daniel
L'obstacle augmente mon ardeur.

__sam__
Messages : 3815
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] DCMOTO nouveau

Message par __sam__ » 19 avr. 2016 10:43

Tout a fait :) (au passage RORW est intéressant et permet de dérouler sur 16 bits. Un fil sur le 6309 sera le bien venu plus tard. ;) )
Samuel.
Amiga 500+GVP530(MMU/FPU) (hs), A1200(030@50mhz/fpu/64mb/cf 8go), R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Avatar du membre
jb_jb_fr
Messages : 293
Enregistré le : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson] DCMOTO nouveau

Message par jb_jb_fr » 19 avr. 2016 22:03

Daniel a écrit :Dans l'immédiat l'objectif prioritaire est d'émuler le 6309 dans dcmoto pour pouvoir tester.
Daniel

Si ça t’intéresse, je peux te fournir les 3 ROM OS9-6309 pour que tu puisses tester ton émulation.

Jacques

Daniel
Messages : 9744
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] DCMOTO nouveau

Message par Daniel » 20 avr. 2016 13:16

Merci, mais pas avant quelques mois. Avant de tester il faut émuler le 6309, intégrer les nouvelles instructions dans le désassembleur et modifier l'outil de mise au point de dcmoto. Il faudra du temps...
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 9744
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] DCMOTO nouveau

Message par Daniel » 08 mai 2016 22:05

La version 2016.05.08 de dcmoto_nouveau est disponible à l'adresse habituelle : http://dcmoto.free.fr/emulateur/index.html
Une option a été ajoutée pour visualiser (plus ou moins) les lignes de balayage d'un écran CRT.
dcmoto_20160508.png
dcmoto_20160508.png (17.01 Kio) Vu 817 fois
Daniel
L'obstacle augmente mon ardeur.

__sam__
Messages : 3815
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] DCMOTO nouveau

Message par __sam__ » 08 mai 2016 23:06

Daniel a écrit :La version 2016.05.08 de dcmoto_nouveau est disponible à l'adresse habituelle : http://dcmoto.free.fr/emulateur/index.html
Il me semble que ca n'est pas cette adresse pour dcmoto_nouveau. La dernière fois je m'étais fait avoir et ca bien failli ce coup-ci aussi ;)
Samuel.
Amiga 500+GVP530(MMU/FPU) (hs), A1200(030@50mhz/fpu/64mb/cf 8go), R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Avatar du membre
mastacut
Messages : 258
Enregistré le : 14 mars 2016 05:12
Localisation : Thionville-Luxembourg-Belgique (Lorraine) Moselle

Re: [Thomson] DCMOTO nouveau

Message par mastacut » 08 mai 2016 23:29

Daniel a écrit :La version 2016.05.08 de dcmoto_nouveau est disponible à l'adresse habituelle : Image
Une option a été ajoutée pour visualiser (plus ou moins) les lignes de balayage d'un écran CRT.
Impeccable, Voila une option très intéressante pour simuler l'effet Scanlines, ce qui rends les graphismes fidèles à l’écran CRT, Les THOMSONISTES vont apprecier ... comme moi :wink: .

Image

PS : par contre je pense que les valeurs (je me trompe peut être de valeurs) : le numéro 1 devrait être a 25%, numéro 2 : 50% et numéro 3 devrait être a 75% (100% est juste un peut trop élevée a mon avis pour le Numero 3), 0 est bien entendu sans effets.
J'ai l'impression de de 2 a 3 nous passons de 50% a 100% d'effets si je me trompe ? ... Sinon c'est parfait ou revoir les valeurs (La valeur 2 est très bien et la plus proche du CRT, une valeur juste au dessus serait Tip Top ... du moins je pense ...) :wink:

Image
Image

@Daniel ... très bon travail la medaille d'or ! :lol: .... L'option 4/3 et 16/9 serait aussi la bien venue, car l'ecran etiré enleve un peu le charme lorsque l'on bascule en plein ecran sur les Ecran PC actuels.

Voici ce que je fait en mode fenetré pour obtenir a peu près le format d'origine :
4/3 zoom 100% :

Image

4/3 Zoom 150% :

Image

Image
Modifié en dernier par mastacut le 09 mai 2016 04:06, modifié 3 fois.

__sam__
Messages : 3815
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] DCMOTO nouveau

Message par __sam__ » 09 mai 2016 00:14

mastacut a écrit :Image
Oh punaise!!!! j'ai été eu.. je ne voyais pas ces trucs écrits en tout petits. Quel... bigleux je fais! :oops:
Samuel.
Amiga 500+GVP530(MMU/FPU) (hs), A1200(030@50mhz/fpu/64mb/cf 8go), R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Daniel
Messages : 9744
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] DCMOTO nouveau

Message par Daniel » 09 mai 2016 08:22

J'ai fait cette modification en vitesse hier soir, et je pense (comme mastacut) qu'on peut largement améliorer l'algorithme.

La couleur (sur 24 bits) des lignes intermédiaires est calculée en fonction de l'option choisie :
Option 0 : AND avec 0xffffff de la couleur de la ligne précédente = copie de la ligne précédente
Option 1 : AND avec 0xdfdfdf de la couleur de la ligne précédente
Option 2 : AND avec 0xbfbfbf de la couleur de la ligne précédente
Option 3 : AND avec 0x000000 de la couleur de la ligne précédente = ligne noire

Les valeurs choisies pour le AND peuvent évidemment être ajustées, mais c'est surtout l'algorithme qui est mauvais, car il change la couleur perçue. Pour respecter les couleurs, il faudrait à la fois éclaircir les lignes de balayage et assombrir les lignes intermédiaires. Je compte sur vos propositions pour améliorer la prochaine version.
Daniel
L'obstacle augmente mon ardeur.

__sam__
Messages : 3815
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] DCMOTO nouveau

Message par __sam__ » 09 mai 2016 12:33

il y aurait aussi un truc possible comme dans UAE: les trames paires affichent les lignes paires et les trames impaires affichent les lignes impaires. Ca donne un écran entrelacé comme une TV avec donc une image complète 25 fois par secondes au lieu de 50.
Samuel.
Amiga 500+GVP530(MMU/FPU) (hs), A1200(030@50mhz/fpu/64mb/cf 8go), R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Répondre