mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:13:13 -06:00
SN76489: Renamed variable 'pitch' to 'period'
This commit is contained in:
@@ -1998,7 +1998,7 @@ PLAYVIAHBIOS:
|
||||
LD L, A
|
||||
RST 08
|
||||
|
||||
LD B, BF_SNDPIT
|
||||
LD B, BF_SNDPRD
|
||||
LD C, 0
|
||||
LD HL, (AYREGS+TonA)
|
||||
ld a, h
|
||||
@@ -2023,7 +2023,7 @@ PLAYVIAHBIOS:
|
||||
LD L, A
|
||||
RST 08
|
||||
|
||||
LD B, BF_SNDPIT
|
||||
LD B, BF_SNDPRD
|
||||
LD C, 0
|
||||
LD HL, (AYREGS+TonB)
|
||||
ld a, h
|
||||
@@ -2048,7 +2048,7 @@ PLAYVIAHBIOS:
|
||||
LD L, A
|
||||
RST 08
|
||||
|
||||
LD B, BF_SNDPIT
|
||||
LD B, BF_SNDPRD
|
||||
LD C, 0
|
||||
LD HL, (AYREGS+TonC)
|
||||
ld a, h
|
||||
|
||||
@@ -10,6 +10,6 @@ BF_SYSGET .EQU $F8 ; HBIOS: SYSGET function
|
||||
BF_SND .EQU $50
|
||||
BF_SNDRESET .EQU BF_SND + 0 ; RESET SOUND SYSTEM
|
||||
BF_SNDVOL .EQU BF_SND + 1 ; REQUEST SOUND VOL - D IS CHANNEL, E CONTAINS VOLUME (255 MAX, 0 SILENT) - SCALED AS REQUIRED BY DRIVER (EG: MAPS TO JUST 4 BIT RESOLUTION FOR SN76489)
|
||||
BF_SNDPIT .EQU BF_SND + 2 ; REQUEST SOUND PITCH - D IS CHANNEL, HL CONTAINS PITCH (0 LOWEST NOTE, FFFF HIGHEST NOTE) - SCALED BY DRIVER (EG: MAPS TO JUST 10 BITS FOR SN76489 )
|
||||
BF_SNDPRD .EQU BF_SND + 2 ; REQUEST SOUND PERIOD - D IS CHANNEL, HL CONTAINS PERIOD (0 LOWEST NOTE) - SCALED BY DRIVER (EG: MAPS TO JUST 10 BITS FOR SN76489 )
|
||||
BF_SNDPLAY .EQU BF_SND + 4 ; INITIATE THE REQUESTED SOUND COMMAND
|
||||
BF_SNDQUERY .EQU BF_SND + 5 ; D IS CHANNEL, E IS SUBCOMMAND
|
||||
|
||||
@@ -1324,20 +1324,20 @@ Note that not all sounds chips implement 256 volume levels. The
|
||||
driver will scale the volume to the closest possible level the
|
||||
chip provides.
|
||||
|
||||
### Function 0x52 -- Sound Pitch (SNDPIT)
|
||||
### Function 0x52 -- Sound period (SNDPRD)
|
||||
|
||||
| _Entry Parameters_
|
||||
| B: 0x52
|
||||
| C: Audio Device Unit ID
|
||||
| HL: Pitch (0000=lowest note, FFFF=highest note)
|
||||
| HL: period (0000=lowest note, FFFF=highest note)
|
||||
|
||||
| _Returned Values_
|
||||
| A: Status (0=OK, else error)
|
||||
|
||||
This function sets the sound chip pitch parameter. The pitch will
|
||||
This function sets the sound chip period parameter. The period will
|
||||
be applied when the next SNDPLAY function is invoked.
|
||||
|
||||
The pitch value is a driver specific value. To play standardized
|
||||
The period value is a driver specific value. To play standardized
|
||||
notes, use the SNDNOTE function.
|
||||
|
||||
### Function 0x53 -- Sound Note (SNDNOTE)
|
||||
@@ -1350,7 +1350,7 @@ notes, use the SNDNOTE function.
|
||||
| _Returned Values_
|
||||
| A: Status (0=OK, else error)
|
||||
|
||||
This function sets the sound chip pitch parameter according to
|
||||
This function sets the sound chip period parameter according to
|
||||
standardized notes.
|
||||
|
||||
The value corresponds to standard musical notes. The value allows
|
||||
@@ -1370,7 +1370,7 @@ the maximum supported value, and it corresponds to note C7.
|
||||
| _Returned Values_
|
||||
| A: Status (0=OK, else error)
|
||||
|
||||
This function applies the previously specified volume and pitch by
|
||||
This function applies the previously specified volume and period by
|
||||
programming the sound chip with the appropriate values. The values
|
||||
are applied to the specified channel of the chip.
|
||||
|
||||
@@ -1418,7 +1418,7 @@ key aspects of the specific Audio Device.
|
||||
| H: 0
|
||||
| L: Current volume setting
|
||||
|
||||
#### SNDQUERY Subfunction 0x03 -- Get current pitch setting (SNDQ_PITCH)
|
||||
#### SNDQUERY Subfunction 0x03 -- Get current period setting (SNDQ_PERIOD)
|
||||
|
||||
| _Entry Parameters_
|
||||
| B: 0x54
|
||||
@@ -1426,7 +1426,7 @@ key aspects of the specific Audio Device.
|
||||
|
||||
| _Returned Values_
|
||||
| A: Status (0=OK, else error)
|
||||
| HL: Current pitch setting
|
||||
| HL: Current period setting
|
||||
|
||||
#### SNDQUERY Subfunction 0x04 -- Get device details (SNDQ_DEV)
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ BF_VDAKRD .EQU BF_VDA + 14 ; READ KEYBOARD
|
||||
BF_SND .EQU $50
|
||||
BF_SNDRESET .EQU BF_SND + 0 ; RESET SOUND SYSTEM
|
||||
BF_SNDVOL .EQU BF_SND + 1 ; REQUEST SOUND VOL - L CONTAINS VOLUME (255 MAX, 0 SILENT) - SCALED AS REQUIRED BY DRIVER (EG: MAPS TO JUST 4 BIT RESOLUTION FOR SN76489)
|
||||
BF_SNDPIT .EQU BF_SND + 2 ; REQUEST SOUND PITCH - HL CONTAINS PITCH DRIVER SPECIFIC VALUE
|
||||
BF_SNDPRD .EQU BF_SND + 2 ; REQUEST SOUND PERIOD - HL CONTAINS DRIVER SPECIFIC VALUE
|
||||
BF_SNDNOTE .EQU BF_SND + 3 ; REQUEST NOTE - L CONTAINS NOTE - EACH VALUE IS QUARTER NOTE
|
||||
BF_SNDPLAY .EQU BF_SND + 4 ; INITIATE THE REQUESTED SOUND COMMAND
|
||||
BF_SNDQUERY .EQU BF_SND + 5 ; E IS SUBFUNCTION
|
||||
@@ -64,10 +64,10 @@ BF_SNDQUERY .EQU BF_SND + 5 ; E IS SUBFUNCTION
|
||||
BF_SNDQ_STATUS .EQU 0
|
||||
BF_SNDQ_CHCNT .EQU BF_SNDQ_STATUS + 1 ; RETURN COUNT OF CHANNELS
|
||||
BF_SNDQ_VOLUME .EQU BF_SNDQ_STATUS + 2 ; 8 BIT NUMBER
|
||||
BF_SNDQ_PITCH .EQU BF_SNDQ_STATUS + 3 ; 16 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_SNDDEV .EQU 0 ; TYPES OF SOUND DRIVERS
|
||||
BF_SND_SN76489 .EQU BF_SNDDEV + 1
|
||||
BF_SND_SNAY38910 .EQU BF_SNDDEV + 2
|
||||
|
||||
|
||||
@@ -33,9 +33,9 @@ SN7_LAST_NOTE .EQU 209300 ; C7
|
||||
A1S .EQU SN7RATIO / SN7_FIRST_NOTE
|
||||
C7 .EQU SN7RATIO / SN7_LAST_NOTE
|
||||
|
||||
.ECHO "SN76489: range of A1# (pitch: "
|
||||
.ECHO "SN76489: range of A1# (period: "
|
||||
.ECHO A1S
|
||||
.ECHO ") to C7 (pitch: "
|
||||
.ECHO ") to C7 (period: "
|
||||
.ECHO C7
|
||||
.ECHO ")\n"
|
||||
|
||||
@@ -132,34 +132,34 @@ SN7_NOTE:
|
||||
LD HL, SN7NOTETBL
|
||||
ADD HL, DE
|
||||
|
||||
LD A, (HL) ; RETRIEVE PITCH COUNT FROM SN7NOTETBL
|
||||
LD A, (HL) ; RETRIEVE PERIOD COUNT FROM SN7NOTETBL
|
||||
INC HL
|
||||
LD H, (HL)
|
||||
LD L, A
|
||||
|
||||
JR SN7_PITCH ; APPLY PITCH
|
||||
JR SN7_PERIOD ; APPLY PERIOD
|
||||
|
||||
SN7_NOTE1:
|
||||
OR $FF ; NOT IMPLEMENTED YET
|
||||
RET
|
||||
|
||||
SN7_PITCH:
|
||||
AUDDEBUG("SN7PIT ")
|
||||
SN7_PERIOD:
|
||||
AUDDEBUG("SN7PRD ")
|
||||
AUDTRACE_HL
|
||||
AUDDEBUG("\r\n")
|
||||
|
||||
LD A, H
|
||||
CP $04
|
||||
JP NC, SN7_QUERY_PITCH1 ; RETURN NZ IF NUMBER TOO LARGE
|
||||
JP NC, SN7_QUERY_PERIOD1 ; RETURN NZ IF NUMBER TOO LARGE
|
||||
|
||||
LD (PENDING_PITCH), HL
|
||||
LD (PENDING_PERIOD), HL
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
SN7_QUERY_PITCH1: ; REQUESTED PERIOD IS LARGER THAN THE SN76489 CAN SUPPORT
|
||||
SN7_QUERY_PERIOD1: ; REQUESTED PERIOD IS LARGER THAN THE SN76489 CAN SUPPORT
|
||||
LD L, $FF
|
||||
LD H, $FF
|
||||
LD (PENDING_PITCH), HL
|
||||
LD (PENDING_PERIOD), HL
|
||||
|
||||
OR $FF ; SIGNAL FAILURE
|
||||
RET
|
||||
@@ -169,11 +169,11 @@ SN7_PLAY:
|
||||
AUDTRACE_D
|
||||
AUDDEBUG("\r\n")
|
||||
|
||||
LD A, (PENDING_PITCH + 1)
|
||||
LD A, (PENDING_PERIOD + 1)
|
||||
CP $FF
|
||||
JR Z, SN7_PLAY1 ; PERIOD IS TOO LARGE, UNABLE TO PLAY
|
||||
CALL SN7_APPLY_VOL
|
||||
CALL SN7_APPLY_PIT
|
||||
CALL SN7_APPLY_PRD
|
||||
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
@@ -195,8 +195,8 @@ SN7_QUERY:
|
||||
CP BF_SNDQ_CHCNT
|
||||
JR Z, SN7_QUERY_CHCNT
|
||||
|
||||
CP BF_SNDQ_PITCH
|
||||
JR Z, SN7_QUERY_PITCH
|
||||
CP BF_SNDQ_PERIOD
|
||||
JR Z, SN7_QUERY_PERIOD
|
||||
|
||||
CP BF_SNDQ_VOLUME
|
||||
JR Z, SN7_QUERY_VOLUME
|
||||
@@ -213,8 +213,8 @@ SN7_QUERY_CHCNT:
|
||||
XOR A
|
||||
RET
|
||||
|
||||
SN7_QUERY_PITCH:
|
||||
LD HL, (PENDING_PITCH)
|
||||
SN7_QUERY_PERIOD:
|
||||
LD HL, (PENDING_PERIOD)
|
||||
XOR A
|
||||
RET
|
||||
|
||||
@@ -275,11 +275,11 @@ SN7_APPLY_VOL: ; APPLY VOLUME TO BOTH LEFT AND RIGHT CHANNELS
|
||||
POP BC
|
||||
RET
|
||||
|
||||
SN7_APPLY_PIT:
|
||||
SN7_APPLY_PRD:
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
PUSH AF
|
||||
LD HL, (PENDING_PITCH)
|
||||
LD HL, (PENDING_PERIOD)
|
||||
|
||||
LD A, D
|
||||
AND $3
|
||||
@@ -289,11 +289,11 @@ SN7_APPLY_PIT:
|
||||
RLCA
|
||||
RLCA
|
||||
OR $80
|
||||
LD B, A ; PITCH COMMAND 1 - CONTAINS CHANNEL ONLY
|
||||
LD B, A ; PERIOD COMMAND 1 - CONTAINS CHANNEL ONLY
|
||||
|
||||
LD A, L ; GET LOWER 4 BITS FOR COMMAND 1
|
||||
AND $F
|
||||
OR B ; A NOW CONATINS FIRST PITCH COMMAND
|
||||
OR B ; A NOW CONATINS FIRST PERIOD COMMAND
|
||||
|
||||
AUDTRACE(TRACE_PORT_WR)
|
||||
AUDTRACE_A
|
||||
@@ -316,7 +316,7 @@ SN7_APPLY_PIT:
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA ; AND PLACE IN BITS 5 AND 6
|
||||
OR B ; OR THE TWO SETS OF BITS TO MAKE 2ND PITCH COMMAND
|
||||
OR B ; OR THE TWO SETS OF BITS TO MAKE 2ND PERIOD COMMAND
|
||||
|
||||
AUDTRACE(TRACE_PORT_WR)
|
||||
AUDTRACE_A
|
||||
@@ -334,7 +334,7 @@ SN7_APPLY_PIT:
|
||||
SN7_FNTBL:
|
||||
.DW SN7_RESET
|
||||
.DW SN7_VOLUME
|
||||
.DW SN7_PITCH
|
||||
.DW SN7_PERIOD
|
||||
.DW SN7_NOTE
|
||||
.DW SN7_PLAY
|
||||
.DW SN7_QUERY
|
||||
@@ -344,8 +344,8 @@ SN7_FNTBL:
|
||||
!!!!!
|
||||
#ENDIF
|
||||
|
||||
PENDING_PITCH
|
||||
.DW 0 ; PENDING PITCH (10 BITS)
|
||||
PENDING_PERIOD
|
||||
.DW 0 ; PENDING PERIOD (10 BITS)
|
||||
PENDING_VOLUME
|
||||
.DB 0 ; PENDING VOL (8 BITS -> DOWNOVERTED TO 4 BITS AND INVERTED)
|
||||
|
||||
@@ -359,8 +359,8 @@ TRACE_VOLUME_SET .DB "\r\nSN7_VOLUME_SET CH: $"
|
||||
TRACE_PLAY .DB "\r\nPLAY\r\n$"
|
||||
TRACE_VOLUME .DB ", VOL: $"
|
||||
TRACE_PORT_WR .DB "\r\nOUT SN76489, $"
|
||||
TRACE_PITCH_SET .DB "\r\nSN7_PITCH_SET CH: $"
|
||||
TRACE_PITCH .DB ", PITCH: $"
|
||||
TRACE_PERIOD_SET .DB "\r\nSN7_PERIOD_SET CH: $"
|
||||
TRACE_PERIOD .DB ", PERIOD: $"
|
||||
TRACE_NEWLINE .DB "\r\n$"
|
||||
#ENDIF
|
||||
|
||||
|
||||
Reference in New Issue
Block a user