Cp/M-80 На Клонах Спектрума Кворум

У меня на окне в качестве сувенира стоит большая стопка пятидюймовых дискет от компьютера, который мне подарили родители, когда мне было три года, и с которого я смог переключиться на ПК только в 14. Это это Кворум-128, наш уральский клон Спектрума.

Клон достаточно интересный и существенно отличается от, например, уральской «Магики».

С магнитофоном он работал как и любой другой Спектрум, но при подключении контроллера накопителя Quorum достать его оказалось не так-то просто! — он умел работать в ОС CP/M-80. Именно об этой ОС и ее реализации на Quorum я хочу сегодня поговорить.



CP/M-80 на клонах Спектрума



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

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

Спектр-48 собран на процессоре Z-80 с 8-битными регистрами и 16-битной адресацией.

Спектрум имел 16 КБ ПЗУ, занятого интерпретатором диалекта БЕЙСИК, который также служил операционной системой для машины; и 48 КБ ОЗУ, из которых 6,75 КБ занимала видеопамять с весьма специфической адресацией, в конструкцию которой мы сейчас вдаваться не будем.

Общая карта памяти выглядела примерно так:

CP/M-80 на клонах Спектрума

Конечно, программы на Бейсике на процессоре с частотой 3,5 МГц были невероятно медленными, и все нормальные чуваки тогда писали на ассемблере, а программам на Бейсике обычно отводилась роль загрузчика, который загружает ассемблерные модули с кассеты по заданным адресам.

и передает им управление.

(У настоящих пацанов тоже были хитрые ассемблерные загрузчики, но дело не в этом.

) Спектрум-128, как нетрудно догадаться, расширил общий объем оперативной памяти машины с 48 до 128 КБ (и добавил музыкальный сопроцессор AY-3-8910/12, который во второй половине 90-х годов уже испытывал острый дефицит , а у меня в Кворуме он пропавшего так и не появился).

Но поскольку 16-битная адресная шина размером 128 КБ уже не помещалась, применялась особая, не особо удобная система: вся память делилась на 8 банков по 16 КБ, и любой из этих 8 банков, выводя в порт особое значение 0x7ФФД.

(Да, области памяти 0x4000-0x7FFF и 0x8000-0xBFFF тоже были обычными банками памяти - цифры сейчас не помню - а в 0xC000-0xFFFF они могли быть зеркальными.

) Кроме того, Спектрум-128 имел два банка ПЗУ - с классическим интерпретатором Бейсика, и с более продвинутым, в котором строковый редактор был заменен на примитивный полноэкранный, а также были разделены функции самого Бейсика и ОС - добавлена простая система меню, благодаря которым можно было бы включить загрузку с ленты, не выходя из БЕЙСИКА и не печатая там священную ЗАГРУЗКУ "" :) Наконец, для Спектрума существовало множество различных контроллеров накопителей, из которых самым популярным стал Beta Disk Interface (и единственный, используемый в российских клонах Спектрума).

Он добавил в Спектрум еще один банк ПЗУ, который включался аппаратно вместо обычного и перехватывал управление при переходе по адресам 0x3D00-0x3FFF, если не ошибаюсь.

ПЗУ контроллера содержало очень примитивную дисковую операционную систему TR-DOS, которая работала с дискетами объёмом 640 КБ и управлялась командами, аналогичными командам BASIC. Контроллер также имел специальную Волшебную Кнопку, при нажатии на диск записывался полный дамп памяти (48 КБ - TR-DOS не знал о Спектруме-128).

Это позволило вместо того, чтобы делать полноценную адаптацию спектрумовских программ и игр под дисковод, просто загрузить программу с ленты, нажать кнопку и сбросить ее на диск.

Затем вы можете загрузить его с дискеты.

Конечно, если бы в программе была, например, функция сохранения и записи, то с лентой продолжали бы работать, но в целом это было очень удобно.



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

CP/M-80 был разработан для Intel i8080 и совместимых машин Zilog Z-80 компанией Digital Research в 1970-х годах.

