PDA

Просмотр полной версии : Aeon: Платформа для CP/M



ILoveSpeccy
21.04.2010, 11:19
Добрый день,

на днях приберал свой HDD и наткнулся на давно скачаный архив с кучей софта для CP/M.
Тут же возник вопрос: "а как это всё использовать???"

Какой "компьютер" сэмулировать на FPGA для использования стандартного CP/M софта? Или лучше чего-то самому придумать? Я гдето читал что для CP/M есть какаято специальная стандартная конфигурация памяти/экрана/портов и т.д. Может кто подскажет в какую сторону копать???

С уважением

Sayman
21.04.2010, 11:52
профик 5.03 с палитрой!

b2m
21.04.2010, 13:35
Я гдето читал что для CP/M есть какаято специальная стандартная конфигурация памяти/экрана/портов и т.д.
В CP/M есть как минимум две части: BDOS и BIOS. Первая аппаратно независима и работает через BIOS, который в свою очередь имеет определённый стандартный набор подпрограмм (расширяемый от версии к версии) и естесственно аппаратно-зависим. Почти все программы CP/M работают через BDOS, реже, обращаясь непосредственно к BIOS, но никогда - к аппаратным ресурсам.

Таким образом вопрос лишь в том, какой BIOS имеется на загрузочном диске, и под какую конфигурация памяти/экрана/портов он написан. Как правило, адаптация CP/M сводилась лишь к написанию этого самого BIOS-а.

ILoveSpeccy
21.04.2010, 17:57
В таком случае хотелось бы сделать FPGA-реализацию какого либо компьютера с наибольшей совместимостью с CP/M софтом. Вроде Орион-128 тоже с CP/M работал. Как у него с неродным CP/M софтом???

---------- Post added at 17:57 ---------- Previous post was at 17:54 ----------

p.S. получается что например на Корвете должен без проблем работать (почти?) весь CP/M софт???

KALDYH
21.04.2010, 18:16
p.S. получается что например на Корвете должен без проблем работать (почти?) весь CP/M софт???
Насколько я знаю, при разработке Корвета было уделено большое внимание совместимости, и реализацию CP/M на нем потом нередко брали как эталонную.

Atari
21.04.2010, 21:25
Поднимал уже эту тему http://zx.pk.ru/showthread.php?t=12367

Пока вопросов больше чем ответов.

Vadim
22.04.2010, 06:05
Пока вопросов больше чем ответов.

А что непонятно то? У меня вопросов нет, всё ясно. Если вам что-то непонятно спрашивайте, отвечу. Просто мне не очень понятно зачем делать очередную 8-и битную машину для запуска ЦПМ софта. Можете взять тот же АТМ с текстовым экраном и контроллер клавы от ПЦ (с возможностью читать все скан коды) и всё. Нет, конечно можно сделать новый комп, но зачем? Реально для цели запуска ЦПМ пойдет конфигурайия на типа Robotron-1715 (M). Т.е. Мы имеем отключаемое ПЗУ (или неотключаемое, но в верхних адресах), текстовый экран 80x24, клавиатуру, дисковый контроллер с дисководом, 64К ОЗУ возможно больше с MMU и страничным доступом. Только вот я не пойму зачем? Есть _Куча_ компов уже готовых куда можно сделать порт ЦПМ (хотя там и так уже всё портировано). Если не нравится как сделано - делайте по-своему. Какие компы? Пожалуйста:
1) Орион128
2) Вектор-06С
3) Специалист
4) Микро-80
5) Корвет
6) ATM-2+
7) Профи
8) ZX-Spectrum 128 +3
9) MSX-2 и выше
10) Башкирия-2М
11) ПК8000
.............
Вот ссылка на педивикию
http://en.wikipedia.org/wiki/List_of_machines_running_CP/M


p.S. получается что например на Корвете должен без проблем работать (почти?) весь CP/M софт???

Проблемы у него с экраном. 64x16 и с процессором, часть софта написана только для Z80. А весь ЦПМ софт будет без проблем работать на АТМ-2, Профи и подобных.

Тут ещё что хочу сказать. Фраза "софт написанный под CP/M" не совсем корректна. Софт пишется для компьютера, под управлением ОС CP/M. Если программа не обращается к аппаратуре напрямую, не изменяет режим прерываний, не обращается к портам ввода/вывода и т.д., а работает только используя вызовы BDOS/BIOS, предполагает что для вывода мы используем определенный терминал или имеет программу настройщик под другой терминал, то такая программа пойдет на любом компьютере где корректно установлена ОС CP/M. Как правило необходим вывод на текстовый экран 80x24 (80x25), чтение клавиатуры в виде ASCII кодов и наличие дискового устройства (хотя бы электронного диска).

Создание нового компьютера это ведь вопрос концептуальный... Можно конечно на DE1 сделать некий комп, адаптировать на него ЦПМ, но вопрос - нужно ли оно?

KALDYH
22.04.2010, 06:10
Проблемы у него с экраном. 64x16
Вообще-то, 80х25 (второй видеорежим 80х16) *зачеркнуто* Хм, и правда 64х16 и второй видеорежим 64х32. Никогда не замечал, хотя у самого Корвет...

