У меня на окне в качестве сувенира стоит большая стопка пятидюймовых дискет от компьютера, который мне подарили родители, когда мне было три года, и с которого я смог переключиться на ПК только в 14. Это это Кворум-128, наш уральский клон Спектрума.
Клон достаточно интересный и существенно отличается от, например, уральской «Магики».
С магнитофоном он работал как и любой другой Спектрум, но при подключении контроллера накопителя Quorum достать его оказалось не так-то просто! — он умел работать в ОС CP/M-80. Именно об этой ОС и ее реализации на Quorum я хочу сегодня поговорить.
Немного теории: Спектр без 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 КБ, и любой из этих 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. Поэтому здесь много неопределенностей.
Видеопамяти, например, нет (и не факт, что она будет присутствовать в реальности - возможно, машина даже подключена к телетайпу), а единственные адреса, содержимое которых гарантировано, - это 0x0000-0x0100. Для реализации системного вызова нужно поместить его номер в регистр C, если не ошибаюсь, а затем выполнить инструкцию CALL 0x0005; Инструкция JMP по адресу 0x0005 уже осуществит переход туда, где она должна быть в BDOS. Также в этой сфере есть:
- Точка входа в BIOS (адрес 0x0000).
Эта функция перезагружает машину, но с помощью простой арифметики можно получить адрес любой другой функции BIOS;
- текущий номер диска (A:=0, B:=1.);
- направление текущих потоков ввода-вывода (например, консоль может быть направлена на печатающее устройство или на последовательный порт);
- имена файлов (не более 2), передаваемых загружаемой программе в качестве параметров командной строки в структурах данных FCB, пригодных в качестве аргументов для вызова BDOS-функций;
- полная командная строка текущей программы (адреса 0x0080-0x00FF – не более 127 символов).
Файловая система 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 нет (хотя БИОС вполне может находиться в ПЗУ, все равно БИОС находится не в самом начале, а в самом конце адресного пространства, и его объем существенно меньше 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 символа в строке:
Выглядит, на мой взгляд, вполне прилично.
Шрифт 4х8 хранится в памяти одновременно со шрифтом 6х8, и, например, в показанном просмотрщике текстовых файлов на него можно переключиться одной кнопкой F5:
Это очень неудобно, но можно приспособиться - если бы к компьютеру был подключен хороший телевизор (Кворум, как и все Спектрумы, обычно работал с телевизором вместо монитора).
Этот режим хорош для редактирования текста для последующей печати — текст, напечатанный на матричном принтере с 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 Quorum и Spectrum. Это очень важный аспект — ведь где бы сейчас была бы, например, Microsoft без ее священной обратной совместимости? :) Для этой, казалось бы, неразрешимой проблемы также было найдено несколько решений, о которых мы поговорим ниже.
Люди из Кворума - насколько я понимаю, на самом деле это один человек по фамилии Каримов - проделали большую работу, написав с нуля множество утилит для Quorum CP/M (например, NC.COM, простая двухпанельная программа файловый менеджер) и адаптацию еще большего количества стороннего программного обеспечения, начиная с самого CP/M и заканчивая Turbo Pascal. Я хорошо помню, как в детстве ходил к ним прожигать дискеты и задавать накопившиеся вопросы.
Компания «Кворум» располагалась на пятом и последнем этаже торгового комплекса «Универбыт», который еще не был гламурным торговым центром.
За тяжелой железной дверью все было завалено компьютерами, чертежами, деталями и разными странными агрегатами.
Просто прикосновение чуда.
Жаль, что таких мест сейчас нет, а если и будут, то они не будут так восприниматься.
Программное обеспечение для CP/M
Почти каждая дискета кворума, прежде всего, имела классическую их пару — оболочку NC.COM:И текстовый редактор ED.COM:
NC.COM был, как можно догадаться по названию, вариацией на тему двухпанельного файлового менеджера.
Среди его полезных функций — работа с пользовательскими областями как подкаталогами, копирование файлов («голый» CP/M этого сделать не мог, хотя у него для этого была какая-то простенькая внешняя утилита), просмотр текстовых файлов в кодировках КОИ-8, КОИ — 7, «ГОСТ-основная» и Досовская CP866 (кстати, в качестве основной кодировки для CP/M Quorum выбрана КОИ-8 — видимо потому, что при отрезании 7-го бита, что может случиться в старых неадаптированных программах, он становится более-менее в транслитерации), и копирование файлов на DOS-дискеты и обратно - последнее, что, кроме NC.COM, по-моему, никто другой сделать не смог.
ED.COM, несмотря на название, был больше похож на Unix vi, чем на ed (и, строго говоря, по инструкции это была версия некоего WordMaster).
Он, как и vi, имел два основных режима — ввод текста и командный.
Конечно, набор команд был гораздо скромнее, чем у vi, но зато из команд уже можно было создавать макросы и записывать их в файлы .
MED. Вот, например, одна из страниц справки:
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, на самом деле несколько кривоват, и многие программы, требующие низкоуровневого доступа к диску, отказываются работать.
Это грустно.
GAMMA.COM — гораздо более интересное изобретение.
По сути, это специальная версия CP/M Quorum для запуска спектрумовских игр, называемая Gamma-DOS.
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:
И вперед! :)
Стоит отметить, что на моей памяти 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
-
Сумма Прописью В Таблицах Google
19 Oct, 24 -
Google Построит Дата-Центр В Финляндии
19 Oct, 24 -
Визуальная Хронология Создания Твиттера
19 Oct, 24