diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 32c6ccf2..0cce82cc 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Architecture.pdf b/Doc/RomWBW Architecture.pdf index bb2f238e..e75d8164 100644 Binary files a/Doc/RomWBW Architecture.pdf and b/Doc/RomWBW Architecture.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 73b19980..4a7bcc18 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Getting Started.pdf b/Doc/RomWBW Getting Started.pdf index 4e161bbf..31c94949 100644 Binary files a/Doc/RomWBW Getting Started.pdf and b/Doc/RomWBW Getting Started.pdf differ diff --git a/Source/Apps/Tune/hbios.inc b/Source/Apps/Tune/hbios.inc index f2442f78..2f5d177d 100644 --- a/Source/Apps/Tune/hbios.inc +++ b/Source/Apps/Tune/hbios.inc @@ -9,7 +9,8 @@ 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_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_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_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 ; D IS CHANNEL, E IS SUBCOMMAND +BF_SNDQUERY .EQU BF_SND + 5 ; E IS SUBFUNCTION diff --git a/Source/Doc/Architecture.md b/Source/Doc/Architecture.md index f7523d5e..7ead4371 100644 --- a/Source/Doc/Architecture.md +++ b/Source/Doc/Architecture.md @@ -1374,7 +1374,7 @@ chip provides. | _Entry Parameters_ | B: 0x52 | C: Audio Device Unit ID -| HL: Period (0000=lowest note, FFFF=highest note) +| HL: Period | _Returned Values_ | A: Status (0=OK, else error) @@ -1383,7 +1383,9 @@ This function sets the sound chip period parameter. The period will be applied when the next SNDPLAY function is invoked. The period value is a driver specific value. To play standardized -notes, use the SNDNOTE function. +notes, use the SNDNOTE function. A higher value will generate a lower +note. The maximum value that can be used is driver specific. If value +supplied is beyond driver capabilities, register A will be set to $FF. ### Function 0x53 -- Sound Note (SNDNOTE) diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index ef187081..1fefcfa7 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -866,7 +866,7 @@ SD_INITCARD1: ; MAKE SURE WE FINISH SENDING #IF ((SDMODE == SDMODE_CSIO) | (SDMODE == SDMODE_MK4) | (SDMODE == SDMODE_SC)) CALL SD_WAITTX ; WAIT FOR TE TO CLEAR - CALL DLY4 ; WAIT A BIT MORE FOR FINAL BIT + CALL DLY32 ; WAIT A BIT MORE FOR FINAL BIT #ENDIF ; ; PUT CARD IN IDLE STATE @@ -1025,7 +1025,7 @@ SD_INITCARD5: ; PER SPEC, THE CARD SHOULD NOW BE ABLE TO HANDLE FULL SPEED OPERATION ; SO, FOR CSIO OPERATION, WE SET CSIO TO MAXIMUM SPEED CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING - CALL DLY4 ; WAIT A BIT MORE FOR FINAL BIT + CALL DLY32 ; WAIT A BIT MORE FOR FINAL BIT XOR A ; ZERO MEANS MAX SPEED OUT (Z180_CNTR),A ; NOW SET CSIO PORT #ENDIF @@ -1674,12 +1674,10 @@ SD_DESELECT: ; FINISH SENDING AFTER TE IS CLEARED. THE DELAY BELOW WILL ; DO THIS FOR THE SLOWEST POSSIBLE SEND RATE WHICH IS ; CLK / 1320, SO DELAY AT LEAST 1320 T-STATES - ;CALL DLY64 ; DELAY FOR FINAL BIT ; - ; IN PRACTICE, IT LOOKS LIKE THIS WORST CASE SCENARIO NEVER - ; OCCURS. FOR NOW, USE A SMALL DELAY WHICH SEEMS TO BE MORE - ; THAN ADEQUATE BASED ON LOGIC ANALYZER TRACES. - CALL DLY4 ; DELAY FOR FINAL BIT + ; IN PRACTICE, A SMALLER DELAY IS FINE BASED ON LOGIC ANALYZER + ; TRACES. + CALL DLY32 ; DELAY FOR FINAL BIT #ENDIF ; LD A,(SD_OPRVAL)