Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Programmation  Plateforme  Compilateur  Outils  Emulateur  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instructions de boucles
Type de données élémentaire
Référence des registres
Mode d'adressage du processeur
Structure de données
Référence des instructions par catégories
Référence, lexique et dictionnaire des instructions 80x86
Les symboles prédéfinies
Les directives
Mode 8080
Mode réel
Mode protégé
Mode virtuel 8086
Mode SMM
Format du descripteur de segment
Format du TSS
Format du SMM
Format BCD
Format des nombres réels
8086/8088
Série NEC V20/V30
80286
80386
Pentium
Pentium Pro
AVX-512
MMX (MultiMedia eXtensions)
MPX (Memory Protection Extensions)
SGX (Software Guard Extensions)
SHA extensions
SMX (Safer Mode Extensions)
SSE (Streaming SIMD Extensions)
SSE2 (Streaming SIMD Extensions 2)
SSE3 (Streaming SIMD Extensions 3)
SSSE3 (Supplemental Streaming SIMD Extensions 3)
SSE4.1 (Streaming SIMD Extensions 4.1)
SSE4.2 (Streaming SIMD Extensions 4.2)
TSX (Transactional Synchronization Extensions)
VMX (Virtual-Machine eXtensions)
x86-64
Les boucles
Les chaînes
les comparaisons
Les conversions
Les décalages de bits
Les drapeaux
Les opérateurs
Saut conditionnel
Saut inconditionnel
Les transferts de données
Utilisation de la pile
Accès mémoire
Ensemble d'instructions pour les applications 80386
BIOS compatible au micro-ordinateur IBM PC
Démarrage du système
Détermination de la version du BIOS
Détermination du type de PC
Fonctions de sortie de l'écran du BIOS
Détermination de la configuration du système à l'aide du BIOS
Détermination de la RAM disponible à l'aide du BIOS
Accéder à la disquette depuis le BIOS
Accéder au disque dur depuis le BIOS
Accéder au port série depuis le BIOS
L'interruption de la cassette
Accéder au clavier depuis le BIOS
Accéder à l'imprimante à partir du BIOS
Lecture de la date et de l'heure à partir du BIOS
Variables du BIOS
Bonjour
Application
Détection
Mathématique
Temps
Stationnement de voiture
BIOS SCSI
CMOS de XT
DesqView
Valeur absolue (ABS)
Triangle Pascal
Année bissextile
DOS
GeoWorks
86-DOS
MS-DOS 2
MS-DOS 6
A86
LZASM
MASM
NASM
TASM
CodeView
Free Hex Editor Neo
OllyDbg
SoftICE
Turbo Debugger
DOSBox
emu8086
PCE - PC Emulator
PCem
Interruptions
Port d'entrée/sortie
RAM de l'IBM PC
Téléchargement
00h à 07h: Processeur
08h à 0Fh: Périphériques (IRQ0 à IRQ7)
10h: Gestionnaire vidéo
13h: Accès aux disques
14h: Gestion des ports séries
15h: Extension d'Entrée/Sortie
16h: Gestion du clavier
17h: Gestion de l'imprimante
21h: Service DOS
2Ah: Interface de service réseau
2Fh: Multiplexe
33h: Interface du pilote de souris
59h: GSS Computer Graphics Interface
5Ch: Réseau BIOS (NetBIOS)
67h: Gestionnaire EMM/EMS
00h: Mode vidéo
01h: Sélection du type de curseur
10h, F0h: Tseng Labs HiColor
4Fh: Pilote VESA
5Fh: Realtek RTVGA
6Fh: Video 7
18h: Demande des informations SCSI
01h: Écrit dans la RAM non-volatile (Amstrad PC1512)
02h: Lecture dans la RAM non-volatile (Amstrad PC1512)
10h: Gestionnaire principal TopView
89h: Entrée en mode protégé
64h: OS/2 API DOS32StartSession
FFh, 92h: Détecte la présence du pilote «PREDIR.EXE»
16h: Windows & DPMI
0Ah: Détection de Windows
84h: Demande le point d'entrée
86h: Détection du mode DPMI
87h: Détecte l'installation DPMI
8Eh: Machine virtuel et application
Préface
Notes légal
Dictionnaire
Recherche
Port d'entrée/sortie 80x86

03C4h/03C5h

VGA et Super VGA Timing Sequencer (TS)

Description

On désigne par le nom de Timing Sequencer le gestionnaire de mémoire d'affichage de la carte vidéo. Ainsi grâce au TS, on peut configurer les accès vers les plans données et les combinés avec le jeu de caractères courant. Le séquenceur joue aussi une responsabilité importante au niveau du rafraîchissement de la mémoire d'écran. Celle-ci, en effet, est adressé comme le CRTC par l'intermédiaire du registre d'index (adresse 3C4h) et d'un registre de données (adresse 3C5h). On peut très bien écrire une donnée par un seul instruction machine «OUT WORD».

