
Pld test
gcoonrod/retro-stack
A retro computer project based on stackable PCB boards.

Simple SBC based on 65c02s
Deck65 is an open-source printed circuit board by and3rson, from the and3rson/deck65 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 254 × 160 mm with 183 parts on 202 nets, routed with 386 tracks and 0 vias.
It is built around the ATF16V8B-15PU, ATMEGA328-PU and 74LS670, with the 24LC512-I/P, 74HC00D and 74HC14 among its other parts. Its parts include 48 diodes, 48 switches, 21 capacitors, 15 connectors and 12 resistors. It belongs with the computers and single-board computers and retro computing and games boards and the ESP8266, AVR (ATmega, ATtiny) and FPGA and CPLD boards of this library.
Homebrew 6502-based single-board computer with WiFi, built-in mechanical keyboard, uSD card adapter, I2C/SPI, EEPROM, & RTC.

Pull with git pull --recurse-submodules.
+--------------+-------+------------------+------+------------------------------------------+
| RANGE | TYPE | ADDR | SIZE | Notes |
+--------------+-------+------------------+------+------------------------------------------+
| $0000..$0FFF | RAM | 0000------------ | 32 K | /EN = A15 |
| $1000..$1FFF | | 0001------------ | | $0000..$1000 - zeropage & video buffer |
| $2000..$2FFF | | 0010------------ | | $1000..$7FFF - programs from SD Card |
| $3000..$3FFF | | 0011------------ | | |
| $4000..$4FFF | | 0100------------ | | |
| $5000..$5FFF | | 0101------------ | | |
| $6000..$6FFF | | 0110------------ | | |
| $7000..$7FFF | | 0111------------ | | |
+--------------+-------+------------------+------+------------------------------------------+
| $8000..$8FFF | LOROM | 1000------------ | 16 K | /EN = NAND(A15, NAND(A14)) |
| $9000..$9FFF | | 1001------------ | | Contains OS ("MicroREPL") |
| $A000..$AFFF | | 1010------------ | | |
| $B000..$BFFF | | 1011------------ | | |
+--------------+-------+------------------+------+------------------------------------------+
| $C000..$CFFF | N/C | 1100------------ | 4 K | Unused, may add extra '138 with /GA=/A13 |
+--------------+-------+------------------+------+------------------------------------------+
| $D000..$DFFF | I/O | 1101------------ | 4 K | G = A12, /GA = A13, /GB = NAND(A15, A14) |
| | | 1101-000-------- | 256B | $D000..$D0FF - RAM banking register |
| | | 1101-001-------- | 256B | $D100..$D1FF - 6522 VIA |
| | | 1101-010-------- | 256B | $D200..$D2FF - 6551 ACIA |
| | | 1101-011-------- | 256B | $D300..$D3FF - T6963C LCD (240x64) |W65C02, 512 KB RAM (32KB visible to CPU, banked into 4 x 8 KB segments)
240x64 LCD display (T6963C)
Built-in mechanical PS/2 keyboard, powered by ATmega328P
Internet! Works through ESP-01
VIA W65C22N(6TPG-14)
Provides:
ACIA W65C51N(6TPG-14)n
Provides:
Note: I'm using NMOS-compatible versions of VIA & ACIA (N suffix) with open-drain /IRQ line.
See http://archive.6502.org/datasheets/wdc_w65c22_sep_13_2010.pdf (page 25) for more details.
Address decoder & underclocking - ATF16V8B-15PU
Main crystal is 16 MHz, and the CPU runs at either 8 MHz or 2 MHz.
Reason for this is that T6963C LCD can only operate on up to 2.75 MHz.
So when CPU needs to acccess the LCD, ATF16V8 divides clock speed by 4, bringing it down to 2 MHz.
This is done by implementing a 2-bit counter using registered outputs.
Memory banking: 74LS670
Entire RAM (first 32 KB) is divided into 4 x 8 KB segments.
Each segment can use one of its own 16 banks.
This allows to selectively bank parts of RAM in and out.
Using a machine-tooled socket actually allows to connect JCO-8 or JCO-14 oscillators.
Traco Power TSR 1-2450 (drop-in replacement for 7805)
It runs much cooler than L7805 since it's a switching regulator.
I use them a lot, although they are not as cheap as 7805.
V2.0 schematic:

