[Alice 32 et 90] DCAlice version 2011.04

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

Modérateurs : Carl, Papy.G, fneck

Avatar du membre
Carl
Modérateur
Messages : 10159
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Carl » 30 avr. 2011 23:40

ça c'est du 9345 :

Image


la page consacré au 9345 dans le VG5000 et comme le rappelle Daniel, chez Philips, les ingénieurs n'ont pas utilisé les possibilités du 9345 dans le VG5000, j'ai découvert le mode 80 colonnes grace au travail de Daniel et les 27 pseudo couleurs....

http://vg5k.free.fr/index.php?gosub=sEJ-gF15F]dO5WnKt4BAeCwE

Image

Image

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Daniel » 01 mai 2011 08:41

6502man a écrit :Donc 4 couleurs par caracteres mais quelle résolution maximale et quelle palette ?
Tout est expliqué en détail dans la datasheet de l'EF9345 et dans le livre "Les Astuces d'Alice 32 et 90" :
http://alice32.free.fr/doc/index.html

On voit par exemple que les ingénieurs de Matra ont utilisé le bit d'incrustation pour obtenir des demi-teintes, qui permettent d'afficher 14 couleurs différentes au lieu des 8 couleurs de base. Le VG5000, lui, reste limité à 8 couleurs (sauf si on les mélange, comme dans ma démonstration, mais dans ce cas l'écran clignote un peu).

Une fonction de l'EF9345 n'a jamais été utilisée par Matra ni par Philips : les codes caractères de longueur variable. Ils permettent de comprimer le code de l'image et donc de réduire sa taille en mémoire. Ce mode n'est pas émulé par dcalice ni par dcvg5k : si vous voulez l'essayer il faudra utiliser les vraies machines.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
Eric_80
Messages : 184
Enregistré le : 31 mars 2011 16:52

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Eric_80 » 01 mai 2011 12:59

C'est très intéressant tout ça! :)

Pour l'instant, je plafonne à 160x125 comme résolution graphique.
Tous les descriptif de l'Alice, que ce soit le wiki Alice ou autres docs, parlent de résolution 320x250 accessibles en assembleur.

L'info doit être vraie, donc je cherche. Même avec seulement 2 couleurs, ça permet de gagner en finesse.

A gauche, c'est du 160 x 125 que j'ai tracé en mode CLS 81 avec quelques lignes de Basic.

Regardez à droite le logo rond "Matra" qui vient de la page d'accueil du jeu "TANK" :
Les lignes fines semblent être du 320 x 250 non ? Les lignes semblent 2 fois plus fines que le 160 x 125 !

Il faut donc regarder comment ce logo MATRA est crée et on pourra dessiner en 320 x 250 sur Alice... :wink:
Fichiers joints
Resolution_160x125.PNG
Resolution_160x125.PNG (5.46 Kio) Vu 2336 fois

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Daniel » 01 mai 2011 13:42

La résolution maximale de l'EF9345 est 480x250 en mode 80 caractères par ligne. Il y a 25 lignes de 80 caractères de 6x10 pixels.
Le mode 160x125 n'est pas un mode graphique. C'est un mode caractère avec une police de caractères semi-graphiques.
L'EF9345 n'a pas de mode graphique. Le seul moyen d'accéder au pixel est de redéfinir les caractères.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
fneck
Site Admin
Messages : 12122
Enregistré le : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par fneck » 01 mai 2011 13:51

Ce point sur les possibilités graphiques n'est pas assez clair sur le wiki.

Avatar du membre
Eric_80
Messages : 184
Enregistré le : 31 mars 2011 16:52

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Eric_80 » 01 mai 2011 13:52

Le logo Matra (rond bleu) est composé de caractères composés chacun individuellement ?? oouch!!
Mauvaise nouvelle. :shock:
Néanmoins, ça permet de dessiner des lutins (sprites) quand même plus fins.
Daniel a écrit :La résolution maximale de l'EF9345 est 480x250 en mode 80 caractères par ligne. Il y a 25 lignes de 80 caractères de 6x10 pixels.
J'ai toujours lu 320 x 250 pour les capacités max de l'Alice (en assembleur). Ici :

http://alice.system-cfg.com/hardware.php

" 32 x 16, 40 x 25 ou
80 x 25 caractères
320 x 250 pixels max. "

Si je peux accéder à du 480 x 250 , je suis preneur. :)
Je veux bien aussi essayer les codes caractères de longueur variables. Toute économie de mémoire est précieuse sur un 8 bits.
Comment faire ? Je lis la doc sur le EF9345 pour comprendre...

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Daniel » 01 mai 2011 14:20

Non, malheureusement, comme le dit la documentation, le programmeur ne peut pas accéder au pixel quand l'EF9345 est dans sa résolution maximum (480x250), car les caractères ne peuvent pas être redéfinis en mode 80 colonnes. C'est possible uniquement en mode 40 colonnes (résolution 320x250).