CP/M означает программу управления для микрокомпьютеров; Суффикс -80 официально появился в названии только тогда, когда CP/M-86 появился также для ПК и процессоров 8088/8086. До того, как ПК стали стремительно набирать популярность, нишу персональных, сравнительно маломощных компьютеров занимали машины с КП/М-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-80 на клонах Спектрума

Еще раз обратите внимание, что эта карта памяти будет работать на любой машине с 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 н .

Раз уж мы заговорили о командах, то их было не много: DIR, SAVE, ERA (удаление файлов), REN (переименование файлов), USER, возможно я забыл еще одну-две.

(SAVE выполнял довольно специфическую функцию — сохранение содержимого TPA на диск — если, например, вы запустили отладчик, загрузили в него программу, повозились с ней, вышли и хотели сохранить версию, еще оставшуюся в памяти.

) Популярным расширением для CP/M был альтернативный командный интерпретатор ZCPR3, гораздо более сложный.

Однако сам я этого не пробовал.

В целом CP/M очень напоминала раннюю версию DOS, и, в общем, неудивительно – DOS разрабатывалась как клон CP/M. Прикладного программного обеспечения для CP/M-80 было много - офисные программы, средства разработки, утилиты.

Но с появлением и быстрым развитием ПК все это быстро стало неактуальным - как и версия CP/M-86, которая не смогла сколько-нибудь существенно конкурировать с DOS. Исходные тексты различных версий CP/M и его системных утилит (на ассемблере) легко найти в Интернете.



Как скрестить CP/M и Spectrum

Единственное, что общего у CP/M и Spectrum, это то, что они работают на процессоре Z-80. Если мы сравним их карты памяти, мы не увидим практически ничего общего, а периферия, ожидаемая от CP/M и Spectrum-машины, существенно отличается.

Однако создателям Quorum удалось сделать машину, способную одновременно работать как с CP/M, так и с довольно обычным Спектрумом.

Что нужно было изменить?

CP/M-80 на клонах Спектрума

Прежде всего, в Кворуме нам мешает ПЗУ.

ПЗУ в CP/M нет (хотя БИОС вполне может находиться в ПЗУ, все равно БИОС находится не в самом начале, а в самом конце адресного пространства, и его объем существенно меньше 16 Кб) .

Поэтому в Quorum добавлен порт управления памятью 0x00, который позволяет переключать ПЗУ Spectrum-Quorum на дополнительные 16 КБ памяти по адресам 0x0000-0x3FFF. Поэтому, кстати, младшая модель Кворума называется не «Кворум-48», а «Кворум-64» — там действительно осталось дополнительно 16 КБ ОЗУ специально для режима CP/M. (На самом деле «Кворум-64» еще не самая младшая модель — до нее был либо «Кворум БК-02», либо «Кворум БК-04», который является простым клоном Спектрума и не может запускать CP/M.) Помимо ПЗУ нам мешает видеопамять, которая будет торчать прямо посередине драгоценного пространства TPA. Итак, вторая функция порта 0x00 — переключение адресов видеопамяти — с дефолтного 0x4000-0x5AFF на 0xC000-0xDAFF. Во втором режиме видеопамять будет зажата между BDOS и BIOS, но они, адаптированные под Quorum, об этом знают, а программам знать не обязательно.

Если говорить о видеопамяти, то на Спектруме только один видеорежим — 256х192 с 16 цветами.

(Точнее, 256х192 — это разрешение монохромного изображения, на которое затем накладываются цветовые атрибуты в разрешении всего 32х24 — таким образом, в каждой области 8х8 пикселей может быть не более 2 разных цветов.

Но это уже детали.

) Текст отображается шрифтом 8х8 пикселей, что дает 24 строки по 32 символа — что удобно вписывается в структуру видеопамяти, но для большинства практических целей откровенно недостаточно.

Большинство неадаптированных программ CP/M обычно ожидают не менее 80 символов в строке! Таким образом, для вывода текста в CP/M Quorum предусмотрено четыре режима — 42 символа в строке (шрифт 6x8), 51 символ в строке (шрифт 5x8), 64 символа в строке (шрифт 4x8) и 83 символа в строке (шрифт 3x8).

