Releases: Andy4495/AY3891x
AY3891x v2.0.1
What's Changed
- Add new public method
byte writeThenRead(byte regAddr, byte data)- Writes
datato registerregAddressthen immediately reads back the contents and returns abytevalue - The value is read back without latching in a register address in between the write and the read
- Writes
- Add Example 8 - Check Original or Clone
- Uses the new method to write 31 to register 1 and read the value back
- The returned value can be used as a way to test if a chip is an AY-3-8910, a YM2149, or other clone
- This example makes use of undocumented register bits and therefore may not be a definitive method to determine the chip type
Full Changelog: v2.0.0...v2.0.1
AY3891x v2.0.0
What's Changed
- Decrease tDW by @berarma in #3
- Optimized bus control signal timing for all state changes (inspired by above pull request) (merged in #4)
- Clarified README and constructor comments to note that BDIR, BC2, BC1 are required signals for this library to work correctly
Note
- The library API did not change
- The bus control signal timing changed. In particular, the duration of the READ and WRITE signals to the chip will have decreased. On a 16 MHz ATmega 328, the access times changed from about 15 us to 4.5 us
- This is particularly important for the WRITE case, as most datasheets list a maximum WRITE time (
tDW) of 10 us
- This is particularly important for the WRITE case, as most datasheets list a maximum WRITE time (
- Interrupts are disabled for about 4.5 us during a WRITE operation
- This ensures a consistent WRITE timing
- Previous versions of this library did not disable interrupts
- These changes should typically have no negative affect on any existing code, but code that is particularly dependent on timing may behave differently with this version
New Contributors
Full Changelog: v1.1.3...v2.0.0
AY3891x Library v1.1.3
Update examples for stm32 and esp compatibility.
No changes to the actual library code.
Full Changelog: v1.1.2...v1.1.3
AY3891x Library v1.1.2
README clarifications, example code cleanup, add arduino-lint action.
Library functionality unchanged from v1.1.1.
Full Changelog: v1.1.1...v1.1.2
AY3891x Library v1.1.1
Documentation changes. No functional or API changes.
Full Changelog: v1.1.0...v1.1.1
AY3891x Library
Declare Notes[] array as PROGMEM to save RAM. Fixes #1.
Note that as of version 1.1.0 of the library, the Notes[] array in AY3891x_sounds.h is defined as PROGMEM. This will require minor changes to any sketches which include this file and use the Notes[] array. See example programs 3 and 5.
AY3891x Library
Fix Example 7 so it closes files when done.
AY3891x Library
Update example 7 to support pressing a button to advance to next song on SD card.
Add hardware implementation info in extras/hardware folder.
AY3891x Library
Add Examples 6 and 7 - chiptunes players.
AY3891x Library
Updates to examples and READMEs. No changes to library functionality.