из почиталки в #18 следует, что все консольные чудеса должны быть 7 битными.
Значит для построения машинки достаточно 8080, 8257, 8275, W24512, 2к ПЗУ... ну и обвязка...
из почиталки в #18 следует, что все консольные чудеса должны быть 7 битными.
Значит для построения машинки достаточно 8080, 8257, 8275, W24512, 2к ПЗУ... ну и обвязка...
Последний раз редактировалось Atari; 26.03.2010 в 00:50.
.
вход в BIOS осуществляется посредством вектора
перехода, размещенного в определенной ячейке. Адрес первого
вектора (холодный старт системы) определяется как 16-битный адрес,
расположенный в ячейках ОЗУ 0001, 0002h минус 3 (байты 0h..2h ОЗУ
содержат команду JMP WBOOT).
Вектор переходов имеет следующий вид :
JMP BOOT ; холодный старт системы
отож, и я говорю: курить всем маны нужно
есть исходники биоса для cpm для корвета
ищите в теме по корвету тут на сайте
есть ссылка на рапиду с архивом софта - оно там есть
а вообще по адаптации,
исходники cp/m уже публик домаин
она вся и все доки отданы на растерзание
http://www.cpm.z80.de/source.html
там же есть и доки оригинальные
http://www.cpm.z80.de/drilib.html
Т.е. мы уцепились все же за слово "вектор"? А есть ещё (общепринятое) название - адрес (керналя). Т.к. BIOS у ЦПМ выглядит именно как набор точек входов (JMP) или по другому керналь. Векторами 16-и разрядные значения по адресам 0001 и 0006 тоже называют (Я написал что там лежит адрес, что тоже верно, в i8080 & Z80 адрес - 16-и битная величина и нигде не оговаривается что она 16 бит это само собой разумеющееся), но это не суть важно. Я ж сделал замечание, что ваше сообщение (#2) не то что бессмысленно, оно не информативное, неточное и в общем случае - неверное. ОЗУ не только в 0000-0100h содержится. А прочитав тот пост можно так подумать.
---------- Post added at 08:45 ---------- Previous post was at 08:43 ----------
Да и не вход в BIOS а вызов функции BIOS номер 1 - горячий старт, холодный старт -3 (как вы и написали чуть ниже). Но все же не вход в 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[свернуть]
Ну, говоря "у многих" я не и мел ввиду что у большинства. У большинства то как раз сделано "фиксированно" и без DPB, что не удобно. Но думаю достаточно существует таких решений. Вот и Кворум получается тоже. Я встречал упоминание о таких форматах и для каких-то импортных клонов CPM, но не помню каких.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
в аттаче исходники одной из версий cp/m биоса для корвета
там все красиво по файлам разбито
BIOS-1.2.zip
и еще доки по cp/m и корветовмскому биосу для нее в архиве
CPM-Docs.zip
такой финт (с описанием в нулевом секторе) усложняет немного
драйвер дисковода, но делает более универсальным систему ...
а вот кусок из доки по биосу корвета
Код:; Содержимое информационного сектора для 5.25" (или 3.5") ; двухстороннего диска, расформатированного на 80 дорожек ; при двойной плотности. ;E физические параметры дискаF 1: DW LoadAdress ; адрес, с которого начинается загрузка 3: DW RunAdress ; адрес,куда передается управление после ; загрузки 5: DW Count ; число загружаемых физических секторов 7: DB 0 ; если значение байта 1 -8" диск, если 0 ; - 5.25" 8: DB 1 ; способ записи: 0 - FM; 1 - MFM 9: DB 96(135) ; число дорожек на дюйм: 0 - 48 TpI ; 1 - 96 TpI, 2 - 135 TpI 10: DB 1 ; если значение байта 1 - фактора смещения ; нет. Если <> 1 - байты 33-128 ; информационного сектора содержат таблицу ; перевода секторов, причем значение байта ; равно размеру таблицы. 11: DB 3 ; размер физического сектора:0 - 128 байт, ; 1 - 256 байт, 2 - 512 байт и 3 - 1024 12: DB 1 ; информация о сторонах диска: 0 - ; односторонний диск, 1 - двухсторонний, ; причем сектора нумеруются от 1 до n ; с каждой стороны, четные логические ; дорожки с нулевой стороны, нечетные с ; первой. 13: DW 5 ; число физических секторов на дорожке 15: DW 80 ; число дорожек на диске (с одной стороны) ; Eлогические параметры дискаF 17: DW 40 ; число логических секторов на дорожке 19: DB 4 ; фактор сдвига блока распределения данных 20: DB 15 ; маска блока распределения данных 21: DB 0 ; маска размера 22: DW 394 ; объем памяти на диске в блоках минус 1 24: DW 127 ; число входов в директорию диска минус 1 26: DB 192 ; показывает, какие блоки зарезервированы 27: DB 0 ; под директорию 28: DW 32 ; размер вектора контроля директории 30: DW 2 ; число системных дорожек на диске 32: DB CheckSum ;контрольная сумма служебной информации
На "Орион-2010" заработал СР/М! http://zx.pk.ru/showpost.php?p=270138&postcount=36
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
ewgeny7, я рад что у вас заработало ужо почитамши.
Только "Орион" могу оживить исключительно в родном журнальном аппарате.
.
Подумалось: здорово было бы сделать такой девайс: на плате одна ПЛИС + одна набортная мсх ОЗУ (128/512к - для расширения ОЗУ выше штатных 128к) + слот для SD, все это на общей маленькой платке. Все это вставляется в панельку 8080 стандартного Ориона со 128к и эмулирует в себе все то, что ewgeny7 реализовал в Орионе-2010. Все что надо будет сделать на плате Ориона - порезать 2 провода и обрывки завести через свободные ноги панельки 8080 на плату адаптера (для 16-к диспетчера младших 128к ОЗУ, которые уже впаяны в журнальном Орионе-128).
Кучу Орионов можно было бы реанимировать, заодно переведя на Z80(T80).
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Большинство отечественных компутеров поддерживают текстовый (или псевдотекстовый) режимы 64х25 символов.
Как CP/M отнесется например к 48х16 ?
.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)