mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Finish DEVICE API extension
This commit is contained in:
@@ -747,6 +747,8 @@ of memory.
|
||||
| C: Attributes
|
||||
| D: Device Type
|
||||
| E: Device Number
|
||||
| H: Disk Device Unit Mode
|
||||
| L: Disk Device Unit I/O Base Address
|
||||
|
||||
Reports information about the character device unit specified. Register D
|
||||
indicates the device type (driver) and register E indicates the physical
|
||||
@@ -966,6 +968,8 @@ Documentation required...
|
||||
| A: Status (0=OK, else error)
|
||||
| D: Device Type
|
||||
| E: Device Number
|
||||
| H: RTC Device Unit Mode
|
||||
| L: RTC Device Unit I/O Base Address
|
||||
|
||||
Reports information about the RTC device unit specified. Register D
|
||||
indicates the device type (driver) and register E indicates the physical
|
||||
@@ -1138,8 +1142,10 @@ Keyboard should be flushed.
|
||||
|
||||
| _Exit Results_
|
||||
| A: Status (0=OK, else error)
|
||||
| D=Device Type
|
||||
| E=Device Number
|
||||
| D: Device Type
|
||||
| E: Device Number
|
||||
| H: VDA Device Unit Mode
|
||||
| L: VDA Device Unit I/O Base Address
|
||||
|
||||
Reports information about the video device unit specified.
|
||||
|
||||
@@ -1570,6 +1576,33 @@ not play a note if the duration is zero.
|
||||
For other values, when a tone is played, it will play for the duration defined in HL
|
||||
and then return.
|
||||
|
||||
### Function 0x57 -- Sound Device (SNDDEVICE)
|
||||
|
||||
| _Entry Parameters_
|
||||
| B: 0x57
|
||||
| C: Sound Device Unit Number
|
||||
|
||||
| _Exit Results_
|
||||
| A: Status (0=OK, else error)
|
||||
| D: Serial Device Type
|
||||
| E: Serial Device Number
|
||||
| H: Serial Device Unit Mode
|
||||
| L: Serial Device Unit I/O Base Address
|
||||
|
||||
Reports information about the sound device unit specified. Register D
|
||||
indicates the device type (driver) and register E indicates the physical
|
||||
device number assigned by the driver.
|
||||
|
||||
Each character device is handled by an appropriate driver (AY38910, SN76489,
|
||||
etc.). The driver can be identified by the Device Type. The assigned Device
|
||||
Types are listed below.
|
||||
|
||||
_Id_ | _Device Type / Driver_
|
||||
---- | ----------------------
|
||||
0x00 | SN76489
|
||||
0x10 | AY38910
|
||||
0x20 | BITMODE
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
System (SYS)
|
||||
|
||||
@@ -57,6 +57,7 @@ AY_FNTBL:
|
||||
.DW AY_PLAY
|
||||
.DW AY_QUERY
|
||||
.DW AY_DURATION
|
||||
.DW AY_DEVICE
|
||||
;
|
||||
#IF (($ - AY_FNTBL) != (SND_FNCNT * 2))
|
||||
.ECHO "*** INVALID SND FUNCTION TABLE ***\n"
|
||||
@@ -428,7 +429,7 @@ AY_QUERY_VOLUME:
|
||||
RET
|
||||
;
|
||||
AY_QUERY_DEV:
|
||||
LD B, BF_SND_AY38910 ; RETURN DEVICE IDENTIFIER
|
||||
LD B, SNDDEV_AY38910 ; RETURN DEVICE IDENTIFIER
|
||||
LD DE, (AY_RSEL*256)+AY_RDAT ; AND ADDRESS AND DATA PORT
|
||||
XOR A
|
||||
RET
|
||||
@@ -443,6 +444,19 @@ AY_DURATION:
|
||||
RET
|
||||
;
|
||||
;======================================================================
|
||||
; SOUND DRIVER FUNCTION - DEVICE
|
||||
;======================================================================
|
||||
;
|
||||
AY_DEVICE:
|
||||
LD D,SNDDEV_AY38910 ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL UNIT
|
||||
LD C,$00 ; C := DEVICE TYPE
|
||||
LD H,AYMODE ; H := MODE
|
||||
LD L,AY_RSEL ; L := BASE I/O ADDRESS
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
;======================================================================
|
||||
; NON-BLOCKING INTERRUPT CODE
|
||||
;======================================================================
|
||||
;
|
||||
|
||||
@@ -344,6 +344,8 @@ BQRTC_SETALM:
|
||||
BQRTC_DEVICE:
|
||||
LD D,RTCDEV_BQ ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,BQRTC_BASE ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
@@ -132,6 +132,8 @@ CVDU_VDARES:
|
||||
CVDU_VDADEV:
|
||||
LD D,VDADEV_CVDU ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL UNIT IS ALWAYS ZERO
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,CVDU_BASE ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
@@ -369,6 +369,8 @@ DSRTC_SETBYT:
|
||||
DSRTC_DEVICE:
|
||||
LD D,RTCDEV_DS ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
LD H,DSRTCMODE ; H := MODE
|
||||
LD L,DSRTC_IO ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -508,6 +508,8 @@ FD_DEVICE:
|
||||
#IF (FDMEDIA == FDM111)
|
||||
LD C,%10010100 ; 8" DS/DD
|
||||
#ENDIF
|
||||
LD H,FDMODE ; H := MODE
|
||||
LD L,FDC_MSR ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -2294,7 +2294,7 @@ SND_ADDENT:
|
||||
; WORD DRIVER FUNCTION TABLE ADDRESS
|
||||
; WORD UNIT SPECIFIC DATA (TYPICALLY A DEVICE INSTANCE DATA ADDRESS)
|
||||
;
|
||||
SND_FNCNT .EQU 7 ; NUMBER OF SND FUNCS (FOR RANGE CHECK)
|
||||
SND_FNCNT .EQU 8 ; NUMBER OF SND FUNCS (FOR RANGE CHECK)
|
||||
SND_MAX .EQU 3 ; UP TO 2 UNITS
|
||||
SND_SIZ .EQU SND_MAX * 4 ; EACH ENTRY IS 4 BYTES
|
||||
;
|
||||
|
||||
@@ -63,6 +63,7 @@ BF_SNDNOTE .EQU BF_SND + 3 ; REQUEST NOTE - L CONTAINS NOTE - EACH VALUE IS QUAR
|
||||
BF_SNDPLAY .EQU BF_SND + 4 ; INITIATE THE REQUESTED SOUND COMMAND
|
||||
BF_SNDQUERY .EQU BF_SND + 5 ; E IS SUBFUNCTION
|
||||
BF_SNDDURATION .EQU BF_SND + 6 ; REQUEST DURATION HL MILLISECONDS
|
||||
BF_SNDDEVICE .EQU BF_SND + 7 ; SOUND DEVICE INFO REQUEST
|
||||
;
|
||||
; BF_SNDQUERY SUBCOMMANDS
|
||||
BF_SNDQ_STATUS .EQU 0
|
||||
@@ -71,11 +72,6 @@ BF_SNDQ_VOLUME .EQU BF_SNDQ_STATUS + 2 ; 8 BIT NUMBER
|
||||
BF_SNDQ_PERIOD .EQU BF_SNDQ_STATUS + 3 ; 16 BIT NUMBER
|
||||
BF_SNDQ_DEV .EQU BF_SNDQ_STATUS + 4 ; RETURN DEVICE TYPE CODE AND IO PORTS - TYPE IN B, PORTS IN DE, HL
|
||||
;
|
||||
BF_SNDDEV .EQU 0 ; TYPES OF SOUND DRIVERS
|
||||
BF_SND_SN76489 .EQU BF_SNDDEV + 1
|
||||
BF_SND_AY38910 .EQU BF_SNDDEV + 2
|
||||
BF_SND_BITMODE .EQU BF_SNDDEV + 3
|
||||
;
|
||||
BF_SYS .EQU $F0
|
||||
BF_SYSRESET .EQU BF_SYS + 0 ; SOFT RESET HBIOS
|
||||
BF_SYSVER .EQU BF_SYS + 1 ; GET HBIOS VERSION
|
||||
@@ -200,12 +196,12 @@ VDADEV_CVDU .EQU $10 ; ECB COLOR VDU - MOS 8563
|
||||
VDADEV_NEC .EQU $20 ; ECB UPD7220 - NEC UPD7220
|
||||
VDADEV_TMS .EQU $30 ; N8 ONBOARD VDA SUBSYSTEM - TMS 9918
|
||||
VDADEV_VGA .EQU $40 ; ECB VGA3 - HITACHI HD6445
|
||||
;;
|
||||
;; EMULATION TYPES - moved to std.asm
|
||||
;;
|
||||
;EMUTYP_NONE .EQU 0 ; NONE
|
||||
;EMUTYP_TTY .EQU 1 ; TTY
|
||||
;EMUTYP_ANSI .EQU 2 ; ANSI
|
||||
;
|
||||
; SOUND DEVICE IDS
|
||||
;
|
||||
SNDDEV_SN76489 .EQU $00
|
||||
SNDDEV_AY38910 .EQU $10
|
||||
SNDDEV_BITMODE .EQU $20
|
||||
;
|
||||
; HBIOS CONTROL BLOCK OFFSETS
|
||||
; WARNING: THESE OFFSETS WILL CHANGE SIGNIFICANTLY BETWEEN RELEASES
|
||||
|
||||
@@ -169,6 +169,8 @@ HDSK_DEVICE:
|
||||
LD D,DIODEV_HDSK ; D := DEVICE TYPE
|
||||
LD E,(IY+HDSK_DEV) ; E := PHYSICAL DEVICE NUMBER
|
||||
LD C,%00000000 ; C := ATTRIBUTES, NON-REMOVABLE HARD DISK
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,HDSK_IO ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -546,6 +546,8 @@ IDE_DEVICE:
|
||||
JR Z,IDE_DEVICE1 ; IF Z, WE ARE DONE
|
||||
LD C,%01001000 ; OTHERWISE REMOVABLE COMPACT FLASH
|
||||
IDE_DEVICE1:
|
||||
LD H,(IY+IDE_MODE) ; H := MODE
|
||||
LD L,(IY+IDE_IOBASE) ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -138,6 +138,8 @@ INTRTC_SETTIM:
|
||||
INTRTC_DEVICE:
|
||||
LD D,RTCDEV_INT ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,0 ; L := 0, NO I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -149,6 +149,8 @@ MD_DEVICE:
|
||||
LD C,%00100000 ; ASSUME ROM DISK ATTRIBUTES
|
||||
JR Z,MD_DEVICE1 ; IF ZERO, IT IS ROM DISK, DONE
|
||||
LD C,%00101000 ; USE RAM DISK ATTRIBUTES
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,0 ; L := 0, NO BASE I/O ADDRESS
|
||||
MD_DEVICE1:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
@@ -555,6 +555,8 @@ PPIDE_DEVICE:
|
||||
JR Z,PPIDE_DEVICE1 ; IF Z, WE ARE DONE
|
||||
LD C,%01001000 ; OTHERWISE REMOVABLE COMPACT FLASH
|
||||
PPIDE_DEVICE1:
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,(IY+PPIDE_DATALO) ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -693,6 +693,8 @@ PPPSD_DEVICE:
|
||||
LD D,DIODEV_PPPSD ; D := DEVICE TYPE
|
||||
LD E,(IY+PPPSD_DEV) ; E := PHYSICAL DEVICE NUMBER
|
||||
LD C,%01010000 ; C := ATTRIBUTES, REMOVABLE, SD CARD
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,PPIBASE ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -550,6 +550,8 @@ PRPSD_DEVICE:
|
||||
LD D,DIODEV_PRPSD ; D := DEVICE TYPE
|
||||
LD E,(IY+PRPSD_DEV) ; E := PHYSICAL DEVICE NUMBER
|
||||
LD C,%01010000 ; C := ATTRIBUTES, REMOVABLE, SD CARD
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,PRP_IOBASE ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -181,6 +181,8 @@ RF_DEVICE:
|
||||
LD D,DIODEV_RF ; D := DEVICE TYPE
|
||||
LD E,(IY+RF_DEV) ; E := PHYSICAL DEVICE NUMBER
|
||||
LD C,%00110000 ; C := ATTRIBUTES, NON-REMOVABLE RAM FLOPPY
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,(IY+RF_IOAD) ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -125,6 +125,7 @@ SD_CS0 .EQU %00000100 ; RTC:2 IS SELECT
|
||||
SD_CLK .EQU %00000010 ; RTC:1 IS CLOCK
|
||||
SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU)
|
||||
SD_DO .EQU %10000000 ; RTC:7 IS DATA OUT (CARD -> CPU)
|
||||
SD_IOBASE .EQU SD_OPRREG ; IOBASE
|
||||
;
|
||||
RTCDEF .SET SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
|
||||
#ENDIF
|
||||
@@ -139,6 +140,7 @@ SD_CS0 .EQU %00000100 ; RTC:2 IS SELECT
|
||||
SD_CLK .EQU %00000010 ; RTC:1 IS CLOCK
|
||||
SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU)
|
||||
SD_DO .EQU %01000000 ; RTC:6 IS DATA OUT (CARD -> CPU)
|
||||
SD_IOBASE .EQU SD_OPRREG ; IOBASE
|
||||
;
|
||||
RTCDEF .SET SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
|
||||
#ENDIF
|
||||
@@ -151,6 +153,7 @@ SD_OPRMSK .EQU %00000100 ; MASK FOR BITS WE OWN IN RTC LATCH PORT
|
||||
SD_CS0 .EQU %00000100 ; RTC:2 IS SELECT
|
||||
SD_CNTR .EQU Z180_CNTR
|
||||
SD_TRDR .EQU Z180_TRDR
|
||||
SD_IOBASE .EQU SD_OPRREG ; IOBASE
|
||||
;
|
||||
RTCDEF .SET SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
|
||||
#ENDIF
|
||||
@@ -168,6 +171,7 @@ SD_CS0 .EQU %00010000 ; PPIC:4 IS SELECT
|
||||
SD_CLK .EQU %00000010 ; PPIC:1 IS CLOCK
|
||||
SD_DI .EQU %00000001 ; PPIC:0 IS DATA IN (CARD <- CPU)
|
||||
SD_DO .EQU %10000000 ; PPIB:7 IS DATA OUT (CARD -> CPU)
|
||||
SD_IOBASE .EQU SD_PPIBASE ; IOBASE
|
||||
#ENDIF
|
||||
;
|
||||
#IF (SDMODE == SDMODE_UART)
|
||||
@@ -180,6 +184,7 @@ SD_CS0 .EQU %00001000 ; UART MCR:3 IS SELECT
|
||||
SD_CLK .EQU %00000100 ; UART MCR:2 IS CLOCK
|
||||
SD_DI .EQU %00000001 ; UART MCR:0 IS DATA IN (CARD <- CPU)
|
||||
SD_DO .EQU %00100000 ; UART MSR:5 IS DATA OUT (CARD -> CPU)
|
||||
SD_IOBASE .EQU UARTIOB ; IOBASE
|
||||
#ENDIF
|
||||
;
|
||||
#IF (SDMODE == SDMODE_DSD) ; DUAL SD
|
||||
@@ -193,6 +198,7 @@ SD_CS0 .EQU %00000100 ; RTC:2 IS SELECT
|
||||
SD_CLK .EQU %00000010 ; RTC:1 IS CLOCK
|
||||
SD_DI .EQU %00000001 ; RTC:6 IS DATA IN (CARD <- CPU)
|
||||
SD_DO .EQU %00000001 ; RTC:0 IS DATA OUT (CARD -> CPU)
|
||||
SD_IOBASE .EQU SD_OPRREG ; IOBASE
|
||||
#ENDIF
|
||||
;
|
||||
#IF (SDMODE == SDMODE_MK4) ; MARK IV (CSIO STYLE INTERFACE)
|
||||
@@ -202,6 +208,7 @@ SD_OPRDEF .EQU %00000000 ; QUIESCENT STATE
|
||||
SD_CS0 .EQU %00000100 ; SELECT ACTIVE
|
||||
SD_CNTR .EQU Z180_CNTR
|
||||
SD_TRDR .EQU Z180_TRDR
|
||||
SD_IOBASE .EQU SD_OPRREG ; IOBASE
|
||||
#ENDIF
|
||||
;
|
||||
#IF (SDMODE == SDMODE_SC) ; SC
|
||||
@@ -213,6 +220,7 @@ SD_CS0 .EQU %00000100 ; RTC:2 IS SELECT FOR PRIMARY SPI CARD
|
||||
SD_CS1 .EQU %00001000 ; RTC:3 IS SELECT FOR SECONDARY SPI CARD
|
||||
SD_CNTR .EQU Z180_CNTR
|
||||
SD_TRDR .EQU Z180_TRDR
|
||||
SD_IOBASE .EQU SD_OPRREG ; IOBASE
|
||||
;
|
||||
RTCDEF .SET SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
|
||||
#ENDIF
|
||||
@@ -236,7 +244,7 @@ SD_CD1 .EQU %00000100 ; IN:SD_OPREG:2 = CD2, IN=0 Card detect switch
|
||||
SD_CSX .EQU %00001000 ; IN/OUT:SD_OPREG:3 = CS0, PMOD SPI CS
|
||||
SD_CS0 .EQU %00010000 ; IN/OUT:SD_OPREG:4 = CS1, SDCARD1 CS, IN=1 Card present
|
||||
SD_CS1 .EQU %00100000 ; IN/OUT:SD_OPREG:5 = CS2, SDCARD2 CS, IN=1 Card present
|
||||
|
||||
SD_IOBASE .EQU SD_BASE ; IOBASE
|
||||
#ENDIF
|
||||
;
|
||||
; SD CARD COMMANDS
|
||||
@@ -771,6 +779,8 @@ SD_DEVICE:
|
||||
LD D,DIODEV_SD ; D := DEVICE TYPE
|
||||
LD E,(IY+SD_DEV) ; E := PHYSICAL DEVICE NUMBER
|
||||
LD C,%01010000 ; C := ATTRIBUTES, REMOVABLE, SD CARD
|
||||
LD H,SDMODE ; H := MODE
|
||||
LD L,(SD_IOBASE) ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -140,6 +140,8 @@ SIMRTC_SETTIM:
|
||||
SIMRTC_DEVICE:
|
||||
LD D,RTCDEV_SIMH ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,SIMRTC_IO ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -197,7 +197,7 @@ SN7_QUERY_VOLUME:
|
||||
|
||||
SN7_QUERY_DEV:
|
||||
|
||||
LD B, BF_SND_SN76489
|
||||
LD B, SNDDEV_SN76489
|
||||
LD DE, SN76489_PORT_LEFT ; E WITH LEFT PORT
|
||||
LD HL, SN76489_PORT_RIGHT ; L WITH RIGHT PORT
|
||||
|
||||
@@ -304,6 +304,15 @@ SN7_DURATION:
|
||||
XOR A
|
||||
RET
|
||||
|
||||
SN7_DEVICE:
|
||||
LD D,SNDDEV_SN76489 ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL UNIT
|
||||
LD C,$00 ; C := DEVICE TYPE
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,SN76489_PORT_LEFT ; L := BASE I/O ADDRESS
|
||||
XOR A
|
||||
RET
|
||||
|
||||
SN7_FNTBL:
|
||||
.DW SN7_RESET
|
||||
.DW SN7_VOLUME
|
||||
@@ -312,6 +321,7 @@ SN7_FNTBL:
|
||||
.DW SN7_PLAY
|
||||
.DW SN7_QUERY
|
||||
.DW SN7_DURATION
|
||||
.DW SN7_DEVICE
|
||||
;
|
||||
#IF (($ - SN7_FNTBL) != (SND_FNCNT * 2))
|
||||
.ECHO "*** INVALID SND FUNCTION TABLE ***\n"
|
||||
|
||||
@@ -20,6 +20,7 @@ SP_FNTBL:
|
||||
.DW SP_PLAY
|
||||
.DW SP_QUERY
|
||||
.DW SP_DURATION
|
||||
.DW SP_DEVICE
|
||||
;
|
||||
#IF (($ - SP_FNTBL) != (SND_FNCNT * 2))
|
||||
.ECHO "*** INVALID SND FUNCTION TABLE ***\n"
|
||||
@@ -149,7 +150,7 @@ SP_QUERY_VOLUME:
|
||||
RET
|
||||
;
|
||||
SP_QUERY_DEV:
|
||||
LD B, BF_SND_BITMODE ; RETURN DEVICE IDENTIFIER
|
||||
LD B, SNDDEV_BITMODE ; RETURN DEVICE IDENTIFIER
|
||||
LD DE, (RTCIO*256)+SP_RTCIOMSK ; AND ADDRESS AND DATA PORT
|
||||
XOR A
|
||||
RET
|
||||
@@ -321,6 +322,19 @@ SP_DURATION:
|
||||
RET
|
||||
;
|
||||
;======================================================================
|
||||
; SOUND DRIVER FUNCTION - DEVICE
|
||||
;======================================================================
|
||||
;
|
||||
SP_DEVICE:
|
||||
LD D,SNDDEV_BITMODE ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL UNIT
|
||||
LD C,$00 ; C := DEVICE TYPE
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,RTCIO ; L := BASE I/O ADDRESS
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
; STANDARD ONE SECOND TONE TABLES AT 1MHZ.
|
||||
; FOR SP_BEEPER ROUTINE, FIRST WORD LOADED INTO DE, SECOND INTO HL
|
||||
|
||||
@@ -222,6 +222,8 @@ TMS_VDARES1: ; ENTRY POINT TO AVOID TMS_Z180IO RECURSION
|
||||
TMS_VDADEV:
|
||||
LD D,VDADEV_TMS ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL UNIT IS ALWAYS ZERO
|
||||
LD H,TMSMODE ; H := MODE
|
||||
LD L,TMS_DATREG ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
@@ -181,6 +181,8 @@ VDU_VDARES:
|
||||
VDU_VDADEV:
|
||||
LD D,VDADEV_VDU ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL UNIT IS ALWAYS ZERO
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,VDU_BASE ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
@@ -204,6 +204,8 @@ VGA_VDARES:
|
||||
VGA_VDADEV:
|
||||
LD D,VDADEV_VGA ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL UNIT IS ALWAYS ZERO
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,VGA_BASE ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
#DEFINE RMN 1
|
||||
#DEFINE RUP 1
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.1.1-pre.17"
|
||||
#DEFINE BIOSVER "3.1.1-pre.18"
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 1
|
||||
rup equ 1
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.1.1-pre.17"
|
||||
db "3.1.1-pre.18"
|
||||
endm
|
||||
|
||||
Reference in New Issue
Block a user