Two channel emulator versions archive
Version 24.0
Changes: improved noise generator, improved envelope volume table, better channels mixing.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version24_0__2ch 28.07.2016
Version 23.0
Changes: fixed noise generator.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version23_0__2ch 18.02.2016
Version 22.0
Changes: Improvement in parallel read mode, new principle of output signal generation.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version22_0__2ch 01.02.2016
Version 21.0
Changes: Fixed mistakes in envelope and noise generators. Timer code moved to main loop. Parallel mode works well without timer code! Great optimisation, new volume values. Emulator settings moved to EEPROM config.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version21_0__2ch 16.01.2016
Version 20.0
Changes: code optimization, parallel mode improvements, channel B noise is now in antiphase with channels A,C, all ICR constants recalculated for exact 1.75Mhz, added version for 2MHz emulation. better channels mixing.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version20_0__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 30MHz, 32MHz) 03.12.2015
Version 19.5
Changes: optimization, volume table fix, better channels mixing, small envelope generator fix.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version19_5__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 30MHz, 32MHz) 29.11.2015
Version 19.3
Changes: great improvement in envelope generator, now it has 32 volume levels as in YM2149F, fixed noise generator & synchronized all generators.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version19_3__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 30MHz, 32MHz) 28.07.2015
Version 19.2
Changes: further tone & envelope generators optimization, fixed noise generator, fixed bug with timer interrupt re-entry.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version19_2__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 30MHz, 32MHz) 15.07.2015
Version 19.0
Changes: great improvements! Timer interrupt speed increased by 2, tone generation quality as in real chip, noise generation increased by 2, envelope generation at periond 0 increased by 2, lots of optimization. The only drawback is that lowest oscillator is 25MHz 🙁 Generators speed in this mode is above 200KHz !!!
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version19_0__2ch (for oscillators 25MHz, 27MHz, 28MHz, 30MHz, 32MHz) 15.06.2015
Version 18.7
Changes: small fixes & optimization.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version18_7__2ch (for oscillators 8MHz*, 16MHz*, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 04.06.2015
Version 18.6
Changes: fixed & optimized tone generator, improved noise generator, optimized mixer.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version18_6__2ch (for oscillators 8MHz*, 16MHz*, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 24.05.2015
Version 18.4
Changes: fixed noise generator, improved tone generators, fixed bug in envelope generator.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version18_4__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 07.05.2015
Version 18.3
Changes: fixed tone generator, fixed noise generator.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version18_3__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 27.04.2015
Version 18.2
Changes: fixed envelope shape updating, fixed mixer initialization, added blocking for reenter into the timer interrupt, added version with extra channels mixing (A+C*0.25, C+A*0.25) for versions 24MHz+ only, writing data to PWM is at the beginning of the timer interrupt, added sources of 8MHz version.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version18_2__2ch_nb (for oscillators *8MHz, *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 21.01.2015
Version 18.1
Changes: new method of updating envelope shape register without snap, disabling envelope generator if it produces a constant value, improvements in serial mode.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version18_1__2ch_nb (for oscillators *8MHz, *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 20.01.2015
Version 18.0
Changes: optimized final version.
This version is incompatible with AYPlayer below version 6.0!!!
AY_Emul_Version18_0__2ch_nb (for oscillators *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 04.01.2015
Version 17.9
Changes: super fix of noise generator!!! fixed tone generator, all versions frequence fix.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_9__2ch_nb (for oscillators *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 28.12.2014
Version 17.8
Changes: noise generator fix.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_8__2ch_nb (for oscillators *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 27.12.2014
Version 17.7
Changes: Fixed incorrect mixer register initialization.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_7__2ch_nb (for oscillators *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 17.12.2014
Version 17.6
Changes: More accurate tone half-period calculation (more clear tone!).
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_6__2ch_nb (for oscillators *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 14.12.2014
Version 17.5
Changes: Noise generator fixed again (hope it was the last fix of NG).
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_5__2ch_nb (for oscillators *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 13.12.2014
Version 17.4
Changes: Fixed old mistake in noise generator (wrong bit was used).
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_4__2ch_nb (for oscillators *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 11.12.2014
Version 17.3
Changes: Improved Tone Generation, optimized timer code, fixed noise generator. Full version. version 16 MHz only for serial mode.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_3__2ch_nb (for oscillators *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 10.12.2014
Version 17.2
Changes: Fixed all problems in parallel mode, now you can use it in ZX-Spectrum without any problem! Added “serial only” version, versions 8 and 16 MHz only for serial mode as they don’t work in parallel mode.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_2__2ch_nb (for oscillators *8MHz, *16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 20.11.2014
Version 17.1
Starting from this version only nonblocking interrupts versions!
Changes: SUPER extra optimization from 908 to 738 bytes!!! Removed additional buffer for AY registers, now they changed on-the-fly, lots of improvements, absolutely clean sound!
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version17_1__2ch_nb (for oscillators 16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz) 19.11.2014
AY_Emul_Version17_1__2ch_nb_8mhz special 8 MHz version, tested only in serial mode, it is not tested in parallel mode. Sounds very good (according with previous 8MHz versions) all counters devided by 2.
Version 16.2
Changes: absolutely correct registers initialization, absolutely correct registers update in parallel mode and read mode, some optimization, added parallel only versions. Fixed mistake in envelope generator from version 15.1. Envelopes are now generated on-the-fly without using ram table. Version 16MHz doesn’t lost interrupts! Better 8MHz version.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version16_2__2ch (for oscillators 8MHz, 16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 16.11.2014, Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Non blocking interrupt version
More stable work in real hardware
AY_Emul_Version16_2__2ch_nb (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz)
Non blocking interrupt version + blocking counters
Tone counters are blocked when receive zero period value, herewith logical level is set to 1.
Envelope counter is blocked when it is loop envelope.
AY_Emul_Version16_2__2ch_nb_blk_cnt (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28,332MHz)
Version 16.11
Changes: fixed tone and envelope counters when received zero value, fixed alternate version.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version16_11__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 14.11.2014, Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 16.1
Changes: noise generator works as in real chip, all counters counts up as in real chip, if envelope counter=0 it counts twice as in real chip, most simple mixer code.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version16_1__2ch (for oscillators 8MHz, 16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 11.11.2014, Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 15.3
Changes: super extra optimized previous version, fixed problems with oscillators below 27MHz, version 8 & 16 MHz are included.
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version15_3__2ch (for oscillators 8MHz, 16MHz, 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 08.11.2014, Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 15.2
Changes: extra optimized previous version
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version15_2__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 07.11.2014, Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 15.1
Changes: fixed small bug from previous version
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version15_1__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 04.11.2014, Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 15.0
Changes: fixed mixer, now it works exactly as on real chip, extra optimization of code, version 20MHz should work correctly
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version15_0__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 04.11.2014, Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 14.1
Changes: new method of updating counters – absolutely clean sound, great optimization, correct initialization of port D
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version14_1__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 02.11.2014
Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 14.0
Changes: new protocol for serial mode (see readme.txt), improved serial and parallel mode, new method of updating registers – clean sound!
This version is incompatible with AYPlayers below version 6.0!!!
AY_Emul_Version14_0__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 01.11.2014
Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
———————————————–
Version 13.2
Changes: improved serial mode and timer interrupt
AY_Emul_Version13_2__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 31.10.2014
Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 13.1
Changes: imrover registers write algorythm, fixed register address correct detection, improved timer interrupt
AY_Emul_Version13_1__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 31.10.2014
Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 13.0
Changes: optimized write mode, especcialy for register 13, fixed latch address detection according to datasheet.
AY_Emul_Version13_0__2ch (for oscillators 24MHz, 25MHz, 27MHz, 28MHz, 28.332MHz) 28.10.2014
Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 12.9
Changes: fixed reset problem, optimized envelope generator, parallel mode is now disabled if something received in serial mode
AY_Emul_Version12_9__2ch (for oscillators 24MHz, 25MHz, 27MHz) 27.10.2014
Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 12.8
Changes: fixed read mode, now it is absolutely correct! improved serial mode + some optimizations
AY_Emul_Version12_8__2ch (for oscillators 24MHz, 25MHz, 27MHz) 27.10.2014
Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 12.7
Changes: optimization of previous version
AY_Emul_Version12_7__2ch (for oscillators 24MHz, 25MHz, 27MHz) 26.10.2014
Alternate version, where bits D5 and D6 are swapped also included. It is for PCB 256K Upgrade.
Version 12.6
Changes: rewritten parallel mode part, full support of read mode!!! now it is correctly detected as AY chip! corrected read mode part.
AY_Emul_Version12_6__2ch (for oscillators 24MHz, 25MHz, 27MHz) 26.10.2014
Alternate version, bits D5 and D6 are swapped.
AY_Emul_Version12_6__2ch_alt (for oscillators 24MHz, 25MHz, 27MHz) 26.10.2014
Version 12.5
Changes: fixed problem of port D initialization, improved parallel mode part
AY_Emul_Version12_5__2ch (for oscillators 24MHz, 25MHz, 27MHz) 12.10.2014
Alternate version, bits D5 and D6 are swapped.
AY_Emul_Version12_5__2ch_alt (for oscillators 24MHz, 25MHz, 27MHz, 28.322MHz) 16.10.2014
Version 12.4
Changes: read mode support (only 6 bit of data), optimization in tone generator, fix in envelope generator, code optimization
AY_Emul_Version12_4__2ch (for oscillators 24MHz, 25MHz, 27MHz) 15.09.2014
Version 12.3
Changes: Slightly optimized tone & envelope generators
AY_Emul_Version12_3__2ch (for oscillators 24MHz, 25MHz, 27MHz) 31.08.2014
Version 12.2
Changes: Improved tone & envelope generators, great fix of parallel mode part (it was made on real ZX-Spectrum). Now it plays almost all on real ZX-Spectrum, even digital sound! Hope this is final version 🙂
AY_Emul_Version12_2__2ch (for oscillators 24MHz, 25MHz, 27MHz) 28.08.2014
Version 12.1
Changes: improved mixer + all generators, now all sounds playing well
AY_Emul_Version12_1__2ch (for oscillators 24MHz, 25MHz, 27MHz) 27.08.2014
Version 12.0
Изменения: Улучшен микшер, генератор огибающей, генератор тона, генератор шума. Теперь отлично звучат даже те композиции, которые на всех предыдущих версиях играли криво.
AY_Emul_Version12_1__2ch (для кварцев 24MHz, 25MHz, 27MHz) дата выхода 27.08.2014
Changes: optimized mixer, new method of tone generation excluding tone distortion
AY_Emul_Version12_0__2ch (for oscillators 24MHz, 25MHz, 27MHz) 26.08.2014
Version 11.3
Changes: completely rewritten mixer code, small improvements in envelope and tone generators.
AY_Emul_Version11_3__2ch (for oscillators 24MHz, 25MHz, 27MHz) 26.08.2014
Version 11.2
Changes: synchronized tone & envelope, envelope volume is now calculated in envelope generator instead of mixer, lots of optimization, restored original mixing method.
AY_Emul_Version11_2__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz) 20.07.2014
Version 11.11
Changes: My apologies for some mistakes of previous versions 20 & 24 MHz as I didn’t check them. Now I’ve checked all versions and added 30 & 32 MHz versions.
AY_Emul_Version11_11__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz, 30MHz, 32MHz) 18.07.2014
Version 20MHz broken.
Version 11.1
Changes: Improved and optimized noise generator, completely rewritten and optimized envelope generator, completely optimized timer code! no desynchronization and freezing! IMHO this is the best version!
AY_Emul_Version11_1__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz) 17.07.2014
Versions 20Mhz, 24MHz broken…
Version 10.5
Changes: Fixed envelope generator (mistake of previous version)
AY_Emul_Version10_5__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz) 16.07.2014
Version 10.4
Changes: Fixed envelope and noise generators, some optimization
AY_Emul_Version10_4__2ch (for oscillators 20MHz, 24MHz, 25MHz, 27MHz) 15.07.2014
Version 10.1
AY_Emul_Version10_1__2ch (for oscillators 24MHz, 25MHz, 27MHz) 15.07.2014
Versions before 10.1 you can find on our tech forum