| ====== Introduction ====== Zeta SBC is an Zilog Z80 based single board computer. It is inspired by Ampro Little Board Z80 and N8VEM project. Zeta SBC is software compatible with N8VEM SBC and Disk I/O boards. ==== Pictures ==== ==== Complete Board ==== [[http:%%//%%www.malinov.com/Home/sergeys-projects/zeta-sbc/Zeta Board.jpg?attredirects=0|{{http:%%//%%www.malinov.com/_/rsrc/1349822691061/Home/sergeys-projects/zeta-sbc/Zeta Board.jpg?nolink&400x266}}]] ==== Zeta SBC with ParPortProp and a Floppy Drive ==== [[http:%%//%%www.malinov.com/Home/sergeys-projects/zeta-sbc/Zeta with ParPortProp - Perspective View.jpg?attredirects=0|{{http:%%//%%www.malinov.com/_/rsrc/1349822674652/Home/sergeys-projects/zeta-sbc/Zeta with ParPortProp - Perspective View.jpg?nolink&400x266}}]] ====== Specifications ====== Zeta SBC features following components: * Z80 CPU * 16550 UART - for connecting a console * 8255 PPI - can be used for attaching a hard drive using PPIDE or controlling some external devices * SMC FDC9266 floppy disk controller - NEC 765A / Intel 8272 compatible, with integrated data separator * 512 KiB of battery backed SRAM * 512 KiB of flash memory * RTC Zeta SBC is compact and easy to build: * Footprint of an 3.5" floppy drive (100 mm x 170.18 mm) and PCB can be mounted under a 3.5" drive. * Uses only through hole components. * Assumes using commonly available 3.5" floppy drives (not many people have 5.25" drives and even less 8" ones). Although it should work with 5.25" drives too. * Only 3 configuration jumpers. * Easy to use flash memory instead of UV EPROM. * PCB mounted connectors, no need to build cables. * Uses widely available components * An easy way to get a "taste" of CP/M era computing. ====== Hardware Documentation ====== ==== Schematics ==== Zeta SBC - Schematics - Color - 1.0.pdf (see attachments at the bottom of this page) Zeta SBC - Schematics - BW - 1.0.pdf (see attachments at the bottom of this page) ==== PCB Version 1.0 ==== Zeta SBC - Board - Color - 1.0.pdf (see attachments at the bottom of this page) ==== PCB Version 1.1 ==== Zeta SBC - Board - Color - 1.1.pdf (see attachments at the bottom of this page) ==== PCB Version 1.2 ==== Zeta SBC - Board - Color - 1.2.pdf (see attachments at the bottom of this page) ==== PCB Version 1.3 ==== Zeta SBC - Board - Color - 1.3.pdf (see attachments at the bottom of this page) ===== Input/Output ports ===== * Compatible with N8VEM SBC and N8VEM Disk I/O boards (FDC part only, no XT-IDE) * 30h (aliases 32h, 34h, 36h) - FDC Main Status Register (N8VEM Disk I/O uses 36h) * 31h (aliases 33h, 35h, 37h) - FDC Data Register (N8VEM Disk I/O uses 37h) * 38h (aliases 39h - 3Fh) * Write - FDC Diginal Output Register (DOR), also known as latch. * Bit 0 - TC * Bit 1 - MOTOR (0 = Motor off, 1 = Motor on) * Bit 2 - MINI * Bit 3 - P2 * Bit 4 - P1 * Bit 5 - P0 * Bit 6 - DENSEL (0 = High density, 1 = Low density) * Bit 7 - ~FDC_RST (0 = FDC RESET active, 1 = normal operation) * Read - FDC Digital Input Register (DIR) * Bit 0 - ~DC * Bits 1-7 - unused * N8VEM FDC compatibility notes: * Bit 1 is inverted, so upon system reset floppy drive motor(s) will be turned off * Bit 6 is inverted, but it is unlikely that it will cause any compatibility problems, as modern 3.5" drives don't use this signal * Bit 7 of the latch is used differently (and incorrectly) on N8VEM Disk I/O as an input to ~DC (disk change) line. In Zeta SBC this output is connected to FDC RESET input, and allows software controlled FDC reset. * ~DC (disk change) output from floppy drives can be read from DIR register, bit 0. It could be used by the system to detect floppy disk change. In such case CP/M should be warm rebooted. * 60h-63h (alias 64h-67h) - PPI Registers * 68h-6Fh - UART Registers * 70h (aliases 71h-77h) - RTC Registers * Write: * Bits 0-3 - unused * Bit 4 - RTC Chip Enable * Bit 5 - RTC Write Enable * Bit 6 - RTC Clock * Bit 7 - RTC Input * Read: * Bit 0 - RTC Output * Bits 1-5 - unused * Bit 6 - Configuration Jumper (JP1) * Bit 7 - unused * 78h (aliases 79h-7Bh) - RAM Page Select Register (CFG1) * Bits 0-3 - RAM page selection (A15-A18) * Bits 4-7 - unused * 7Ch (aliases 7Dh-7Fh) - ROM Page register (CFG2) * Bits 0-3 - ROM page selection (A15-A18) * Bits 4-6 - unused * Bit 7 - ROM disable (~ROM_ENA signal) * N8VEM compatibility notes: * Zeta SBC qualifies ~WR signal when accessing configuration registers, so accidental read access to them won't corrupt their content. This makes programs like SURVEY.COM work without crashing the system. * Zeta SBC doesn't check A1 when accessing configuration registers range (78h-7Fh), so write access to any of 78h-7Dh addresses will change CFG1 (78h-79h in N8VEM SBC) and write access to 7Ch-7Fh will change CFG2 (7Ch-7Dh in N8VEM SBC). This should not cause any compatibility problem, unless in the future N8VEM SBC or some N8VEM I/O devices will use 7Ah-7Bh or 7Eh-7Fh, and some software will try to access these ports. ===== Interrupts ===== * UART interrupt output is connected to the ~INT of the Z80 * FDC interrupt output has three connection options, selected by JP3 jumper: - JP3 position 1-2 - FDC interrupt output is connected to the ~INT input of the Z80. This setting is compatible with N8VEM interrupt and fast interrupt modes. - JP3 position 2-3 - FDC interrupt output is connected to the ~NMI input of the Z80 - JP3 not installed - FDC interrupt line is not connected to the CPU. This setting can be used with polling I/O mode. ===== Jumpers and Connectors ===== ==== Jumper JP1 - CONFIG ==== JP1 is a software configuration jumper. It can be read by software using RTC port (70h) bit 6. This jumper is not currently used by software. ==== Jumper JP2 - PIN25_GND/VCC ==== JP2 connects pin 25 of the parallel port P4 to either GND or Vcc (+5). Note that pin 1 is the pin that is closer to the parallel connector. Warning: If JP2 is set incorrectly, it is possible to create a short circuit of the 5 Volt power supply. |%%**%%Jumper Position %%**%% |%%**%%Description %%**%% | |1-2 |P4 pin 25 is connected to the ground | |2-3 |P4 pin 25 is connected to Vcc. Use this position with PPIDE, make sure to set jumper K1 on PPIDE to position 2-3. Please refer to [[http:%%//%%www.malinov.com/w/file/28373213/ppide-Install.txt|PPIDE documentation]] for more information. | |%%**%%no jumper* %%**%% |P4 pin 25 is left open | * default ==== Jumper JP3 - FDC_INT/NMI ==== |%%**%%Jumper Position %%**%% |%%**%%Description %%**%% | |1-2 |FDC interrupt is connected to the ~INT input of Z80. This is the default setting. Both interrupt and polling mode will work with it. | |2-3 |FDC interrupt is connected to the ~NMI input of Z80. | |%%**%%no jumper%%**%%* |FDC interrupt is not connected. FDC polling mode will work with this setting | * default ==== Connector P1 - POWER ==== Connect regulated +5V power supply to this connector. |%%**%%Pin %%**%% |%%**%%Description %%**%% | |tip (the inner contact) |Positive terminal - +5V | |barrel / sleeve |Negative terminal - ground | ==== Connector P2 - RESET ==== P2 is the connector for an external reset button. ==== Connector P3 - SERIAL ==== P3 is the serial port connector. It is normally used for connecting a console or terminal. P3 uses pinout similar to that of IBM AT serial port (with some signals missing). Use a null modem cable to connect to a PC. |%%**%%Pin Number %%**%% |%%**%%Description %%**%% | |1 |Not used - Not connected on the SBC | |2 |RX | |3 |TX | |4 |DTR | |5 |GND | |6 |DSR | |7 - 9 |Not used - Not connected on the SBC | |shield |GND | ==== Connector P4 - PARALLEL ==== P4 is the parallel port connector. It is connected directly to the 8255 PPI and can be used for attaching an IDE hard disk using the PPIDE mini board, for controlling external devices (e.g. printer, watering system), or for extending the SBC (e.g. connecting an LCD display and a keyboard). The pinout of P4 is the same as in other N8VEM boards (SBC V1, SBC V2, SBC-188). |%%**%%Pin Number %%**%% |%%**%%Description %%**%% |%%**%%Pin Number %%**%% |%%**%%Description %%**%% |%%**%%Pin Number %%**%% |%%**%%Description %%**%% |%%**%%Pin Number %%**%% |%%**%%Description %%**%% | |1 |PC0 |9 |PC4 |17 |PB7 |25 |GND or Vcc (see JP2) | |2 |PA0 |10 |PA4 |18 |PB0 |26 |GND | |3 |PC1 |11 |PC5 |19 |PB6 | | | |4 |PA1 |12 |PA5 |20 |PB1 | | | |5 |PC2 |13 |PC6 |21 |PB5 | | | |6 |PA2 |14 |PA6 |22 |PB2 | | | |7 |PC3 |15 |PC7 |23 |PB4 | | | |8 |PA3 |16 |PA7 |24 |PB3 | | | ==== Connector P5 - FLOPPY ==== P5 is the floppy interface connector. It uses PC compatible pinout. When using a PC floppy cable with a twist, Drive A (ID 0) is the drive after the twist and Drive B (ID 1) is the drive before the twist. When using only one FDD, either a twisted cable can be used, or the BIOS can be patched to use Drive B. |%%**%%Pin Number %%**%% |%%**%%Description %%**%% |%%**%%Direction (relative to the SBC)%%**%% |%%**%%Connected to %%**%% | |1-33 |Odd pins are GND | |GND | |2 |High Density. This signal is ignored by most (all?) 3.5" drives. |Output |DOR (bit 6) | |4, 6 |Not used | |No connection | |8 |Index Pulse |Input |Schmidt Trigger, FDC (IDX) | |10 |Motor On B |Output |DOR (bit 1), Buffer | |12 |Drive Select A |Output |FDC (US0, US1), Decoder | |14 |Drive Select B |Output |FDC (US0, US1), Decoder | |16 |Motor On A |Output |DOR (bit 1), Buffer | |18 |Direction |Output |FDC (LCT/DIR), Multiplexer | |20 |Step |Output |FDC (FR/STEP), Multiplexer | |22 |Write Data |Output |FDC (WDOUT), OC Buffer | |24 |Write Enable |Output |FDC (WE), OC Buffer | |26 |Track Zero |Input |Multiplexer, FDC (FLT/TR0) | |28 |Write Protect |Input |Multiplexer, FDC (WP/TS) | |30 |Read Data |Input |Schmidt Trigger, FDC (~DSKD) | |32 |Select Head |Output |FDC (HD), OC Buffer | |34 |Disk Changed |Input |DIR (bit 0) | ==== ==== ==== Connector P6 - 5V ==== P6 is the 5V power output for the floppy drive. Alternatively it can be used instead of P1 for supplying power to the board. It is recommended to use a polarized header for P6 to avoid incorrect power polarity which probably will destroy FDD or components on the SBC board. |%%**%%Pin Number %%**%% |%%**%%Description %%**%% | |1 |5V | |2 |GND | ====== Bill of Materials (BOM) ====== ===== BOM Notes ===== Disclaimer: I did my best to make sure that components listed in this BOM will be compatible with Zeta SBC. Obviously I didn't order all of components listed here, and I was not able to actually verify that they will work. Please make sure to double check specifications on manufacturer's and seller's web site before ordering. Please let me know (or update the BOM) if you found any problems or incompatibilities. Many components have multiple part numbers listed in BOM. There are some differences between various part numbers, such as: * Different manufacturer (e.g. Texas Instruments vs. National Semiconductor for IC). Usually these ICs will be 100% compatible and won't have any differences in specifications. For some other components (e.g. connectors) different manufacturer also means different quality. It for example is likely to get a better quality connector from TE (was AMP/Tyco) than from some obscure manufacturer (e.g. components sold under Jameco ValuePro brand). * Specification differences * Different IC families (LS, ALS), different technologies (TTL and CMOS). They have different specs, and you might prefer to use certain IC family. * Different IC speed/frequency, especially for CPU, PPI, and memory. * Mechanical differences, especially for switches. Pick whatever suits best in your enclosure. * Minor differences. For example: RoHS or Pb-free vs. regular components; thickness of gold plating on connectors; frequency stability of oscillators and crystals. * Price differences If unsure what to order, read specifications on seller's and manufacturer's web sites. There are some datasheets available in Zeta's [[http:%%//%%www.malinov.com/w/browse/#view=ViewFolder¶m=Documentation|Documentation]] folder. Also please read Replacement Notes below. Finally, consult people on [[http:%%//%%groups.google.com/group/n8vem|N8VEM news group]]. ===== BOM ===== |Component type |Reference |Description |Quantity |Possible sources and notes | |PCB | |Zeta SBC PCB Version 1.0 |1 |Order from Sergey | |Battery Holder |BT1 |CR2032 batter holder, 20 mm lead spacing |1 |Jameco [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_355434_-1|355434]], Mouser [[http:%%//%%www.mouser.com/ProductDetail/Eagle-Plastic-Devices/122-2620-GR/?qs=sGAEpiMZZMupuRtfu7GC%2bdT30ZRn29lxdufOO0Kb9bU=|122-2620-GR]], [[http:%%//%%www.mouser.com/ProductDetail/Eagle-Plastic-Devices/122-2520-GR/?qs=sGAEpiMZZMupuRtfu7GC%2baV0gE1yIQM5wO6q6AKGNZU=|122-2520-GR]], [[http:%%//%%www.mouser.com/ProductDetail/Eagle-Plastic-Devices/122-2420-GR/?qs=sGAEpiMZZMupuRtfu7GC%2beZOrkV%2bKN9/AB%2buxIS5wOM=|122-2420-GR]], Radio Shack [[http:%%//%%www.radioshack.com/product/index.jsp?productId=3060977|270-009]] | |Capacitor |C1 - C28 |0.1 uF ceramic, 5.08 mm lead spacing |28 | \\ Mouser [[http:%%//%%www.mouser.com/ProductDetail/Kemet/C323C104K5R5TA/?qs=sGAEpiMZZMuAYrNc52CMZJc2YQhHPlYVWR1uyzMGvKQ=|80-C323C104K5R]] \\ \\ Jameco [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_25523_-1|25523]] \\ | |Capacitor |C29 |47 uF, 6.3 V electrolytic |1 |Jameco [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_31114_-1|31114]], Mouser [[http:%%//%%www.mouser.com/ProductDetail/Panasonic-Electronic-Components/ECA-1HHG470/?qs=sGAEpiMZZMtZ1n0r9vR22be70OeCKE1EbiDEkso9tdM=|667-ECA-1HHG470]] | |Capacitor |C30 |10 uF, 6.3 V electrolytic |1 |Jameco [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_94221_-1|94221]], Mouser [[http:%%//%%www.mouser.com/ProductDetail/Panasonic-Electronic-Components/ECA-1HHG100B/?qs=sGAEpiMZZMtZ1n0r9vR22be70OeCKE1EPp5pYVHJnfQ=|667-ECA-1HHG100B]] | |Diode |D1 |1N4148 |1 |Jameco [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_36038_-1|36038]], [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_179215_-1|179215]]; Mouser [[http:%%//%%www.mouser.com/ProductDetail/Fairchild-Semiconductor/1N4148/?qs=sGAEpiMZZMutXGli8Ay4kC4Bz7vbB60woGEFXf9TQ98=|512-1N4148]], [[http:%%//%%www.mouser.com/ProductDetail/NXP-Semiconductors/1N4148113/?qs=sGAEpiMZZMutXGli8Ay4kE3wRMDwmh/%2bGmXBTkVQdt4=|771-1N4148-T/R]] | |Diode |D2, D3 |Bi-level LED indicator |1 |Jameco [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2006676_-12006676|2006676]]; Mouser [[http:%%//%%www.mouser.com/ProductDetail/Lumex/SSF-LXH240GYD/?qs=sGAEpiMZZMurHQmwyojo5EtA%2bKO7aifq/8Iq2xqPbQI=|696-SSF-LXH240GYD]] | |Standoff |HOLE1, HOLE2, HOLE3, HOLE4 |Standoff, M3 male / female, 20 mm |4 |Mouser [[http:%%//%%www.mouser.com/ProductDetail/Keystone-Electronics/24317/?qs=sGAEpiMZZMs6x5FGDTpfsIdmmWiq5V9U4wJ1XZo48xk=|534-24317]], [[http:%%//%%www.mouser.com/ProductDetail/Keystone-Electronics/25505/?qs=sGAEpiMZZMs6x5FGDTpfsIdmmWiq5V9Utxx9C/w3Z7E=|534-25505]], [[http:%%//%%www.mouser.com/ProductDetail/Harwin/R30-3012002/?qs=sGAEpiMZZMtzcnMBgC2bs6Id/K/NPiw4hN1Xmhg/QVw=|855-R30-3012002]] \\ Note: The length of male end of these standoffs is 8 mm. It is too long for some floppy disk drives (you'll notice that standoff doesn't go completely inside the floppy drive mount hole). In this case cut a few millimeters using a file or a fine saw. | |Screw |HOLE1, HOLE2, HOLE3, HOLE4 |Screw, M3, 6 mm |4 | \\ Use regular floppy or CD-ROM drive mounting screws. \\ \\ Mouser [[http:%%//%%www.mouser.com/ProductDetail/Keystone-Electronics/29311/?qs=sGAEpiMZZMs6x5FGDTpfsIdmmWiq5V9UXRwmMEDRMDY=|534-29311]] \\ \\ \\ | |Connector |JP1, P2 |2x1 pin header |2 |Jameco [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_108338_-1|108338]]; Mouser [[http:%%//%%www.mouser.com/ProductDetail/FCI/78229-102HLF/?qs=sGAEpiMZZMtsLRyDR9nM1%2b9K9ogxAkAjs2jx2M%2b94WE=|649-78229-102HLF]] | |Connector |JP2, JP3 |3x1 pin header |2 |Jameco [[http:%%//%%www.jameco.com/webapp/wcs/stores/servlet/ |