100 ';******* FASTPLOT-Routine ********
110 ';Nur fuer MODE 1
120 ';IN:DE=X,HL=Y in phys. Koordinaten
130 ';   X = 0..319, Y = 0..199
140 ';   0,0 liegt links oben!
150 '
160 'CMASK EQU &B338;Adresse Farbmaske
170 '               ;&B6A3 f. 664/6128
180 '
190 'FPLOT LD A,L   ;A=Lowbyte Y
200 'AND &X00000111 ;Bit 0..2 isolieren
210 'LD H,A         ;= y MOD 8 nach H
220 'XOR L          ;A=Bit 3..7 von Y
230 'LD L,A         ;=(Y\8)*8 nach L
240 'LD C,A         ;und nach C
250 'LD B,&60       ;B=&C0\2 = Highbyte
260 '               ;Screenstart\2
270 'ADD HL,HL      ;HL*2
280 'ADD HL,HL      ;HL*4
290 'ADD HL,BC      ;+BC = Startadresse
300 'ADD HL,HL      ;der Rasterzeile
310 '
320 'LD A,E         ;Lowbyte X nach A
330 'SRL D          ;X\4 berechnen, da
340 'RR E           ;4 Pixel pro Byte
350 'SRL E
360 'ADD HL,DE      ;+HL=Screenadresse
370 '
380 'LD C,&X10001000;Bitmaske f. MODE 1
390 'AND &X00000011 ;A = X MOD 4
400 'JR Z,NSHIFT    ;-> =0, kein Shift
410 'LD B,A         ;Schleifenzaehler
420 'SHIFT SRL C    ;Bitmaske auf Pixel
430 'DJNZ SHIFT     ;-Position schieben
440 '
450 'NSHIFT LD A,(CMASK)
460 '               ;Farbmaske holen
470 'XOR (HL)       ;XOR Screenbyte
480 'AND C          ;AND Bitmaske
490 'XOR (HL)       ;XOR Screenbyte
500 'LD (HL),A      ;Neues Screenbyte
510 'RET            ;fertig