- Posts: 3682
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
The AY-3-8912 sound chip is a widely used one, to be found in the MSX, Amstrad CPC range, etc. It is controlled by two I/O ports:
OUT (0xfffd) - Select a register 0-14
IN (0xfffd) - Read the value of the selected register
OUT (0xbffd) - Write to the selected register
BI-PAK ZON X
Addresses for ZX Spectrum version (the ZX81 version is incompatible with various ZX Spectrum expansions):
out 0xFF select register
out 0x7F write to register
Detailed Spectrum I/O Ports (accessed via IN/OUT opcodes)
Code: Select all
Port Binary Address Dir Description FFFD 11............0. W Spectrum 128K/+2/+2A/+3 PSG index register FFFD 11............0. R Spectrum 128K/+2/+2A/+3 PSG data read (and RS232) BFFD 10............0. W Spectrum 128K/+2/+2A/+3 PSG data write (and RS232) xxFF ........1..11111 W Bi-Pak ZON X Soundbox PSG index xx7F ........0..11111 W Bi-Pak ZON X Soundbox PSG data write xxF6 ........11110110 R/W Timex TS2068/TC2068 PSG data R/W (sound registers) x1F6 .......111110110 R/W Timex TS2068/TC2068 PSG data R/W (and joystick 1) x2F6 ......1.11110110 R/W Timex TS2068/TC2068 PSG data R/W (and joystick 2) xxF5 ........11110101 W Timex TS2068/TC2068 PSG index
So the answer to the question, is, no, the ZX Spectrum 128, +2, +2A, +2B and +3 use different I/O ports (addresses) to the ZON X and to the Timex computers.
I suspect most games written for the ZX Spectrum 128 will not work with the ZON X unless the programmer(s) specifically included support.
Some AY sound expansions were available that could be used on 48K ZX Spectrums with the same I/O ports as a ZX Spectrum 128 machine.