mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Sound devices in Device Summary
This commit is contained in:
@@ -3541,10 +3541,15 @@ PRTSUM:
|
||||
LD C,BF_SYSGET_DIOCNT ; DISK DRIVES
|
||||
LD HL,PS_DISK
|
||||
CALL PRT_ALLD
|
||||
|
||||
;
|
||||
LD C,BF_SYSGET_VDACNT ; VIDEO DEVICES
|
||||
LD HL,PS_VIDEO
|
||||
CALL PRT_ALLD
|
||||
|
||||
LD C,BF_SYSGET_SNDCNT ; SOUND DEVICES
|
||||
LD HL,PS_SOUND
|
||||
CALL PRT_ALLD
|
||||
;
|
||||
RET
|
||||
;
|
||||
PRT_ALLD:
|
||||
@@ -3887,6 +3892,56 @@ PS_PRTVC:
|
||||
CALL PRTDECB
|
||||
RET
|
||||
;
|
||||
; PRINT SOUND CONFIG
|
||||
;
|
||||
PS_SOUND:
|
||||
PUSH BC
|
||||
|
||||
; UNIT COLUMN
|
||||
PRTS("Sound $")
|
||||
LD A,C ; MOVE UNIT NUM TO A
|
||||
CALL PRTDECB ; PRINT IT
|
||||
CP 10 ; CHECK FOR MULTIPLE DIGITS
|
||||
CALL C,PC_SPACE ; EXTRA SPACE IF NEEDED
|
||||
PRTS(" $") ; PAD TO NEXT COLUMN
|
||||
|
||||
; DEVICE COLUMN
|
||||
|
||||
PUSH BC ;
|
||||
LD E,C
|
||||
XOR A
|
||||
LD DE,PS_SDSND ; POINT TO DEVICE TYPE NAME TABLE
|
||||
CALL PRTIDXDEA ; PRINT DEVICE NMEMONIC PADDED TO FIELD WIDTH
|
||||
LD A,C ; MOVE UNIT NUM TO A
|
||||
CALL PRTDECB ; PRINT IT
|
||||
CALL PC_COLON
|
||||
CP 10 ; CHECK FOR MULTIPLE DIGITS
|
||||
CALL C,PC_SPACE ; EXTRA SPACE IF NEEDED
|
||||
LD A,(PRTIDXCNT)
|
||||
SUB 9+1
|
||||
CPL
|
||||
CALL PS_PAD
|
||||
POP BC
|
||||
|
||||
; DEVICE TYPE
|
||||
;
|
||||
LD B,BF_SNDQUERY ; FUNC=GET DEVICE INFO, UNIT NUM STILL IN C
|
||||
LD E,BF_SNDQ_DEV
|
||||
RST 08
|
||||
LD A,B
|
||||
DEC A
|
||||
LD DE,PS_SDSN76489
|
||||
CALL PRTIDXDEA
|
||||
LD A,(PRTIDXCNT)
|
||||
SUB 18+1
|
||||
CPL
|
||||
CALL PS_PAD ; PAD N SPACES (SPECIFIED IN A)
|
||||
;
|
||||
CALL NEWLINE
|
||||
;
|
||||
POP BC
|
||||
RET
|
||||
;
|
||||
; PRINT DEVICE NMEMONIC, DEVTYP/NUM SPECIFIED IN DE
|
||||
;
|
||||
PS_PRTDEV:
|
||||
@@ -3895,6 +3950,7 @@ PS_PRTDEV:
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
PS_PRTDEV1:
|
||||
RLCA ; X2 FOR WORD OFFSET IN STRING TABLE
|
||||
CALL ADDHLA
|
||||
LD A,(HL)
|
||||
@@ -3916,10 +3972,9 @@ PS_PRTNUL:
|
||||
LD HL,PS_STRNUL
|
||||
; FALL THRU TO PS_PRT
|
||||
;
|
||||
;
|
||||
; PRINT STRING AT (HL), $ TERM, RETURN CHARS PRINTED IN C
|
||||
;
|
||||
PS_PRT:
|
||||
; PRINT STRING AT (HL), $ TERM, RETURN CHARS PRINTED IN C
|
||||
LD C,0 ; INIT CHAR COUNT
|
||||
PS_PRT1:
|
||||
LD A,(HL) ; GET CHAR
|
||||
@@ -3930,10 +3985,9 @@ PS_PRT1:
|
||||
INC C ; BUMP COUNTER
|
||||
JR PS_PRT1 ; AND LOOP
|
||||
;
|
||||
;
|
||||
; PAD N SPACES SPECIFIED IN A
|
||||
;
|
||||
PS_PAD:
|
||||
; PAD N SPACES SPECIFIED IN A
|
||||
LD B,A
|
||||
LD A,' '
|
||||
PS_PAD1:
|
||||
@@ -4042,6 +4096,16 @@ PS_VDVGA .TEXT "VGA$"
|
||||
;
|
||||
PS_VTCRT .TEXT "CRT$"
|
||||
;
|
||||
; SOUND DEVICE STRINGS
|
||||
;
|
||||
PS_SDSND .TEXT "SND$"
|
||||
;
|
||||
; SOUND TYPE STRINGS
|
||||
;
|
||||
PS_SDSN76489 .TEXT "SN76489$"
|
||||
PS_SDAY38910 .TEXT "AY-3-8910$"
|
||||
PS_SDBITMODE .TEXT "BITMODE$"
|
||||
;
|
||||
; 0 1 2 3 4 5 6 7
|
||||
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789
|
||||
PS_STRHDR .TEXT "Unit Device Type Capacity/Mode\r\n"
|
||||
|
||||
@@ -172,6 +172,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
|
||||
;
|
||||
; SOUND DEVICE IDS
|
||||
;
|
||||
SNDDEV_SN .EQU $00 ; SN76489
|
||||
SNDDEV_AY .EQU $10 ; AY-3-8910
|
||||
SNDDEV_BM .EQU $20 ; BITMODE
|
||||
;;
|
||||
;; EMULATION TYPES - moved to std.asm
|
||||
;;
|
||||
|
||||
@@ -206,7 +206,7 @@ SP_PLAY:
|
||||
;
|
||||
SP_BEEPER:
|
||||
PUSH IX
|
||||
DI ; Disable the interrupt for the duration of a 'beep'.
|
||||
HB_DI ; Disable the interrupt for the duration of a 'beep'.
|
||||
LD A,L ; Save L temporarily.
|
||||
SRL L ; Each '1' in the L register is to count 4 T states, but take INT (L/4) and count 16 T states instead.
|
||||
SRL L
|
||||
@@ -259,7 +259,7 @@ BE_AGAIN:
|
||||
INC C ; Add 16 T states as this path is shorter.
|
||||
JP (IX) ; Jump back.
|
||||
BE_END:
|
||||
EI
|
||||
HB_EI
|
||||
POP IX
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -343,6 +343,8 @@ PRTIDXDEA:
|
||||
PUSH BC
|
||||
LD C,A ; INDEX COUNT
|
||||
OR A
|
||||
LD A,0
|
||||
LD (PRTIDXCNT),A ; RESET CHARACTER COUNT
|
||||
PRTIDXDEA1:
|
||||
JR Z,PRTIDXDEA3
|
||||
PRTIDXDEA2:
|
||||
@@ -357,6 +359,9 @@ PRTIDXDEA3:
|
||||
; CALL WRITESTR ; FALL THROUGH TO WRITESTR
|
||||
; RET
|
||||
;
|
||||
PRTIDXCNT:
|
||||
.DB 0 ; CHARACTER COUNT
|
||||
;
|
||||
; OUTPUT A '$' TERMINATED STRING AT DE
|
||||
;
|
||||
WRITESTR:
|
||||
@@ -366,6 +371,9 @@ WRITESTR1:
|
||||
CP '$' ; TEST FOR STRING TERMINATOR
|
||||
JP Z,WRITESTR2
|
||||
CALL COUT
|
||||
LD A,(PRTIDXCNT)
|
||||
INC A
|
||||
LD (PRTIDXCNT),A
|
||||
INC DE
|
||||
JP WRITESTR1
|
||||
WRITESTR2:
|
||||
|
||||
Reference in New Issue
Block a user