.

По умолчанию после загрузки используется 42 символа в строке:

CP/M-80 на клонах Спектрума

Выглядит, на мой взгляд, вполне прилично.

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

CP/M-80 на клонах Спектрума

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

Этот режим хорош для редактирования текста для последующей печати — текст, напечатанный на матричном принтере с 64 символами в строке, выглядит довольно неплохо.

С помощью команд TTY51.COM и TTY80.COM вы можете переключиться на шрифты 5x8 и 3x8. 3х8 это, конечно, ад — посмотрите на скриншот с 4х8 и представьте, что все эти крохотные буквы тоже склеены в одну строку и между ними нет промежутков.

Этот режим иногда приходилось использовать для запуска программ, не адаптированных для Quorum (участники Quorum продали несколько дискет с утилитами и инструментами разработки для CP/M, просто скачанными из Интернета и записанными как есть).

Ну и немного о дисковой части.

Дисковод Quorum, немного меньший по размеру, чем нынешний системный блок Micro-ATX, был изготовлен из прочной стали, окрашен в серый цвет и имел два пятидюймовых отсека.

В комплекте с ним шла системная дискета с базовым набором утилит и несколькими играми - собственно, образ более новой версии этой дискеты - единственный, который я нашел для эмулятора.

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

Мне попался аппарат в вертикальном исполнении с черным пятидюймовым дисководом «Электроника МС-6313» или что-то в этом роде.

Привод был очень плохого качества, дискеты легко терялись.

В компании Кворум мне обменяли его на более адекватный пятидюймовый Панасоник, потом установили второй Митсуми, а потом поменяли второй на трехдюймовый Самсунг.

Однако все равно они все жрали дискеты только в пути, и CP/M в один прекрасный день начал выдавать жуткие сообщения «BDOS ERR ON A: BAD SECTOR».

К сожалению, то ли привод, то ли сам Кворум я уже давно потерял, поэтому пишу по памяти и делаю скриншоты из эмулятора :) Внутри, помимо отсеков для накопителей, находилась плата контроллера с традиционной для спектрумовских клонов микросхемой КР1818ВГ93 и блок питания.

Слабым местом приводного блока был интерфейс с компьютером — от блока тянулся короткий широкий кабель, на конце которого висела тяжелая металлическая коробка размером примерно 8х8х1 см с интерфейсной платой внутри, которую пришлось крепить на ребро.

разъем на задней панели компьютера; Кворум, как и большинство Спектрумов, был совмещен в одном корпусе с клавиатурой.

Надежность такого соединения была низкой.

Дисковод понимал дискеты — как пятидюймовые, так и трехдюймовые — исключительно формата Double Sided/Double Density, 800 КБ.

В DOS это были дискеты емкостью 720 КБ, но CP/M использовал свое собственное форматирование: 2 стороны, 80 дорожек, 5 секторов, размер сектора 1024 байта.

На загрузочных дискетах 20 КБ занимала ОС; его не было видно из файловой системы; он просто занял первые два трека.

Для работы с трехдюймовыми дискетами из магазина приходилось заклеивать отверстие на них (напротив того, где находится ползунок защиты от записи) непрозрачным скотчем.

Возможно, именно из-за такого форматирования доступ к диску в CP/M был затруднен.

очень сильно медленный.

Это (вместе с недостаточным разрешением экрана для работы в полнотекстовых режимах) было, на мой взгляд, главным недостатком системы.

Конечно, дискеты сами по себе штука не быстрая, но пару десятков килобайт в секунду они должны легко вытягивать; в CP/M на Quorum реальная скорость чтения не превышала 2-5 КБ/с.

Это не аппаратная проблема - даже в эмуляторе все работает так же медленно, а TR-DOS будет заметно быстрее.

Особенно грустно было копировать что-то между дискетами, когда дисковод был всего один.

Что касается программного обеспечения, CP/M Quorum фактически поддерживал только два диска.

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

BDOS в CP/M Quorum был немного обновлен, чтобы сделать пользовательские области несколько более практичными и похожими по внешнему виду и принципу работы на каталоги.

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



