Browse Source

Merge pull request #114 from wwarthen/dev

Dev
pull/117/head
b1ackmai1er 6 years ago
committed by GitHub
parent
commit
5ff9dbb67e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. BIN
      Doc/RomWBW Applications.pdf
  2. BIN
      Doc/RomWBW Architecture.pdf
  3. BIN
      Doc/RomWBW Disk Catalog.pdf
  4. BIN
      Doc/RomWBW Getting Started.pdf
  5. 7
      Source/Apps/Tune/hbios.inc
  6. 6
      Source/Doc/Architecture.md
  7. 12
      Source/HBIOS/sd.asm

BIN
Doc/RomWBW Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW Architecture.pdf

Binary file not shown.

BIN
Doc/RomWBW Disk Catalog.pdf

Binary file not shown.

BIN
Doc/RomWBW Getting Started.pdf

Binary file not shown.

7
Source/Apps/Tune/hbios.inc

@ -9,7 +9,8 @@ BF_SYSGET .EQU $F8 ; HBIOS: SYSGET function
BF_SND .EQU $50 BF_SND .EQU $50
BF_SNDRESET .EQU BF_SND + 0 ; RESET SOUND SYSTEM 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_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

6
Source/Doc/Architecture.md

@ -1374,7 +1374,7 @@ chip provides.
| _Entry Parameters_ | _Entry Parameters_
| B: 0x52 | B: 0x52
| C: Audio Device Unit ID | C: Audio Device Unit ID
| HL: Period (0000=lowest note, FFFF=highest note)
| HL: Period
| _Returned Values_ | _Returned Values_
| A: Status (0=OK, else error) | 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. be applied when the next SNDPLAY function is invoked.
The period 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.
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) ### Function 0x53 -- Sound Note (SNDNOTE)

12
Source/HBIOS/sd.asm

@ -866,7 +866,7 @@ SD_INITCARD1:
; MAKE SURE WE FINISH SENDING ; MAKE SURE WE FINISH SENDING
#IF ((SDMODE == SDMODE_CSIO) | (SDMODE == SDMODE_MK4) | (SDMODE == SDMODE_SC)) #IF ((SDMODE == SDMODE_CSIO) | (SDMODE == SDMODE_MK4) | (SDMODE == SDMODE_SC))
CALL SD_WAITTX ; WAIT FOR TE TO CLEAR 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 #ENDIF
; ;
; PUT CARD IN IDLE STATE ; PUT CARD IN IDLE STATE
@ -1025,7 +1025,7 @@ SD_INITCARD5:
; PER SPEC, THE CARD SHOULD NOW BE ABLE TO HANDLE FULL SPEED OPERATION ; PER SPEC, THE CARD SHOULD NOW BE ABLE TO HANDLE FULL SPEED OPERATION
; SO, FOR CSIO OPERATION, WE SET CSIO TO MAXIMUM SPEED ; SO, FOR CSIO OPERATION, WE SET CSIO TO MAXIMUM SPEED
CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING 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 XOR A ; ZERO MEANS MAX SPEED
OUT (Z180_CNTR),A ; NOW SET CSIO PORT OUT (Z180_CNTR),A ; NOW SET CSIO PORT
#ENDIF #ENDIF
@ -1674,12 +1674,10 @@ SD_DESELECT:
; FINISH SENDING AFTER TE IS CLEARED. THE DELAY BELOW WILL ; FINISH SENDING AFTER TE IS CLEARED. THE DELAY BELOW WILL
; DO THIS FOR THE SLOWEST POSSIBLE SEND RATE WHICH IS ; DO THIS FOR THE SLOWEST POSSIBLE SEND RATE WHICH IS
; CLK / 1320, SO DELAY AT LEAST 1320 T-STATES ; 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 #ENDIF
; ;
LD A,(SD_OPRVAL) LD A,(SD_OPRVAL)

Loading…
Cancel
Save