From: Jarek Adamski Date: 2005-12-22 14:08:17 Subject: YAMOD.AYLPT v004 info YAMOD.AYLPT The board allows to connect AY-3-8910 sound chip in 3 addressing modes: 1. ZX Spectrum 128 compatibility - the device is in ports #FFFD (65533 - register selection and read) and #BFFD (49159 - register write). 2. Timex Computer 2068 - the device is in ports #F5 (245 - register selection) and #F6 (246 - register read and write). 3. Both above modes in the same time. As default both modes are active (3). Other mode is selected by cuting tracks - (1) or (2). Soldering pins allows to select mode by jumpers. To have 2 AY chips use two YAMOD.AYLPT boards set to different modes. The AY-3-8910 chip is by default mounted with 1.75MHz clock. After mounting a jumper and resistor also other frequency can be set, e.g. 1MHz. The stereo sound output can be ABC (B channel in the middle, like in Amstrad CPC) or ACB (C channel in the middle). The selection is done with two jumpers. There's no default setting. The transistor amplifier, copied from ZX Spectrum 128K doesn't work well. Sound output can be available in a DIN recorder slot or on internal 3 pins slot (4 pins in newer version). Lines of both I/O ports are available on 20 pins SIL slot (together with ground and +5V). This slot allows to mount custom device, for example: - TC2068 joystick slots (A8 and A9 lines should be connected with wires to 2 free pins of the 20 pins slot), - Keypad and RS232 like in ZX128 (MAX232 should be used or +12 and -12 connected to free pins), - AY-MOUSE (an interface for Amiga mouse with two 4 bits reverse counters - description in Russian in "ZX Power 1" magazine), - logic chip tester designed by Tomasz Kaczorowski. All I/O lines are also available in the DB25 slot (European 10.5 standard), with the lines assigment close to the parallel printer interface (LPT) in PC. Beside a standard printer, a bidirectional transmission is possible in several modes - including cables like LapLink and EPP. The DB25 pins assignment was done basing on known schematics of printer interfaces for AY and knowledge of LPT interface in PC. (Caution! Unlike the interface in PC, there's no signal hardware inversion.) The assignment is as follows: 1 - /Strobe - IOA0. 2 - Data0 - IOB0. 3 - Data1 - IOB1. 4 - Data2 - IOB2. 5 - Data3 - IOB3. 6 - Data4 - IOB4. 7 - Data5 - IOB5. 8 - Data6 - IOB6. 9 - Data7 - IOB7. 10 - /Ack - IOA6. 11 - Busy - IOA7. 12 - Paper-Out - IOA5. 13 - Select - IOA4. 14 - /Auto-Linefeed - IOA1. 15 - /Error - IOA3. 16 - /Initialize - +5V (options: IOA2 or /RESET). 17 - /Select-Printer - IOA2. 18..25 - Ground IOA7 - 11 - Busy. IOA6 - 10 - /Ack. IOA5 - 12 - Paper-Out. IOA4 - 13 - Select. IOA3 - 15 - /Error. IOA2 - 16 - /Initialize (option). IOA2 - 17 - /Select-Printer (default option). IOA1 - 14 - /Auto-Linefeed. IOA0 - 1 - /Strobe. IOB7 - 9 - Data7. IOB6 - 8 - Data6. IOB5 - 7 - Data5. IOB4 - 6 - Data4. IOB3 - 5 - Data3. IOB2 - 4 - Data2. IOB1 - 3 - Data1. IOB0 - 2 - Data0. Because the LPT interface in PC has more lines than AY, signal IOA2 can be connected to pin 16 (/Initialize) or to pin 17 (/Select-Printer). As default IOA2 is connected to pin 17, while pin 16 is connected via rezystor (placed under AY) to +5V (can be also connected with extra wire to YABUS reset signal /RES). The I/O lines of AY can be also used as IEC 625 interface (used in meassure automatics). The AY ports thanks to their propeties (working as outputs are open collector and read the result state of signal) are ideal for that purpose. However, the DB25 must be rewired or a slot converter must be used (from DB25 or from the internal 20 pins slot). Optionally, two AY lines can be used as IIC (I2C) magistral. With the jumpers one of 2 modes is selected: - IOA0 and IOA1 (for ZX128 mode, no conflict with Keypad and RS232; also LapLink can be used in the same time if IOA1 is disconnected from DB25 slot) - IOA4 and IOA5 (no conflict with joysticks in TC2068). On the board there's place reserved for 8 serial memories like 24C64 (8kB, or much expensive are 24C512 of 64kB) and the real time clock PCF8583 (this RTC can generate interrupts, but as default the line is not connected, because the RTC just after power on generates 1Hz signal on this output). There's also battery slot for the RTC. Connecting YAMOD.AYLPT directly to ZX Spectrum requires YABUS type interface. Correctly working port disabling with /IORQGE line is required (all models except ZX Spectrum 48kB/+ must be checked and upgraded if neccessary, especially ZX128 and TC2048). Connecting to Sam Coupe also requires internal port disabling (portfix upgrade) or external CPU with such property. For decrease costs or limit place YAMOD.ATBUS can be connected with wires without the DIN 41612 slots. YAMOD.AYLPT is a board of dimensions 100mm × 80mm and with a slot to YABUS on the short side. All tracks are only at bottom side, at elements side there are 28 wire connections (only 15 are required for sound only configuration). All chips (perhaps except AY-3-8910 chip itself) are available at electronics shops. No GAL programming etc. is required. It is adviced to use sockets, at least for the AY. YAMOD.AYLPT is available in several assembly versions - from pure board through do-it-yourself kit with minimal set of elements (with or without AY) to a ready-for-use device with serial memory, RTC, DB25 slot and full set of jumpers. Assembly documentation can be printed from Eagle CAD software. The price depends from assembly version and is from 5 euro (board) to 20 euro (7 to 35 USD). (Not including P&P - from 2 euro inside Europe.) The schematics and boarf view: http://8bit.yarek.pl/interface/yamod.aylpt/ Internal port disabling for Sam Coupe: http://8bit.yarek.pl/upgrade/sam.portfix/ "ZX Power 1" magazine (TR-DOS): http://8bit.yarek.pl/zin/zx.power/ Serial memory documentation: http://8bit.yarek.pl/part/i2c.memory/ File system for memories: http://8bit.yarek.pl/system/fs.memdisk/ RTC PCF8583 documentation: http://8bit.yarek.pl/part/i2c.rtc/