# ZX Cartridge

[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

Проект картриджа для компьютера **Дельта 128К**. Устройство реализовано на четырех 29040 и CPLD, подключается к слоту расширения компьютера. Репозиторий содержит полный набор как исходных файлов, так и файлы для производства.
Также есть схема в pdf. Есть две версии прошивки - для оригинальных картриджей и расширенный вариант.

На текущий момент (08.5.2026) собрано два экземпляра плат по герберам gerbers_22022026 - пока замечний нет.

## Функциональность

Проверена работа на дампах оригинальных картриджей - работает.

---

## Аппаратная часть (HW)

Печатная плата разработана в **Altium Designer** (файл `zx_cartridge.PrjPCB`).  
Структура папки `HW`:
- `zx_cartridge.PrjPCB` – проект.
- `src/` – исходные файлы схемы (`main.SchDoc`) и платы (`pcb.PcbDoc`).
- `altium_libs/` – библиотеки компонентов (субмодуль).  
  Библиотеки содержат посадочные места, условные обозначения и 3D-модели (папка `3dmodels` со STEP-файлами).  
  Репозиторий использует **git submodule** для подключения библиотек – это упрощает синхронизацию с обновлениями.

Изображения готового прототипа и модели платы можно найти в папке [`media`](#media).

---

## Программируемая часть (FW)

Прошивка для ПЛИС написана на Verilog и предназначена для синтеза в среде **Quartus** (файлы проекта `zx_cartridge.qpf`, `zx_cartridge.qsf`).  
Основной модуль – `zx_cartridge` (файл `src/zx_cartridge.v`).

Директория FW содержит расширенную версию прошивки, поддерживает до 2 мегабайт памяти (четыре 29040). В текушей версии прошивка помещается только в cpld с 64 ячеками.
[Полное описание логики работы](./FW/readme.md)

Директория FW_orig содержит версию прошивки для оригинальных картриджей дельты. Используется всего одна микросхема 29040 (DD1), дампы нужно склеить в один файл и залить с адреса 0x0.

## Медиа

В папке [`media`](media) находятся фотографии платы в процессе разработки прототипа.

![Image](./media/pcb_top.png)
![Image](./media/proto_top.png)
![Image](./media/proto_bot.png)


## Благодарности

Спасибо за тест печатной платы @zcasper