Liste des registres

Registre Nom Description
00h Reset Sychrone Le bit 0 est un Reset Asynchrone tandis que le bit 1 est Reset Synchrone. Si on le met à 0, le TS déclenchera une réinitialisation synchrone, c'est-à-dire qu'il réinitialisera tous les registres et les déconnectera, jusqu'à ce que les bits 0 et 1 soient à nouveau mis à 1. Pendant ce temps, le rafraîchissement de la mémoire est également désactivé, il faudra par conséquent mettre fin au Reset le plus rapidement possible pour éviter toute perte de données. Cette opération est à exécuter à chaque fois qu'on souhaite modifier le registre du TS.
01h TS Mode Ce registre permet de fixer le mode du TS (Timing Sequencer):
Bit Description
0 Si ce bit est nul, fixe la largeur des caractères à 9 pixels (1 correspondant à une largeur de 8 pixels). Ce bit joue seulement de l'importance dans le calcul du timing horizontal dont les registres reposent tous sur une unité de caractère.
2 Si ce bit vaut 1, les bascules sont chargées à la moitié de la fréquence.
3 Ce bit est mit à 1 dans certains modes 320x200 pour réduire la résolution horizontal de 640 à 320 pixels.
4 Si ce bit est égal à 1, les bascules sont chargées au quart de la fréquence.
5 Ce bit mit à 1, provoque la désactivation de l'écran permettant ainsi au processeur d'accéder plus rapidement à la mémoire de l'écran.
02h Write Plane Mask Les bits de 0 à 3 permettent d'exclure (0) certains plans de l'accès en écriture ou au contraire de les y ouvrir (1). Lors de l'activation du mode 13h (320x200 en 256 couleurs), tous les plans sont à 1, soit une valeur correspondant à 0Fh. Voici la disposition des plans:
Bit Description
0 Accès en écriture au plan 0
1 Accès en écriture au plan 1
2 Accès en écriture au plan 2
3 Accès en écriture au plan 3
03h Font Select Ce registre permet d'indiquer la situation du jeu de caractères en mémoire:
Bit Description
0 à 1 Police A bits 0 et 1
2 à 3 Police B bits 0 et 1
4 Police A bit 2
5 Police B bit 2
La codification des bits 0, 1 et 2 de la mémoire s'effectue de la façon suivante:
Bits Offset
000b 0 Ko
001b 16 Ko
010b 32 Ko
011b 48 Ko
100b 8 Ko
101b 24 Ko
110b 40 Ko
111b 56 Ko
04h Memory Mode Ce registre permet de fixer le mode de fonctionnement de la mémoire :
Bit Description
1 Ce bit indique la mémoire disponible: 0 signifiant que 64 Ko de mémoire sont utilisables pour l'écran, tandis que 1 correspond à 256 Ko. Doit être à 1 si on veut exploiter le bit 2 de la sélection de jeu de caractères.
2 Si ce bit vaut 0, alors le mode pair/impair est actif. Ce dernier fonctionne un peu de la même façon que le mode Chain 4. Le bit 0 de la ligne d'adresse est employée pour sélectionner les plans pairs ou impairs. En mode texte, on pourra comprendre cette aspect de la manière suivante, les codes ASCII des caractères seront mémorisés dans les plans 0 et 2 tandis que les plans 1 et 3 accueilleront les octets représentatifs des attributs. Ce bit devrait toujours correspondre au bit 4 du registre 5 du GDC avec une valeur inverse.
3 Le bit 3 enclenche le célèbrissime mode Chain 4 (1). Les lignes d'adresse 0 et 1 sont ainsi utilisées pour sélectionner les plans lors des accès en lecture ou en écriture du microprocesseurs. Ce mode trouve une application en mode 13h. Si on le désactive et si on met en outre le CRTC en mode octet (Byte), on se retrouvera dans le mode 320x400 en 256 couleurs.
N.B.: Lorsqu'on active le mode vidéo 13h, ce registre contient la valeur 0Eh.
06h Tseng ET3000/STB VGA EM-16: Zoom Control Register Ce registre permet de fixer l'échelle d'agrandissement horizontal ou vertical
06h Genoa: Select Window Page Ce registre permet de fixer le mode de pagination des plages de mémoire de la carte vidéo Genoa:
Bit Description
3 à 5 Ces bits sont utilisés pour dénombre le nombre de page de fenêtre de 512 Ko (multiple de 64 Ko).
6 Ce bit correspond au mode et vaut 1.
7 Ce bit est une donnée importante a ne surtout pas altérer.
07h Genoa: Check Monitor Ce registre permet de vérifier le type de moniteur branché sur la carte vidéo Genoa:
Bit Description
5 Ce bit retourne le type de moniteur installé avec la carte Super VGA du fabricant Genoa. Ainsi, si le bit est 1, le moniteur est un Digital TTL tandis que lorsqu'il s'agit de 0, le moniteur est analogique.
0Bh Check Trident Exist And Model Ce registre indique si la carte Super VGA du fabricant Trident est détecté. Les valeurs possibles sont les suivantes:
Valeur Description
00h Ce n'est pas une carte vidéo Trident
01h Trident 8800BR
02h Trident 8800CS
03h Trident 8900, 1 Mo
04h Trident 8900, 256 Ko
05h Trident 8900, 512 Ko
06h Trident 8900, 1 Mo
07h à FFh Ce n'est pas une Trident.
0Ch Trident: Power Up Mode Register 1 Ce registre permet d'augmenter la puissance de la carte vidéo Trident
0Dh Trident: Old Mode Control 2 Ce registre permet de contrôle les modes de compatibilité avec les anciennes cartes d'IBM:
Bit Description
0 à 2 Ces bits permet d'indiquer le mode d'émulation de la carte vidéo:
Valeur Description
0 Cette valeur permet d'émuler le comportement d'une carte vidéo VGA
3 Cette valeur permet d'émuler le comportement d'une carte vidéo EGA
5 Cette valeur permet d'émuler le comportement des cartes vidéos CGA, MDA et Hercules
4 Ce bit permet d'activer le mode de pagination s'il vaut 1.
0Fh Trident: Size Bus ROM Si le bit 7 vaut 0 c'est que le bus est 16 bits pour les accès à la ROM vidéo Super VGA du fabricant Trident. Autrement, lorsqu'une valeur égale 1, il s'agit d'un bus 8 bits.
Cirrus: Memory Size Le bits 3, 4 et 7 permet de connaître le nombre de mémoire d'installée sur les cartes Super VGA du fabricant Cirrus Logic. Voici les valeurs et leurs signification en valeur physique hexadécimal:
Valeur Description
08h 512 Ko
10h 1024 Ko
18h 2048 Ko
88h 1024 Ko
90h 2048 Ko
98h 4096 Ko
11h Ark Set Color Mode Ce registre permet de fixer le mode de couleur utilisé par l'ensemble de puce Ark.
12h Ark Chips Detection Ce registre réagit s'il s'agit d'une d'un ensemble de puce Ark.
15h Ark Bank Switch Les bits de 0 à 7 de ce registre sont utilisés afin de permettre à la carte vidéo de Ark de permuter d'une banque à l'autre pour un total de 256.
1Bh Tseng ET3000/STB VGA EM-16: Zoom Control Register Ce registre permet de fixer la partie basse de la position de début de l'échelle d'agrandissement horizontal
1Ch Tseng ET3000/STB VGA EM-16: Zoom Control Register Ce registre permet de fixer la partie haute de la position de début de l'échelle d'agrandissement horizontal
1Dh Ark Enable Register Ce registre permet d'activer les registres spéciaux de l'ensemble de puce Ark.
8Eh Video 7: Check Sub-Version Les bits de 0 à 7 de ce registre retourne le sous-modèle de la carte Super VGA du fabricant Video Seven. Voici les différents modèles existant détectable:
Valeur Description
80h à FFh Video7 – VEGA
70h à 7Fh Video7 – VRAM ou compatible
50h à 59h Video7 – Version 5
40h à 49h Video7 - 1024i
94h Cirrus: Index of Pattern Address Register Le code 0FFh indique le dernier pointeur utilisé généralement pour un curseur matériel en graphique de la carte Super VGA du fabricant Cirrus.
9Ch Cirrus: Cursor position Les bits de 0 à 7 de se registre de la Super VGA du fabricant Cirrus permet de fixer la position du curseur matériel en graphique. Tous d'abord la position X en pixels doit être écrite dans ce registre suivit de la partie base de X et enfin, la partie haute de Y puis la partie base de Y.
A5h Cirrus: Cursor attribut Pour les Super VGA du fabricant Cirrus, ce registre permet d'activer ou désactiver le curseur matériel graphique préalablement programmer.
F2h Cirrus: Latch Index Ce registre charge les 128 octets de masque et Et Binaire (AND) et les 128 octets de masque Ou Exclusif (XOR) lorsque le registre 94h est encodé avec le nombre 0FFh. Le code de motif est introduit de la façon expliquer avec 256 accès d'écriture au registre.
FFh Cirrus: Address Extended Register Bank Les bits 0 à 4 de se registre est utilisée pour connaître l'adresse d'une page de curseur matériel en mode graphique de cette carte Super VGA du fabricant Cirrus.


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 2 août 2014