La QUICKSILVA HRG !



TIREZ PLUS
DE VOTRE
SINCLAIR



Carte graphique
haute résolution
QuickSilva.

Spécifications techniques.

Documentation scannée.




Carte graphique haute résolution QuickSilva
pour ZX81 et Timex Sinclair 1000 :



Zoomer l'image.



C'est une carte graphique à part entière, au même titre que la Memotech et la G007.

Il ne pas la confondre avec les cartes jeux de la même marque qui fonctionnes en UDG,
qui elles redefinnisent que les caractères graphiques du jeu de caractères.


La technique de l'UDG (User Defined Graphics):



Ce type de carte sont généralement fournies comme cartes avec support de ROM , les jeux comme QS-Scramble et QS-Asteroïd pouvaient fonctionner en haut résolution mais utilisaient une technique différente dite de l'UDG.

Ces deux cartes ce contentent de rediriger le registre I de IR (initialisé en 1Eh par la ROM) vers une ROM placée (généralement en 2000h) sur une carte fille et commandée par le /ROMCS et non le /RAMCS.

La Rom, a partir de ce moment ne va plus lire la table de caractères d'origine, mais la ROM installée sur la carte.

Si cette ROM est en 2000h à 2200h, le jeu de caractères sera diffèrent... et redéfinissable selon l'utilisateur, s'il possède un programmeur d'Eprom.

L'interruption d'affichage IR du Z80 peut donc être changé.
Le I est l'adresse de poids fort en 16bits du pointage de la table de caractère... si l'instruction « LD I,20h » est demandée en assembleur, le Zx81 va pointer en 2000h au lieu des 1E00h par défaut.

Mais cette téchnique à son inconvaignant : La RAM ou la ROM placée à cet endroit doit obligatoirement être commandée par le /ROMCS.

Cela veut dire que cette technique n'est pas utilisable avec une RAM conventionnelle du type Memotech... ou autres. En effet, la Memotech 64K RAM Pack, peut être configurée avec 8ko dans la partie (2000h à 3FFFh) basse de la mémoire du ZX81. Mais, celle-ci est pilotée en /RAMCS et non en / ROMCS.

Résultat, tout les caractère redéfinit sont blancs ... D'où l'utilité d'une carte spéciale !

Pour les émulateurs ... les /RAMCS et / ROMCS ne sont pas émulés... donc, aucune différences de lecture entre les appels de la ROM et de la RAM ... ça marche quelle que soit l'adresse IR (si IR est infèrieure à 4000h).




Une vraie HRG (Hight Resolution Graphic 'card' ) :



Tout comme la Memotech ... G007... cette carte utilise une technique qui déplace la mémoire vidéo, le D_File, pour le traiter de manière matériel grâce aux circuits logiques de la carte. Cette zone vidéo s'appellera le V_File et stocke les 49152 points affichables à raison de 8 points par octets.

Les données de ce V_File est en format brut, sans caractères de contrôle.

Puis, l'adresse IR est modiffier pour générer les points du V_File. Un peut à la manière de la modification de Wilf Righter pour les affichages WRX en haute résolution.

La ROM ne gère pas directement le procèss d'affichage, mais permet une meilleur géstion de l'envoie des données vers l'adresse haute du V_File, au dessus des 32k.

Cette adresse n'a pas été choisie au hasard par les concèpteurs, car en y regardant de plus près, l'adresse A000h =  «  1010.0000 : 0000.0000 : 0000.0000 »... là où B15 commande la commutation du rafraîchissemnt en mode graphique.

Donc, cette carte interdit l'accès à la mémoire ... pour les valeurs suppèrieurs à l'adresse 32768 sans que l'écran ne soit rafraîchi.

Un mémoire tampon de 1024 o en RAM permet de stocker les données de la Rom lors de l'affichage, mais, ce point reste à écaircir car aucune Ram de 1024o n'est présente sur la carte.

C'est peut être une utilisation de la mémoire primitive placée sur la carte mère, mais cela interdirait l'utilisation de cette carte avec une ZX81 de base en 1K.



Les essais de la carte ont démontré que la valeur IR (I entre autre) subit une modification en mode graphique, le D_File est identique en Basic et en mode graphique, car le curseur est vide ou en vidéo-inversée.



En mode graphique, l'appuie d'un bouton de commande, de façon matérielle, agit sur l'adresse IR et revient en mode « Texte » (caractères par défaut IR à 1E00h) et rend visible l'écran d'origine.
Par logiciel, il suffit de forcer l'adresse 2800h à 2F00h avec un poke (soit en binnaire «  0010.xxxx : xxxx.xxxx : xxxx.xxxx »).

Donc, le bit d'adresse B13 en /RD active l'écran graphique et le bit B15 la lecture/écriture du buffer vidéo V_File en A000h (au dessus de 32k).




Spécifications techniques:

- Résolution graphique : 256x192., V_File de (32x8)x192= 6144 octets.

- ROM : 2Ko= 2048 octet pour le programme de géstion de la carte.

Rom disponible dans VB81 XuR (http://zx81.vb81.free.fr) ou en Cliquant ICI

- RAM Vidéo : 6Ko= 6144 octets adressés en A000h -B7FFh (40960-47103)

- Programmation via les adresses de la carte.


Pour en savoir plus ...


Documentation non disponible :

Si vous possédez la documentation de cette carte, merci de m'envoyer un petit mail !
Son absence nous à permis de mieux comprendre cette carte... mais nous somme peut-être passé à côté d'autre choses!




Un grand merci à Kweeky qui m'a communiqué toutes ces informations et pour avoir sauvé la Rom de l'oubli ... afin que cette carte soit enfin émulée.


« Le Blog de Kweeky »



Liens vers les études et recherches sur la Quicksilva haute résolution de Kweeky :

« 
Le ZX-81, l'ordinateur de MacGyver - La collection de Kweeky »

« 
Et encore du ZX-81 - La collection de Kweeky »

« 
ZX-81 : Le Strip-Tease ;-) - La collection de Kweeky »



« 
ZX81 : QS-HRG - La collection de Kweeky »

« 
ZX-81 : QS-HRG (suite) - La collection de Kweeky »

Cette page est basée sur son travail et ses remarques.



Xavier Martin. (XavSnap)