YABUS - universal 8-bit magistral
This magistral is dedicated to connect standardized I/O devices (ports) to micoroprocesor units (computers). Modules connected to the YABUS magistral are called YAMOD and their construction is independent from the computers, they are connected to.
A 1/2C EURO slot is used. Female one on the board (YABUS) and male one in the module (YAMOD). Most of base modules use only two outer rows of pins of the slot, what simplifies their construction.
|
A0..A15 | - address output lines (16 bits)
| D0..D7 | - data bidirectional lines (8 bits)
| /P0../P7 | - decoded A5..A7 for A4=1 output lines
| /DMA | - DMA request input line
| /INT | - interrupt request input line
| /RD | - strobe output line for reading from port
| /WR | - strobe output line for writing to port
| /SEL | - address recognized input line*
| /RES | - reset output (optionally input) line
| GND, +5V, -12V, +12V - power supply lines
|
|
* The module resets /SEL line (forces low state) for addresses used by it. Low state disables other ports (e.g. pulls up the /IORQGE line in ZX Spectrum) opens the data lines buffer of buffered YABUS, also can disable module in slot of lower priority (YABUS can be wired with slots priority).
For Z80CPU the /RD and /WR lines of YABUS must inlcude /IORQ.
This can be done with two 74LS32 OR gates or half of 74LS139 decoder. The /P0../P7 selcection lines can be generated with 74LS138 from A4..A7.
Write-only or read-only ports
Both in YABUS.ZX and YABUS.Z80RTC the /RD and /WR of YABUS signals are forced to high state when /SEL is not low. So the only way to make write-only and read-only ports is to use time delays.
The write-only ports means writing goes to YAMOD and locks internal port, but reading port at the same address is from internal port, not blocked by YAMOD. In this case, the YAMOD detects address of this port and sets /SEL to low. If then /WR=0 appears, the /SEL remains low and YAMOD makes use of the writenn byte. But if /RD=0 appears in this cycle, /SEL must be immediately set to high impedance to allow reading from internal port. The /SEL must be hold in high impedance until the address is unchanged.
The read-only port means the reading is from YAMOD with intrernal port blocked, while writing to the same address goes into internal port. YAMOD detects port address and sets low on /SEL. Then, if /RD=0 appears, YAMOD provides its data. But when /WR=0 appears, /SEL must be set to high impedance until the addres change.
Example of read-only port is keyboard interface for ZX Spectrum. YAMOD detects #xxFE address. In case of reading, YAMOD provides keyboard data. In case of writing - YAMOD must enable the internal port, as it is used to border changes and sound generation.

Pliki do pobrania
- bend.zip 10.3kB (2004-10-21 13:30)
- Mała płytka zmieniająca położenie gniazda YABUS z pionu do poziomu. Pliki danych programu Eagle.
- yabus.zip 37.5kB (2007-02-12 17:20)
- Biblioteka dla Eagle "yabus.lbr". Zawiera złącza YABUS, ZX Spectrum, IDE.
- iorqge.png 1.3kB (2003-12-30 23:15)
- Sposób na odłączanie wewnętrznych portów ZX Spectrum linią /IORQGE.
Linki do innych stron
Zobacz również
- YABUS.SAM
- Dwa złącza YABUS do Sam Coupé.
- YABUS.TF
- Dwa złącza YABUS dla komputerów Timex FDD 3000 oraz rozbudowa pamięci (4MB RAM).
- YABUS.TF3
- Rozszerzenie 4MB RAM dla Timex FDD 3 z możliwością montażu złącz YABUS.
- YABUS.ZX
- Dwa złącza YABUS dla komputerów typu ZX Spectrum.
- YABUS.ZXISA
- Sloty ISA dla ZX Spectrum (dostęp przez porty we/wy). LPT, 2×RS232, kontroler dyskowy oraz karta dźwiękowa.
- YAMOD.ATBUS 8bit IDE
- Najszybszy uniwersalny multiplekser IDE 8bit dla YABUS. Zawiera zegar czasu rzeczywistego (RTC) typu DS 1287, DS 12887 albo MC 146818.
- YAMOD.AYLPT
- Płytka dla układu dźwiękowego AY-3-8910 (zgodność z ZX Spectrum 128K oraz Timex 2068) ze złączem drukarki oraz magistralą IIC.
- YAMOD.EPROG
- Bardzo prosty i tani programator EPROM. Zbudowany na 8255, może programować do 1MB.
- YAMOD.FDC765A
- Interfejs FDC 765A, zgodny z ZX Spectrum +3 oraz YABUS.ZXISA.
- YAMOD.KJOY
- Kempston Joystick for YABUS.
- YABUS.IDE8255
- Dość szybki multiplekser IDE zrobiony z PIO 8255.
- YAMOD.ZXINPUT
- Uniwersalny interfejs do klawiatury PC AT oraz myszy szeregowej.
| | Buses
CPC
ZX Spectrum
I/O
|