Vadim
22.04.2010, 08:42
и правда 64х16 и второй видеорежим 64х32. Никогда не замечал, хотя у самого Корвет...

Я или забыл или не знал что есть такой (32 строки), но 64 всё ж мало. Есть программы в которых без 80 символов в строке работать нельзя. Некоторые есть переделанные на 64 символа (патчами просто).

b2m
22.04.2010, 08:56
и правда 64х16 и второй видеорежим 64х32. Никогда не замечал, хотя у самого Корвет...
Странно, у меня в эмуляторе Корвета реализованы лишь 64х16 и 32х16, и никто не говорит, что это неправильно :)

ILoveSpeccy
22.04.2010, 09:16
Спасибо за ответы. Всё прояснилось вроде. Наверное так и сделаю... ATM или ПРОФИ делать буду. Кстати, у корвета действительно только 2 режима вывода текста: 64x16 и 32x16. На работе, когда есть время, я пишу свой эмулятор корвета. Уже много чего работает. Вчера прикрутил полноэкранный режим через OpenGL. Сейчас дописываю таймер. Если интересно, могу выложить "альфа" версию :)

---------- Post added at 09:16 ---------- Previous post was at 09:14 ----------

p.S. вчера пробовал запускать в своём эмуле CP/M софт всякий, не корветовский. Вроде от комодора 128, амстрада и ещё чегото. Из 10 программ только 1 запускается. Многие ругаются на отсутствие Z80, остальные просто виснут

Vadim
22.04.2010, 09:29
Вроде от комодора 128, амстрада и ещё чегото. Из 10 программ только 1 запускается.

Я кроме как нескольких утилиток для доступа к аппаратным часам, форматтеры и подобное ничего не видел. Нормальных, удобных и нужных программ нет. Не знаю почему. Или пользователи на этих системах были тупые или им нафиг ничего не надо было, но софта они горы не насоздавали. А могли бы, под свои аппаратные платформы используя для доступа к файлам - CP/M.

KALDYH
22.04.2010, 12:44
Да, наврал, невнимательно читая описание.

Это сигнал режима отображения.
MODSEL = "0" - режим 64 символа в строке, MODSEL = "1" - режим
32 символа в строке.
А смутили меня вот что: на системном диске к Корвету есть три утилиты: 16.COM, 25.COM и 32.COM, которые переключают разрешение экрана. Программный знакогенератор?

b2m
22.04.2010, 14:35
А смутили меня вот что: на системном диске к Корвету есть три утилиты: 16.COM, 25.COM и 32.COM, которые переключают разрешение экрана. Программный знакогенератор?
25.COM и 32.COM действительно содержат знакогенератор символов, размером 6х10 и 6х8 точек, что обеспечивает текстовый экран 85х25 и 85х32 символов. Но используется графика 512х256 точек, а не аппаратный текстовый экран. Соответственно медленный вывод и ещё более медленный скроллинг экрана.

AlecV
22.04.2010, 22:00
А чем не нравится Вектор-06ЦЦ ?

http://code.google.com/p/vector06cc/

CP/M и MICRODOS на нем работают. Также он может читать образы дискет от Robotron1715.

Для быстрого запуска CP/M в домашних условиях рекомендую SIMH в режиме Altair 8080/Z80:

http://simh.trailing-edge.com/

Под него есть куча софта уже в образах:

http://www.schorn.ch/cpm/intro.php

andrews
29.04.2010, 12:08
Добавьте в список компов "терминальные" компы, работавшие с CP/M-80 такие как Intellec MDS series II (российские аналоги КРАМ, СМ-1800), у них BIOS специфический, расчитанный на подключение по COM-порту терминала VT100
http://ru.wikipedia.org/wiki/VT100
http://oldcomputermuseum.com/mds_800.html
http://www.terminal-fx.com/index.php?option=com_content&view=category&id=22&Itemid=9
http://www.retrotechnology.com/dri/isis.html

Vadim
30.04.2010, 04:59
Да да. Я знаю что на этих машинах работал CP/M, но они не были домашними и простыми для сборки. Я привел лишь список отечественных ПЭВМ, которые можео собрать самому и на которых пойдет CP/M.

andrews
30.04.2010, 15:12
Собрать-то их теперь проще простого, у них ведь нет даже видеопамяти. Если выбросить программатор и эмулятор ICE-80, то остаются только микросхемы 80-го комплекта: 8284, 8080, 8255, 2 шт.- 8259, 8253, 8251, 64к ОЗУ, 4К-затеняемого ПЗУ. И всё! Работающий симулятор для них есть.

sergey2b
30.04.2010, 15:42
А чем не нравится Вектор-06ЦЦ ?
http://code.google.com/p/vector06cc/

Пожалуйста покажите где можно загрузить CP/M для Вектора.

bigral
30.04.2010, 17:10
А чем не нравится Вектор-06ЦЦ ?
http://code.google.com/p/vector06cc/

Пожалуйста покажите где можно загрузить CP/M для Вектора.

А какой софт у тебя не пошел под МикроДОС-ом?

AlecV
30.04.2010, 20:10
Пожалуйста покажите где можно загрузить CP/M для Вектора. Поройся в Базисе для Вектора:

http://www.sensi.org/~svo/scalar/categories/58/