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_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

6
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)

12
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)

Loading…
Cancel
Save