Dans le wiki, on peut dire :
- Résolution maximum : 480x250 en mode 80 colonnes (modification d'un pixel par le programme impossible).
- Résolution standard : 320x250 en mode 40 colonnes (modification d'un pixel possible en redéfinissant les caractères).
Daniel
L'obstacle augmente mon ardeur.

sinus
Messages : 34
Enregistré le : 19 mars 2010 13:00
Localisation : Lille

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par sinus » 31 mai 2011 14:33

Toujours à propos du 9345,

Sur DCAlice, j'ai essayé d'accéder à l'intégralité de la VidéoRAM d'Alice, en modifiant les valeurs des pointeurs auxiliaires X'(octet),Y'(tampon),Z'(bloc) via les registres R4,R5 et R6. J'incrémente les 3 valeurs jusqu'aux valeurs limites et remplis les adresses VRAM pointées successivement par une valeur donnée ($EE par exple.).

L'ensemble de la VRAM se remplit correctement de $EE à l'exception des 8 zones suivantes, de taille $17F, auxquelles je n'arrive pas du tout à accéder, quoi que je fasse:
$0080-$01FF
$0880-$09FF
$1080-$11FF
$1880-$19FF
$2080-$21FF
$2880-$29FF
$3080-$31FF
$3880-$39FF

Je relis et re-teste mes routines et cherche l'explication partout, mais je ne trouve rien. Les Astuces d'Alice explique le comportement bizarre du pointeur Y, mais que j'en tienne compte ou pas en couvrant toutes les valeurs possibles et impossibles de Y, même résultat.

Quelqu'un saurait-il si ces zones VRAM de l'EF9345 sont définitivement inaccessibles, ce qui voudrait dire que $BF8 octets de la VRAM sont définitivement inutilisables? Une idée de ce qui se passe? Ca me rassurerait... :D

Merci,
Sinus

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Daniel » 31 mai 2011 15:00

L'accès à la VRAM de l'EF9345 est très particulier : l'adresse logique ne correspond pas à l'adresse physique : voir la datasheet de l'EF9345 page 11, et la correspondance adressage logique/physique figure 11 page 12.

Cette astuce permet d'économiser de la mémoire physique, au prix d'une certaine complexité. Dans dcalice l'économie de quelques kilo-octets est totalement inutile. Pour simplifier, je travaille uniquement avec les adresses logiques, et toutes ne sont pas accessibles. C'est normal.
Daniel
L'obstacle augmente mon ardeur.

sinus
Messages : 34
Enregistré le : 19 mars 2010 13:00
Localisation : Lille

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par sinus » 01 juin 2011 14:47

Merci de ces précisions, Daniel. Ca commence à s'éclaircir, même si ça reste complexe. Ce qui est décrit dans le datasheet commence à me parler. En tout cas, pas la peine d'essayer d'atteindre certaines adresses visualisables par le débugueur, elles sont donc définitivement inaccessibles en programmation. :)
Sinus

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Daniel » 01 juin 2011 17:36

L'EF9345 est très complexe. J'ai eu plus de difficultés pour émuler ce circuit que pour tout le reste de l'émulation VG5000 et Alice. Mais ce n'est pas terminé : certaines fonctions ne sont pas encore programmées, en particulier les commandes $05, $07 et $40 à $49. Comme elles ne sont utilisées par aucun programme connu, il aurait fallu écrire des jeux d'essai spécifiques et les tester sur les vraies machines. Je n'ai pas eu le courage...

HS: ce matin j'ai récupéré un minitel 1 RTIC, emprunté son EF9345 pour réparer le VG5000 dont j'avais pris l'EF9345 pour réparer un Alice 90. Je ne sais pas si vous me suivez ? Pour finir, l'Alice 90 et le VG5000 fonctionnent bien, mais le minitel affiche un écran rempli de points d'interrogations à l'envers. En attendant de trouver un autre EF9345 :wink:
Daniel
L'obstacle augmente mon ardeur.

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par 6502man » 01 juin 2011 22:20

Daniel a écrit :....certaines fonctions ne sont pas encore programmées, en particulier les commandes $05, $07 et $40 à $49. Comme elles ne sont utilisées par aucun programme connu, il aurait fallu écrire des jeux d'essai spécifiques et les tester sur les vraies machines. Je n'ai pas eu le courage...
A quoi correspond ces commandes ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Daniel » 02 juin 2011 09:40

Elles sont décrites en détail dans la datasheet de l'EF9345, pages 35 et 36, à la page Documentation du site http://alice32.free.fr
Ce sont respectivement les commandes CLF, CLG et KRC
Je n'émule pas non plus les codes caractères variables : commandes KRV, EXP, CMP et KRE
Daniel
L'obstacle augmente mon ardeur.

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par 6502man » 02 juin 2011 11:35

Ont elles un interet pour les programmeurs ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

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

Re: [Alice 32 et 90] DCAlice version 2011.04

Message par Daniel » 02 juin 2011 12:46

Oui, bien sûr :!: En particulier l'utilisation des codes caractères variables permet de gagner de la place en VRAM.
Daniel
L'obstacle augmente mon ardeur.

Répondre