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