Вход

Просмотр полной версии : RC2014 — модульный бейсик-компьютер на Z80



foxweb
22.08.2016, 13:53
Мне этот проект сразу приглянулся. Ничего лишнего, всё модульное на общей шине, на разъёмах. Можно городить свои модули с неограниченными возможностями. Кажется, этого конструктора многим не хватало. Многие изобретали что-то подобное, ваяли на бредбордах и картонках.

57962 57961

Ввод/вывод — через внешний терминал или можно нагородить свой видеоконтроллер.
Имеются модули подключения клавиатуры, джойстика, последовательный интерфейс.
Автор сделал "видеокарту" на базе Raspberry Pi Zero.

57959 57958

В авторской версии предлагается модуль ПЗУ с прошивкой Microsoft BASIC.

57960


Как ни странно, стоит вполне вменяемых денег, даже несмотря на бешеный курс фунта. Можно купить как голые платы, так и в виде конструктора для самостоятельной сборки. Если кому дорого — легко повторить самому.

Кроме этого конструктора автор предлагает ZX картриджи для мгновенной загрузки популярных игр.

57957

Схемы (https://www.dropbox.com/s/0wpyztgygrm1wrb/Fitting%20Instruction%20Pages.pdf?dl=0)
Сайт проекта RC2014 (http://rc2014.co.uk)
GitHub (https://github.com/RC2014Z80/RC2014)
Купить (https://www.tindie.com/stores/Semachthemonkey/)

Как думаете, реально ли прикрутить Т34ВГ1 и КР1013РЕ1 с прошивкой спектурума и сделать таки спектрум? Воткнуть туда побольше ОЗУ на статике?
Собираюсь заказать. Если решусь, обязательно отпишусь тут.

Всем хорошего дня!

foxweb
06.09.2016, 17:44
Итак, решился заказать этот конструктор. 23 августа посылка была отправлена из Ноттингема, 2 сентября получена в Москве.
Общая стоимость набора составила $125.89.

58083

У продавца не оказалось набора с Pi Zero и потом я понял почему. Оказывается, по всему миру большой децифит этих пятидолларовых компьютеров (неудивительно). Те магазины, где они всё же были, не делают доставку в Россию. Пришлось обратиться к китайским братьям на AliExpress.
Правда там Pi Zero стоит уже в 11 с лишним раз дороже! Ладно, подумал я, гулять так гулять. Заказал пятидолларовый компьютер за 57 долларов — как раз цена простенькой видеокарты, чью функцию он будет выполнять.

2 сентября удачно сложилось так, что на почту пришли обе посылки — и конструктор и малинка. Таким образом, весь набор мне обошёлся более чем в 11000 ₽!
Да, знаю, меня закидают найденными на помойке платами любители хлама за пять копеек.
Да, по отдельности всё дешевле.
Но у меня постройка моего первого Z80 компьютера и так уже затянулась на несколько лет. Меня уже было не остановить.

Конструктор был упакован в аккуратную крафтовую коробку размером почти с DVD-кейс. Внутри счёт, инструкция по сборке на нескольких листах и аккуратно завёрнутые в пакетики детали.

58084 58085 58086

В середине ночи у меня закончился припой. Да и убогий древний паяльник после пайки пары сотен отверстий начал бесить, выгорело несколько миллиметров жала, температуру не отрегулировать, припой моментально окисляется. На следующий день я пошёл на горбушку и купил себе импортного припоя и паяльную станцию с феном заодно.

Продолжение следует!

foxweb
09.09.2016, 21:45
Сборка модулей тактового генератора, контроллера последовательного порта и видеотерминала:
58186 58185

Подготовка Raspberry Pi Zero к монтажу:
58187 58188

После включения питания необходимо выполнить аппаратный сброс. Здесь нет схемы автосброса.
58191

При повторном сбросе бейсик предлагает холодный или горячий сброс:
58192

Общий вид собранного компьютера:
58189 58190


Видео первого включения и запуска программ на Бейсике:

https://www.youtube.com/watch?v=KnEOD3wIrhs

Поиграв с компьютером несколько часов, я нашёл несколько недочётов в конструкции плат, но они некритичны. Например, без Pi Zero лучше юзать 7805 и 9-12 вольт питания. 7805 остаётся холодным. Если же подключить Pi Zero, стабилизатор почти раскаляется, так что я подаю питание на плату в обход 7805 напрямую на Pi Zero с мощного USB-блока питания.

Терминал на Pi Zero выводит данные медленно, работает на скорости 115200. Видна отрисовка текста. Клавиатуру не подключал. Есть возможность на модуле видеотерминала джамперами переключать источники ввод и вывода. Ввод я брал с ноутбука по FTDI-шине, а вывод — с "малинки" на HDMI-монитор.

Можно не использовать монитор, а выводить обратно в любой эмулятор терминала, но мой CoolTerm не поддерживает ANSI-цвета, шрифты и кодировку. Есть возможность подключить USB-клавиатуру к "малинке", а она будет переводить нажатия в TTL (по FTDI). Клавиатурные нажатия отправляются сразу в последовательный порт.

Можно подключить Arduino опять же по FTDI и пусть общаются там между собой.

В существующей архитектуре компьютера не заложена видеопамять, поэтому общаться с внешним миром он может только через последовательный или параллельный порт. Возможно, когда-нибудь кто-нибудь сделает видеоадаптер, который будет обращаться к видеопамяти по прерываниям хотя бы 50 раз в секунду и формировать ТВ-картинку. Теоретически можно заставить уже имеющийся Pi Zero цепляться к шине, обращаться к гипотетической видеопамяти и выдавать картинку в HDMI.

С другой стороны, последовательный порт можно интегрировать почти с чем угодно (хорошая всё-таки это штука, которая заменяет практически любой ввод/вывод), можно даже при помощи простейшего Ethernet-адаптера сделать Telnet-подключение, а при помощи WiFi или Bluetooth-модулей можно будет программировать с планшетов и смартфонов. Получается этакий Arduino-конструктор на базе Z80.

Жаль нет никаких готовых игр (хотя бы в текстовом варианте). Придётся как в восьмибитном детстве писать игры самому :)

Также не хватает хорошего корпуса. Думаю, его можно будет разработать в 3D-редакторе и напечатать на 3D-принтере.

Жду ваших сообщений. Отвечу на любые вопросы!

ALS
12.09.2016, 13:10
Мне кажется, Raspberry здесь - больное место.
Во-первых, она ощутимую увеличивает общую стоимость. По 5 баксов она продается только у "них". Минимально, во сколько она может обойтись нашим людям - ок.25usd, дешевле пока нигде не нашел.
А ведь заменить ее можно той же мегой (один из вариантов - http://zx-pk.ru/threads/26871-8-bitnyj-displejnyj-modul.html).
Если бы у нее (малины) здесь был более расширенный функционал - да, было бы оправдано. Но, как всегда, "вот вам чудище облое - допилите его сами", т.е. пользователям предлагается вникнуть в тонкости программирования именно малины. Но как только они вникнут, Z80 в этой сборке останется вообще не у дел..

foxweb
12.09.2016, 15:36
Мне кажется, Raspberry здесь - больное место.

Согласен. Это всё равно что поставлять в комплекте с конструктором ноутбук.


Во-первых, она ощутимую увеличивает общую стоимость. По 5 баксов она продается только у "них". Минимально, во сколько она может обойтись нашим людям - ок.25usd, дешевле пока нигде не нашел.

Так это необязательный компонент. Можно не заказывать, а использовать в качестве терминала ПК.


Если бы у нее (малины) здесь был более расширенный функционал - да, было бы оправдано.

Да, вот если бы она реализовала работу с видеопамятью, SD-картами, собственным дисплеем, принтером (параллельным портом) — было бы отлично.


Но, как всегда, "вот вам чудище облое - допилите его сами", т.е. пользователям предлагается вникнуть в тонкости программирования именно малины. Но как только они вникнут, Z80 в этой сборке останется вообще не у дел..

Ну так на то он и конструктор. Расширять и допиливать его можно бесконечно.

foxweb
01.09.2018, 13:59
История получила продолжение. Недавно я зашёл на сайт Tindie и увидел там набор для апгрейда базовой конфигурации RC2014 до CP/M системы (https://www.tindie.com/products/Semachthemonkey/rc2014-cpm-upgrade-kit-for-full-monty/).

Набор состоит из трёх плат для сборки:

— Pageable ROM Module (https://www.tindie.com/products/Semachthemonkey/pageable-rom-module-for-rc2014-homebrew-computer/) — страничное ПЗУ на 64k (27C512). Доступны для заказа с разными прошивками: MS BASIC (в первых 8k) и CP/M. Данный модуль идёт в качестве замены штатного ROM, который у владельца был ранее. То есть, собираете эту плату и ставите её вместо старого ROM-модуля. Причём, в целях экономии автор не высылает новые микросхемы, а предлагает использовать те, что были в старом модуле.

http://rc2014.co.uk/wp-content/uploads/2017/03/Pageable-ROM-Tindie.jpg

— 64K RAM Module (https://www.tindie.com/products/Semachthemonkey/64k-ram-module-for-rc2014-z80-homebrew-computer/) — ну тут понятно, ОЗУ на 64k. Штатная конфигурация содержала 32k памяти. Точно также, старый RAM-модуль заменяется на новый с повторным использованием микросхем из старого. На плате есть перемычки для выбора стартового адреса.

http://rc2014.co.uk/wp-content/uploads/2016/09/64kRAM-Photo.jpg

— Compact Flash Module (https://www.tindie.com/products/Semachthemonkey/compact-flash-module-for-cpm-rc2014-computer/) — модуль CompactFlash. На заказ можно выбрать карту с 64M или 128M, на ней предзаписаны несколько логических дисков и минимальный набор CP/M утилит.

http://rc2014.co.uk/wp-content/uploads/2017/04/Tindie-Compact-Flash.jpg

- - - Добавлено - - -

В общем, собрал я это всё в кучу за пару часов и включил.

Первое, что появляется в консоли при включении:



Z80 SBC Boot ROM 1.1 by G. Searle
RC2014 port by Mitch Lalovic
Type ? for options

>?
R - Reset
BC or BW - ROM BASIC Cold or Warm
X - Boot CP/M (load $D000-$FFFF from disk)
:nnnnnn... - Load Intel-Hex file record

>x
Boot CP/M?



Далее, выбираем загрузку CP/M и видим:


Z80 CP/M BIOS 1.0 by G. Searle 2007-13
RC2014 port by Mitch Lalovic 2017

CP/M 2.2 Copyright 1979 (c) by Digital Research

A>dir

A: DOWNLOAD COM : README TXT
A>c:

C>dir

C: LOAD COM : PIP COM : STAT COM : SUBMIT COM
C: DDT COM : DISPLAY COM : DUMP COM : ED COM
C: ASM COM : ABC : ABC $$$ : PRN
C: HEX : X$$$$$$$ LIB
C>stat

A: R/W, Space: 8156k
C: R/W, Space: 8120k


C>



Пока мне, как человеку, воспитанному TR-DOS, MS DOS и Linux-консолью довольно непривычно работать в этой примитивной дисковой ОС. Пока мне удалось запустить текстовый редактор ED.COM и создать текстовый файл README.TXT. При помощи утилиты DOWNLOAD.COM можно загрузить через терминал какие-то программы в HEX-формате, но я пока не добрался до этого. Назначение и способы использования других программ для меня пока непонятны.

nihirash
27.07.2020, 00:52
Я, кстати, теперь тоже владелец такой машинки.

В качестве терминала использую сейчас ESP32 с fabGL.