meta données pour cette page
MEMO TECHNIQUE V9990 (FR) ================================================================================================== [ PARTIE 1 : PORTS D'ENTRÉE/SORTIE ] Voici la liste des ports d'accès au V9990. Note : L'accès se fait généralement via les ports E/S (I/O) du processeur, précédé d'un 6. Donc P#4 -> $64 ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Port │ Nom │ Accès │ Description │ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#0 │ VRAM Data │ R / W │ Lecture/Écriture de données en VRAM. │ │ │ │ │ - L'adresse est définie par R#0-R#2 (W) ou R#3-R#5 (R). │ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#1 │ Palette Data │ R / W │ Lecture/Écriture des données de la palette. │ │ │ │ │ - L'index de la palette est défini par R#14. │ │ │ │ │ - Format R/G/B séquentiel. │ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#2 │ Command Data │ R / W │ Transfert de données pour les commandes graphiques. │ │ │ │ │ - Utilisé pour LMMC, LMCM, etc. │ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#3 │ Register Data │ R / W │ Donnée du registre sélectionné. │ │ │ │ │ - Le registre cible est sélectionné via P#4. │ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#4 │ Register Select │ Write │ Sélection du registre (R#0 à R#54). │ │ │ │ │ - Bits 0-5 : Numéro du registre. │ │ │ │ │ - Bit 6 (RII) : 1 = Désactive incrémentation lecture P#3. │ │ │ │ │ - Bit 7 (WII) : 1 = Désactive incrémentation écriture P#3.│ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#5 │ Status │ Read │ Lecture du statut du VDP (V-Blank, Cmd Ready, etc.). │ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#6 │ Interrupt Flag │ R / W │ Drapeaux d'interruption. │ │ │ │ │ - Écrire '1' pour acquitter (reset) une interruption. │ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#7 │ System Control │ Write │ Contrôle système global. │ │ │ │ │ - Bit 1 (MCS) : Sélection horloge (0=XTAL, 1=MCKIN). │ │ │ │ │ - Bit 2 (SRS) : Soft Reset (1=Reset, 0=Normal). │ │-------│---------------------│--------│-----------------------------------------------------------│ │ P#8-B │ Kanji ROM │ R / W │ Interface pour ROM Kanji (si connectée). │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ [ PARTIE 2 : DÉTAILS DES REGISTRES ] ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 0-2 │ AII │ 0 │ 0 │ 0 │ 0 │ A18-16 │ A15-8 │ A7-0 │ VRAM Write Addr │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ R#0: Bits 0-7, R#1: Bits 8-15, R#2: Bits 16-18 + AII. AII (Bit 7 de R#2) : 1 = Désactive l'incrémentation automatique après écriture P#0. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 3-5 │ AII │ 0 │ 0 │ 0 │ 0 │ A18-16 │ A15-8 │ A7-0 │ VRAM Read Addr │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ R#3: Bits 0-7, R#4: Bits 8-15, R#5: Bits 16-18 + AII. AII (Bit 7 de R#5) : 1 = Désactive l'incrémentation automatique après lecture P#0. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 6 │ DSPM1 │ DSPM0 │ DCKM1 │ DCKM0 │ XIMM1 │ XIMM0 │ CLRM1 │ CLRM0 │ Screen Mode 0 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Valeurs possibles : DSPM (Display Mode) : STANDBY EQU 192 (11xxxxxx) ; Veille BITMAP EQU 128 (10xxxxxx) ; Mode Bitmap P2 EQU 64 (01xxxxxx) ; Mode P2 P1 EQU 0 (00xxxxxx) ; Mode P1 DCKM (Dot Clock) : DTCLK EQU 32 (xx10xxxx) ; Master Clock (Non divisée) DTCLK2 EQU 16 (xx01xxxx) ; Master Clock / 2 DTCLK4 EQU 0 (xx00xxxx) ; Master Clock / 4 XIMM (Image Size X) : XIM2048 EQU 12 (xxxx11xx) ; Image = 2048 pixels XIM1024 EQU 8 (xxxx10xx) ; Image = 1024 pixels XIM512 EQU 4 (xxxx01xx) ; Image = 512 pixels XIM256 EQU 0 (xxxx00xx) ; Image = 256 pixels CLRM (Color Mode bits/dot) : 16BIT EQU 3 (xxxxxx11) ; 16 bits/dot 8BIT EQU 2 (xxxxxx10) ; 8 bits/dot 4BIT EQU 1 (xxxxxx01) ; 4 bits/dot 2BIT EQU 0 (xxxxxx00) ; 2 bits/dot ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 7 │ 0 │ C25M │ SM1 │ SM │ PAL │ EO │ IL │ HSCN │ Screen Mode 1 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Valeurs possibles : C25M EQU 64 ; Mode 640x480 (avec HSCN=1) SM1 EQU 32 ; 1=263 lignes (NTSC), 0=262 lignes SM EQU 16 ; Fréquence H (0=Std, 1=fsc/227.5) PAL EQU 8 ; 1=PAL, 0=NTSC EO EQU 4 ; 1=Overscan/Double résolution V (Entrelacé) IL EQU 2 ; 1=Entrelacement (Interlace) HSCN EQU 1 ; 1=High Scan (pour B5/B6) ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 8 │ DISP │ SPD │ YSE │ VWTE │ VWM │ DMAE │ VRAM Config │ Control │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Valeurs possibles : DISP EQU 128 ; 1=Affichage activé SPD EQU 64 ; 1=Sprites/Curseur DÉSACTIVÉS YSE EQU 32 ; 1=Sortie /YS activée VRAM512 EQU 2 ; VRAM 512KB VRAM256 EQU 1 ; VRAM 256KB VRAM128 EQU 0 ; VRAM 128KB ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ IECE │ IEH │ IEV │ Interrupt Enable │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Valeurs possibles : IECE EQU 4 ; Interruption fin de commande IEH EQU 2 ; Interruption ligne (H-Blank) IEV EQU 1 ; Interruption verticale (V-Blank) ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 10 │ IL7 │ IL6 │ IL5 │ IL4 │ IL3 │ IL2 │ IL1 │ IL0 │ Interrupt Line │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Définit les 8 bits de poids faible du numéro de ligne pour l'interruption H-Blank. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 11 │ IEHM │ 0 │ 0 │ 0 │ 0 │ 0 │ IL9 │ IL8 │ Int Line High │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits 0-1 : 2 bits de poids fort du numéro de ligne. IEHM (Bit 7) : Sélection mode Interruption H. 0 = Interruption à la ligne spécifiée par IL9-0. 1 = Interruption à chaque ligne (la valeur IL est ignorée). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 12 │ 0 │ 0 │ 0 │ 0 │ IX3 │ IX2 │ IX1 │ IX0 │ Interrupt X │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Position horizontale de l'interruption (par pas de 64 horloges maître). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 13 │ PLTM1 │ PLTM0 │ YAE │ PLTAIH │ PLTO5 │ PLTO4 │ PLTO3 │ PLTO2 │ Palette Control │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Valeurs possibles : YUV EQU 192 ; Mode YUV YJK EQU 128 ; Mode YJK 256 EQU 64 ; Mode 256 couleurs PAL EQU 0 ; Mode Palette standard YAE EQU 32 ; Mixage YJK/RGB PLTAIH EQU 16 ; 0=Incrément palette auto après lecture P#1 ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 14 │ PLTA5 │ PLTA4 │ PLTA3 │ PLTA2 │ PLTA1 │ PLTA0 │ PLTP1 │ PLTP0 │ Palette Pointer │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ PLTA (Bits 2-7) : Index de la palette (0-63). PLTP (Bits 0-1) : Compteur RGB (0=R, 1=G, 2=B). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 15 │ 0 │ 0 │ BDC5 │ BDC4 │ BDC3 │ BDC2 │ BDC1 │ BDC0 │ Back Drop Color │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Index de la couleur de fond/bordure (0-63). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 16 │ ADJV3 │ ADJV2 │ ADJV1 │ ADJV0 │ ADJH3 │ ADJH2 │ ADJH1 │ ADJH0 │ Display Adjust │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits 4-7 : Ajustement Vertical (-8 à +7). Bits 0-3 : Ajustement Horizontal (-8 à +7). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 17-20 │ Scroll Y Low │ Scroll Y High │ Scroll X Low │ Scroll X High │ Scroll A │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ R#18 : Bits 6-7 définissent la taille de page (R512, R256). 0 : Rotation verticale de la taille de l'image 64 : Balayage sur 256 lignes 128 : Balayage sur 512 lignes ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│-----------------│-----------------│-----------------│--------│--------│ │ │ 21-24 │ Scroll Y Low │ Scroll Y High │ Scroll X Low │ Scroll X High │ Scroll B (P1) │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ R#22 : Bit 7 (SDA) et Bit 6 (SDB) désactivent respectivement la couche A et B. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ Sprite Gen Base │ │ 25 │ 0 │ 0 │ 0 │ 0 │ SGBA17 │ SGBA16 │ SGBA15 │ 0 │ Mode P1 │ │ 25 │ 0 │ 0 │ 0 │ 0 │ SGBA18 │ SGBA17 │ SGBA16 │ SGBA15 │ Mode P2 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Adresse de base des patterns de sprites pour modes P1/P2. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 26 │ 0 │ 0 │ 0 │ VRI │ PNSL │ PLVO │ PDUAL │ PNEN │ LCD Control │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Contrôle pour écrans LCD (Généralement 0 pour CRT). VRI : 1 = Frame frequency augmente. PNSL : Nombre de points verticaux (1=480, 0=400). PLVO : Gray Scaling (1=Codes couleurs sur CB7-0, 0=Binaire sur D3-0). PDUAL : Type de panneau (1=Double écran, 0=Simple). PNEN : Cycle d'affichage (1=Pour panneau LCD, 0=Pour CRT). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ R/W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 27 │ 0 │ 0 │ 0 │ 0 │ PRY1 │ PRY0 │ PRX1 │ PRX0 │ Priority Control │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Contrôle la priorité d'affichage entre les couches A et B en mode P1. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ W │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 28 │ 0 │ 0 │ 0 │ 0 │ CSPO5 │ CSPO4 │ CSPO3 │ CSPO2 │ Sprite Pal Ctrl │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Offset de palette pour les Sprites et le Curseur. Ajoute cette valeur à l'index de couleur du sprite pour déterminer la palette finale. [ PARAMÈTRES DE COMMANDES (COTE SOURCE) ] Note : Les registres R#32 à R#35 partagent leur fonction selon le mode (Coordonnées X/Y ou Adresse Linéaire VRAM). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 32 │ SX7 │ SX6 │ SX5 │ SX4 │ SX3 │ SX2 │ SX1 │ SX0 │ Source X Low │ │ │ SA7 │ SA6 │ SA5 │ SA4 │ SA3 │ SA2 │ SA1 │ SA0 │ Source Addr Low │ │ │ KA7 │ KA6 │ KA5 │ KA4 │ KA3 │ KA2 │ KA1 │ KA0 │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ SX : Coordonnée X source (pixels). SA : Adresse linéaire source (octets). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 33 │ 0 │ 0 │ 0 │ 0 │ 0 │ SX10 │ SX9 │ SX8 │ Source X High │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits de poids fort pour Source X. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 34 │ SY7 │ SY6 │ SY5 │ SY4 │ SY3 │ SY2 │ SY1 │ SY0 │ Source Y Low │ │ │ SA15 │ SA14 │ SA13 │ SA12 │ SA11 │ SA10 │ SA9 │ SA8 │ Source Addr Mid │ │ │ KA15 │ KA14 │ KA13 │ KA12 │ KA11 │ KA10 │ KA9 │ KA8 │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ SY : Coordonnée Y source. SA : Partie médiane de l'adresse linéaire. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 35 │ 0 │ 0 │ 0 │ 0 │ SY11 │ SY10 │ SY9 │ SY8 │ Source Y High │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ SA18 │ SA17 │ SA16 │ Source Addr High │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ KA17 │ KA16 │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits de poids fort pour Source Y ou Adresse Linéaire (19 bits total). [ PARAMÈTRES DE COMMANDES (COTE DESTINATION) ] Idem : Coordonnées X/Y ou Adresse Linéaire Destination. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 36 │ DX7 │ DX6 │ DX5 │ DX4 │ DX3 │ DX2 │ DX1 │ DX0 │ Dest X Low │ │ │ DA7 │ DA6 │ DA5 │ DA4 │ DA3 │ DA2 │ DA1 │ DA0 │ Dest Addr Low │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ DX : Coordonnée X destination. DA : Adresse linéaire destination. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 37 │ 0 │ 0 │ 0 │ 0 │ 0 │ DX10 │ DX9 │ DX8 │ Dest X High │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits de poids fort pour Dest X. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 38 │ DY7 │ DY6 │ DY5 │ DY4 │ DY3 │ DY2 │ DY1 │ DY0 │ Dest Y Low │ │ │ DA15 │ DA14 │ DA13 │ DA12 │ DA11 │ DA10 │ DA9 │ DA8 │ Dest Addr Mid │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ DY : Coordonnée Y destination. DA : Partie médiane adresse destination. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 39 │ 0 │ 0 │ 0 │ 0 │ DY11 │ DY10 │ DY9 │ DY8 │ Dest Y High │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ DA18 │ DA17 │ DA16 │ Dest Addr High │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits de poids fort pour Dest Y ou Adresse Destination. [ TAILLE DE TRANSFERT / PARAMÈTRES LIGNE ] Ces registres définissent la taille de la zone à traiter (NX/NY), la quantité de données (NA), ou les paramètres de tracé de ligne (MJ/MI). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 40 │ NX7 │ NX6 │ NX5 │ NX4 │ NX3 │ NX2 │ NX1 │ NX0 │ Width Low │ │ │ NA7 │ NA6 │ NA5 │ NA4 │ NA3 │ NA2 │ NA1 │ NA0 │ Amount Low │ │ │ MJ7 │ MJ6 │ MJ5 │ MJ4 │ MJ3 │ MJ2 │ MJ1 │ MJ0 │ Major Axis Low │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ NX : Largeur en pixels. NA : Nombre d'octets (Transfert linéaire). MJ : Longueur axe majeur (Ligne). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 41 │ 0 │ 0 │ 0 │ 0 │ 0 │ NX10 │ NX9 │ NX8 │ Width High │ │ │ 0 │ 0 │ 0 │ 0 │ MJ11 │ MJ10 │ MJ9 │ MJ8 │ Major Axis High │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits de poids fort pour Largeur (NX) ou Axe Majeur (MJ). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 42 │ NY7 │ NY6 │ NY5 │ NY4 │ NY3 │ NY2 │ NY1 │ NY0 │ Height Low │ │ │ NA15 │ NA14 │ NA13 │ NA12 │ NA11 │ NA10 │ NA9 │ NA8 │ Amount Mid │ │ │ MI7 │ MI6 │ MI5 │ MI4 │ MI3 │ MI2 │ MI1 │ MI0 │ Minor Axis Low │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ NY : Hauteur en pixels. NA : Partie médiane quantité données. MI : Longueur axe mineur (Ligne). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 43 │ 0 │ 0 │ 0 │ 0 │ NY11 │ NY10 │ NY9 │ NY8 │ Height High │ │ │ 0 │ 0 │ 0 │ 0 │ 0 │ NA18 │ NA17 │ NA16 │ Amount High │ │ │ 0 │ 0 │ 0 │ 0 │ MI11 │ MI10 │ MI9 │ MI8 │ Minor Axis High │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits de poids fort pour Hauteur (NY), Quantité (NA) ou Axe Mineur (MI). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 44 │ 0 │ 0 │ 0 │ 0 │ DIY │ DIX │ NEQ │ MAJ │ Command Argument │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Valeurs possibles : DIY EQU 8 ; Direction Y (1=Haut) DIY EQU 0 ; Direction Y (0=Bas) DIX EQU 4 ; Direction X (1=Gauche) DIX EQU 0 ; Direction X (0=Droite) NEQ EQU 2 ; Search Non-Equal (1=Cherche couleur différente sinon 0) MAJ EQU 1 ; Axe Majeur (1=Y est l'axe long pour LINE) MAJ EQU 0 ; Axe Majeur (0=X est l'axe long pour LINE) ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 45 │ 0 │ 0 │ 0 │ TP │ L11 │ L10 │ L01 │ L00 │ Logical Operator │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Valeurs possibles (Combinaisons Lxx) : WCSC EQU 12 (1100) ; Copie Source (IMP) WCANDSC EQU 8 (1000) ; AND WCORSC EQU 14 (1110) ; OR WCEORSC EQU 6 (0110) ; XOR WCNOTSC EQU 3 (0011) ; NOT TP EQU 16 (1xxxx) ; Transparence (ne copie pas si couleur 0) ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 46-47 │ WM7 │ WM6 │ WM5 │ WM4 │ WM3 │ WM2 │ WM1 │ WM0 │ Write Mask │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ R#46 (Low) et R#47 (High). En mode P1 : R#46=Masque Couche A, R#47=Masque Couche B. [ PARAMÈTRES DE COULEUR ET LOGIQUE ] ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 48 │ CLR7 │ CLR6 │ CLR5 │ CLR4 │ CLR3 │ CLR2 │ CLR1 │ CLR0 │ Color Low │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Couleur source (pour LMMV) ou couleur de comparaison (pour SRCH). Bits 0-7 de la couleur. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 49 │ CLR15 │ CLR14 │ CLR13 │ CLR12 │ CLR11 │ CLR10 │ CLR9 │ CLR8 │ Color High │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits 8-15 de la couleur (utilisé en mode 16 bits/pixel). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 50 │ COL7 │ COL6 │ COL5 │ COL4 │ COL3 │ COL2 │ COL1 │ COL0 │ Border Color Low │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Couleur de bordure (utilisée par certaines opérations de remplissage ou de recherche). ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 51 │ COL15 │ COL14 │ COL13 │ COL12 │ COL11 │ COL10 │ COL9 │ COL8 │ Border Color High│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Bits 8-15 de la couleur de bordure. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 52 │ OP3 │ OP2 │ OP1 │ OP0 │ AYM │ AYE │ AXM │ AXE │ Command Opcode │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Valeurs possibles : LMMC (CPU->VRAM) : 0x10 LMMV (Fill) : 0x20 LMCM (VRAM->CPU) : 0x30 LMMM (Copy) : 0x40 LINE : 0xB0 PSET : 0xE0 [ REGISTRES DE TRANSFERT DE DONNÉES ] ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 53 │ D7 │ D6 │ D5 │ D4 │ D3 │ D2 │ D1 │ D0 │ Command Data Port│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Registre de données interne utilisé pour le transfert de pixels entre le CPU et la VRAM pendant l'exécution d'une commande (LMMC, LMCM). Correspond au port P#2. ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ bit7 │ bit6 │ bit5 │ bit4 │ bit3 │ bit2 │ bit1 │ bit0 │ │ │-------│--------│--------│--------│--------│--------│--------│--------│--------│ │ │ 54 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ (Réservé) │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ Registre réservé au système (lecture/écriture non recommandée pour l'utilisateur). [ PARTIE 3 : CONFIGURATION DES MODES GRAPHIQUES ] Voici les valeurs à écrire dans les registres pour activer les différents modes. Les modes P1 et P2 sont listés en premier comme demandé. ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Mode │ Description │ R#6 (Val) │ R#6 (Détails bits) │ R#7 (Val) │ P#7 (Clock) │ │-------│-----------------------------│-----------│----------------------------│-----------│---------------------│ │ P1 │ Pattern 256x212 (2 couches) │ 0 │ P1 + DTCLK4 (XTAL/4) │ 0 │ 0 (XTAL 21MHz) │ │ P2 │ Pattern 512x212 │ 64 │ P2 + DTCLK4 (XTAL/4) │ 0 │ 0 (XTAL 21MHz) │ │ B1 │ Bitmap 256x212 │ 128 │ BITMAP + DTCLK4 (XTAL/4) │ 0 │ 0 (XTAL 21MHz) │ │ B2 │ Bitmap 384x240 (Overscan) │ 144 │ BITMAP + DTCLK2 (XTAL/2) │ 0 │ 1 (MCKIN 14MHz) │ │ B3 │ Bitmap 512x212 │ 144 │ BITMAP + DTCLK2 (XTAL/2) │ 0 │ 0 (XTAL 21MHz) │ │ B4 │ Bitmap 768x240 (Overscan) │ 160 │ BITMAP + DTCLK (XTAL/1) │ 0 │ 1 (MCKIN 14MHz) │ │ B5 │ Bitmap 640x400 (VGA) │ 160 │ BITMAP + DTCLK (XTAL/1) │ 1 │ 0 (XTAL 21MHz) │ │ B6 │ Bitmap 640x480 (VGA) │ 160 │ BITMAP + DTCLK (XTAL/1) │ 65 │ 0 (XTAL 21MHz) │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Notes : - R#6 (Val) : Valeur de base sans la profondeur de couleur. Ajouter CLRM (bits 0-1) si nécessaire. - P#7 : Port de contrôle système, à écrire séparément (Write Only). - B5 : Nécessite HSCN=1 (Bit 0 de R#7). - B6 : Nécessite HSCN=1 et C25M=1 (Bits 0 et 6 de R#7).