LITTÉRATURE ★ AMSTRAD CPC CRTC COMPENDIUM ★

v1.7v1.0
Le document s'adresse à des programmeurs déjà expérimentés et/ou des développeurs d'émulateur confrontés à l'indigence des documentations techniques des sociétés qui ont produit ces circuits.

Il contient également de nombreux chapitres beaucoup moins techniques pour permettre à tous d'accéder à des informations pertinentes qui dépassent le cadre des circuits du CPC.

SOMMAIRE:

  • 1 PRÉAMBULE
  • 2 HISTORIQUE
  • 3 GÉNÉRALITÉS
  • 3.1 TERMINOLOGIE
  • 3.2 SIGLES
  • 4 CRTC & CPC.
  • 4.1 GÉNÉRALITÉS
  • 4.2 NUMÉROTATION DES CRTC
  • 4.3 VUE GENERALE DES REGISTRES
  • 4.4 ACCÈS AU CRTC
    • 4.4.1 GÉNÉRALITÉS
    • 4.4.2 INSTRUCTIONS Z80A
    • 4.4.3 DELAIS D'ACCES
    • 4.4.4 DISSECTION DE OUTs
  • 5 LES AUTRES CIRCUITS
  • 5.1 ACCÈS
  • 5.2 CPC + / GX 4000
  • 6 CONSTRUCTION D'UN FRAME
  • 6.1 LOGIQUE GENERALE
    • 6.1.1 COMPTAGE DES CARACTERES
    • 6.1.2 SYNCHRONISATIONS
    • 6.1.3 AFFICHAGE DES CARACTERES
    • 6.1.4 POINTEUR VIDEO
    • 6.1.5 REPRÉSENTATION SCHÉMATIQUE
  • 7 SYNCHRONISATION
  • 7.1 PRINCIPES
  • 7.2 SYNCHRONISATION VSYNC
  • 7.3 FAKE VSYNC
  • 8 AFFICHAGE, Z80A & GATE ARRAY
    • 8.1 INSTRUCTION LD(HL),reg8 (2 µsec)
    • 8.2 INSTRUCTION LD (aaaa),HL (5 µsec)
    • 8.3 INSTRUCTION PUSH reg16 (4 µsec)
  • 9 GATE ARRAY
    • 9.1 PIXELISATION
    • 9.2 INKERISATION
      • 9.2.1 BORDER ET MODE 2
      • 9.2.2 VITESSE DE PRISE EN COMPTE
    • 9.3 MODE GRAPHIQUE
      • 9.3.1 GÉNÉRALITÉS
      • 9.3.2 CRTC 0, 1, 2
      • 9.3.3 CRTC 3, 4
      • 9.3.4 MODE SPLITTING
  • 10 COMPTAGES : REGISTRE R9
    • 10.1 GÉNÉRALITÉS
    • 10.2 DELAIS DE PRISE EN COMPTE
    • 10.3 REGLES DE COMPTAGE
      • 10.3.1 CRTC 0
      • 10.3.2 CRTC 1
      • 10.3.3 CRTC 2
      • 10.3.4 CRTC 3, 4
  • 11 COMPTAGES : REGISTRE R5
    • 11.1 GÉNÉRALITÉS
    • 11.2 COMPTAGE EN AJUSTEMENT VERTICAL
      • 11.2.1 GÉNÉRALITÉS
      • 11.2.2 CRTC 0
      • 11.2.3 CRTC 1, 2
      • 11.2.4 CRTC 3, 4
    • 11.3 MISE À JOUR DE R5 DURANT UN AJUSTEMENT
      • 11.3.1 CRTC 0, 2
      • 11.3.2 CRTC 1
      • 11.3.3 CRTC 3, 4
    • 11.4 MISE À JOUR DE R5 AVANT UN AJUSTEMENT
      • 11.4.1 CRTC 1, 2, 3, 4
      • 11.4.2 CRTC 0
    • 11.5 RUPTURE FOR DUMMIES (R.F.D.) SUR CRTC 1
      • 11.5.1 RFD ET PARITÉ
      • 11.5.2 IVM ON/OFF
      • 11.5.3 R.F.D. EN BREF
      • 11.5.4 R.F.D. ET AUTRES CRTCs
    • 11.6 R6 ET AJUSTEMENT VERTICAL
    • 11.7 AJUSTEMENT DURANT L'INTERLACE
    • 11.8 LIGNE D'AJUSTEMENT INTERLACE
  • 12 COMPTAGES : REGISTRE R4
    • 12.1 GÉNÉRALITÉS
    • 12.2 CRTC 0
      • 12.2.1 CAS PRATIQUE : RUPTURE LIGNE À LIGNE (R.L.A.L.)
    • 12.3 CRTC 1
    • 12.4 CRTC 2
      • 12.4.1 CONCEPT DE DERNIÈRE LIGNE
      • 12.4.2 CAS PRATIQUE : RUPTURE LIGNE À LIGNE (R.L.A.L.)
    • 12.5 CRTC 3, 4
  • 13 COMPTAGES : REGISTRE R0
    • 13.1 GÉNÉRALITÉS
    • 13.2 CRTC 0
      • 13.2.1 LES 3 PREMIERES MICROSECONDES.
      • 13.2.2 GEL DE VSYNC
      • 13.2.3 GEL DE LIGNE ADDITIONNELLE
      • 13.2.4 GEL DE C9
      • 13.2.5 CAS PRATIQUE : R0=1
      • 13.2.6 CAS PRATIQUE : R0=0
      • 13.2.7 CAS PRATIQUE : RUPTURE VERTICALE LAST LINE (R.V.L.L.
    • 13.3 CRTC 1
      • 13.3.1 CAS PRATIQUE : RUPTURE VERTICALE INVISIBLE (R.V.I.)
    • 13.4 CRTC 2
      • 13.4.1 CAS PRATIQUE : RUPTURE VERTICALE LAST LINE (R.V.L.L.
    • 13.5 CRTC 3, 4
    • 13.6 MISE À JOUR DE R0
      • 13.6.1 CRTC 0, 2 : CHRONOGRAMME
      • 13.6.2 CRTC 1 : CHRONOGRAMME
      • 13.6.3 CRTC 3, 4 : CHRONOGRAMME
    • 13.7 CAS PARTICULIERS
      • 13.7.1 CRTC 1
      • 13.7.2 CRTC 0
    • 13.8 OFFSET SELON C0
      • 13.8.1 ECRANS de 4 µsec (R0=3)
      • 13.8.2 ECRANS de 2 µsec (R0=1)
      • 13.8.3 ECRANS de 1 µsec (R0=0)
  • 14 SYNCHROS : REGISTRE R3
    • 14.1 GÉNÉRALITÉS
    • 14.2 LONGUEUR VSYNC
    • 14.3 HSYNC : GATE ARRAY VERSUS CRTC
    • 14.4 HSYNC ET POSITION ECRAN
    • 14.5 MISE À JOUR DE R3 DURANT LA HSYNC
      • 14.5.1 CRTC 0, 2
      • 14.5.2 CRTC 1
      • 14.5.3 CRTC 3, 4
    • 14.5.4 ZOOM SUR R3.JIT
    • 14.6 ABSENCE DE HSYNC.
    • 14.7 DEMARRAGE HSYNC
      • 14.7.1 CRTC 0, 1, 2
      • 14.7.2 CRTC 3, 4
    • 14.8 HSYNC ET INTERRUPTIONS.
    • 14.9 SCHÉMATIQUES HSYNC
  • 15 SYNCHROS : REGISTRE R2
    • 15.1 GÉNÉRALITÉS
    • 15.2 HSYNC LORSQUE R2 EST PRÉDÉFINI
    • 15.2.1 CRTC 0, 1, 2
    • 15.2.2 CRTC 3, 4
    • 15.3 MISE À JOUR DE R2 DURANT LA HSYNC
      • 15.3.1 GÉNÉRALITÉS
      • 15.3.2 HSYNC INFINIE
      • 15.3.3 CRTC 0
      • 15.3.4 CRTC 1, 2
      • 15.3.5 CRTC 3, 4
    • 15.4 PRISE EN COMPTE VSYNC DURANT LA HSYNC
      • 15.4.1 GÉNÉRALITÉS
      • 15.4.2 CRTC 0, 1
      • 15.4.3 CRTC 3, 4
      • 15.4.4 CRTC 2
    • 15.5 DISPEN ET HSYNC
      • 15.5.1 CRTC 0, 1, 3, 4
      • 15.5.2 CRTC 2
    • 15.6 CRTC 2 ET HSYNC
    • 15.7 LE BON MOMENT.
      • 15.7.1 PASSER DE R2=46 À R2=50 SUR DES LIGNES DE 64 µSEC
      • 15.7.2 PASSER DE R2=50 À R2=46 SUR DES LIGNES DE 64 µSEC
  • 16 SYNCHROS : REGISTRE R7
    • 16.1 GÉNÉRALITÉS
    • 16.2 VSYNC-CRTC VERSUS VSYNC-GATE ARRAY
      • 16.2.1 AFFICHAGE DE LA ZONE VSYNC
      • 16.2.2 SIGNAL C-SYNC MONITEUR
      • 16.2.3 GESTION DE C-SYNC
      • 16.2.4 TOLÉRANCES
      • 16.2.5 INTÉRACTIONS ENTRE CRTC ET GATE ARRAY
    • 16.3 PROTECTION DE VSYNC
    • 16.4 CONDITIONS DE PRISE EN COMPTE
      • 16.4.1 CRTC 0
      • 16.4.2 CRTC 1
      • 16.4.3 CRTC 2
      • 16.4.4 CRTC 3, 4
    • 16.5 VSYNC DIFFÉRÉE
      • 16.5.1 CRTC 0
      • 16.5.2 CRTC 1
      • 16.5.3 CRTC 2
      • 16.5.4 CRTC 3 & 4
    • 16.6 VSYNC SANS LIMITES !
    • 16.7 LE BON MOMENT.
  • 17 AFFICHAGE : REGISTRE R1
    • 17.1 GÉNÉRALITÉS
    • 17.2 AFFICHAGES SELON R1
      • 17.2.1 AFFICHAGE AVEC R1 <= R0
      • 17.2.2 AFFFICHAGE AVEC R1 > R0
    • 17.3 MISE JOUR DYNAMIQUE DE R1
    • 17.4 VMA'/VMA LORSQUE C4=0
      • 17.4.1 CRTC 0, 3, 4
      • 17.4.2 CRTC 1
      • 17.4.3 CRTC 2
    • 17.5 PRISE EN COMPTE R1=0
      • 17.5.1 CRTC 0, 1, 2
      • 17.5.2 CRTC 3, 4
    • 17.6 BORDER INTERLIGNE
      • 17.6.1 R1=R0 ET C0=R0
      • 17.6.2 R1>R0 ET C0=R0
  • 18 AFFICHAGE : REGISTRE R6
  • 18.1 GÉNÉRALITÉS
  • 18.2 DÉLAIS ET PRIORITÉS DE BORDER R6
    • 18.2.1 GÉNÉRALITÉS
    • 18.2.2 CRTC 0, 2
    • 18.2.3 CRTC 1
    • 18.2.4 CRTC 3, 4
  • 18.3 CONFLITS R6
    • 18.3.1 GÉNÉRALITÉS
    • 18.3.2 CRTC 0, 2
    • 18.3.3 CRTC 1
    • 18.3.4 CRTC 3, 4
  • 19 AFFICHAGE : REGISTRE R8
    • 19.1 GÉNÉRALITÉS
    • 19.2 FONCTIONS « SKEW-DISPTMG »
      • 19.2.1 BORDER ON
      • 19.2.2 BORDER OFF
      • 19.2.3 BORDER DELAI +1 / +2
      • 19.2.4 ABSENCE DE CONDITION C0=R1
      • 19.2.5 DÉSINTÉGRATION DU BORDER SUR CRTC 0
    • 19.3 FONCTIONS INTERLACE
      • 19.3.1 GÉNÉRALITÉS
      • 19.3.2 LES DEUX MODES INTERLACE
      • 19.3.3 RESTRICTIONS
      • 19.3.4 FONCTION MAL AIMÉE
    • 19.4 PROGRAMMATION VERTICALE EN INTERLACE
      • 19.4.1 CRTC 0
      • 19.4.2 CRTC 1
      • 19.4.3 CRTC 2
      • 19.4.4 CRTC 3 & 4
    • 19.5 PARITÉ
      • 19.5.1 GÉNÉRALITÉS
      • 19.5.2 CRTC 0
      • 19.5.3 CRTC 1
      • 19.5.4 CRTC 2
      • 19.5.5 CRTC 3 & 4
    • 19.6 LIGNE ADDITIONNELLE INTERLACE
      • 19.6.1 CRTC 0
      • 19.6.2 CRTC 1
      • 19.6.3 CRTC 2
      • 19.6.4 CRTC 3 & 4
    • 19.7 MID-VSYNC
      • 19.7.1 GÉNÉRALITÉS
      • 19.7.2 CRTC 0, 1, 2
      • 19.7.3 CRTC 3, 4
    • 19.8 COMPTAGES EN INTERLACE VIDEOMODE
      • 19.8.1 CRTC 0
      • 19.8.2 CRTC 1
      • 19.8.3 CRTC 2
      • 19.8.4 CRTC 3, 4
  • 20 POINTEUR VIDEO:REGISTRES R12/R13
    • 20.1 GÉNÉRALITÉS
    • 20.2 CALCUL DU POINTEUR VIDÉO
    • 20.3 CONDITIONS DE MISE À JOUR
      • 20.3.1 CRTC 0
      • 20.3.2 CRTC 1
      • 20.3.3 CRTC 2
      • 20.3.4 CRTC 3 & 4
    • 20.4 DELAIS DE PRISE EN COMPTE
    • 20.5 OVERSCAN-BITS
  • 21 REGISTRES EN LECTURE.
    • 21.1 GÉNÉRALITÉS
    • 21.2 LECTURE DU CONTENU DES REGISTRES
      • 21.2.1 CRTC 0
      • 21.2.2 CRTC 1, 2
      • 21.2.3 CRTC 3, 4
    • 21.3 LECTURE DES STATUS
      • 21.3.1 GÉNÉRALITÉS
      • 21.3.2 CRTC 0, 2
      • 21.3.3 CRTC 1
      • 21.3.4 CRTC 3, 4
    • 21.4 DUMMY REGISTER
  • 22 FULLSCREEN & CENTRAGE
    • 22.1 PRÉAMBULE
    • 22.2 FULLSCREEN HORIZONTAL
    • 22.3 FULLSCREEN VERTICAL
  • 23 TRUCS ET ASTUCES
    • 23.1 MISE À JOUR DE R12/R13
    • 23.2 UTILISATION COMMUNE DE REGISTRE(S)
    • 23.3 ATTENTE DE VSYNC
    • 23.4 VALEUR 0
    • 23.5 OUTI/OUTD ET REGISTRE D'ETAT
    • 23.6 CODE AUTOMODIFIÉ
    • 23.7 ITÉRATIONS ET CODE DÉROULÉ
    • 23.8 BRANCHEMENT INCONDITIONNELS
    • 23.9 TRAITEMENTS PAR PAGES
    • 23.10 TRUCS EN VRAC
      • 23.10.1 BOUCLES
      • 23.10.2 CALCUL DU POINTEUR VIDEO
      • 23.10.3 POSITIONNEMENT DES FLAGS
      • 23.10.4 PLUTÔT QUE.
  • 24 UNE BRÈVE HISTOIRE DE TEMPS FIXE
    • 24.1 INTRODUCTION
    • 24.2 METHODES
    • 24.3 TEMPS FIXE ET INTERRUPTIONS
    • 24.4 OUTILS COMPENSATOIRES
    • 24.5 LIBÉREZ LE TEMPS FIXE !
    • 24.6 DU TEMPS LIBRE AU TEMPS FIXE.
    • 24.7 PERDRE DU TEMPS.
  • 25 DURÉES INSTRUCTIONS Z80A SUR CPC
  • 26 LD HX/LX,A/B/C/D/E/HX/LX
  • 27 LD BC/DE/HL/SP,dd
  • 28 LD HX/LX/HY/LY,d
  • 29 SBC A, A/B/C/D/E/H/L
  • 30 SBC A, HX/LX/HY/LY
  • 31 SBC HL,BC/DE/HL/SP
  • 32 SET x,A/B/C/D/E/H/L
  • 33 OUT (C),A/B/C/D/E/H/L
  • 34 POP AF/BC/DE/HL
  • 35 SLL A/B/C/D/E/H/L
  • 36 PUSH AF/BC/DE/HL
  • 37 RES x, A/B/C/D/E/H/L
  • 38 SRL A/B/C/D/E/H/L
  • 39 SUB A,A/B/C/D/E/H/L
  • 40 SUB A, HX/LX/HY/LY
  • 41 XOR A,A/B/C/D/E/H/L
  • 42 INTERRUPTIONS
    • 42.1 GÉNÉRALITÉS
    • 42.2 GESTION DU COMPTEUR R52
    • 42.3 CONDITIONS DE DÉCLENCHEMENT
      • 42.3.1 ARMEMENT SUR R52=0
      • 42.3.2 ARMEMENT PENDANT LA VSYNC
      • 42.3.3 Z80A ET INTERRUPTIONS
    • 42.4 INTERRUPTIONS MODE 1
    • 42.5 INTERRUPTIONS MODE 2
    • 42.6 CRTC & INTERRUPTIONS.
      • 42.6.1 GÉNÉRALITÉS
      • 42.6.2 CRTC 0, 1, 2
      • 42.6.3 CRTC 0, 1
      • 42.6.4 CRTC 2
      • 42.6.5 CRTC 3, 4
      • 42.6.6 MISE EN PERSPECTIVE
  • 42.7 MÉNAGE À TROIS.
    • 42.7.1 TRIPOTAGE DE R52.
    • 42.7.2 FIABILITE DES INTERRUPTIONS
  • 43 IDENTIFICATION CRTC
    • 43.1.1 VIA LE DEBORDEMENT DE C4 ET/OU C9
    • 43.1.2 VIA LA GESTION VSYNC DURANT LA HSYNC
    • 43.1.3 VIA LA PRISE EN COMPTE DE LA VSYNC
    • 43.1.4 VIA LA LONGUEUR DE LA VSYNC
    • 43.1.5 VIA LA LONGUEUR DE LA HSYNC
    • 43.1.6 VIA DU BORDER, VISUELLEMENT
    • 43.1.7 VIA LE MODE INTERLACE
    • 43.1.8 VIA LE REGISTRE DE STATUS &BE00
    • 43.1.9 VIA LE REGISTRE DE LECTURE &BF00
    • 43.1.10 VIA LES REGISTRE DE STATUS R10/R11
  • 44 IDENTIFICATION CPC
    • 44.1 MÉTHODES D'IDENTIFICATION
      • 44.1.1 ACTIVATION DES FONCTIONS ÉTENDUES
      • 44.1.2 BUG PPI PORT C
      • 44.1.3 BUG PPI PORT B.

★ GROUPE: LOGON SYSTEM
★ ANNÉES: 2021 , 2022 , 2023
★ LANGAGE:
★ LiCENCE: FREEWARE
★ AUTEUR: LONGSHOT
★ SITE: http://logonsystem.fr/
★ FORUM: https://cpcrulez.fr/forum/viewtopic.php?p=57254#p57254

★ AMSTRAD CPC ★ DOWNLOAD ★

Manuels d'utilisation & docs:
» Amstrad  CPC  CRTC  Compendium  v1.0    FRENCHDATE: 2021-11-30
DL: 332
TYPE: PDF
SiZE: 36445Ko
NOTE: 171 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.1    FRENCHDATE: 2021-12-19
DL: 388
TYPE: PDF
SiZE: 1377Ko
NOTE: 173 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.2    ENGLISHDATE: 2022-08-02
DL: 635
TYPE: PDF
SiZE: 2396Ko
NOTE: 226 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.2    FRENCHDATE: 2022-05-26
DL: 214
TYPE: PDF
SiZE: 2405Ko
NOTE: 226 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.3    FRENCHDATE: 2022-10-20
DL: 192
TYPE: PDF
SiZE: 2415Ko
NOTE: 238 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.4    FRENCHDATE: 2023-01-12
DL: 142
TYPE: PDF
SiZE: 2612Ko
NOTE: 269 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.5    ENGLISHDATE: 2023-03-14
DL: 122
TYPE: PDF
SiZE: 3930Ko
NOTE: 281 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.5    FRENCHDATE: 2023-03-14
DL: 209
TYPE: PDF
SiZE: 3936Ko
NOTE: 282 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.6    ENGLISHDATE: 2023-07-26
DL: 105
TYPE: PDF
SiZE: 3967Ko
NOTE: 284 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.6    FRENCHDATE: 2023-07-26
DL: 134
TYPE: PDF
SiZE: 3966Ko
NOTE: 284 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.7    ENGLISHDATE: 2023-10-26
DL: 94
TYPE: PDF
SiZE: 3986Ko
NOTE: 284 pages/PDFlib v1.5

» Amstrad  CPC  CRTC  Compendium  v1.7    FRENCHDATE: 2023-10-26
DL: 168
TYPE: PDF
SiZE: 4003Ko
NOTE: 284 pages/PDFlib v1.5

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Test CRTC v2.3 (MADRAM, amslive n19)
» Coding » CRTC Registres Crt 6845
» Coding Src's » Test CRTC v1.1 (Longshot)
» Coding » Test CRTC par Longshot/Logon System
» Coding » Menu - CRTC
» Coding Src's » Graphic - Crtc - On - Screen Effects On the CPC464 (Popular Computing Weekly)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 297 millisecondes et consultée 1995 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.