Кворум бк 04 инструкция

Quorum Reborn

Russian

English

Старая и восстановленная документация для компьютеров ZX Spectrum «Кворум» и «Магик».

Что такое «Кворум»?

«Кворум» — домашний компьютер, клон ZX Spectrum на советской элементной базе.
Разработан в Свердловске/Екатеринбурге Камилем Каримовым, выпускался заводами
«Вектор», «УОМЗ». Все машины имеют кодер SECAM.

Поддержка «Кворума» встроена в эмуляторы UnrealSpeccy и ZXMAK2.

Модели компьютеров

  • Magic-05 — Клон ZX Spectrum 48K с расширенной клавиатурой и портом Centronics.
  • Кворум 64 — Модифицированная версия «Magic-05» с доступным ОЗУ объёмом 64 КБ
    (дополнительные 16 КБ использовались как «теневое» ОЗУ) и измененной адресацией
    дополнительного порта расширенной клавиатуры.
  • Кворум 128 — Клон ZX Spectrum 128K без AY-3-8910. Схема построена на БМК
    КБ01ВГ1-2. В ПЗУ присутствует встроенный тест, монитор и копировщик. Возможность
    работы как в TR-DOS, так и в CP/M. На задней стенке корпуса компьютера располагались
    разъёмы для подключения внешнего блока питания, Kempston и Sinclair джойстиков,
    принтера, магнитофона, телевизора и монитора, а также разъём системной шины для
    подключения внешнего контроллера дисковода.
  • Кворум 128+ — Модификация «Кворум 128» со встроенным 3-дюймовым дисководом,
    контроллером дисковода и звуковым синтезатором AY-3-8910.
  • Кворум БК04 — Выпускался УОМЗ. Клон ZX Spectrum 48K. Имеет кодер SECAM с
    ВЧ-модулятором.
  • Кворум БК05 — Выпускался УОМЗ. Клон ZX Spectrum 48K на БМК КБ01ВГ1-2 и
    однокристальном SECAM-кодере. На плате реализован порт принтера, но отсутствует
    разъем.

Состав репозитория

  • kicad — Проекты KiCad для
    • Magic-05,
    • Кворум 64,
    • Кворум 128,
    • Кворум БК04,
    • контроллера дисковода
  • resources — Старая документация, прошивки, фотографии, софт

Проекты KiCad

Для работы с ними необходим KiCad версии >= 7.0.
Также в каждом проекте, в подкаталогах /plot лежат схемы, экспортированные в формат PDF.

Ссылки

https://github.com/atsidaev/quorum-cpm — Исходники CP/M для «Кворума», документация
по программированию.

English

Old and restored documentation for ZX Spectrum computers «Quorum» and «Magic».

What is «Quorum»?

«Quorum» is a home computer, a clone of the ZX Spectrum built with Soviet ICs.
It’s developed in Yekaterinburg f.k.a. Sverdlovsk by Kamil Karimov and manufactured by «Vector» and «UOMZ»
factories. All models have built-in SECAM encoder.

Quorum is supported by UnrealSpeccy and ZXMAK2 emulators.

The lineup

  • Magic-05 — ZX Spectrum 48K clone with extended keyboard and Centronics port.
  • Quorum 64 — Modified version of «Magic-05» with 64 KB available RAM (additional
    16 KB is used as shadow RAM) and changed addressing of the extended keyboard
    additional port.
  • Quorum 128 — ZX Spectrum 128K clone without the AY-3-8910. The construction
    is based on KB01VG1-2. The ROM contains a built-in test, monitor and copier.
    It has ability to work in both TR-DOS and CP/M. On the rear side of the computer
    case there were connectors for connecting an external power supply, Kempston and
    Sinclair joysticks, a printer, a tape recorder, a TV and a monitor, as well as a
    system bus connector for connecting an external floppy controller.
  • Quorum 128+ — Quorum 128 modification with a built-in 3-inch drive,
    floppy controller and sound synthesizer AY-3-8910.
  • Quorum БК04 — Produced by UOMZ. ZX Spectrum 48K clone. Has a SECAM encoder with
    RF modulator.
  • Quorum БК05 — Produced by UOMZ. ZX Spectrum 48K clone on BMK KB01VG1-2 and
    single-chip SECAM encoder. The board has a printer port, but no connector.

Repository contents

  • kicad — KiCad projects for
    • Magic-05,
    • Quorum 64,
    • Quorum 128,
    • Quorum БК04,
    • Floppy Disk Drive
  • resources — Old docs, firmware, images, software.

KiCad Projects

To work with projects you’ll need KiCad version >= 7.0.
Also in each project, in the /plot subdirectory there are schematic diagrams
exported in PDF format.

Links

https://github.com/atsidaev/quorum-cpm — CP/M sources for Quorum,
development docs.

У меня на окне на память лежит большая стопка пятидюймовых дискет от компьютера, который мне подарили родители в три года, и с которого я смог перелезть на PC только в 14. Это «Кворум-128», наш, уральский клон Спектрума. Клон довольно интересный и существенно отличавшийся от, например, уральского же «Магика». С магнитофоном он работал, как любой другой Спектрум, но при подключении Кворумовского же контроллера дисковода — не так-то просто его было достать! — он умел работать в ОС CP/M-80. Вот об этой ОС и ее реализации на «Кворуме» я и хочу сегодня рассказать.

Немного теории: Спектрум без CP/M

Начнем с того, что вспомним архитектуру классического Спектрума — чтобы понять, насколько отличается от нее CP/M. Заранее прошу прощения за возможные неточности — все это было очень давно.

