из почиталки в #18 следует, что все консольные чудеса должны быть 7 битными.
Значит для построения машинки достаточно 8080, 8257, 8275, W24512, 2к ПЗУ... ну и обвязка...
Вид для печати
из почиталки в #18 следует, что все консольные чудеса должны быть 7 битными.
Значит для построения машинки достаточно 8080, 8257, 8275, W24512, 2к ПЗУ... ну и обвязка...
вход в 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, единой точки входа нет.
Ну, говоря "у многих" я не и мел ввиду что у большинства. У большинства то как раз сделано "фиксированно" и без DPB, что не удобно. Но думаю достаточно существует таких решений. Вот и Кворум получается тоже. Я встречал упоминание о таких форматах и для каких-то импортных клонов CPM, но не помню каких.
в аттаче исходники одной из версий cp/m биоса для корвета
там все красиво по файлам разбито :)
Вложение 16818
и еще доки по cp/m и корветовмскому биосу для нее в архиве
Вложение 16819
такой финт (с описанием в нулевом секторе) усложняет немного
драйвер дисковода, но делает более универсальным систему ...
а вот кусок из доки по биосу корвета
Код:; Содержимое информационного сектора для 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
ewgeny7, я рад что у вас заработало :v2_thumb: ужо почитамши.
Только "Орион" могу оживить исключительно в родном журнальном аппарате.
Подумалось: здорово было бы сделать такой девайс: на плате одна ПЛИС + одна набортная мсх ОЗУ (128/512к - для расширения ОЗУ выше штатных 128к) + слот для SD, все это на общей маленькой платке. Все это вставляется в панельку 8080 стандартного Ориона со 128к и эмулирует в себе все то, что ewgeny7 реализовал в Орионе-2010. Все что надо будет сделать на плате Ориона - порезать 2 провода и обрывки завести через свободные ноги панельки 8080 на плату адаптера (для 16-к диспетчера младших 128к ОЗУ, которые уже впаяны в журнальном Орионе-128).
Кучу Орионов можно было бы реанимировать, заодно переведя на Z80(T80).
Большинство отечественных компутеров поддерживают текстовый (или псевдотекстовый) режимы 64х25 символов.
Как CP/M отнесется например к 48х16 ?