PDA

Просмотр полной версии : Запуск СР/М на Робик 48к без дисковода



bigral
19.04.2011, 22:43
Привет всем,

кто знает как с малейшими затратами запустить на компьютере Робик Borland TurboPascal 3.02 для СР/М v2.2?

Eltaron
20.04.2011, 07:53
Если предположить, что TP работает исключительно через BDOS и не лезет в биос и системные переменные, то достаточно несложно.
Пишем эмулятор BDOS (порядка 20 функций с единой точкой входа).
Дизассемблируем TP, находим все CALL 5, меняем 5 на адрес нового входа в BDOS.
Ассемблируем обратно. Если в коде нет переходов по абсолютным адресам и переменных в верхней памяти, то все.

Если б был дисковод, то было бы еще проще. Камиль caro когда-то выкладывал CP/M 2.2, работающий в нижней памяти. Так что осталось бы только все CALL 5 поменять, и не нужно было б писать ни строчки кода.
А так придется реализовывать чтение-запись файлов на ленте. И тут будут серьезные проблемы даже с последовательным чтением: чтение идет по 128 байт, и не факт, что между соседними операциями чтения не будет 5 секунд промежутка. А как реализовывать произвольный доступ к файлу у меня даже идей нет.

Дмитрий
20.04.2011, 08:19
У Робика есть теневое ОЗУ 16Кб, размещенное в области ПЗУ, так что думаю в этом плане меньше проблем, тут действительно уже стоит задуматься о:

реализовывать чтение-запись файлов на ленте.
либо прикручивать тыр-дос контроллер.