CP/M-80 на клонах Спектрума

В целом не могу сказать, что это очень удобно.

Суррогатная мать осталась суррогатной матерью.

Ну, я думаю, это лучше, чем ничего.

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

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

Компания «Кворум» располагалась на пятом и последнем этаже торгового комплекса «Универбыт», который еще не был гламурным торговым центром.

За тяжелой железной дверью все было завалено компьютерами, чертежами, деталями и разными странными агрегатами.

Просто прикосновение чуда.

Жаль, что таких мест сейчас нет, а если и будут, то они не будут так восприниматься.



Программное обеспечение для CP/M

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

CP/M-80 на клонах Спектрума

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

CP/M-80 на клонах Спектрума

NC.COM был, как можно догадаться по названию, вариацией на тему двухпанельного файлового менеджера.

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

ED.COM, несмотря на название, был больше похож на Unix vi, чем на ed (и, строго говоря, по инструкции это была версия некоего WordMaster).

Он, как и vi, имел два основных режима — ввод текста и командный.

Конечно, набор команд был гораздо скромнее, чем у vi, но зато из команд уже можно было создавать макросы и записывать их в файлы .

MED. Вот, например, одна из страниц справки:

CP/M-80 на клонах Спектрума

ED.COM подходил для набора программ (правда, при такой медленной дисковой подсистеме, как на Quorum, последовательность «запустил ED.COM — отредактировал — вышел — скомпилировал — слинковал — запустил, все заработало — переходим к шагу 1» требовало терпения ледника) и простые текстовые файлы.

В принципе, я писал в нем всякие форматированные рефераты (без картинок, конечно).

Делается это просто: берешь инструкцию от принтера - ох, вообще-то мой SM-6337. достойно отдельного поста!.

- откройте каталог управляющих кодов и вставьте их вручную в нужные места.

К счастью, матричные принтеры, даже CM-6337, обычно используют более-менее совместимые управляющие коды Epson. Другое программное обеспечение на системной дискете включает FORMAT.COM, SGEN.COM (который записывает ОС на системные дорожки и в то же время позволяет настраивать некоторые косметические параметры), SUBM.COM (который выполняет файлы .

SUB - что-то похожее).

на .

BAT, только без переменных и каких-либо элементов управления вроде if, циклов и т. д.) и POWER.COM, который позволяет поиграться с дисками на низком уровне.

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

  • текстовый процессор WordStar , когда-то чертовски популярная программа, почти убийственное приложение для CP/M. WordStar позволял форматировать текст более адекватно, чем вручную вводить управляющие коды принтера, но на текстовом экране ни о каком WYSIWIG, конечно, речи не шло, да и вообще WordStar вписывался в экран Quorum лишь так себе.

    Его большая панель режимов и подсказок вверху экрана сверху выглядит подозрительно похоже.

    на ленту Office 2007/2010 :)

  • СуперКальк , электронная таблица.

    Пользователи Linux могут установить пакет sc, который доступен или, по крайней мере, доступен в большинстве дистрибутивов, и получить достаточно близкое представление о SuperCalc. На самом деле это выглядело хорошо, но я не мог понять, зачем мне могут понадобиться электронные таблицы.

  • Microsoft БЕЙСИК-80 .

    Да-да, тот самый, благодаря которому Билл Гейтс пошел к успеху.

    Вполне адекватный диалект Бейсика, по функционалу — что-то между Spectrum BASIC и QBASIC, который мы брали в школе.

    BASIC-80 имел встроенный построчный редактор, что было не очень удобно, но гораздо лучше, чем цикл редактор-компилятор-запуск.

    Программа, отлаженная в интерпретаторе, могла быть скомпилирована компилятором BASCOM.COM, а затем скомпонована с рантаймом и, при желании, с ассемблерными процедурами.

  • Майкрософт М80. Более-менее стандартный ассемблер i8080/Z-80 для CP/M-80. Ассемблер — это всего лишь ассемблер, что от него можно взять? В комплект входит сам ассемблер M80.COM, компоновщик L80.COM и библиотекарь LIB80.COM. Нет IDE или редактора.

    На дискете также находились отладчик ZSID.COM и удивительно удобный дизассемблер DASM.COM.

  • Борланд Турбо Паскаль .

    Версия 3.02А.

    Без преувеличения лучший инструмент разработки для CP/M. Там была IDE с экранным редактором — простая, но вполне адекватная и на голову выше всего остального, что там было.

    Скорость компиляции также была впечатляющей.

    Я в юности много практиковался на этом Паскале, даже фрактал Мандельброта рисовал с очень смешной скоростью.

    Недостатки — здоровая среда выполнения в 10 КБ и небольшой объем памяти, остающейся для исходного текста и исполняемого кода программы при загрузке IDE.

  • БДС С .

    Мне это почти незнакомо.

    Похоже на обычный старый C, без IDE и с не совсем стандартной стандартной библиотекой.

  • Архиваторы .

    Этот материал был только на дисках с неадаптированным ПО.

    Архиваторы были интересные — работали как Unix: отдельное сжатие и отдельная упаковка в один файл.

    Только в CP/M все наоборот. Сначала были запакованы отдельные файлы, в ходе которых была изменена средняя буква в их расширении (архиватор SQUEEZE.COM изменил ее на Q, более быстрое и гораздо лучшее сжатие CRUNCH.COM - на Z, а самый крутой CRLZH.COM, на который только и хватило память на Quorum для распаковки — в Y), а затем сжатые файлы объединялись в архив .

    LBR с помощью утилиты LU.COM или NULU.COM. Были декомпрессоры для ARC, ARJ и ZIP. Теоретически должен был быть как минимум ARC-архиватор, но я такого ни разу не видел.