Спектрум-48 собран на процессоре Z-80 с 8-битными регистрами и 16-битной адресацией. В Спектруме было 16 Кбайт ПЗУ, занятого интерпретатором диалекта Бейсика, служившего одновременно и операционной системой для машины; и 48 Кбайт ОЗУ, из которых 6.75 Кбайт было занято видеопамятью с весьма специфической адресацией, в устройство которой мы сейчас не будем вдаваться. Общая карта памяти выглядела примерно так:

Конечно, Бейсиковые программы на процессоре с частотой 3.5 МГц несусветно тормозили, и все нормальные чуваки тогда писали на ассемблере, а программам на Бейсике обычно отводилась роль загрузчика, который дозагружает с кассеты ассемблерные модули по заданным адресам, и передает им управление. (У реальных пацанов и загрузчики были хитрые ассемблерные, но не суть.)

Спектрум-128, как несложно догадаться, расширял общий объем ОЗУ машины с 48 до 128 Кбайт (и добавлял музыкальный сопроцессор AY-3-8910/12, который во второй половине 90-х уже был жестким дефицитом, и в моем Кворуме его так и не появилось). Но так как в 16 бит шины адреса 128 Кбайт уже не влезали, использовалась специальная, не особо удобная система: вся память делилась на 8 банков по 16 Кбайт, и в верхние 16 Кбайт адресного пространства (0xC000-0xFFFF) можно было «впечатывать» любой из этих 8 банков, выведя специальное значение в порт 0x7FFD. (Да, области памяти 0x4000-0x7FFF и 0x8000-0xBFFF тоже были обычными банками памяти — не помню сейчас уже номера — и в 0xC000-0xFFFF можно было их отзеркалить.) Кроме того, в Спектруме-128 было два банка ПЗУ — с классическим интерпретатором Бейсика, и с более продвинутым, в котором строчный редактор поменялся на примитивный полноэкранный, а также были разделены функции собственно Бейсика и ОС — добавилась несложная система меню, благодаря которой можно было включить загрузку с ленты, не выходя в Бейсик и не набирая там сакрального LOAD «» :)

Наконец, для Спектрума существовало некоторое количество различных контроллеров дисковода, из которых наиболее популярным (и единственным, используемым в российских клонах Спектрума) стал Beta Disk Interface. Он добавлял в Спектрум еще один банк ПЗУ, который аппаратным образом включался вместо обычного и перехватывал управление при переходе по адресам 0x3D00-0x3FFF, если не ошибаюсь. В ПЗУ контроллера содержалась очень примитивная дисковая операционная система TR-DOS, работавшая с дискетами объемом 640 Кбайт, и управлявшаяся командами, похожими на команды Бейсика. В контроллере также была специальная кнопка Magic Button, при нажатии на которую на диск записывался полный дамп памяти (48 Кбайт — о Спектруме-128 TR-DOS не знала). Это позволяло вместо того, чтобы делать полноценную адаптацию Спектрумовских программ и игр под дисковод, просто загрузить программу с ленты, нажать кнопку и сбросить на диск. Дальше можно было уже загружать ее с дискеты. Конечно, если в программе была, например, функция сохранения и записи, то они так и продолжали работать с лентой, но в целом это было очень удобно.

Операционная система CP/M-80

CP/M-80 была разработана для машин на процессорах Intel i8080 и совместимых с ним Zilog Z-80 компанией Digital Research в 1970-х годах. CP/M означает Control Program for Microcomputers; суффикс -80 официально появился в названии, только когда появилась и CP/M-86 для PC и процессоров 8088/8086. До того, как PC стремительно начал набирать популярность, нишу персональных, относительно маломощных компьютеров занимали именно машины с CP/M-80.

CP/M-80 была одной из первых операционных систем в современном понимании. Именно в ней появилась такая фича, как абстракция программ от физического оборудования, и именно это стало причиной ее (относительной) популярности. CP/M-80 состояла из трех размещавшихся в памяти модулей: CCP (Console Command Processor — примитивный командный интерпретатор), BDOS (Basic Disk Operating System — реализация системных вызовов) и BIOS (Basic Input/Output System — драйвера стандартных устройств: диска, консоли, принтера и последовательного интерфейса). При портировании CP/M на новую машину нужно было переписать только BIOS; CCP и BDOS были аппаратно-независимы. Прикладные же программы могли пользоваться функциями BDOS, или, при необходимости, напрямую BIOS, но были избавлены от необходимости знать премудрости работы с дисковыми контроллерами разных машин.

Разумеется, на практике все было не так гладко. Самым большим упущением BDOS/BIOS было отсутствие какой-либо стандартизации функций вывода на экран, кроме самых примитивных, тех, что сгодятся и для терминала-телетайпа. В результате программы, включавшие в себя функции, например, экранного редактора (наподобие WordStar и Turbo Pascal), при установке предлагали выбрать из нескольких десятков известных разработчикам машин, либо же, если машины в списке не было, ввести самостоятельно размеры экрана и различные управляющие коды для перемещения курсора и т. п. Ну, это мелочи.

Общая карта памяти CP/M-машины выглядела так:

