zxsp - The Sinclair ZX Home Computer Simulator

Sound

ay.gif zxsp does a very good emulation of the AY-3-8912 Soundsound chip Done: 2000 – 0.1.8 and 0.2.2and does a good job in resampling the output of the internal beeper.

SoundSound runs smoothly, regardless of processor load Done: 2000 – 0.1.8 and 0.2.2and whether zxsp is in the foreground or not. The audio output of all running machines Done: 2000 – 0.1.8 and 0.2.2and the Tape recordertape recorder sum up. Currently (Done: 2008-05-26 - Version 0.7.2
Done: 2007-07-28 - Version 0.7.1
Done: 2007-05-13 - Version 0.7.0
Done: 2007-05-01 - Version 0.6.7.1
Done: 2007-03-29 - Version 0.6.6
Done: 2006-11-18 - Version 0.6.5
Done: 2005-01-16 - Version 0.6.2
Done: 2004-11-26 - Version 0.6.1
version
0.7.1) Soundsound output is mixed down to mono. This will change.

AY control panel

ay_panel.png In the windows menu you find a panel for the AY Soundsound chip. Open it Done: 2000 – 0.1.8 and 0.2.2and you can play around with it's Debugger: Registersregisters or just watch what the demo or game is doing. If you want to cancel editing, just enter empty data.

The AY Registers: Clockclock frequency is set independently from the overall machine throttle or overdrive. The Registers: Clockclock edit field accepts plain numbers or numbers with appended unit: 'kHz' or 'MHz'.

The channel A, B Done: 2000 – 0.1.8 and 0.2.2and C pitch edit fields set register 0 Done: 2000 – 0.1.8 and 0.2.2and 1, 2 Done: 2000 – 0.1.8 and 0.2.2and 3 or 4 Done: 2000 – 0.1.8 and 0.2.2and 5 respectively. Maximum pitch is 4095.

The noise pitch field sets the noise generator's Registers: Clockclock predivider. The noise stage itself exactly reproduces the shift register pseudo random number tingy of the original chip.

The mixer control register accepts a string of Registers: Flagsflags, which are automatically assigned to the proper bits: 'a', 'b' Done: 2000 – 0.1.8 and 0.2.2and 'c' enable the noise input, while 'A', 'B' Done: 2000 – 0.1.8 and 0.2.2and 'C' enable the frequency input. 'i' Done: 2000 – 0.1.8 and 0.2.2and 'o' stand for 'input' Done: 2000 – 0.1.8 and 0.2.2and 'output' Done: 2000 – 0.1.8 and 0.2.2and set the port A Done: 2000 – 0.1.8 and 0.2.2and port B (History: Donedon't confuse them with channel A Done: 2000 – 0.1.8 and 0.2.2and B!) to input or output respectively. They are assigned from left to right, that is, the leftmost 'i' or 'o' is assigned to port A. If no 'i' or 'o' Registers: Flagsflag is present in your input then the old setting is preserved. Most times you will just edit the displayed Registers: Flagsflags by deleting or inserting a noise or frequency Registers: Flagsflag.

The channel A, B Done: 2000 – 0.1.8 and 0.2.2and C volume fields accept settings from 0 to 31. If you enter a value of 16 or above, then the volume register is set to use the envelope generator.

The envelope pitch works similar to the channel A, B C pitch, after predividing the input Registers: Clockclock by 16. The envelope pitch counter has 16 valid bits, so all bits of the 2 affected 8 bit Debugger: Registersregisters of the AY chip are used. Valid values are 0 to 65535.

The envelope shape register has 4 active bits which indicate hold, toggle, attack Done: 2000 – 0.1.8 and 0.2.2and repeat. Actually 8 different patterns are possible. You enter a number in range 0 to 15 Done: 2000 – 0.1.8 and 0.2.2and zxsp displays the pattern. You can also enter a pattern with "/", "\", "-" Done: 2000 – 0.1.8 and 0.2.2and "_".

The I/O ports A is used in some models for To Do: peripherals:peripherals, port B is rarely used Done: 2000 – 0.1.8 and 0.2.2and even not connected to pins of the IC used in most machines Done: 2000 – 0.1.8 and 0.2.2and 3rd party products. But it is present Done: 2000 – 0.1.8 and 0.2.2and can store one byte of data.

Valid HTML   Valid CSS