Disk #10: The Internal Speaker

Added macros and subroutines to Disk 10, as well as updated the documentation appropriately.
This commit is contained in:
Nathan D Riggs 2021-06-03 22:30:54 -04:00
parent c968f205fc
commit df76400758
5 changed files with 1768 additions and 0 deletions

Binary file not shown.

View File

@ -77,6 +77,7 @@ limitations under the License.
- [Disk 7 -- CONVERT Macros](12.0%20quick_reference_d7_mac.convert.md)
- [Disk 8 -- LORES Macros](13.0%20quick_reference_d8_mac.lores.md)
- [Disk 9 -- HIRES Macros](14.0%20quick_reference_d9_mac.hires.md)
- [Disk 10 -- SPEAKER Macros](15.0%20quick_reference_d10_mac.speaker.md)
7. Detailed References and Source Code Listings
- [Disk 1: Required Library and Aliases](30.0%20Detailed_Reference_D1_REQUIRED.md)
- [Disk 2: STDIO Macros and Subroutines](31.0%20Detailed_Reference_D2_STDIO.md)
@ -87,6 +88,7 @@ limitations under the License.
- [Disk 7: Data Type Conversion Macros and Subroutines](36.0%20Detailed_Reference_D7_CONVERT.md)
- [Disk 8: Low Resolution Macros and Subroutines](37.0%20Detailed_Reference_D8_LORES.md)
- [Disk 9: High Resolution Macros and Subroutines](38.0%20Detailed_Reference_D9_HIRES.md)
- [Disk 10: Internal Macros and Subroutines](39.0%20Detailed_Reference_D10_SPEAKER.md)
8. Appendices
- Supplemental Texts
- Further Reference

View File

@ -0,0 +1,22 @@
# Disk #10: The Internal Speaker
The Speaker collection contains macros and subroutines for outputting sound on the Apple II internal speaker. Currently, this is limited to square wave notes and song playing, as well as as few standard sound effects. Ideally, future updates will include a subroutine using duty-cycling that is capable of producing elemental "instruments" for a variety of timbres.
| MACRO | DEPENDENCY | PARAMETERS | ACTION | DESTROYS | CYCLES | BYTES |
| ------- | -------------------- | ---------- | --------------------------------------- | -------- | ------ | ----- |
| `STMPO` | `SETTEMPO` | | Set the tempo | NZCV | 240 | 6 |
| `PNOTE` | `PLAYNOTE` `REDTONE` | | Play note in song | NZCV | 172+ | 3 |
| `SSONG` | none | | Set song sequence | NZCV | 48 | 36 |
| `NEXTN` | none | | Advance to next note in song | NZCV | 24 | 17 |
| `PREVN` | none | | Move to previous note in song | NZCV | 28 | 17 |
| `RSTRT` | none | | Restart song index | NZCV | 16 | 12 |
| `FFWRD` | none | | Fast forward a number of notes in song | NZCV | 27 | 19 |
| `REWND` | none | | Rewind a number of notes in song | NZCV | 35 | 25 |
| `PTONE` | `REDTONE` | | Play a non-song tone | NZCV | 220+ | 18 |
| `PFREQ` | `REDTONE` | | Play a non-song frequency | NZCV | 214+ | 15 |
| `PSONG` | `PNOTE` `NEXTN` | | Play an entire song sequence | NZCV | 226+ | 42 |
| `SFX` | `SOUNDFX` | | Play a sound effect from the collection | NZCV | 1962 | 18 |