9233
DEMO -> Othertypeins
© CPC Amstrad International (1992)
 
 
 
CRTC Programmierung Listing 5
cpc
 
 

Manual n° 1

* SPLIT-RASTER ;SPECIAL EFFECTS - Listing #4 ;Splitraster - Kommentierter Quellcode ;(C)1992 by ELMSOFT and CPC AMSTRAD INTERNATIONAL ;Geschrieben fuer MAXAM Assembler V1.13 NOLIST ;Keine Ausgaben. ORG &4000 ;Programmstart bei 16384. LD HL,FARBBAL ;Farbdaten der Splitraster LD DE,&3000 ;nach &3000 LD BC,40 ;kopieren. LDIR LD HL,&3000 ;Besagte Daten dort jetzt LD DE,&3028 ;45x aneinanderkopieren. LD BC,1000 LDIR LD HL,(&38) ;Beide Bytes bei &38 LD (STORE+1),HL ;wie gehabt sichern LD HL,&C9FB ;und &38 mit EI;RET LD (&38),HL ;fuellen. LD HL,1000 ;Wieder 20 Sekunden Dauer. LOP2 LD B,&F5 ;Wie immer FRAME IN A,(C) ;auf VSR RRCA ;warten. JR NC,FRAME HALT ;Jetzt noch zwei Interrupts abwarten,zur Ms-genauen LOP3 PUSH HL ;Schleifenzaehler sichern. HALT ;Zweiter Interrupt. DI ;Interrupts aus,damit SPLITRASTER nicht unterbrochen werden. LD B,7 W0 DJNZ W0 ;Kleine Warteschleife,um Splitraster genau zu positionieren. NOP:NOP ;Ganz genaue Einstellung. LD (SPST+1),SP ;Stack Pointer sichern LD SP,&3000 ;und mit Adresse der Farbtabelle laden. LD A,170 ;170 Pixelzeilen Splitraster zeichnen. LD BC,&7F00 ;INK 0 fuer Splitraster OUT (C),C ;selektieren. LOP POP HL ;Jetzt schnellstens mit POP vier Farbwerte aus der POP DE ;Tabelle in die Register H,L,D und E holen. OUT (C),H ;Diese Farben jetzt nacheinander OUT (C),L ;in beliebiger Reihenfolge OUT (C),D ;ausgeben.... OUT (C),E OUT (C),H OUT (C),L OUT (C),D OUT (C),E OUT (C),H OUT (C),L CP (IY+0) ;Die uebliche Verzoegerungsschleife, CP (IY+0) ;um eine Dauer von 64Ms festzulegen. NOP:NOP NOP:NOP DEC A ;Noch eine Pixelzeile? JP NZ,LOP ;Ja,dann zu LOP. LD A,&54 ;INK 0 wieder OUT (C),A ;schwarz. SPST LD SP,0 ;SP Register mit altem Wert laden. EI ;Interrupts wieder ein. LD A,6 LOP4 PUSH AF ;Hier werden einige Splirasterspalten LD H,&30 ;umgescrollt. Grundsaetzlich wie im LD L,A ;Listing 4,moeglichst schnell und effektiv. LD C,(HL) ;Speziell Einsteiger sollten sich dadurch LD B,170 ;nicht verwirren lassen und lieber mit LOP5 LD D,H;einfachen,leicht durchschaubaren Routinen LD E,L;Erfahrung sammeln... LD A,L ADD A,4 LD L,A JP NC,LW5 INC H LW5 LD A,(HL) LD (DE),A DJNZ LOP5 LD (HL),C POP AF SUB A,2 JR NZ,LOP4 POP HL ;Durchlaufzaehler zurueck, DEC HL ;DECrementieren LD A,H ;und Schleife gegebenenfalls OR L ;weiter JR NZ,LOP3 ;ausfuehren,sonst STORE LD HL,0 ;die alten Bytes nach &38 LD (&38),HL ;poken und RET ;zurueck. ;Splirasterfarbwerte FARBBAL DB &44,&5C,&58,&56 DB &55,&4C,&4D,&52 DB &57,&4E,&4F,&59 DB &5F,&4A,&4F,&4A DB &4B,&43,&4B,&4B DB &5F,&4A,&4F,&4A DB &57,&4E,&4F,&59 DB &55,&4C,&4D,&52 DB &44,&5C,&58,&56 DB &54,&54,&54,&54


Goto Top
CPC-POWER/CPCSOFTS, programming by Kukulcan © 2007-2022 all rights reserved.
Reproduction forbidden without any express authorization. All the game titles used belong to their respective owners.
Hébergement Web, Mail et serveurs de jeux haute performance