Отметим еще раз, что эта карта памяти будет справедлива на любой машине с CP/M. Поэтому здесь много неопределенностей. Нет видеопамяти, например (а она и не факт, что будет присутствовать в реальности — может, машина вообще подключена к телетайпу), а единственные адреса, содержимое которых гарантировано — 0x0000-0x0100. Для осуществления системного вызова необходимо положить его номер в регистр C, если не ошибаюсь, а затем выполнить инструкцию CALL 0x0005; инструкция JMP по адресу 0x0005 уже выполнит переход куда надо в BDOS. Также в этой области имеются:

  • точка входа в BIOS (адрес 0x0000). Эта функция выполняет перезагрузку машины, но несложной арифметикой можно получить адрес любой другой функции BIOS;
  • номер текущего диска (A: = 0, B: = 1…);
  • направление текущих потоков ввода-вывода (например, консоль можно направить на печатающее устройство, или в последовательный порт);
  • имена файлов (не более 2), переданных загруженной программе как параметры командной строки, в структурах данных FCB, пригодных в качестве аргументов вызова функций BDOS;
  • полная командная строка текущей программы (адреса 0x0080-0x00FF — не более 127 символов).

Объем TPA (области для загружаемых программ) тоже не гарантировался и в принципе мог, в зависимости от реализации, составлять где-то от 10 до 52 Кбайт.

Файловая система CP/M-80 существенно проще, чем FAT, хотя со своими задачами справляется вполне удовлетворительно. Файлы хранятся с именами 8.3; даты создания/изменения не хранятся (наличие RTC-часов в машинах с CP/M не гарантировалось); размер файла хранится с точностью до 128 байт с округлением в большую сторону (объем занимаемого им на диске пространства — до 4 Кбайт). Также отсутствуют директории, вообще — на работу с жесткими дисками CP/M не была рассчитана, а с дискетками можно и так жить. Был, впрочем, некий суррогат под названием «области пользователя». Эти области нумеровались от 0 до 15, и в каждой из них могли храниться отдельные файлы. Переключались они командой USER n.

Раз уж речь зашла о командах, то их было немного: DIR, SAVE, ERA (удаление файлов), REN (переименование файлов), USER, может еще одну-две забыл. (SAVE выполняла довольно специфическую функцию — сохранение содержимого TPA на диск — если, например, вы запустили отладчик, загрузили в нем программу, похимичили над ней, вышли и хотите сохранить еще оставшуюся в памяти версию.) Популярным расширением для CP/M был альтернативный командный интерпретатор ZCPR3, куда более навороченный. Впрочем, сам я не пробовал.

В целом, CP/M очень напоминала раннюю версию DOS, да, в общем-то, и немудрено — DOS разрабатывалась как клон CP/M. Для CP/M-80 существовало немало прикладного софта — офисные программы, средства разработки, утилиты. Но с появлением и бурным развитием PC все это быстро стало неактуальным — как и версия CP/M-86, не сумевшая составить сколько-нибудь значительную конкуренцию DOS.

Исходные тексты CP/M различных версий и ее системных утилит (на ассемблере) несложно найти в Интернете.

Как скрестить CP/M и Спектрум

У CP/M и Спектрума общее только то, что они работают на процессоре Z-80. Если сравнить их карты памяти, мы не увидим практически ничего общего, да и периферия, ожидаемая на CP/M- и на Спектрум-машине, существенно отличается. Тем не менее, создатели «Кворума» смогли сделать машину, которая может одновременно работать и с CP/M, и как довольно обычный Спектрум. Что же пришлось изменить?

Прежде всего, в Кворуме нам мешается ПЗУ. В CP/M никакого ПЗУ нет (хотя BIOS вполне может располагаться и в ПЗУ, все равно BIOS находится не в самом начале, а в самом конце адресуемого пространства, и его объем значительно меньше 16 Кбайт). Поэтому в Кворуме добавили порт управления памятью 0x00, который позволяет переключать спектрумовско-кворумовское ПЗУ на дополнительные 16 Кбайт памяти в адресах 0x0000-0x3FFF. Поэтому, кстати, младшая модель Кворума называется не «Кворум-48», а «Кворум-64» — там действительно есть лишние 16 Кбайт ОЗУ, оставленные специально для режима CP/M.

(На самом деле «Кворум-64» еще не самая младшая модель — до нее еще был то ли «Кворум БК-02», то ли «Кворум БК-04», который представляет собой простой клон Спектрума и CP/M запускать не умеет.)

Помимо ПЗУ, нам мешается видеопамять, которая будет у нас торчать прямо посредине драгоценного пространства TPA. Так что вторая фунция порта 0x00 — переключение адресов видеопамяти — с дефолтного 0x4000-0x5AFF на 0xC000-0xDAFF. Во втором режиме видеопамять будет втиснута посреди BDOS и BIOS, но они, адаптированные для Кворума, об этом знают, а программам будет знать не обязательно.

Кстати о видеопамяти — на Спектруме существует всего один видеорежим, 256×192 с 16 цветов. (Точнее, 256×192 — это разрешение монохромной картинки, на которую затем накладываются атрибуты цвета в разрешении всего 32×24 — таким образом, в каждом участке 8×8 пикселов может быть не более 2 разных цветов. Но это детали.) Текст выводится шрифтом 8×8 пикселов, что дает 24 строки по 32 символа — что удобно накладывается на структуру видеопамяти, но откровенно мало для большинства практических целей. Большинство неадаптированных программ CP/M вообще ожидают, что в строке не менее 80 символов!

Поэтому для вывода текста в CP/M Кворума есть четыре режима — 42 символа в строке (шрифт 6×8), 51 символ в строке (шрифт 5×8), 64 символа в строке (шрифт 4×8) и 83 символа в строке (шрифт 3×8). По умолчанию после загрузки используется 42 символа в строке:

Выглядит довольно прилично, на мой взгляд. Шрифт 4×8 хранится в памяти одновременно с 6×8, и, например, в показанном вьюере текстовых файлов на него можно переключиться одной кнопкой F5:

