lstoff ; Spectravideo SVI functions definition ; ; $Id: svibios.def,v 1.6 2016-06-06 15:40:54 stefano Exp $ ; defc CHKRAM = $0000 ; Check RAM and sets slot for command area. defc RESET = $0000 defc BOOT = $0000 defc STARTUP = $0000 defc SYNCHR = $0008 ; Checks if then current character pointed by ; HL is one desired.If not,generates ; 'Syntax error',otherwise falls into CHRGTB. ;; defc RDSLT = $???? ; Reads the value of an address in another slot defc CHRGTB = $0010 ; Gets next character (or token) from BASIC text. ;; defc WRTSLT = $???? ; Writes a value to an address in another slot. defc OUTDO = $0018 ; Output to the current device. ;; defc CALSLT = $???? ; Performs inter-slot call to specified address. defc DCOMPR = $0020 ; Compare HL with DE. ;; defc ENASLT = $???? ; Switches indicated slot at indicated page on perpetual defc GETYPR = $0030 ; Return the type FAC. ;; defc CALLF = $???? ; Performs far_call (i.e. inter-slots call) defc KEYINT = $0038 ; Performs hardware interrupt procedures. ; I/O initialization. defc INITIO = $34D9 ; Dev. initialization. defc INIFNK = $0059 ; Initializes function key strings. ; Accessing to the VDP (T19918) ;; defc DISSCR = $???? ; Disables screen display. ;; defc ENASCR = $???? ; Enables screen display. defc WRTVDP = $3536 ; Writes to the VDP register C the data in B. defc RDVRM = $3734 ; Reads the VRAM address by [HL] (VPEEK). defc WRTVRM = $372A ; Write to the VRAM address by [HL] (VPOKE). defc SETRD = $3747 ; Sets up the VDP for read. defc SETWRT = $373C ; Sets up the VDP for write. EXTERN FILVRM ; Fill the vram with specified data EXTERN LDIRMV ; Block transfer to memory from VRAM EXTERN LDIRVM ; Block transfer to VRAM from memory defc CHGMOD = $37D9 ; Sets the VDP mode according to SCRMOD. defc CHGCLR = $3750 ; Changes the color of the screen. defc NMI = $0066 ; Performs non-maskable interrupt procedures. defc CLRSPR = $36BE ; Initializes all sprites. defc INITXT = $0047 ; Initializes screen for text mode (40*24) and sets the VDP. ;; defc INIT32 = $???? ; Initializes screen for text mode (32*24) and sets the VDP. defc INIGRP = $004A ; Initializes screen for high-resolution mode and sets the VDP. defc INIMLT = $004D ; Initializes screen for multi-color mode and sets the VDP. defc SETTXT = $0047 ; (=INITXT on SVI) Sets the VDP for text (40*24) mode. ;; defc SETT32 = $???? ; Sets the VDP for text (32*24) mode. ;; defc SETGRP = $???? ; Sets the VDP for high-resolution mode. ;; defc SETMLT = $???? ; Sets the VDP for multicolor mode. ;; defc CALPAT = $???? ; Returns address of sprite pattern table. ;; defc CALATR = $???? ; Returns address of sprite atribute table. ;; defc GSPSIZ = $???? ; Returns the current sprite size. defc GRPPRT = $4702 ; Prints a character on the graphic screen. ; Accessing to the PSG. defc GICINI = $4066 ; Initializes PSG,and static data for PLAY defc WRTPSG = $40B6 ; Writes data to the PSG register. (no DI/EI) ;; defc RDPSG = $???? ; Reads data from PSG register. defc STRTMS = $416E ; Checks/starts background tasks for PLAY. ; Console (i.e. the keyboard and the CRT) defc CHSNS = $003B ; Check the status of keyboard buffer. defc CHGET = $003E ; Waits for character being input and returns the character codes. defc CHPUT = $394D ; Outputs a character to the console. defc LPTOUT = $0044 ; Output a character to the line printer. defc LPTSTT = $0041 ; Check the line priter status. ;; defc SNVCHR = $???? ; Check graphic header byte and converts codes. defc PINLIN = $6D13 ; Accepts a line from console until a CR or STOP ; is typed,and stores the line in a buffer. defc INLIN = $6D2F ; Same as PINLIN,exept if AUTFLO if set. defc QINLIN = $6D26 ; Output a '?' mark and a space then falls into the INLIN routine. defc BREAKX = $005C ; Check the status of the Control-STOP key. defc ISCNTC = $6495 ; Check the status of the SHIFT-STOP key. defc CKCNTC = $016E ; Same as ISCNTC,used by BASIC defc BEEP = $0147 ; Sounds the buffer defc CLS = $3777 ; Clear the screen. defc POSIT = $393E ; Locate cursor at the specified position. defc FNKSB = $0050 ; Check if function key display is active. If ; it is,it display it,otherwise does nothing. defc ERAFNK = $0053 ; Hide the function key diplay. defc DSPFNK = $0056 ; Show the function key display. defc TOTEXT = $3768 ; Forcidly places the screen in text mode. ; Game I/O devices EXTERN GTSTCK ; Return the current joystick status. (STICK+8) EXTERN GTTRIG ; Return the current trigger button status. (TRIGF+3) ;; defc GTPAD = $???? ; Check the current touch PAD status. ;; defc GTPDL = $???? ; Return the value of the paddle. ; Tape device routines ;; defc TAPION = $???? ; Reads the header block after turning the cassette motor on ;; defc TAPIN = $???? ; Read data from the tape ;; defc TAPIOF = $???? ; Stops reading from the tape ;; defc TAPOON = $???? ; Turns on the cassette motor and writes the header ;; defc TAPOUT = $???? ; Writes data on the tape ;; defc TAPOOF = $???? ; Stops writing on the tape ;; defc STMOTR = $???? ; Sets the cassette motor action ; Queue routines defc LFTQ = $2BC0 ; Gives number of bytes in queue defc PUTQ = $2B45 ; Put byte in queue ; Graphic routines defc RIGHTC = $49CF ; Shifts screenpixel to the right defc LEFTC = $49F8 ; Shifts screenpixel to the left defc UPC = $4A59 ; Shifts screenpixel up defc TUPC = $4A3F ; Tests whether UPC is possible, if possible, execute UPC defc DOWNC = $4A2D ; Shifts screenpixel down defc TDOWNC = $4A14 ; Tests whether DOWNC is possible, if possible, execute DOWNC defc SCALXY = $48A1 ; Scales X and Y coordinates defc MAPXY = $48E9 ; Places cursor at current cursor address (MAPXYC) defc FETCHC = $4943 ; Gets current cursor addresses mask pattern defc STOREC = $494A ; Record current cursor addresses mask pattern defc SETATR = $4980 ; Set attribute byte defc READC = $4951 ; Reads attribute byte of current screenpixel defc SETC = $4988 ; Returns currenct screenpixel of specificed attribute byte defc NSETCX = $4AF9 ; Set horizontal screenpixels defc GTASPC = $4BC3 ; Gets screen relations defc PNTINI = $4BC9 ; Initalises the PAINT instruction defc SCANR = $4BD0 ; Scans screenpixels to the right defc SCANL = $4C66 ; Scans screenpixels to the left ; Misc routines ;; defc CHGCAP = $???? ; Alternates the CAP lamp status ;; defc CHGSND = $???? ; Alternates the 1-bit sound port status ;; defc RSLREG = $???? ; Reads the primary slot register ;; defc WSLREG = $???? ; Writes value to the primary slot register defc RDVDP = $3734 ; Reads VDP status register ;; defc SNSMAT = $???? ; Returns the value of the specified line from the keyboard matrix ;; defc PHYDIO = $???? ; Executes I/O for mass-storage media like diskettes ;; defc FORMAT = $???? ; Initialises mass-storage media like formatting of diskettes defc ISFLIO = $68C2 ; Tests if I/O to device is taking place defc OUTDLP = $6415 ; Printer output defc GETVCP = $2D46 ; Returns pointer to play queue ;; defc GETVC2 = $???? ; Returns pointer to variable in queue number VOICEN (byte op #FB38) defc KILBUF = $0156 ; Clear keyboard buffer ;; defc CALBAS = $???? ; Executes inter-slot call to the routine in BASIC interpreter (CALBNK=$3480) defc SETBORDER = $3762 ; Set border color (color in 'A') lston