CODINGSOURCES ★ Test CRTC by RHINO/BG ★

Detect CRTC type by RhinoCoding Sources

;; Reference: http://www.cpcwiki.eu/forum/programming/crtc-type-detection-code/
TestCRTC:

 ; Detect CRTC type by Rhino

 ; Output
 ; a = CRTC type (0,1,2,3,4)

getCRTCType
 ld bc,#bc0c   ; select reg 12 (R/W)
 out (c),c
 ld bc,#bd00+%0110100 ; write a value
 out (c),c

; call wVb
 ld  b,#f5    ; wait Vbl
@vbLoop1
 in a,(c)
 rra
 jr c,@vbLoop1
@vbLoop2
 in a,(c)
 rra
 jr nc,@vbLoop2

 ld b,#be    ; read from status register
 in a,(c)
 ld d,a

 inc b    ; read from #bf (read register)
 in a,(c)

 cp d    ; #be == #bf?
 jr z,@CRTC_3_4

 ; CRTC 0 1 or 2

 cp c;%0110100   ; same value?
 jr nz,@CRTC_1_2

 ; CRTC 0

 xor a  
 ret

@CRTC_1_2
 ld a,d
 and a,%011111
 jr nz,@CRTC_2

 ; CRTC 1

 ld a,1
 ret

 ; CRTC 2

@CRTC_2
 ld a,2
 ret

 ; CRTC 3 or 4

@CRTC_3_4
 ld  bc,&f782
 out  (c),c
 dec  b
 ld  a,&F
 out  (c),a
 inc  b
 out  (c),c
 dec  b
 in  c,(c)
 cp  c
 jr  nz,@CRTC_4

 ; CRTC 3

@CRTC_3
 ld a,3
 ret

 ; CRTC 4

@CRTC_4
 ld a,4
 ret

★ ANNÉE: 201X
★ AUTHOR: RHINO

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

Lien(s):
» Coding Src's » Vertical Message Scroll Routine (Jason Brooks)
» Coding Src's » Graffitis (Amstrad Magazine 15)
» Coding Src's » SDCC ROM development template for Linux / Windows
» Coding Src's » Shinra_part (30_Years_Amstrad_Megademo)
» Coding Src's » Graphik Demo (CPC Amstrad International)
» Coding Src's » Patterns (Amstrad Games Book)
Je participe au site:

» 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 350 millisecondes et consultée 1733 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.