Совместимость с играми Spectrum.

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

Хотя TR-DOS, встроенный в Quorum-128, на самом деле несколько кривоват, и многие программы, требующие низкоуровневого доступа к диску, отказываются работать.

Это грустно.



CP/M-80 на клонах Спектрума

GAMMA.COM — гораздо более интересное изобретение.

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

CP/M-80 на клонах Спектрума

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

После запуска Гамма-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 возможен благодаря проверке, предусмотренной в ПЗУ Spectrum Quorum - он переключается на нулевую страницу ОЗУ, если она содержит инструкцию процессора JMP по адресу 0x0066 - то есть, по сути, ПЗУ проверяет, есть ли обработчик подпрограмма для NMI в ОЗУ.

Игры в формате .

SPC можно запускать из командной строки, как и обычные команды .

COM, но обычно используется оболочка типа RUN.COM:

CP/M-80 на клонах Спектрума

И вперед! :)

CP/M-80 на клонах Спектрума

Стоит отметить, что на моей памяти Gamma-DOS работала не очень стабильно и часто при попытке сохранения игры выдавала «BDOS ERR ON A: BAD SECTOR» на, казалось бы, вполне нормальных дискетах.

Поэтому я чаще пользовался не Гаммой-DOS, а ЭКРАНОМ - оболочкой с псевдографическим интерфейсом (и ограниченными средствами редактирования изображений - отсюда и название), которая работает гораздо быстрее и стабильнее, чем Гамма-DOS, и удобнее в использовании.

использовать.

У SCREEN даже был свой API — для него был отдельный формат исполняемого файла .

EXE — но я нигде не смог найти ни его описания, ни описания того, как работает SCREEN. Я подозреваю, что где-то в глубине все еще существовал Гамма-ДОС.

Самым большим недостатком как «Гаммы-ДОС», так и «ЭКРАНа» было то, что они поддерживали программы только для «Спектр-48».

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



Настоящее

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

Сейчас, насколько мне известно, никакой «Кворум Лтд.» не существует. существует уже давно.

Эмулятор UnrealSpeccy, адаптированный для Quorum, можно скачать здесь: 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 (не образ, отдельные файлы), включая ассемблер М80 и инструкцию программатора CP/M-80 на русском языке.

Спасибо человеку, который все это разместил; Насколько мне известно, других образов дискет Quorum в Интернете нет. Удачных экспериментов :) Теги: #Старое оборудование #CP/M #quorum #spectrum

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.