lstoff ; MSX BIOS functions definition ; ; December 2007 ; $Id: msxbios.def,v 1.2 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 = $000C ; Reads the value of an address in another slot defc CHRGTB = $0010 ; Gets next character (or token) from BASIC text. defc WRTSLT = $0014 ; Writes a value to an address in another slot. defc OUTDO = $0018 ; Output to the current device. defc CALSLT = $001C ; Performs inter-slot call to specified address. defc DCOMPR = $0020 ; Compare HL with DE. defc ENASLT = $0024 ; Switches indicated slot at indicated page on perpetual defc GETYPR = $0028 ; Return the type FAC. defc CALLF = $0030 ; Performs far_call (i.e. inter-slots call) defc KEYINT = $0038 ; Performs hardware interrupt procedures. ; I/O initialization. defc INITIO = $003B ; Dev. initialization. defc INIFNK = $003E ; Initializes function key strings. ; Accessing to the VDP (T19918) defc DISSCR = $0041 ; Disables screen display. defc ENASCR = $0044 ; Enables screen display. defc WRTVDP = $0047 ; Writes to the VDP register. defc RDVRM = $004A ; Reads the VRAM address by [HL]. defc WRTVRM = $004D ; Write to the VRAM address by [HL]. defc SETRD = $0050 ; Sets up the VDP for read. defc SETWRT = $0053 ; Sets up the VDP for write. defc FILVRM = $0056 ; Fill the vram with specified data defc LDIRMV = $0059 ; Block transfer to memory from VRAM defc LDIRVM = $005C ; Block transfer to VRAM from memory defc CHGMOD = $005F ; Sets the VDP mode according to SCRMOD. defc CHGCLR = $0062 ; Changes the color of the screen. defc NMI = $0066 ; Performs non-maskable interrupt procedures. defc CLRSPR = $0069 ; Initializes all sprites. defc INITXT = $006C ; Initializes screen for text mode (40*24) and sets the VDP. defc INIT32 = $006F ; Initializes screen for text mode (32*24) and sets the VDP. defc INIGRP = $0072 ; Initializes screen for high-resolution mode and sets the VDP. defc INIMLT = $0075 ; Initializes screen for multi-color mode and sets the VDP. defc SETTXT = $0078 ; Sets the VDP for text (40*24) mode. defc SETT32 = $007B ; Sets the VDP for text (32*24) mode. defc SETGRP = $007E ; Sets the VDP for high-resolution mode. defc SETMLT = $0081 ; Sets the VDP for multicolor mode. defc CALPAT = $0084 ; Returns address of sprite pattern table. defc CALATR = $0087 ; Returns address of sprite atribute table. defc GSPSIZ = $008A ; Returns the current sprite size. defc GRPPRT = $008D ; Prints a character on the graphic screen. ; Accessing to the PSG. defc GICINI = $0090 ; Initializes PSG,and static data for PLAY defc WRTPSG = $0093 ; Writes data to the PSG register. defc RDPSG = $0096 ; Reads data from PSG register. defc STRTMS = $0099 ; Checks/starts background tasks for PLAY. ; Console (i.e. the keyboard and the CRT) defc CHSNS = $009C ; Check the status of keyboard buffer. defc CHGET = $009F ; Waits for character being input and returns the character codes. defc CHPUT = $00A2 ; Outputs a character to the console. defc LPTOUT = $00A5 ; Output a character to the line printer. defc LPTSTT = $00A8 ; Check the line priter status. defc SNVCHR = $00AB ; Check graphic header byte and converts codes. defc PINLIN = $00AE ; Accepts a line from console until a CR or STOP ; is typed,and stores the line in a buffer. defc INLIN = $00B1 ; Same as PINLIN,exept if AUTFLO if set. defc QINLIN = $00B4 ; Output a '?' mark and a space then falls into the INLIN routine. defc BREAKX = $00B7 ; Check the status of the Control-STOP key. defc ISCNTC = $00BA ; Check the status of the SHIFT-STOP key. defc CKCNTC = $00BD ; Same as ISCNTC,used by BASIC defc BEEP = $00C0 ; Sounds the buffer defc CLS = $00C3 ; Clear the screen. defc POSIT = $00C6 ; Locate cursor at the specified position. defc FNKSB = $00C9 ; Check if function key display is active. If ; it is,it display it,otherwise does nothing. defc ERAFNK = $00CC ; Hide the function key diplay. defc DSPFNK = $00CF ; Show the function key display. defc TOTEXT = $00D2 ; Forcidly places the screen in text mode. ; Game I/O devices defc GTSTCK = $00D5 ; Return the current joystick status. defc GTTRIG = $00D8 ; Return the current trigger button status. defc GTPAD = $00DB ; Check the current touch PAD status. defc GTPDL = $00DE ; Return the value of the paddle. ; Tape device routines defc TAPION = $00E1 ; Reads the header block after turning the cassette motor on defc TAPIN = $00E4 ; Read data from the tape defc TAPIOF = $00E7 ; Stops reading from the tape defc TAPOON = $00EA ; Turns on the cassette motor and writes the header defc TAPOUT = $00ED ; Writes data on the tape defc TAPOOF = $00F0 ; Stops writing on the tape defc STMOTR = $00F3 ; Sets the cassette motor action ; Queue routines defc LFTQ = $00F6 ; Gives number of bytes in queue defc PUTQ = $00F9 ; Put byte in queue ; Graphic routines defc RIGHTC = $00FC ; Shifts screenpixel to the right defc LEFTC = $00FF ; Shifts screenpixel to the left defc UPC = $0102 ; Shifts screenpixel up defc TUPC = $0105 ; Tests whether UPC is possible, if possible, execute UPC defc DOWNC = $0108 ; Shifts screenpixel down defc TDOWNC = $010B ; Tests whether DOWNC is possible, if possible, execute DOWNC defc SCALXY = $010E ; Scales X and Y coordinates defc MAPXY = $0111 ; Places cursor at current cursor address defc FETCHC = $0114 ; Gets current cursor addresses mask pattern defc STOREC = $0117 ; Record current cursor addresses mask pattern defc SETATR = $011A ; Set attribute byte defc READC = $011D ; Reads attribute byte of current screenpixel defc SETC = $0120 ; Returns currenct screenpixel of specificed attribute byte defc NSETCX = $0123 ; Set horizontal screenpixels defc GTASPC = $0126 ; Gets screen relations defc PNTINI = $0129 ; Initalises the PAINT instruction defc SCANR = $012C ; Scans screenpixels to the right defc SCANL = $012F ; Scans screenpixels to the left ; Misc routines defc CHGCAP = $0132 ; Alternates the CAP lamp status defc CHGSND = $0135 ; Alternates the 1-bit sound port status defc RSLREG = $0138 ; Reads the primary slot register defc WSLREG = $013B ; Writes value to the primary slot register defc RDVDP = $013E ; Reads VDP status register defc SNSMAT = $0141 ; Returns the value of the specified line from the keyboard matrix defc PHYDIO = $0144 ; Executes I/O for mass-storage media like diskettes defc FORMAT = $0147 ; Initialises mass-storage media like formatting of diskettes defc ISFLIO = $014A ; Tests if I/O to device is taking place defc OUTDLP = $014D ; Printer output defc GETVCP = $0150 ; Returns pointer to play queue defc GETVC2 = $0153 ; Returns pointer to variable in queue number VOICEN (byte op #FB38) defc KILBUF = $0156 ; Clear keyboard buffer defc CALBAS = $0159 ; Executes inter-slot call to the routine in BASIC interpreter defc SETBORDER = $8035 ; Set border color (color in 'A') lston