ZX-Talkman — это ремейк любительского речевого интерфейса для ZX Spectrum и ZX81, опубликованного в датском журнале Ny Elektronik в выпуске 10 за 1984 год (страница 36). Проект воссоздан в KiCad максимально близко к оригинальному дизайну.
Файлы для загрузки
| Название файла / Папка | Описание | GitHub | Yandex.Диск |
|---|---|---|---|
| gerber (папка) | Gerber-файлы версии v1.0 | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| zx-talker-v1.0.zip | Архив проекта (KiCad файлы) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| zx-talker.csv | Спецификация компонентов (CSV) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| zx-talker.kicad_pcb | Файл печатной платы KiCad | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| zx-talker.kicad_sch | Принципиальная схема KiCad | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| sym-lib-table | Таблица библиотек символов | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| fp-lib-table | Таблица библиотек посадочных мест | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Скачать все файлы | Все файлы находятся в одном архиве | Ссылка на GitHub | Ссылка на Яндекс.Диск |
Короткая демонстрация: ZX Spectrum произносит «Hello World» с помощью интерфейса (ссылка на видео в репозитории).
Оригинальная конструкция (1984)
Оригинальная конструкция была опубликована в журнале в 1984 году и включала схему, печатную плату и размещение компонентов.Настройка KiCad 9
Для этого проекта также необходимы символы и посадочные места ZXInfo из этого репозитория. Следуйте инструкциям, чтобы добавить библиотеки в вашу установку KiCad.Воссозданная конструкция
Основная цель: перерисовать схему в KiCad и изготовить первый вариант платы для проверки работоспособности.Программирование ZX-Talkman
Интерфейс управляется выводом данных в порт 31 (десятичный). На ZX Spectrum это можно сделать с помощью команды BASIC OUT. На ZX81 потребуется написать короткую программу на машинном коде для отправки данных в интерфейс (возможно, появится позже).«Hello world» на ZX Spectrum:
Бейсик ZX:
10 READ data
20 IF data > 63 THEN OUT 31,0: STOP
30 OUT 31, data
40 GO TO 10
1000 DATA 27,51,45,53,46,52,45,21,0, 64
Совместимость с коммерческими речевыми интерфейсами
Вывод данных в любой порт с низким уровнем A4 активирует SP0256. Это означает, что данный интерфейс «совместим» со следующими интерфейсами:- Cheetah Sweet Talker
- Fuller Orator
Планируется для версии v1.1
- Заменить тактовую часть кристаллом, как описано в документации на SP0256-AL2
- Отключать усилитель, когда SP0256 неактивен, для уменьшения выходного шума
- Сделать линии SBY и LRQ читаемыми с компьютера для лучшего управления и совместимости с другими интерфейсами
- Перемычка для включения/отключения управления линией WAIT
Версия 1.0 — Известные проблемы
Похоже, что сброс SP0256 не всегда работает должным образом при первом включении компьютера. Просто выключите и снова включите питание — микросхема должна сброситься корректно.BOM v1.0
| Обозначение | Колич. | Номинал |
|---|---|---|
| C1 | 1 | 820 пФ, керамический |
| C2 | 1 | 220 пФ, керамический |
| C3, C4, C9, C10, C15 | 5 | 100 нФ, MKT |
| C5, C7 | 2 | 4.7 мкФ, танталовый |
| C6 | 1 | 470 пФ, керамический |
| C8 | 1 | 10 мкФ, электролитический |
| C11, C12 | 2 | 100 мкФ, электролитический |
| C13, C14 | 2 | 100 нФ, керамический |
| HT1 | 1 | Динамик 0.5 Вт / 8 Ом |
| IC3 | 1 | SP0256-AL2 (осторожно — подделки) |
| J1 | 1 | ZX_Spectrum_Connector_48K |
| Q1 | 1 | BC548 |
| R1 | 1 | 4.7 кОм |
| R2, R10 | 2 | 100 Ом |
| R3 | 1 | 330 Ом |
| R4 | 1 | 100 кОм |
| R5 | 1 | 33 кОм |
| R6 | 1 | 1 МОм |
| R7 | 1 | 4.7 кОм |
| R8 | 1 | 10 кОм, логарифмический |
| R9 | 1 | 10 Ом |
| U1 | 1 | 74LS00 |
| U2 | 1 | 74LS32 |
| U3 | 1 | LM386 |
Другие интерфейсы на SP0256
| Интерфейс | Порт | Особенности |
|---|---|---|
| Currah uSpeech | — | Самый популярный речевой интерфейс для ZX Spectrum, поддержка во многих играх. Имеет собственное оверлейное ПЗУ и аппаратное обеспечение для управления. Может управляться собственным кодом (требуется исследование). |
| Cheetah Sweet Talker | 7 | Простой интерфейс, почти как этот DIY. Демо-программа Chatbox работает «из коробки». Требует соединения SBY → WAIT. |
| dk'tronics speech synthesiser | 127 | Чтение статуса из порта 127 (data = 127 = READY). Требуется исследование совместимости. |
| Fuller Orator | 159 | Демонстрационная программа работает. Лучше всего работает, если убрать соединение SBY → WAIT. Игры с поддержкой: Jungle Fever, Chuckie Egg, Ziggurat, Key Speaker (говорит во время набора), Spectrum Voice Chess (говорит слишком быстро?), Dimension Destructor (не подтверждено). |
| Datel Vox Box | — | — |
| William Stuart Chatterbox I & II | — | — |
Полезные ссылки проекта:
- Библиотека символов и посадочных мест ZXInfo для KiCad — GitHub
- Демо-программа Chatbox — видео (ссылка в репозитории)
- Даташит SP0256-AL2 — ссылка в репозитории
- Online text to speech — ссылка в репозитории
- Репозиторий проекта — GitHub