A simple 65C02 based computer for fun and learning purpose. A bill of materials and build instructions can be found alongside the roms here
Technical information
The Memo-1 consists on a 65C02 CPU running at 1Mhz, crudely attached to 32K of ram, 16K of rom, and has a 65C22 via and a 6551 ACIA (NOT the W65C51). The system is thought to have 8k of rom available as extension, and to be linked to a Minitel 1b as terminal.
Addresses
High nibble (A15..A12) | Hex range | Selection -----------------------+----------------+----------------- 0000 (0x0) | 0000 - 0FFF | RAM 0001 (0x1) | 1000 - 1FFF | RAM 0010 (0x2) | 2000 - 2FFF | RAM 0011 (0x3) | 3000 - 3FFF | RAM 0100 (0x4) | 4000 - 4FFF | RAM 0101 (0x5) | 5000 - 5FFF | RAM 0110 (0x6) | 6000 - 6FFF | RAM 0111 (0x7) | 7000 - 7FFF | RAM -----------------------+----------------+----------------- 1000 (0x8) | 8000 - 8FFF | VIA 1001 (0x9) | 9000 - 9FFF | ACIA -----------------------+----------------+----------------- 1010 (0xA) | A000 - AFFF | External slot 1011 (0xB) | B000 - BFFF | External slot -----------------------+----------------+----------------- 1100 (0xC) | C000 - CFFF | ROM 1101 (0xD) | D000 - DFFF | ROM 1110 (0xE) | E000 - EFFF | ROM 1111 (0xF) | F000 - FFFF | ROM
External slot
The external slot is a 32-pin connector (J4) exposing the full CPU bus.
Pin | Signal Pin | Signal ----+--------- ----+--------- 1 | A0 2 | D0 3 | A1 4 | D1 5 | A2 6 | D2 7 | A3 8 | D3 9 | A4 10 | D4 11 | A5 12 | D5 13 | A6 14 | D6 15 | A7 16 | D7 17 | A8 18 | GND 19 | A9 20 | /Ext select 21 | A10 22 | CLK 23 | A11 24 | /IRQ 25 | A12 26 | /NMI 27 | A13 28 | /RES 29 | A14 30 | R/W 31 | A15 32 | +5V
Odd pins carry the address bus (A0–A15), even pins 2–16 carry the data bus (D0–D7), and the remaining even pins carry control signals. The /Ext select signal is asserted low when the CPU addresses $A000–$BFFF.
It can be used to run code from an external ROM (code must be compiled to be executed between A000 and BFFF). It is also the slot for the cassette tape extension (referenced as KCS, for the standard it's using). That extension allows to save/load code in BASIC, and to save / load raw dumps of code from anywhere in the address space.
... continue reading