Commit Graph

24 Commits

Author SHA1 Message Date
Wayne Warthen
9857dda5b5 Finish DEVICE API extension 2020-05-27 16:44:52 -07:00
b1ackmai1er
0bf6caa437 Initial audio duration code 2020-05-24 18:21:16 +08:00
b1ackmai1er
dc0b436e19 revert sn76489 2020-05-24 09:16:02 +08:00
b1ackmai1er
0a7eed3276 Sound driver changes
Add scaling to the tone table period to maintain maximum range and minimize error.
2020-05-16 10:25:55 +08:00
Dean Netherton
45cd12b77e Sn76489: Updated todo list 2020-05-10 14:08:34 +10:00
Dean Netherton
ab84a43d33 Sound drivers: support/rejection of zero value for period
SN76489:
The SN76489 chip will produce a note for value 0 - but the driver will reject
this value - but it does allow value $400 - (logically the same) to produce the lowest note

AY38910:
This chip does not produce a sound for period of 0 - so its also rejected
The max value for this driver is still $0FFF
2020-05-10 14:04:19 +10:00
Dean Netherton
5e65fcba13 AY38910: Refactored to use a common function for note mapping as SN76489 driver 2020-05-10 14:04:18 +10:00
Dean Netherton
7330928dca SN76489: Moved clock configuration from driver to platform config files 2020-05-10 14:02:59 +10:00
Dean Netherton
98a63cefa9 SN76489: refactor - remove custom div16 function - use common hbios util div16 function 2020-05-10 14:02:59 +10:00
Dean Netherton
8c2c0f45b5 sn76489: refactor to support full note range
No need to full mapping table
Range can be consistent with all sound drivers
2020-05-10 14:02:59 +10:00
Wayne Warthen
198da97f0e Merge pull request #124 from b1ackmai1er/dev
Sound driver updates
2020-05-08 18:28:49 -07:00
b1ackmai1er
75c25c813d ay-3-8910 updates
Implement full BBC Micro note table
Note table now calculated at assembly based on selected frequency.
Code optimization
2020-05-09 09:14:53 +08:00
Dean Netherton
4700ea92db sn76489: minor fix to tracing for SN7_NOTE 2020-05-09 10:38:53 +10:00
b1ackmai1er
7cbb9d081b sound and tune optimizations
sn76489 not tested
2020-05-06 19:02:05 +08:00
Dean Netherton
eb552ab7a2 Sound Drivers: fixed building image issue
Duplicate labels fixed for when building AY38910 and SN76489 drivers into the same image
2020-05-03 11:25:32 +10:00
b1ackmai1er
7f1b8c8aa6 ay-3-8910 sound drive tone table development 2020-05-02 20:59:12 +08:00
b1ackmai1er
3dfeaabe2f ay-3-8910 sound driver updates 2020-05-02 12:28:35 +08:00
Dean Netherton
c51fa1fcae SN76489: Renamed variable 'pitch' to 'period' 2020-04-28 20:40:46 +10:00
Dean Netherton
9cdbc5b981 SN76489: Do not play when period is overflowing 2020-04-28 20:40:46 +10:00
Dean Netherton
b1bb684a04 SN76489: Prevent and return error code if a pitch greater than 03FF is attempted to be set 2020-04-28 18:35:20 +10:00
Dean Netherton
ade954ab69 SN76489: Added support for BF_SNDQ_DEV/SN7_QUERY_DEV query
And updated some driver docs
2020-04-28 18:17:56 +10:00
Dean Netherton
6d9172f635 Replace FAIL with git statusgit status! to force assembler to error 2020-04-26 10:27:19 +10:00
Wayne Warthen
d14cf27acf Miscellaneous Cleanup
No functional changes.
2020-04-22 11:26:32 -07:00
Dean Netherton
890f9262e0 HBIOS: Added support for sound drivers
New sound driver support with initial support for the SN76489 chip

New build configuration entry:
* SN76489ENABLE

Ports are currently locked in with:
* SN76489_PORT_LEFT       .EQU    $FC     ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)
* SN76489_PORT_RIGHT      .EQU    $F8     ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)
2020-04-22 21:12:52 +10:00