Весьма неудобно, но приспособиться можно — если у вас к компьютеру был подключен не самый плохой телевизор (Кворум же, как и все Спектрумы, обычно работал с телевизором вместо монитора). Этот режим неплохо подходит для редактирования текста для последующей распечатки — напечатанный на матричном принтере текст с 64 символами в строке выглядит довольно неплохо.

Командами TTY51.COM и TTY80.COM можно переключиться на шрифты 5×8 и 3×8. 3×8 — это, конечно, адский ад — посмотрите на скриншот с 4×8 и представьте, что все эти крошечные буковки еще и слиплись в одну строчку без промежутков между ними. Такой режим приходилось иногда использовать, чтобы запустить неадаптированные для Кворума программы (Кворумовцы продавали несколько дискет с утилитами и средствами разработки для CP/M, просто скачанными из Интернета и записанными as-is).

Ну и немного о дисковой части. Блок дисковода «Кворум», размером несколько меньше нынешнего Micro-ATX-системника, был сделан из солидной толщины стали, покрашен в серый цвет, и имел два пятидюймовых отсека. К нему прилагалась системная дискета с базовым набором утилит и несколькими играми — собственно, образ более новой версии этой дискеты и есть единственный, который я нашел для эмулятора. После покупки — году этак в 1998 — он у меня работать отказался, что стоило десятилетнему мне немалых расстройств; в конце концов нам починили его по гарантии. Блок мне попался в вертикальном исполнении с черным пятидюймовым дисководом «Электроника МС-6313» или что-то в этом роде. Дисковод был очень низкого качества, дискеты запарывал влегкую. На фирме «Кворум» мне его поменяли на более адекватный пятидюймовый же Panasonic, потом поставили второй Mitsumi, а потом поменяли второй на трехдюймовый Samsung. Впрочем, все равно дискеты все они жрали только в путь, и CP/M в один прекрасный день начинала выдавать страшные сообщения «BDOS ERR ON A: BAD SECTOR».

К сожалению, у меня давно не осталось ни блока дисковода, ни самого Кворума, так что вот пишу по памяти и делаю скриншоты из эмулятора :)

Внутри, помимо отсеков для дисководов, была плата контроллера с традиционной для клонов Спектрума микросхемой КР1818ВГ93, и блок питания. Уязвимым местом блока дисковода был интерфейс с компьютером — от блока тянулся короткий широкий шлейф, на конце которого болталась тяжелая металлическая коробочка где-то 8x8x1 см с платой интерфейса внутри, которую нужно было насадить на краевой разъем сзади компьютера; Кворум, как и большинство Спектрумов, был объединен в одном корпусе с клавиатурой. Надежность такого соединения была невысокой.

Дискеты — и пятидюймовые, и трехдюймовые — дисковод понимал исключительно в формате Double Sided/Double Density, 800 Кбайт. Под DOS’ом это были бы дискеты на 720 Кбайт, но CP/M использовала свое форматирование: 2 стороны, 80 дорожек, 5 секторов, объем сектора 1024 байт. На загрузочных дискетах 20 Кб занимала ОС; из файловой системы это не было видно, она просто занимала две первых дорожки. Чтобы работать с трехдюймовыми дискетами из магазина, нужно было заклеить на них отверстие (напротив того, что с ползунком для защиты от записи) непрозрачной клейкой лентой.

Возможно, именно из-за такого форматирования доступ к диску в CP/M был крайне медленным. Это (наряду с недостаточным разрешением экрана для работы в полноценных текстовых режимах) и было, на мой взгляд, основным недостатком системы. Конечно, дискеты — штука сама по себе небыстрая, но уж пару десятков килобайт в секунду спокойно должна вытягивать; в CP/M на Кворуме реальная скорость чтения не превышала 2-5 Кбайт/с. Это не проблема оборудования — так же медленно все работает даже в эмуляторе, да и TR-DOS заметно пошустрее будет. Особенно печально было копировать что-либо между дискетами при наличии всего одного дисковода.

С программной стороны CP/M Кворума дисководов тоже фактически поддерживала всего два. На Кворуме-128 64 Кбайт расширенной памяти также использовались в качестве RAM-диска C:, что могло быть весьма удобно, особенно с такой-то скоростью работы с диском.

BDOS в CP/M Кворума немного допилили, чтобы сделать области пользователя несколько более практичными и похожими внешне и по принципу работы на каталоги. Количество областей увеличили с 16 до 32, области с номерами >10 позволили называть буквами (10 = A, 11 = B…), добавили в приглашение командной строки текущую область пользователя (было A>, стало A:\0>), и добавили в интерпретатор командной строки возможность запускать программы и указывать файлы из других областей пользователя (\A\FILE.TXT).

В целом, не могу сказать чтоб это было так уж сильно удобно. Суррогат остался суррогатом. Ну, полагаю, лучше, чем ничего.

Отдельно стоит сказать о совместимости CP/M Кворума и Спектрумовских игр. Это очень важный аспект — ведь все-таки где бы сейчас была, например, Microsoft без своей священной обратной совместимости? :) Для этой задачи — казалось бы, неразрешимой — тоже было найдено несколько решений, о которых мы поговорим ниже.

Кворумовцы — как я понимаю, по сути это один человек по фамилии Каримов — проделали огромную работу, написав с нуля под CP/M Кворума немало утилит (например, NC.COM, простой двухпанельный файл-менеджер), и адаптировав еще больше стороннего софта, начиная с самой CP/M и заканчивая Turbo Pascal. Хорошо помню, как я ходил к ним в детстве записывать дискеты и задавать скопившиеся вопросы. Компания «Кворум» находилась на пятом, последнем этаже торгового комплекса «Универбыт», тогда еще не бывшего гламурным торговым центром. За тяжелой железной дверью все было завалено компьютерами, чертежами, деталями и разными странными агрегатами. Прям прикосновение к чуду. Жалко, что сейчас таких мест нет, а если и есть, так не будут восприниматься.

