title 'Zugriff auf Roller RAM' page 64 ; Copyright (C) Werner Cirsovius ; Hohe Weide 44 ; D-2000 Hamburg 20 ; Tel.:040/4223247 ; Version 1.0, November 1986 ; ===== Konstanten ===== roller equ 0b600h ; Adress des Roller RAM lomask equ 00000111b himask equ 11110000b frmlng equ 720 ldir macro db 0edh,0b0h endm shift macro reg mov a,reg ral mov reg,a endm vidstr: ; Unterprogramm zum Setzen des Video RAM ; ENTRY Akku haell Zeile ; Puffer im Common muss mit einer Pixelzeile ; gefuellt sein (720 Bytes) mvi h,0 mov l,a ; Zeile kopieren dad h ; *16 wegen 8 Zeilen dad h ; (wegen Wort=2 Byte-Adresse) dad h dad h lxi d,roller dad d ; Roller RAM Zugriff mov e,m ; Jetzt kommen komische Sachen inx h ; zur Berechnung der wirklichen Adresse mov d,m mov a,e ani lomask mov l,a shift e shift d mov a,e ani himask ora l mov e,a lxi h,buffer; Zeiger auf Common Puffer lxi b,frmlng; Dann in Common laden ldir ret buffer ds frmlng ; Pixel fuer eine Zeile hier ablegen end