;28/09/88 .Z80 TITLE MOSRST.MAC ;for zdos16 - Eintsein version 4.0 ; definitions des labels des routines du mos 1.1 ARITÈ EQÕ 80H ;A xxxx yyyy BAUÄ EQÕ 81H ;B xy wwzz COPÙ EQÕ 82H ;C xxxx yyyy zzzz DECIMÌ EQÕ 83H ;D xxxx EXEÃ EQÕ 84H ;E xxxx MFILÌ EQÕ 85H ;F xxxx yyyy zz GOTO EQU 86H ;G xxxx yyyy HEX EQU 87H ;H dddd MODIFY EQU 8CH ;M xxxx RDBLOK EQU 91H ;R xxxx yyyy sstt d TBLATE EQU 93H ;T xxxx yyyy zz WRBLOK EQU 96H ;W xxxx yyyy sstt d COLD EQU 97H ;X WARM EQU 98H ;Y REGSTR EQU 99H ;Z ZINIT EQU 9AH ;entree du MOS ZRSCAN EQU 9BH ;analyse du clavier sans attente d'appui de touche ZKEYIN EQU 9CH ;analyse du clavier avec attente d'appui de touche ZGETLN EQU 9DH ;entree d'une ligne dans un tampon (DE) ZOUTC EQU 9EH ;affichage d'un caractere ZPOUT EQU 9FH ;sortie d'un caractere vers l'imprimante ZSLOUT EQU 0A0H ;sortie d'un caractere vers la RS 232 ZSRLIN EQU 0A1H ;entree d'un caractere depuis la RS 232 ZRSECT EQU 0A2H ;lecture d'un secteur ZWSECT EQU 0A3H ;ecriture d'un secteur ZRBLK EQU 0A4H ;lecture d'un bloc du disque ZWBLK EQU 0A5H ;ecriture d'un bloc sur le disque ZCRLF EQU 0A6H ;CR+LF ZCRLFZ EQU 0A7H ;CR+LF si non colonne 0 ZSPACE EQU 0A8H ;1 espace ZPR4HX EQU 0A9H ;affiche un nombre sous forme de 4 chiffres hexa ZP2HXZ EQU 0AAH ;affiche un chiffre sous forme de 2 chiffres hexa ;suivi d'un espace ZPR2HX EQU 0ABH ;affiche un chiffre sous forme de 2 chiffres hexa ZFC4HX EQU 0ACH ;conversion ASCII-HEXA ZFC2HX EQU 0ADH ;conversion ASCII-hexa sur 2 chiffres ZDCMD EQU 0AEH ;envoie d'une commande au controleur de disquette ZHMDSC EQU 0AFH ;positionne la tete sur la piste 0 ZIGBLK EQU 0B0H ; ZRDMEM EQU 0B1H ZRCPYU EQU 0B2H ZRCPYD EQU 0B3H ZMOUT EQU 0B4H ZKSCAN EQU 0B5H zsldsk equ 0b6h zsttrk equ 0b7h zstsec equ 0b8h zstdma equ 0b9h zread equ 0bah Šzwrite equ 0bbh ZZTIME EQU 0BCH ZFDRST EQU 0BDH ZSYSRS EQU 0BEH ZLOGO EQU 0BFH ZPINIT EQU 0C0H ZSREG EQU 0C1H ZVRIN EQU 0C2H ZVROUT EQU 0C3H ZIMULT EQU 0CEH ZPRM EQU 0CFH ZVOUT EQU 0D0H ZSCURS EQU 0D1H ZROM EQU 0D2H zsdrblk equ 0ffh ; ROUTINES GRAPHIQUES EN ROM ZPLOT EQU 0C4H ZPLTXY EQU 0C5H ZPOINT EQU 0C6H ZPNTXY EQU 0C7H ZDRWTO EQU 0C8H ZPOLYG EQU 0C9H ZORGCO EQU 0CAH ZCALAD EQU 0CBH ZSETCL EQU 0CCH ZFILL EQU 0CDH ; ROUTINES DU MOS 1.2 ET 1.21 ZIN80 EQU 0D3H ZST80 EQU 0D4H ;PORTS D'ENTREE/SORTIE ;generateur de son programmable RSTPRT EQU 0 PSGREG EQU 2 PSGDAT EQU 3 ;lecture du port 3 et ecriture dans le port 3 ;processeur d'affichage video (40 colonnes) VDPRAM EQU 8 VDPDR EQU 9 ;interface de communication (8251) PCID EQU 10H PCIC EQU 11H ;controleur de lecteur de disquette (wd 1770) CMDPRT EQU 18H TRKPRT EQU 19H ŠSCTPRT EQU 1AH DATPRT EQU 1BH ;masque d'interruption du clavier ;et registre d'etat/commande auxilliaire AUXREG EQU 20H ;masque d'interruption du convertisseur ad/da ADCMSK EQU 21H ;temoin lumineux 'alpha lock' ALPHA EQU 22H ;port de selection de face/drive DSCPRT EQU 23H ;selection de rom ROMPRT EQU 24H ;'fire' button interrupt mask FIRMSK EQU 25H ;Z80ACTC CTC0 EQU 28H CTC1 EQU 29H CTC2 EQU 2AH CTC3 EQU 2BH ;Z80APIO PIOAD EQU 30H ;imprimante PIOAC EQU 31H ;imprimante PIOBD EQU 32H ;port utilisateur PIOBC EQU 33H ;port utilisateur ;convertisseur A/D (uPD7002) ADCCR EQU 38H ;lecture du registre de donnee ;et ecriture dans le registre de controle OP80 EQU 40H ;40h a 47h = video ram de la carte 80 col. RG6845 EQU 48H ;port d'adressage des registres du 6845 DT6845 EQU 49H ;port de donnees des registres du 6845 IP6845 EQU 4CH ;port d'entree de la carte 80 col. ; PARAMETRES SYSTEMES SCRP EQU 0FB00H Šctc0iv equ scrp ctc1iv equ scrp+2 ctc2iv equ scrp+4 ctc3iv equ scrp+6 kbdiv equ scrp+8 adciv equ scrp+0ah fireiv equ scrp+0ch useriv equ scrp+0eh prniv equ scrp+10h piobiv equ scrp+12h RDMEM EQU SCRP+14H XECEND EQU SCRP+17H UPCOPY EQU SCRP+1AH ;??? DNCOPY EQU SCRP+21H MCXEC EQU SCRP+28H BRKVCT EQU SCRP+30H CLDVCT EQU SCRP+32H WRMVCT EQU SCRP+34H VDPMOD EQU SCRP+36H TCOL EQU SCRP+38H GCOL EQU SCRP+39H FMVCT EQU SCRP+3AH FUVCT EQU SCRP+3CH ZFLAGS EQU SCRP+3EH CUSCDE EQU SCRP+3FH PROMPT EQU SCRP+40H BLINK EQU SCRP+41H RPTLNG EQU SCRP+42H RPTSHT EQU SCRP+43H SCTSIZ EQU SCRP+44H PCFLGS EQU SCRP+45H LASTKY EQU SCRP+46H SCRNCD EQU SCRP+47H STORE EQU SCRP+48H ARGFLG EQU SCRP+49H VCOL EQU SCRP+4AH VROW EQU SCRP+4BH SCRLSZ EQU SCRP+4CH SCRCNT EQU SCRP+4EH XLEN EQU SCRP+4FH HSTDSC EQU SCRP+50H ;numero du lecteur (0-3) HSTTRK EQU SCRP+51H ;piste HSTSEC EQU SCRP+52H ;secteur HSTDMA EQU SCRP+53H ;adresse du tampon de secteur (0FE00H) RWFLAG EQU SCRP+55H ;drapeau d'operation (read=0 write=1) STATUS EQU SCRP+56H ERCNT EQU SCRP+57H TRKTBL EQU SCRP+58H BPVAL EQU SCRP+5CH ŠBPADR EQU SCRP+5DH VDPST EQU SCRP+5FH OLDI EQU SCRP+60H ;poids fort table des interruptions OLDIX EQU SCRP+61H OLDIY EQU SCRP+63H oldsp EQU SCRP+65H ;pointeur du sommet de pile (2 octets) OLDAF1 EQU SCRP+67H OLDBC1 EQU SCRP+69H OLDDE1 EQU SCRP+6BH OLDHL1 EQU SCRP+6DH OLDAF EQU SCRP+6FH OLDBC EQU SCRP+71H OLDDE EQU SCRP+73H OLDHL EQU SCRP+75H OLDPC EQU SCRP+77H SAVHL EQU SCRP+79H SAVSP EQU SCRP+7BH DISC EQU SCRP+7DH TRAK EQU SCRP+7EH SECT EQU SCRP+7FH DBUF EQU SCRP+80H SEKHST EQU SCRP+82H UNADSC EQU SCRP+83H UNATRK EQU SCRP+84H UNASEC EQU SCRP+85H HSTACT EQU SCRP+86H UNACNT EQU SCRP+87H HSTWRT EQU SCRP+88H READOP EQU SCRP+89H RSFLAG EQU SCRP+8AH WRTYPE EQU SCRP+8BH TIME EQU SCRP+8CH BUSY EQU SCRP+92H FNKEY EQU SCRP+93H FNPTR EQU SCRP+94H X1 EQU SCRP+96H Y1 EQU SCRP+98H X2 EQU Y1 ORGX EQU SCRP+9AH ORGY EQU SCRP+9CH CX EQU SCRP+9EH CY EQU SCRP+0A0H RADX EQU SCRP+0A2H RADY EQU SCRP+0A4H CINC EQU SCRP+0A6H Š ; parametres pour les types de lignes (graphisme) DOTON EQU SCRP+0A8H DOTOFF EQU SCRP+0A9H DOTON2 EQU SCRP+0AAH DOTOF2 EQU SCRP+0ABH DOTCNT EQU SCRP+0ACH FILMOD EQU SCRP+0ADH STP EQU SCRP+0AEH STEPR EQU SCRP+0B0H SIDFLG EQU SCRP+0B1H scnkey EQU SCRP+0B2H DPBPTR EQU SCRP+0B3H KCNT EQU SCRP+0B5H buffer equ scrp+0b8h VDPBUF EQU SCRP+0E0H bankz EQU SCRP+109H » definition de macro-instructions MCALÌ MACRÏ FN RSÔ 8 DÂ FN ENDM EPROM MACRO out (romprt),a endm ;definitions des codes de controle ctrl: videof equ 17H videon equ 17H clrscrn equ 0CH eraline equ 18h eraeol equ 15h eraeop equ 16h poscurs equ 1dh bs equ 8 lf equ 0ah cr equ 0dh ;definitions des parametres du bios ;parametres des lecteurs de disquettes Einstein lngsec equ 2 sctnbf equ 0ah sctlen equ 200h stptab equ 1800h pnatab equ 3800h sattab equ 3b00h fnkeys equ 3b80h Štxptab equ 3c00h mosstk equ 0fcffh zdma equ 0fe00h ;tampon disque physique $sdisc equ 0fdffh ;octet de controle disc