9231
DEMO -> Diverstypeins
© CPC Amstrad International (1992)
 
 
 
CRTC Programmierung Listing 2
cpc
 
 

NOTICE / MANUAL

TXT (1)

NOTICE TEXTE n° 1 (2.56 Ko)

* CRTC CHECK ;SPECIAL EFFECTS - Listing #2 ;CRTC Test Routine -Kommentierter Quellcode ;(C)1992 by ELMSOFT and CPC AMSTRAD INTERNATIONAL ORG &4000 ;Programmstart bei 16384. DI ;Zuerst alle Interrupts aus. LD HL,(&38) ;Teil des JPs zur Interruptroutine LD (STORE+1),HL ;bei &38 sichern, LD HL,&C9FB ;dann ein EI ;RET (=&FB,&C9) an Adresse &38, LD (&38),HL ;ein auftretender Interrupt hat ;so keine Wirkung, kann aber zur ;Synchronisation verwendet werden. LD B,&F5 ;Auf das vertikale FRAME1 IN A,(C) ;Synchronisations- RRCA ;signal (=VSYNC) JP NC,FRAME1 ;warten... FRAME2 IN A,(C) ;Zweite Abfrage RRCA ;zur absoluten JP NC,FRAME2 ;Sicherheit. EI ;Interrupts wieder zulassen, HALT ;und auf ersten Interrupt warten. LD HL,&4B ;Einfache, WAIT DEC HL ;genau LD A,H ;bestimmte OR L ;Warte- JP NZ,WAIT ;schleife. IN A,(C) ;Ist VSYNC Signal jetzt noch ;immer aktiv? RRCA ;Ja? JP C,CONT1 ;Dann liegt kein CRTC Typ 0 vor. XOR A:JR ENDE ;Sonst A=Typ 0,Test erledigt. CONT1 HALT ;Warten,bis der Elektronenstrahl HALT ;die Bildschirmmitte erreicht HALT ;und die VSYNC Periode ;verlassen hat. DI ;Jetzt Interrupts wieder aus FRAME3 IN A,(C) ;und auf den RRCA ;naechsten Frame-Fly JP NC,FRAME3 ;warten... LD BC,&BC02 ;CRTC Register 2 OUT (C),C ;mit &32 laden, ein Wert, LD BC,&BD32 ;den CRTC Typ 2 nicht OUT (C),C ;verkraftet. EI ;Interrupt wieder ein HALT ;und HALT ;einen HALT ;Bild- HALT ;aufbau HALT ;abwarten. HALT HALT LD B,&F5 ;Ist jetzt der Frame-Fly NICHT ;aktiv, IN A,(C) ;so ist ein CRTC Typ 2 vorhanden, RRCA ;der durch den Wert &32 in ;Register 2 JP NC,CONT2 ;ganz aus dem Konzept gebracht ;wurde. LD A,1:JR ENDE ;Sonst A=CRTC Typ 1 und Ende... CONT2 LD A,2 ;CRTC Typ 2 steht fest. ENDE LD BC,&BC02;Register 2 OUT (C),C ;wieder mit LD BC,&BD2E ;Normalwert OUT (C),C ;laden. LD (&AF00),A ;CRTC Typ fuer Basicprogramm nach ;&AF00 schreiben. STORE LD HL,0 ;Wieder die beiden urspruenglichen LD (&38),HL ;Bytes nach &38 zurueckpoken. EI ;Interrupts ein RET ;und gesch ;Interrupts ein RET ;und geschafft.
 



Goto Top
CPC-POWER/CPCSOFTS, programmation par Kukulcan © 2007-2024 tous droits réservés.
Reproduction sans autorisation interdite. Tous les titres utilisés appartiennent à leurs propriétaires respectifs.
Hébergement Web, Mail et serveurs de jeux haute performance