ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
ПЗУ может располагаться и с 0000 (при включении питания, иначе ведь никак) главное его потом отключить. А вообще CP/M не нуждается в ПЗУ, все может размещаться в ОЗУ. Для запуска версии 2.2 нужно написать свой BIOS который будет выполнять требуемые функции. Адрес начала BIOS выбирается программистом. Т.е. как напишете так и будет. В разных машинах по разному. Модуль BDOS компилируется уже с учетом созданного модуля BIOS потом делается загрузчик. Скажу сразу что это очень специфичная задача и нужен опыт для того чтобы все это провернуть. С одной стороны очень легко, с другой - трудно. Документация которая есть в инете местами неточная и неполная. Много людей (особенно тут на форуме) вообще много чего не знают и пишут ерунду. Наиболее правильные описания можно взять на сайтах с оригинальными книгами по CP/M но читать их надо будет на английском. Были брошюрки для Профи и АТМ, в них есть инфа.
---------- Post added at 15:08 ---------- Previous post was at 15:02 ----------
Вот пример полной чуши. И с диапазоном адресов и с назначением. С 0 по 100h находится так называемая "системная" страница ОЗУ, в которой размещаются некоторые сегменты кода и данных необходимых для работы системы. С адреса 100h начинается область транзитных программ (TPA) в которую и грузятся исполняемые файлы.
С адреса 0 код команды перехода на горячий старт системы
С адреса 5 код команды для вызова деспетчера функций BDOS
по адресу 1 содержится адрес с корторого начинается керналь BIOS 2.2
по адресу 6 содержится адрес с которого расположен модуль BDOS (но как правило модуль BDOS+6,
С адреса 80h (и размером 80h) расположен буфер обмена с диском по умолчанию
с адреса 5Ch & 7Ch после запуска программы сидят FCB сформированные из 1-го и 2-го параметра соотвественно, а с адреса 80h остаток командной строки
........................
И т.д. и т.п. прежде чем давать советы потрудитесь почитать документацию. А то что там какие то "векторы" никому ничего не говорит.
---------- Post added at 15:15 ---------- Previous post was at 15:08 ----------
ОЗУ в ЦПМ компе как правило занимает все 64К адресов. В верхней части сидит система (или модуль который осуществляет вызов реального BDOS с передачей ему параметров и обратно).
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Что такое PSP у MS-DOS и что такое FCB в нем я еще помню... хотя Джордейна уже отнес в ближайшию библиотеку...
---------------
есть конкретный вопрос: в CP/M для ЮТ-88 зачем-то используется "дискета" в 26 секторов, 77 дорог, по 128 байтов на сектор...
Это что за фича? стандарт 8" ?
.
В CP/M-80 не совсем PSP, т.е. не в том виде в каком оно появилось в ms-dos и не совсем то там лежит.
Это скорее всего формат дискеты от некоторого реального компа. Объяснять долго очень, вкратце скажу, что дисководы были не всегда 80 дорожек и секторы у первых дисководов были и по 128 байт тоже. Когда создавался CP/M именно такие дискет ы и были в ходу. Файл состоял из секторов, которые позднее стали называть "записи" по 128 байт. Т.е. секторы 128 байт стали эмулировать, реально размер сектора в ЦПМ был 512-1024 байт. На Роботроне 1715, Профи и Корвете используется следующий формат диска:
1)Физический: 80 дорожек, 2 стороны, 5 секторов на дорожку (1024 байт сектор)
2)Логический формат. Размер блока 2Кб (16 записей по 128 байт), размер директории 2 блока (128 описателей файлов). Кроме того, у Профи начиная с CBIOS4.xx исчезли системные дорожки.
Т.е. те кто переносил ЦПМ на ЮТ-88 или не смогли реализовать BIOS как надо и использовали уже готовый чуть чуть его видоизменяя или старались сделать совместимым дисковый формат с некой ЦПМ машинкой. (Сейчас я не припомню в каком именно ыбл такой формат)
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Кстати, очень спорное решение. Ведь у многих CP/M форматов на системных дорожках хранился DPB, что позволяло настраиваться на любой "нестандартный" формат дискеты автоматически - просто поменяв дискету и нажав ^C.
Помню, как для того, чтобы прочитать диски Профи или Роботрона на системную дорожку записывал DPB, а позже даже драйвер делал, который перехватывал обращение в track0:sector1 и "подменял" в этом секторе область DPB на корректную. Но корректную приходилось вычислять самому, что не есть хорошо.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Не то слово. Хоть стандарта и не было, но как у +3 первый сектор можно считать как бы бутсектором с параметрами диска. Но, было сделано как сделано. ни ещё номер сектора 5 на 0-й дорожке 0-го цилиндра заменили на 9, что бы сделать автостарт из TR-DOS (зачем я не понимаю, загрузчик из ПЗУ предпочтительнее имхо).
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
К примеру на Корвете (не знаю откуда было заимствовано там, но наверняка передрали) и его CPM-последователях (Орион, Специалист) в первом секторе дискеты со смещением +10h расположен DPB-DiskParametersBlock, в котором закодирована емкость дискеты, размер каталога, количество системных дорожек, размер логического блока и т.д. Во вложении документ которым я обычно пользуюсь в качестве подсказки по CPM и DPB в частности.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
А бинарники от корвета есть?
PS. И может чего еще?
.
От Корвета у меня ничего нет.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)