APPLICATIONSDIVERS ★ Schnellerer Graphics-Pen ★

Graphic - Schnellerer Graphics - Pen|CPC Amstrad International)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Wer in Assembler programmiert, ist immer darauf bedacht, seine Programme so zu gestalten, daß sie so schnell wie möglich ablaufen. Somit müssen bestimmte Routinen, die das Betriebssystem zur Verfügung stellt, durch eigene ersetzt werden. Als Ersatz für die GRAPEN-Routine (an Adresse &BBDE) kann nachfolgendes Listing eingesetzt werden. Es ist rund 50 % schneller und kann ohne irgendwelche Einschränkungen benutzt werden.

Die Geschwindigkeitssteigerung wurde durch eine simple tabellenorientierte Programmierung erreicht. So wurde für jeden Bildschirmmodus eine Tabelle angelegt, die codierte Farbwerte enthält. Für Mode 0 sind das 16 Werte, für Mode 1 ganze vier und im Mode 2 nur zwei Werte. Die Erweiterung läßt sich sowohl unter BASIC als auch unter Assembler nutzen. Wer die Routine unter BASIC nutzen möchte, muß zuvor in Assembler die Routine PATCH aufrufen. Die neue Routine steht nun bis zum nächsten Reset zur Verfügung. Der Farbstift wird wie zuvor auch mit GRAPHICS PEN eingestellt oder direkt als dritter Parameter an d ie DRAW- oder PLOT- An Weisung angeh ängt. Wer die Routine nicht unter BASIC nutzen möchte, kann alle mit einem Sternchen gekennzeichneten Zeilen weglassen.

Die Routine kann dann mit CALL, GRAPEN aufgerufen werden, wenn sie in allen Modi arbeiten soll. CALL GRAPEN0, GRAPEN1 oder GRAPEN2 spezifiziert den jeweils gewünschten Modus.

Besitzer des CPC-464-Modells sollten auf die Kommentare im Quellisling achten, da hiereinige Änderungen vorzunehmensind.

;GRAPHICS PEN MODE 0/1/2
;(c) 1991 Klaus Meffert
; & CPC International
;INPUT A = GRAPHICS PEN (0 - 255)
;OUTPUT --
;WENN KEIN PATCH ERWUENSCHT IST,
;KOENNEN ALLE MIT * GEKENNZEICHNETEN
;ZEILEN WEGGELASSEN WERDEN

PENADR EQU &B6A3 ;664/6128
; EQU &B338 ;464
SETPEN EQU &BBDE ;GRA SET PEN

PATCH LD HL,GRAPEN ;*
LD (SETPEN+1),HL ;*
LD A,&C3 ;*
LD (SETPEN),A ;*
RET ;*

GRAPEN PUSH HL ;*
PUSH BC ;*
LD L,A
CALL &BC11 ;GET MODE
LD A,L
JR Z ,GRAPEN1 ;MODE 1
JR NC,GRAPEN2 ;MODE 2
GRAPEN0 AND &0F ;WERTE VON 0 BIS 15
LD HL,PENTAB0 ;FARBTABELLE MODE 0
JR GRAPUT
GRAPEN1 AND &03 ;WERTE VON 0 BIS 3
LD HL,PENTAB1 ;FARBTABELLE MODE 1
JR GRAPUT
GRAPEN2 AND &01 ;WERTE 0 UND 1
LD HL,PENTAB2 ;FARBTABELLE MODE 2
GRAPUT LD C,A
LD B,0
ADD HL,BC
LD A,(HL)
LD (PENADR),A ;PENNUMMER FESTSETZEN
POP BC ;*
POP HL ;*
RET

;FARBTABELLE MODE 0
PENTAB0
DEFB &00,&C0,&0C,&CC
DEFB &30,&F0,&3C,&FC
DEFB &03,&C3,&0F,&CF
DEFB &33,&F3,&3F,&FF
;FARBTABELLE MODE 1
PENTAB1
DEFB &00,&F0,&0F,&FF
;FARBTABELLE MODE 2
PENTAB2
DEFB &00,&FF

RS, CPCAI

★ PUBLISHER: CPC AMSTRAD INTERNATIONAL
★ YEARE: 1992 , 1991
★ AUTOR: Klaus Meffert

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 069 millisecondes et consultée 567 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.