home *** CD-ROM | disk | FTP | other *** search
Text File | 1986-09-30 | 15.9 KB | 1,249 lines |
- BIOS Entry list
-
- COMMENT:
-
- The following Restart (RST 0 through RST 5) are reserved for
- the BASIC interpreter,RST 6 for inter-slot calls,RST 7 for
- hardware interrupt.
-
- Name Name of function
- Function Function to be performed
- Entry Entry parameter
- Return Return parameter
- Modifies Register to be modified
- Notes (optional)
-
- ------------------------------------------------------------
-
- 0000
-
- Name CHKRAM
- F Check RAM and sets slot for command area.
- E None
- R None
- M All
- N When done,a jump to INIT must be made for
- further initializator.
-
-
- 0008
-
- Name SYNCHR
- F Checks if then current character pointed by
- HL is one desired.If not,generates
- 'Syntax error',otherwise falls into CHRGTB.
- E HL,character to be checked be placed at the
- next location to this RST.
- R HL points to next character,a has the
- character.
- Carry flag set if number, Z flag set if end
- of statesment.
- M AF,HL.
-
-
- 000C
-
- Name RDSLT
- F Select the appropriate slot according to the
- value given through registers, and reads the
- contents of memory from the slots.
- E A: FxxxSSPP
- | ||||
- | ||----Primary slot #(0-3)
- | ------Secondary slots #(0-3)
- ----------If secondary slot # specified.
- R A: Contents of memory.
- M AF,BC,DE
- N Interrupts are disabled automatically but
- are never enabled by this routine.
-
-
- 0010
-
- Name CHRGTB
- F Gets next character (on token) from BASIC text.
- E HL
- R HL points to next characted, A has the
- character. Carry flag set if number,Z flag
- set if end of statesment encountered.
- M AF,HL.
-
-
- 0014
-
- Name WRTSLT
- F Select the appropriate slot according to the
- value given through registers, and writes to
- memory.
- E A: FxxxSSPP.(see RDSLT).
- HL: Address of target memory.
- E: Data to be written.
- R None.
- M AF,BC,D
- N (see RDSLT)
-
-
- 0018
-
- Name OUTDO
- F Output to the current device.
- E A,RTFIL,PRTPGL.
- R None.
- M None.
-
-
- 001C
-
- Name CALSLT
- F Performs inter-slot call to specified address.
- E IY -FxxxSSPP (high) (see RDSLT)
- IX: Adress to call
- R None
- M None
- N Interrupt are disabled automatically but
- never enabled to this routine. Argument can
- never be passed via the alternate registers of
- Z80 or IX and IY.
-
-
- 0020
-
- Name DCOMPR
- F Compare HL with DE.
- E HL,DE.
- R Flag.
- M AF.
-
-
-
- 0024
-
- Name ENASLT
- F Select the appropriate slot according to the
- value given through registers,and permanently
- enables the slot
- E A: FxxxSSPP.
- HL:Address of target memory.
- R None.
- M All.
- N (see RDSLT)
-
-
-
- 0028
-
- Name GETYPR
- F Return the type FAC.
- E FAC.
- R Flags.
- M AF.
-
-
-
- 0030
-
- Name CALLF
- F Performs far_call (i.e. inter-slots call)
- E None
- R Flags.
- N The calling sequence is as follows.
-
-
- RST 6
- DB Destination slot.
- DW Destination address.
-
- (see CALSLT)
-
-
-
- 0038
-
- Name KEYINT
- F Performs hardware interrupt procedures.
- E None.
- R None.
- M None.
-
-
-
- ;-----------------------------------------------------------
-
- The following routined are used for I/O initialization.
-
- ;-----------------------------------------------------------
-
-
-
- 003B
-
- Name INITIO
- F Performed devise initialization.
- E None
- R None
- M All
-
-
-
- 003E
-
- Name INIFNK
- F Initializes function key strings.
- E None
- R None
- M All
-
-
- ;-----------------------------------------------------------
-
- The following routined are used to access the VDP (T19918)
-
- ;-----------------------------------------------------------
-
-
-
- 0041
-
- Name DISSCR
- F Disables screen display.
- E None
- R None
- M AF,BC
-
-
-
- 0044
-
- Name ENASCR
- F Enables screen display.
- E None
- R None
- M AF,BC
-
-
-
- 0047
-
- Name WRTVDP
- F Writes to the VDP register.
- E Register in C,data in B.
- M AF,BC.
-
-
-
- 004A
-
- Name RDVRM
- F Reads the VRAM address by [HL].
- E HL.
- R A
- M AF
-
-
-
- 004D
-
- Name WRTVRM
- F Write to the VRAM address by [HL].
- E HL,A.
- R None
- M AF
-
-
-
- 0050
-
- Name SETRD
- F Sets up the VDP for read.
- E HL
- R None
- M AF
-
-
-
- 0053
-
- Name SETWRT
- F Sets up the VDP for write.
- E HL
- R None
- M AF
-
-
-
- 0056
-
- Name FILVRM
- F fill the vram with specified data
- E addres [HL] , length [BC], data [a]
- R none
- M All
-
-
-
-
- 0059
-
- Name LDIRMV
- F Moves a VRAM memory block to memory.
- E Address of sourse [HL], destanation [DE]
- lenght [BC] .
- R none
- M All
-
-
-
- 005C
-
- Name LDIRMV
- F Move blok of memery from memory to Vram
- E sourse [HL], destanation [DE], length [BC]
- R None
- M All
-
-
-
- 005F
-
- Name CHGMOD
- F Sets the VDP mode according to SCRMOD.
- E SCRMOD (0...3)
- R None
- M All
-
-
-
- 0062
-
- Name CHGCLR
- F Changes the color of the screen.
- E Foreground color in FOBCLR.
- Background color in BAKCLR.
- Border color in BDRCLR
- R None
- M All
-
-
-
- 0066
-
- Name NMI
- F Performs non-maskable interrupt procedures.
- E None
- R None
- M None
-
-
-
- 0069
-
- Name CLRSPR
- F Initializes all sprites.
- Patterns are set to nulls,sprite names are
- set to sprite plane number,sprite colors are
- set to foregroup color,vertical positions are
- set to 209
- E SCRMOD
- R None
- M All
-
-
-
- 006C
-
- Name INITXT
- F Initializes screen for text mode (40*24) and
- sets the VDP.
- E TXTNAM,TXTCGP.
- R None.
- M All
-
-
-
- 006F
-
- Name INIT32
- F Initializes screen for text mode (32*24) and
- sets the VDP.
- E T32NAM,T32GRP,T32COL,T32ATR,T32PAT.
- R None
- M All
-
-
-
- 0072
-
- Name INIGRP
- F Initializes screen for high-resolution mode
- and sets the VDP.
- E GRPNAM,GRPCGP,GRPCOL,GRATR,GRPPAT.
- R None
- M All
-
-
-
- 0075
-
- Name INIMLT
- F Initializes screen for multi-color mode and
- sets the VDP.
- E MLTNAM,MLTCGP,MLTCOL,MLTATR,MLTPAT.
- R None
- M All
-
-
-
- 0078
-
- Name SETTXT
- F Sets the VDP for text (40*24) mode.
- E TXTNAM,TXTCGT.
- R None
- M All
-
-
-
- 007B
-
- Name SETT32
- F Sets the VDP for text (32*24) mode.
- E T32NAM,T32CGT,T32COL,T32ATR,T32PAT.
- R None
- M All
-
-
-
- 007E
-
- Name SETGRP
- F Sets the VDP for high-resolution mode.
- E GRPNAM,GRPCGP,GRPCOL,GRPATR,GRPPAT.
- R None
- M All
-
-
-
- 0081
-
- Name SETMLT
- F Sets the VDP for multicolor mode.
- E MLTNAM,MLTCGRP,MLTCOL,MLTATR,MLTPAT.
- R None
- M All
-
-
-
- 0084
-
- Name CALPAT
- F Returns address of sprite pattern table.
- E Sprite ID in [Acc].
- R Address in [HL]
- M AF,DE,HL.
-
-
-
- 0087
-
- Name CALATR
- F Returns address of sprite atribute table.
- E Sprite ID in [Acc].
- R Address in [HL].
- M AF,DE,HL.
-
-
-
- 008A
-
- Name GSPSIZ
- F Returns the current sprite size.
- E None.
- R Sprite size(# of bytes) in [Acc].
- Carry set if 16*16 sprite is use,otherwise
- reset the otherwise.
- M AF
-
-
-
- 008D
-
- Name GRPPRT
- F Prints a character on the graphic screen.
- E Code to output in [Acc].
- R None
- M None
-
-
- ;-----------------------------------------------------------
-
- The following routined are used to access the PSG.
-
- ;-----------------------------------------------------------
-
- 0090
-
- Name GICINI
- F Initializes PSG,and static data for PLAY
- statement.
- E None.
- R None.
- M All
-
-
-
- 0093
-
- Name WRTPSG
- F Writes data to the PSG register.
- E Register number in [Acc],data in [E].
- R None
- M None
-
-
-
- 0096
-
- Name RDPSG
- F Reads data from PSG register.
- E Register number in [Acc].
- R Data in [Acc].
- M None.
-
-
-
- 0099
-
- Name STRTMS
- F Checks/starts background tasks for PLAY.
- E None
- R None
- M All
-
-
- ;-----------------------------------------------------------
-
- The following routined are used to access the console,
- i.e. the keyboard and the CRT.
-
- ;-----------------------------------------------------------
-
- 009C
-
- Name CHSNS
- F Check the status of keyboard buffer.
- E None
- R Z flag reset if any character in buffer.
- M AF
-
-
-
- 009F
-
- Name CHGET
- F Waits for character being input and returns
- the character codes.
- E None.
- R Character code in [Acc].
- M AF
-
-
-
- 00A2
-
- Name CHPUT
- F Outputs a character to the console.
- E Character code to be output in [Acc].
- R None
- M None
-
-
-
- 00A5
-
- Name LPTOUT
- F Output a character to the line printer.
- E Character codes to the output in [Acc].
- R Carry flag set if aborted.
- M F
-
-
-
- 00A8
-
- Name LPTSTT
- F Check the line priter status.
- E None.
- R FF in [Acc] and Z flag reset if priter ready.
- 0 and Z flag set if not.
- M AF.
-
-
-
- 00AB
-
- Name SNVCHR
- F Check graphic header byte and converts codes.
- E Character code in [Acc].
- R Cy flag reset: graphic header byte
- Cy and Z flags set converted graphic code.
- Cy flag set,Z flag reset,non-converted code.
- M AF.
-
-
-
- 00AE
-
- Name PINLIN
- F Accepts a line from console until a CR or STOP
- is typed,and stores the line in a buffer.
- E None
- R Address of buffer top-1 in [HL],carry flag
- sets if STOP is input.
- M All.
-
-
-
- 00B1
-
- Name INLIN
- F Same as PINLIN,exept if AUTFLO if set.
- E None
- R Address of buffer top-1 in [HL],carry flag
- set if STOP is input.
- M All
-
-
-
- 00B4
-
- Name QINLIN
- F Output a '?' mark and a space then falls into
- the INLIN routine.
- E None
- R Address of buffer top-1 in [HL],carry flag
- set if STOP is input.
- M All.
-
-
-
- 00B7
-
- Name BREAKX
- F Check the status of the Control-STOP key.
- E None
- R Carry flag set if being pressed.
- M AF
- N This routine is used to check Control-STOP
- when interrupt are disabled.
-
-
-
- 00BA
-
- Name ISCNTC
- F Check the status of the SHIFT-STOP key.
- E None
- R None
- M None
-
-
-
- 00BD
-
- Name CKCNTC
- F Same as ISCNTC,used by BASIC
- E None
- R None
- M None
-
-
-
- 00C0
-
- Name BEEP
- F Sounds the buffer
- E None
- R None
- M All
-
-
-
- 00C3
-
- Name CLS
- F Clear the screen.
- E None.
- R None.
- M AF,BC,DE.
-
-
-
- 00C6
-
- Name POSIT
- F Locate cursor at the specified position.
- E Column in [H],row in [L]
- R None
- M AF
-
-
- 00C9
-
- Name FNKSB
- F Check if function key display is active. If
- it is,it display it,otherwise does nothing.
- E FNKFLG
- R None
- M All
-
-
-
- 00CC
-
- Name ERAFNK
- F Erased the function key diplay.
- E None
- R None
- M All
-
-
-
- 00CF
-
- Name DSPFNK
- F Display the function key display.
- E None
- R None
- M All
-
-
-
- 00D2
-
- Name TOTEXT
- F Forcidly places the screen in text mode.
- E None
- R None
- M All
-
-
-
- ;-----------------------------------------------------------
-
- The following routined are used for game I/O access.
-
- ;-----------------------------------------------------------
-
-
- 00D5
-
- Name GTSTCK
- F Return the current joystick status.
- E Joystick ID in [Acc]
- R Direction in [Acc]
- M All
-
-
-
- 00D8
-
- Name GTTRIG
- F Return the current trigger button status.
- E Trigger button in ID in [Acc].
- R Return 0 in [Acc] if not pressed,255
- otherwise.
- M AF
-
-
-
- 00DB
-
- Name GTPAD
- F Check the current touch PAD status.
- E ID in [Acc]
- R Value in [Acc]
- M All
-
-
-
- 00DE
-
- Name GTPDL
- F Return the value of the paddle.
- E Padle ID in [Acc].
- R Value in [Acc]
- M All
-
-
- ;-----------------------------------------------------------
-
- The following routined are used to access the cassette tape.
-
- ;-----------------------------------------------------------
-
-
- 00E1
-
- Name TAPION
- F Sets the motor on and reads header from tape.
- E None
- R Carry flag set if aborted.
- M All.
-
-
-
- 00E4
-
- Name TAPIN
- F Input from tape.
- E None
- R Data in [Acc],carry flag is set if aborted.
- M All
-
-
-
- 00E7
-
- Name TAPION
- F Stops reading froim tape.
- E None
- R None
- M None
-
-
- 00EA
-
- Name TAPOON
- F Sets motor on and writes header block to
- cassette.
- E [Acc] holds non-0 value if a long header
- desired,0 if a short header desired.
- R Carry flag set if aborted.
- M All
-
-
- 00ED
-
- Name TAPOUT
- F Output to tape.
- E Data to be output in [Acc].
- R Carry flag set if aborted.
- M All.
-
-
-
- 00F0
-
- Name TAPOOF
- F Stops writing to tape.
- E None
- R None
- M None
-
-
-
- 00F3
-
- Name STMOTR
- F Starts the cassette motor.
- E 0 in [Acc] to stop,1 to start,255 to flip.
- R None
- M AF
-
-
- ;-----------------------------------------------------------
-
- The following routined are used to handle queues.
-
- ;-----------------------------------------------------------
-
- 00F6
-
- Name LFTQ
- F Return the number of bytes left in queue.
- E
- R
- M
-
-
-
- 00F9
-
- Name PUTQ
- F Plase a byte in gueue.
- E
- R
- M
-
-
- ;-----------------------------------------------------------
-
- The following routined are used by GENGRP and ADVGRP modules
-
- ;-----------------------------------------------------------
-
-
- 00FC
-
- Name RIGHTC
- F Moves one pixel right.
- E
- R
- M
-
-
-
- 00FF
-
- Name LEFTC
- F Moves one pixel right
- E
- R
- M
-
-
-
- 0102
-
- Name UPC
- F Moves one pixel up.
- E
- R
- M
-
-
-
- 0105
-
- Name TUPC
- F Moves one pixel up.
- E
- R
- M
-
-
-
- 0108
-
- Name DOWNC
- F Moves one pixel down.
- E
- R
- M
-
-
-
- 010B
-
- Name TDOWNC
- F Moves one pixel down.
-
-
-
- 010E
-
- Name SCALXY
- F Scales the X-Y coordinate.
- E
- R
- M
-
-
-
- 0111
-
- Name MAPXYC
- F Map the coordinate to the physical address.
- E
- R
- M
-
-
- 0114
- Name FETCHC
-
- F Fetcher current physical address and mask
- pattern.
- E None
- R Address in [HL],mask pattern in [Acc].
- M A,HL
-
-
-
- 0117
-
- Name STOREC
- F Stores physical address and mask pattent in [Acc].
- E Address in [HL],mask pattern in [Acc].
- R None
- M None
-
-
-
- 011A
-
- Name SETATR
- F Sets attribute byte.
- E
- R
- M
-
-
-
-
- 011D
-
- Name READC
- F Read attribyte of current pixel.
- E
- R
- M
-
-
-
-
- 0120
-
- Name SETC
- F Set current pixel to the specified attribute.
- E
- R
- M
-
-
-
-
- 0123
-
- Name NSETCX
- F Set pixel horizontally.
- E
- R
- M
-
-
-
-
- 0126
-
- Name GTASPC
- F Returns the aspect ratio
- E None
- R DE,HL
- M DE,HL
-
-
-
-
- 0129
-
- Name PNTINI
- F Initializes the PAINT function
- E
- R
- M
-
-
-
- 012C
-
- Name SCANR
- F Scans pixel to the right.
- E
- R
- M
-
-
-
- 012F
-
- Name SCANL
- F Scans pixel to the left.
- E
- R
- M
-
-
-
- ;-----------------------------------------------------------
-
- The following routined are additional entries.
-
- ;-----------------------------------------------------------
-
-
- 0132
-
- Name CHGCAP
- F Change the status of CAP lamp.
- E 0 in [Acc] to turn off the lamp,non-0
- otherwise.
- R None
- M AF
-
-
-
-
- 0135
-
- Name CHGCND
- F Change the status of 1 bit soutd port.
- E 0 in [Acc] to turn off,non-0 otherwise.
- R None
- M AF
-
-
-
-
- 0138
-
- Name RSLREG
- F Read the current output to the primary slot
- register.
- E None
- R Result in [Acc].
- M A
-
-
-
- 013B
-
- Name WSLREG
- F Writes to the primary slot register.
- E Value in [Acc]
- R None
- M None
-
-
-
-
- 013E
-
- Name RDVDP
- F Read VDP status register.
- E None
- R Data in [Acc].
- M A
-
-
-
-
-
- 0141
-
- Name SNSMAT
- F Returns the status of a specified row of a
- keyboard matrix.
- E Row # in [Acc]
- R Status in [Acc],corresponding bit is reset
- to 0 if a key is being pressed.
- M AF.
-
-
-
- 0144
-
- Name PHYDIO
- F Performs operation for mass-storage devices
- such as disk.
- E
- R
- M
- N In the minimum configuration,only a hock is
- provided.
-
-
-
- 0147
-
- Name FORMAT
- F Initializes mass-storage devices.
- E
- R
- M
- N In the minimum configuration,only a hock is
- provided.
-
-
-
- 014A
-
- Name ISFLIO
- F Check the device I/O is being done.
- E None
- R Not zero if so,zero otherwise.
-
-
-
- 014D
-
- Name OUTDLP
- F Output to the line priter.
- E Code in [Acc]
- R None
- N This entry differs from LPTOUT in that:
- 1) TABs are expanded to spaces,
- 2) Higara and graphics are converted when
- a non-MSX printer is in use.
- 3) A jump to 'Device I/O error' is made when
- aborted.
-
-
-
-
- 0150
-
- Name GETVCP
- F
- E
- R
- M
- N Used only to play music in the background.
-
-
-
- 0153
-
- Name GETVC2
- F
- E
- R
- M
- N Used only to play music in barcground.
-
-
-
- 0156
-
- Name KILBUF
- F Clears the keyboard buffer.
- E None
- R None
- M HL
-
-
-
- 0159
-
- Name CALBAS
- F Performs far_call (i.e.inter-slot call) into
- the BASIC interpreter.
- E Address in [IX]
- R
- M
-
-
-
- ;-----------------------------------------------------------
-
- The following is a a patch area for BIOS.It is placed here to
- make it easier to add new entry vector.
-
-
-
-
-
-
-
- END