Софт для CP/M

Практически на каждой кворумовской дискете, прежде всего, присуствовала их классическая парочка — оболочка NC.COM:

И текстовый редактор ED.COM:

NC.COM была, как несложно догадаться по названию, вариацией на тему двухпанельного файл-менеджера. Среди ее полезных функций — работа с пользовательскими областями как с подкаталогами, копирование файлов («голая» CP/M этого не умела, хотя в ней была для этого какая-то простенькая внешняя утилита), просмотр текстовых файлов в кодировках КОИ-8, КОИ-7, «ГОСТ-основная» и досовская CP866 (кстати, основной кодировкой для CP/M Кворума выбрали КОИ-8 — видимо, потому, что она при обрезании 7-го бита, чем могут грешить старые неадаптированные программы, превращается более или менее в транслит), и копирование файлов на дискеты DOS и обратно — последнего, кроме NC.COM, по-моему, больше никто не умел.

ED.COM, несмотря на название, был более подобен юниксовому vi, чем ed (а строго говоря, если верить инструкции, был версией некоего WordMaster). Он, так же как vi, имел два основных режима — ввода текста и командный. Конечно, набор команд был гораздо скромнее, чем у vi, но возможность создавать макросы из команд и записывать их в файлах .MED уже была. Вот одна из страниц справки, например:

ED.COM был пригоден для набора программ (хотя с такой тормозной дисковой подсистемой, как на Кворуме, последовательность «запустил ED.COM — отредактировал — вышел — скомпилировал — слинковал — запустил все получилось — go to step 1» требовала терпения ледника) и простых текстовых файлов. В принципе, я в нем писал и всякие рефераты с форматированием (без картинок, конечно). Делается это просто: берешь инструкцию от принтера — о, мой СМ-6337 вообще достоин отдельного поста!.. — открываешь справочник управляющих кодов и вставляешь их вручную в нужных местах. Благо что матричные принтеры, даже СМ-6337, обычно используют более или менее совместимые Epson-образные управляющие коды.

Из другого софта на системной дискете можно упомянуть FORMAT.COM, SGEN.COM (записывающую ОС на системные дорожки, и позволяющую при этом настроить некоторые косметические параметры), SUBM.COM (выполнявшую .SUB-файлы — некоторое подобие .BAT, только без переменных и каких бы то ни было средств управления вроде if, циклов и прочего) и POWER.COM, позволяющая баловаться с дисками на низком уровне.

На дискетах у кворумовцев можно было записать (по 10 рублей за штуку) много чего интересного, включая:

  • Текстовый процессор WordStar, когда-то адски популярная программа, чуть ли не killer app для CP/M. WordStar позволял форматировать текст более адекватным способом, чем ручной ввод управляющих кодов принтера, но на текстовом экране, конечно, ни о каком WYSIWIG речь не шла, да и вообще влезал на Кворумовский экран WordStar так себе. Его большая панель режимов и подсказок наверху экрана с высоты лет подозрительно напоминает… ленту Office 2007/2010 :)
  • SuperCalc, электронная таблица. Пользователи Linux могут поставить себе пакет sc, имеющийся или по крайней мере имевшийся в большинстве дистрибутивов, и получить довольно близкое представление о SuperCalc. На самом деле выглядело неплохо, но я так и не сумел придумать, зачем мне могут понадобиться электронные таблицы.
  • Microsoft BASIC-80. Да-да, тот самый, с которого Билл Гейтс пошел к успеху. Вполне адекватный диалект Бейсика, по функциональности — нечто среднее между спектрумовским Бейсиком и QBASIC, который мы проходили в школе. BASIC-80 имел встроенный строчный редактор, что было не бог весть как удобно, но куда лучше цикла редактор-компилятор-запуск. Программу, отлаженную в интерпретаторе, можно было скомпилировать компилятором BASCOM.COM, а затем слинковать с рантаймом и, при желании, с ассемблерными процедурами.
  • Microsoft M80. Более или менее стандартный ассемблер i8080/Z-80 под CP/M-80. Ассемблер он и есть ассемблер, что с него взять. В комплект входят собственно ассемблер M80.COM, линковщик L80.COM и библиотекарь LIB80.COM. IDE или редактора нет. На дискете также поставлялся отладчик ZSID.COM и на удивление годный дизассемблер DASM.COM.
  • Borland Turbo Pascal. Версия 3.02А. Без преувеличения, лучшее средство разработки под CP/M. В нем была IDE с экранным редактором — простенькая, но достаточно адекватная, и на голову лучше всего остального что было. Скорость компиляции тоже впечатляла. На этом Паскале я в юные годы много тренировался, даже фрактал Мандельброта рисовал с ну очень смешной скоростью. Минусы — здоровый 10-Кбайтный рантайм и небольшое количество памяти, остающееся на исходный текст и исполняемый код программы при загруженной IDE.
  • BDS C. С этим я почти не знаком. Вроде как обычный старый Си, без IDE и с не очень стандартной стандартной библиотекой.
  • Архиваторы. Это добро было только на дисках с неадаптированным софтом. Архиваторы были интересные — они работали как юниксовые: отдельно сжатие и отдельно упаковка в один файл. Только в CP/M наоборот. Сначала упаковывались отдельные файлы, в ходе чего в их расширении менялась средняя буква (архиватор SQUEEZE.COM менял ее на Q, более быстрый и куда лучше сжимающий CRUNCH.COM — на Z, а самый крутой CRLZH.COM, которому на Кворуме памяти хватало только на распаковку — на Y), а потом сжатые файлы объединялись в .LBR-архив утилитой LU.COM или NULU.COM. Были разархиваторы для ARC, ARJ и ZIP. Теоретически должен был быть как минимум архиватор ARC, но я такого не встречал.

