CHR - Character table Contiene la definizione dei caratteri 64x32. CLR - Clear buffer STA = Buffer start END = Buffer end + 1 Pulisce una zona di memoria. Le etichette pubbliche STA e END contengono l'inizio e la fine (pił uno) del buffer. DRW - Draw a line B = X1 coord C = Y1 coord D = X2 coord E = Y2 coord Traccia una linea dalle coordinate X1, Y1 alle coordinate X2, Y2. INP - Input data (64x32) A = Field len B = Row C = Col HL = Buffer Attiva un input di caratteri di lunghezza A, alla riga B, alla colonna C, nel buffer puntato da HL. KBD - Interrupt keyboard driver STS = Cursor status KEY = Pressed key Routine di interrupt per la lettura della tastiera. Nella locazione di memoria STS si trova lo stato corrente del cursore e nella localzione KEY il tasto premuto. Gli stati del cursore sono NST (No Shift), CST (Caps Shift), SST (Symbol Shift) e CLT (Caps Lock). Il driver si installa in questo modo: DI EXX PUSH HL LD A,195 LD (65021),A LD HL,KBD LD (65022),HL LD HL,65024 LD DE,65025 LD BC,256 LD (HL),253 LDIR LD A,254 LD I,A IM2 EI Questi sono i codici speciali: 1 = ENTER 2 = EXTEND MODE 3 = BREAK 4 = CAPS SHIFT + ENTER 5 = DOWN ARROW 6 = UP ARROW 7 = RIGHT ARROW 8 = GRAPH 9 = DELETE 10 = LEFT ARROW 11 = INV VIDEO 12 = TRUE VIDEO 13 = CAPS LOCK 14 = EDIT 15 = SYMBOL SHIFT + ENTER 16 = SYMBOL SHIFT + I 17 = SYMBOL SHIFT + E 18 = SYMBOL SHIFT + W 19 = SYMBOL SHIFT + Q PGE - Print a page (64x32) HL = Buffer start MUP = Margin up MDW = Margin down MLF = Margin left MRG = Margin right Stampa a video una pagina di testo contenuta a partire dall'indirizzo puntato da HL. Le etichette pubbliche MUP, MDW, MLF e MRG contengono le coordinate dell'area di schermo da riempire. PRG - Print a paragraph (64x32) HL = Buffer start B = Row C = Col MDW = Margin down MLF = Margin left MRG = Margin right Stampa a video un paragrafo di testo contenuto a partire dall'indirizzo puntato da HL, alla riga B e colonna C. Le etichette pubbliche MDW, MLF e MRG contengono le coordinate dell'area di schermo da riempire. RGR - Reset Graphic B = X coord C = Y coord Spegne il pixel alle coordinate X, Y. RND - Random number A = Random value Genera un numero casuale a 8 bit e lo memorizza in A. ROW - Print a row (64x32) HL = Buffer start B = Row C = Col MLF = Margin left MRG = Margin right Stampa a video una riga di testo contenuta a partire dall'indirizzo puntato da HL, alla riga B e colonna C. Le etichette pubbliche MLF e MRG contengono, rispettivamente, il margine sinistro e il margine destro della riga. RXD - Receive Data A = Char Riceve un carattere via seriale e lo memorizza in A. Di questa routine esistono varie versioni: - 2400 bps - 57600 bps - 115200 bps Di quella a 2400 bps esiste la versione con attesa del carattere e quella senza attesa del carattere. Delle altre solo con attesa. Quelle senza attesa servono per l'emulatore di terminale Link. E' indispensabile disabilitare le interruzioni. SCD - Scroll Down PXU = First pixel row PXD = Last pixel row + 1 PX2 = PXD * 2 - 14 MR2 = ( MRG - MLF ) / 2 Scrolla una porzione di schermo di un pixel verso l'alto. Le etichette pubbliche PXU e PXD contengono la prima e l'ultima (pił uno) riga di pixel da scrollare, PX2 contiene il doppio di PXU meno 14, MR2 contiene i caratteri da 8 pixel contenuti in orizzontale nella porzione di schermo da scrollare. SCN - Scan buffer for EOF STA = Buffer start END = Buffer end + 1 WDT = Line width EOF = Available space start Cerca lo spazio libero all'interno di un buffer di testo. Le etichette pubbliche STA e END contengono l'inizio e la fine (pił uno) del buffer, WDT contiene la lunghezza delle righe di testo. L'inizio della zona disponibile viene messo all'indirizzo indicato dall'etichetta pubblica EOF. SCR - Screen table Contiene gli indirizzi del video per un pił rapido accesso a 64x32. SCU - Scroll Up PXU = First pixel row PXD = Last pixel row + 1 PX1 = PXU * 2 MR2 = ( MRG - MLF ) / 2 Scrolla una porzione di schermo di un pixel verso l'alto. Le etichette pubbliche PXU e PXD contengono la prima e l'ultima (pił uno) riga di pixel da scrollare, PX1 contiene il doppio di PXU, MR2 contiene i caratteri da 8 pixel contenuti in orizzontale nella porzione di schermo da scrollare. SGR - Set Graphic B = X coord C = Y coord Accende il pixel alle coordinate X, Y. STR - Print a string (64x32) HL = Buffer A = String len B = Row C = Col Stampa a video la stringa puntata da HL, di lunghezza A, alla riga B e colonna C. TXD - Transmit Data A = Char Trasmette via seriale il carattere contenuto in A. Di questa routine esistono varie versioni: - 2400 bps - 57600 bps - 115200 bps E' indispensabile disabilitare le interruzioni. TXT - Print a char (64x32) A = Char B = Row C = Col Stampa a video il carattere contenuto in A, alla riga B e colonna C.