Kernel code currently provides the following features:
galasm as submodule)Playing snake, for example:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 48 | 1N4001 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25 +32 |
| 48 | SW_Push | footprints:SW_PG1350 | SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23, SW24, SW25 +32 |
| 12 | MountingHole | my:Hole_2x3.5 | MH1, MH2, MH3, MH4, MH5, MH6, MH7, MH8, MH9, MH10, MH11, MH12 |
| 7 | 0.1uF | footprints:C_Disc_Long | C1, C7, C8, C10, C11, C12, C13 |
| 5 | 10K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R9, R10, R11, R13, R16 |
| 4 | 0.1uF | footprints:C_Disc_VeryLong | C2, C4, C14, C15 |
| 2 | 100uF | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C17, C19 |
| 2 | 10uF | Capacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mm | C3, C5 |
| 2 | 1K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P2.54mm_Vertical | R6, R8 |
| 2 | 22pF | Capacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mm | C26, C27 |
| 2 | 5K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R14, R15 |
| 2 | 74LS670 | Package_DIP:DIP-16_W7.62mm_Socket | U4, U8 |
| 2 | Keyboard | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J9, J10 |
| 1 | 0,1uF | Capacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mm | C25 |
| 1 | 0.1uF | Capacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mm | C9 |
| 1 | 1.8432 MHz | my:Oscillator_DIP-8-14 | X2 |
| 1 | 10K | Potentiometer_THT:Potentiometer_Bourns_3296Y_Vertical | RV1 |
| 1 | 10uF | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C18 |
| 1 | 16 MHz | my:Oscillator_DIP-8-14 | X1 |
| 1 | 20K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R7 |
| 1 | 22uF | Capacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mm | C6 |
| 1 | 24LC512 | Package_DIP:DIP-8_W7.62mm_Socket | U6 |
| 1 | 2N7000 | Package_TO_SOT_THT:TO-92_Inline | Q1 |
| 1 | 300 | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R12 |
| 1 | 32.768 KHz | Crystal:Crystal_C26-LF_D2.1mm_L6.5mm_Horizontal | Y1 |
| 1 | 3K3 | Resistor_THT:R_Array_SIP6 | RN1 |
| 1 | 5K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P2.54mm_Vertical | R17 |
| 1 | 74HC00 | Package_DIP:DIP-14_W7.62mm_Socket | U5 |
| 1 | 74HC138 | Package_DIP:DIP-16_W7.62mm_Socket | IO1 |
| 1 | 74HC14 | Package_DIP:DIP-14_W7.62mm_Socket | U2 |
| 1 | AMS1117 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | AS6C4008 | Package_DIP:DIP-32_W15.24mm_Socket | RAM1 |
| 1 | ATF16V8B-15PU | Package_DIP:DIP-20_W7.62mm_Socket | U3 |
| 1 | ATmega328-P | Package_DIP:DIP-28_W7.62mm_Socket | U11 |
| 1 | CR2032 | my:BatteryHolder_CR2032 | BT1 |
| 1 | Control | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J6 |
| 1 | Crystal | Crystal:Crystal_HC49-U_Vertical | Y2 |
| 1 | DS1307N+ | Package_DIP:DIP-8_W7.62mm_Socket | U7 |
| 1 | DS1813 | Package_TO_SOT_THT:TO-92 | RES1 |
| 1 | ESP-01-v2 | my:ESP-01 | U10 |
| 1 | I2C1 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J5 |
| 1 | Jack-DC | my:BarrelJackEdge | J1 |
| 1 | LCD | my:LCD24064_silk | H1 |
| 1 | LCD_Conn | Connector_PinHeader_2.54mm:PinHeader_2x11_P2.54mm_Vertical | J8 |
| 1 | Mini-DIN-6 | Custom_Footprints:Connector_Mini-DIN_Female_6Pin_2rows | P1 |
| 1 | Net LED | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J15 |
| 1 | Power | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J11 |
| 1 | Pwr LED | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J13 |
| 1 | Res LED | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J14 |
| 1 | Reset | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J12 |
| 1 | TSC 1-2450 | Package_TO_SOT_THT:TO-220-3_Vertical | REG1 |
| 1 | UART | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | VIA_A | Connector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_Vertical | J2 |
| 1 | W27C512 | my:ZIF28 | ROM1 |
| 1 | W65C02S6TPG | Package_DIP:DIP-40_W15.24mm_Socket | CPU1 |
| 1 | W65C22N6TPG | Package_DIP:DIP-40_W15.24mm_Socket | VIA1 |
| 1 | W65C51N6TPG | Package_DIP:DIP-28_W15.24mm_Socket | ACIA1 |
| 1 | uSD | my:MicroSD-Adapter | J7 |
It measures 254 × 160 mm and has 2 copper layers, 1.6 mm thick.
183 parts, built around the ATF16V8B-15PU, ATMEGA328-PU, 74LS670 and 24LC512-I/P. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the and3rson/deck65 repository on GitHub, at the commit this page was made from: the board is kicad/main.kicad_pcb and its schematic kicad/expansion.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

gcoonrod/retro-stack
A retro computer project based on stackable PCB boards.






KITTY-6502/hardware
the KITTY is a 65c02 homebrew kit microcomputer designed around text mode graphics and cartridge media. It is fully open source, and uses exclusively in-production parts.