Совместимость с играми для Спектрума

Для совместимости со спектрумовским софтом в CP/M Кворума есть две очень интересные программы — BETA.COM и GAMMA.COM.

BETA.COM — это, собственно, эмулятор TR-DOS’а. От слова Beta Disk Interface. На Кворуме-128 TR-DOS есть в ПЗУ и такой эмулятор в общем-то не нужен, но на Кворуме-64 без него TR-DOS’а не будет. Эмулятор загружается в нулевую страницу ОЗУ — та самая, которая может впечатываться вместо спектрумовского ПЗУ — и работает, как самый обыкновенный TR-DOS. Возможно, местами кривоватый. Хотя и встроенный в Кворум-128 TR-DOS на самом деле несколько кривоватый, и многие программы, требующие низкоуровневого доступа к диску в нет работать отказываются. Это печально.

GAMMA.COM — гораздо более интересное изобретение. По сути, это специальная версия CP/M Кворума для запуска спектрумовских игр, под названием Gamma-DOS.

Gamma-DOS, как и BETA.COM, использует трюк с нижними 16 Кбайт ОЗУ, но вместо TR-DOS в них загружается кастрированная по самое не хочу CP/M. Шрифт в ней стандартный спектрумовский, треть экрана вообще не используется (для экономии памяти — надо же сохранять остальные две трети где-то на время выхода в Gamma-DOS), областей пользователя нет, область TPA урезана до нескольких килобайт — хотя простые утилиты CP/M все же запускаются нормально.

После запуска Gamma-DOS (что можно сделать как из CP/M, командой GAMMA.COM, так и загрузившись с дискеты, где в системные дорожки вместо CP/M записана Gamma-DOS) в спектрумовский Бейсик можно выйти командой SOS. После этого можно загружать с магнитофона любую игру. После загрузки по нажатию клавиши NMI (Non-Masked Interrupt — немаскируемое прерывание — в Z-80 принудительно выполняет переход по адресу 0x0066 и не может быть игнорировано) управление будет передано в Gamma-DOS, после чего игру можно сохранить командой SAVE, а затем вернуться в нее командой RET. Игры сохраняются в формате .SPC — по сути, это такой же дамп памяти, как и в TR-DOS с «волшебной кнопкой», только сжатый.

Трюк с NMI возможен благодаря предусмотренной в спектрумовском ПЗУ Кворума проверке — оно переключается на нулевую страницу ОЗУ в случае, если в нем по адресу 0x0066 находится инструкция процессора JMP — т. е. по сути ПЗУ проверяет, если ли в ОЗУ подпрограмма обработчика для NMI.

Игры в формате .SPC можно запускать из командной строки, как и обычные команды .COM, но обычно для этого используется оболочка наподобие RUN.COM:

И вперед! :)

Стоит отметить, что на моей памяти Gamma-DOS работала не очень стабильно и частенько при попытке сохранить игру выдавала «BDOS ERR ON A: BAD SECTOR» на вроде бы совершенно нормальных дискетах. Так что я чаще пользовался не Gamma-DOS, а SCREEN — оболочкой с псевдографическим интерфейсом (и ограниченными средствами редактирования изображений — отсюда и название), работающей значительно быстрее и стабильнее Gamma-DOS, и более удобной в использовании. У SCREEN даже был свой API — для нее существовал отдельный формат исполняемых файлов, .EXE — но его описания я нигде не находил, равно как и описания того, как SCREEN устроена. Подозреваю, где-то там в недрах все равно была Gamma-DOS.

Самым большим минусом как Gamma-DOS, так и SCREEN было то, что они поддерживали только программы для Спектрума-48. Игрушки для Спектрума-128, а это, естественно, зачастую были самые клевые игрушки, можно было запустить только из TR-DOS Кворума-128. Увы и ах.

Настоящее

Кворум, к сожалению, не обрел такой известности, как эпичные Пентагон, Скорпион или Профи, и остался местечковым екатеринбургским компьютером, большинство пользователей которого, вероятно, и не подозревали, что для него есть дисковод и какая-то там CP/M. Теоретически существовали модели Кворум-256, Кворум-512 и даже Кворум-1024, но купить их было весьма нетривиально, если вообще возможно. Сейчас никакого «Quorum Ltd.», насколько мне известно, уже давно не существует.

Адаптированный под Кворум эмулятор UnrealSpeccy можно скачать здесь: http://atmturbo.nedopc.com/emulator/kv_emul/unrl020q.zip, а образ системной дискеты здесь: http://atmturbo.nedopc.com/others/kvorum/kv_cpm/kv_cpm.zip. Кое-какой софт есть также в этом архиве: http://atmturbo.nedopc.com/others/kvorum/kv_soft2/kv_soft2.zip (не образ, отдельные файлы), включая ассемблер M80 и руководство программиста CP/M-80 на русском. Спасибо тому человеку, который все это выложил; насколько мне известно, других образов дискет Кворума в Сети нет. Удачных экспериментов :)

Добрый день (опционально вечер/ночь)

Микро обзор — отчет о ремонте старого компьютера.

Предисловие

Прогуливаясь по всяким интернет аукционам и барахолкам, люблю поискать старые ретро компьютеры, в основном я х приобретаю из за ностальгии и заодно показывать ребенку, «как это было раньше».

