; cpu: Z80 ; Fill screen in MZ-700 ; ; EXIT : Q key or SHIFT + BREAK GETKY EQU 001Bh BRKEY EQU 001Eh ?BLNK EQU 0DA6h VRAM EQU 0D000h VRAMA EQU 0D800h ORG 1200h ; start ; attribute VRAM fill LD A,70h LD HL,VRAMA LD BC,40*25 CALL MEMFIL LD IX,CHRLIST LD A,(IX) LOOP0: CALL ?BLNK ; wait VBLANK LD HL,VRAM LD BC,40*25 CALL MEMFIL ; fill screen CALL GETKY CP 81 ; check ASCII 'Q' Key JP Z,SCRCLR CALL BRKEY ; check SHIFT + BREAK JP Z,SCRCLR INC IX LD A,(IX) ; get new display code CP 0 JR NZ,LOOP0 LD IX,CHRLIST LD A,(IX) JR LOOP0 SCRCLR: LD A,0 LD HL,VRAM LD BC,40*25 CALL MEMFIL ; screen clear RET MEMFIL: LD D,H LD E,L INC DE DEC BC LD (HL),A LDIR RET CHRLIST: DB 70h,30h,74h,34h,78h,38h,7Ch,3Ch DB 00 END