Но не суть, был приобретен данный компьютер за 200рублей, и у него конечно же помимо того, что на плату попала моча кота, были другие мелкие неисправности. Единственную проблему мне не удавалось устранить, а именно найти оригинальную замену микросхеме КР531ГГ1, не было их в продаже даже в нашем Екатеринбургском магазине МЭК, который раньше поставлял запчасти для Оптикомеханического завода, на котором собирали эти Кворумы.

В общем аналогом для замены данной микросхемы, причем полным, является SN74S124N, тут же было заказано две микросхемы с али, за смешные деньги.

Внешний вид и замена

Данная микросхема поставляется в корпусе DIP16, содержит на себе 2 генератора импульсов, частота которых управляется напряжением. Имеет полную совместимость с КР531ГГ1, даже не пришлось дорабатывать обвязку, взял и поставил.

Неисправная микросхема была выкушена и на ее пузе обнаружились трещины, проблема в ее работе проявлялось потерей изображения по порту видео.

От старости и перегрева аж повело чутка корпус:

Она перегревалась и отваливалась, после замены все было замечательно, компьютер вышел в матрас без проблем и работает исправно:

Вывод

Очень рекомендую к замене, все заработало исправно.

Расширение ZX-Spectrum 48K до 256K по стандарту SCORPION 256

Расширение делается на чипах памяти 41256 (от 286 компьютеров), необходимо заменить РУ5 на данные микросхемы. Выводы 1 соединить вместе, это будет 9-ая адресная линия (MA8).

Рекомендуется использовать микросхемы серии 74HC.

Теперь о схеме порта расширения

Данная схема реализует порты #7FFD, #1FFD для расширения памяти, а так же порты #BFFD, #FFFD музыкального сопроцессора (в качестве которого я использую эмулятор с данного сайта).

Дополнительно в данной схеме используется 6 бит порта #1FFD для переключения дополнительных банков ПЗУ (2 бит переключающий верхние 64К ПЗУ, т.е. ROM3)

Данная схема использует всего 7 микросхем и не дешифрирует порт #FD. При желании, можно добавить его дешифрацию добавив три элемента ИЛИ-НЕ (74LS02N).

Так же, схему легко переделать под другие стандарты расширения, в том числе и 1024Mb.

В первую очередь следует перерезать дорожки с сигналами A14, A15 идущие на мультиплексоры (обычно это микросхема КП11, к которой подходят соответствующие сигналы) и подать на них сигналы A14′ и A15′ вместо A14 и A15.

Затем найти сигнал H1 (на некоторых схемах обозначается DC1, например, в Кворум БК-04), обычно он идет на 15 вывод той же микросхемы, от которой вы отрезали A14 и A15 (и всех остальных КП11).

Далее следует найти точку подключения сигнала SCR (сигнал переключения экранов, да, начиная со 128К версии их в ZX-Spectrum 2 штуки), обычно, это вторая из 4 микросхем КП11 (та от которой вы отрезали A14 и A15 обычно четвертая) и вывод у неё обычно 13, если туда еще что-то подключено — отрезаем и подключаем сигнал SCR (проверьте, чтобы 14-ый вывод шел на +5 вольт, если идет на землю, то переподключите). На схеме компьютера 13 и 14 выводы, это соответственно 4B и 4A микросхемы КП11(она же 74LS257N).

Сигналы A14, A15 берем или там где отрезали или откуда удобнее.

Сигналы /WR, /IORQ, /M1, /RAS, /RESET находим по схеме компьютера.

Сигналы D0-D5(D6,D7 если ставим эмулятор), A1, A9, VCC, GND удобнее взять с панели ПЗУ (особенно, если у вас их 2)

Сигнал MA8 подключаем к 1 выводам микросхем памяти 41256.

Сигналы DOS / EDOS берем с платы контроллера дисковода (если он у вас есть), на некоторых какой-то из них может быть инвертирован, тогда вам не повезло и придется использовать дополнительный инвертор.

Сигналы ROM1, ROM2, ROM3 подаем на выводы ПЗУ A14,A15,A16 соответственно (зависит от того, какого размера у вас ПЗУ, например Flash на 128К как раз имеет данные адресные линии), напомню, что ROM3 это дополнительный сигнал, который я ввел в схему специально, чтобы иметь возможность переключать больше банков ПЗУ, он не стандартизирован и использует неиспользуемый бит порта #1FFD (хотя, по некоторым данным этот бит используется для сигнала строба принтера)!!! Но, зато, позволяет нам разместить дополнительно 4 страницы ПЗУ со всякими командерами и т.д. 🙂 правда для этого придется самостоятельно разрабатывать менюшку (возможно у меня будет время заняться этим).

Вот вроде бы и всё по поводу подключения, если есть вопросы — пишите в коментариях.

PS: чтобы не было глюков, рекомендуется на схему вместо /IORQ подавать такой вот сигнал

это поможет блокировать порты при работе с дисководом и т.д. Вообще, такой сигнал должен быть в схеме где-то возле дешифратора порта #FE

Не забудьте сделать блокировку записи в нулевую страницу, а то половина программ будет вылетать

Плата

Помучившись немного с МГТФом и отладочными платами я всё-таки решил изготовить плату под это дело для втыкания в панель ПЗУ. Что в итоге получилось — смотрите сами.

Пока что заказал изготовление, буду ждать, посмотрим что получится, по результатам сообщу подробнее.

В данной плате используется альтернативная версия эмулятора с 5 и 6 битами данных замененными друг на друга (для корректного определения в тестах). Всё-таки рекомендую поменять их обратно, т.к. прошивка с заменой бит работает медленнее, а детектирование чипа и режим чтения работают отлично с последними прошивками AY эмулятора. Можно порезать дорожки и переподключить, а можно переразвести плату, это не сложно, удалить связи и переразвести автотрейсером. Будет время, переделаю.

Кому интересно, выкладываю файлы данной платы

Комплект файлов для изготовления на сайте iteadstudio.com

Комплект файлов

Схема для DipTrace PCB Layout 256K_PCB

Плата с монтажной областью

Возможно кто-то захочет что-то подправить в схеме под свои нужды, чтобы не городить огород, добавил небольшое монтажное поле, но тем не менее, всё вписывается в размеры 10х5 сантиметров

Комплект файлов

Подтверждение того, что это работает 🙂

Продолжение

Наконец-то я получил платы, спаял, подключил и на удивление, всё с первого раза заработало!!!

Во-общем, схема и плата полностью работоспособны, можно повторять. Еще напомню, не забудьте заблокировать запись в нулевую страницу либо задействуйте нулевой бит порта #1FFD.

Как обещал, выкладываю картинку уже вставленной в ZX платы 🙂

pcb_in_zx

ROM прошивка ПЗУ

пока что сделал прошивку для 64К (ROM3 не используется, на A16 микросхемы ПЗУ подан 0)

ROM.ZIP

В прошивке расположены (две прошивки)

0) Basic128 в котором первый пункт выбирает Quick Commander 3.05 /3.11 (вторая прошивка)

1) Basic48 (версия 2006 года)

2) Quick Commander 3.05 /3.11 (вторая прошивка)

3) TR-DOS 6.04

Quick Commander выбирается записью единицы в первый бит порта #1FFD из пропатченной ROM Basic128

Теоретически можно использовать 128 К ROM  (дополнительные 64К) выбирая 6-ой бит порта #1FFD, но у меня пока что нет времени с этим возиться 🙂 Если будет время сделаю какую-нибудь менюшку для выбора 4,5,6,7 страниц ПЗУ или может еще кто возьмется за это дело.

Сделал еще один ром, который использую сейчас

ROM2.ZIP

Зашил в W27C512-45 (45ns!!!), данная микросхема имеет 28 ног и может вставляться в стандартный разъем ПЗУ, правда нужно подвести к ней ROM1 и ROM2

Содержимое:

0) Basic128 в котором первый пункт выбирает Real Commander

1) Basic48 (версия 2006 года)

2) Real Commander 1.96 HDD

3) TR-DOS 6.04 (хоть я и расширил память до 1024К, но с 1024К TR-DOS 6.11Q глючат некоторые программы, а RC таки дает использовать рам диск размером с дискету)

До 1024К в Кворум БК-04 расширял по схеме отсюда

PS: Внимание! По результатам использования данной схемы обнаружились глюки с некоторыми микросхемами FLASH используемыми для ROM, компьютер зависает и т.д., например, у меня стояла P28F001 90-го года, с ней всё глючило, подбирал разные микросхемы для данной схемы, с некоторыми глючило меньше, но всё-равно висло иногда, после замены на AT29F010A все глюки пропали, так что микросхемы можно ставить любые, хоть HC, хоть LS.

Логотип

Кворум — серия отечественных клонов ZX Spectrum.

Содержание

  • 1 Модели
    • 1.1 Кворум
    • 1.2 Кворум 64
    • 1.3 Кворум 128
    • 1.4 Кворум 128+
    • 1.5 Кворум БК04
  • 2 Эмуляция
  • 3 Ссылки

Модели

Кворум

Клон ZX Spectrum 48K.

Кворум 64

Имел 64 КБ ОЗУ, дополнительные 16 КБ являлись теневыми.

Является модификацией компьютера Magic-05. Был доработан дешифратор портов клавиатуры. Адрес порта расширенной клавиатуры отличается (#xx7E вместо #xxFC).

Кворум 128

Компьютер «Кворум 128»

Клон ZX Spectrum 128K на основе БМК КБ01ВГ1-2. Имел встроенный тест, монитор, копировщик. Имелась возможность работы с CP/M и TR-DOS. 88-клавишная герконовая клавиатура. На задней стенке корпуса компьютера располагались разъёмы для подключения внешнего блока питания, Kempston и Sinclair джойстиков, принтера, магнитофона, телевизора и монитора, а также разъём системной шины для подключения внешнего контроллера дисковода.

В комплект входили внешний блок питания, комплект шнуров и руководство по эксплуатации.

Присутствовала возможность включения нулевой страницы ОЗУ в нижние 16 КБ адресного пространства. Отсутствовал музыкальный синтезатор AY-3-8910.

Кворум 128+

Версия «Кворум 128» со встроенным трёхдюймовым дисководом и его контроллером, а также с музыкальным синтезатором AY-3-8910. Присутствовали дополнительные видеорежимы.

Кворум БК04

Кворум БК04

Выпускался УОМЗ. Клон обычного ZX Spectrum 48K. Имеет кодер SECAM с ВЧ-модулятором. ТУ3-2547-92. Экземпляр 213 выпущен в марте 1992 года.

Эмуляция

Аркадий Кунаев разработал эмулятор компьютера на основе UnrealSpeccy v0.20.
Поддержка «Кворум» добавлена в основную версию UnrealSpeccy 0.37.4 (начиная с alpha версии).

Ссылки

  • Информация о ZX-клоне «Кворум» — порты, софт, эмулятор

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Эвалар витамин д3 2000ме к2 инструкция по применению
  • Свечи с чистотелом в гинекологии инструкция по применению
  • Как играть столото через интернет подробная инструкция
  • Лего 10696 варианты сборки инструкция
  • Бордосская жидкость для чего применяется инструкция по применению