PDA

Просмотр полной версии : Turbo Pascal 4 и CP/M 3 для Корвета



litwr
01.12.2015, 20:35
В 1991 студентом имел дело с Центром НТТМ "Университет" при МГУ (ВМиК?), который занимался и Корветами. Мы переносили пакет расчётов заработной платы для компьютеров Amstrad CPC6128/PCW9512, написанный на турбо-паскале. Главная проблема была в том, что на Amstrad-ах стояла CP/M 3, дававшай 61 кб для программ, а на наших корветах - ср/м 2.2, где было только примерно 40 кб и не было турбо-паскаля (из-за z80?). Использовали кажется паскаль-мт (?) и приходилось делать оверлеи, чтобы хватило памяти. Работало всё страшно медленно, комплировалось минут иногда за 5, а на амстраде - менее минуты, сложилось тогда впечатление, что Корвет раза в 4-6 медленнее Амстрада. Хотя реально, это только недавно понял, разница должна быть примерно раза в полтора, а остальное из-за худших программ. Во время работы, встретились с интересным выпускником ВМиК, который утверждал, что перенёс на Корвет Turbo Pascal 4! Но не хотел его нам давать, так как за свою работу не мог получить у ЦНТТМ денег. Этот человек производил очень серьёзное впечатление.
Вопрос. Перенесли ли на Корвет CP/M 3? Турбо-паскаль 3? В мировых архивах ср/м турбо-паскаля 4 нет. Неужели тут случилась потеря/уничтожение шедевра? Турбо-паскаль 4 был значительным шагом вперёд по сравнению с 3. Его перенос на 8-битную архитектуру - это искусство. Буду рад любой информации, заранее спасибо.

Vadim
02.12.2015, 09:27
Перенесли ли на Корвет CP/M 3? Турбо-паскаль 3?
Турбо-паскаль 3 написан под Z80. Если бы сделали модернизацию Корвета на Z80 то он там пойдет, а иначе - нет. Про Турбопаскаль 4 скорее всего выдумки. У меня есть декаомпилированные исходники Турбо-паскаля 3, делал их один энтузиаст из Германии. Сейман каким то образом нашёл его сайт. Как на основн версии 3 сделать 4 - ума не приложу. Компилятор + редактор весьма сложная штука.

litwr
02.12.2015, 16:56
Тот делал на основе писишной версии. Звучит фантастично, но зачем серьёзному человеку (он в аспирантуру поступал) такие выдумки? Если есть исходники для z80, то их несложно выправить и под 8080, но это другая тема.

marinovsoft
02.12.2015, 17:47
Еще не забыть переписать кодогенератор.

Vadim
02.12.2015, 19:53
Если есть исходники для z80, то их несложно выправить и под 8080, но это другая тема.
Да нет, как раз таки сложно. Иначе борланд сделала бы версию под 8080 сразу. Там активно юзается индексная адресация, второй набор регистров. Если даже и кто-то будет пробовать делать порт, то код распухнет раза в 1,5-2 это точно, а TP и так не мелкий. Задача 100% нереальная по своей сути. Гораздо проще прилепить Z80 на Корвет, чем переписать TP.

- - - Добавлено - - -


Тот делал на основе писишной версии. Звучит фантастично, но зачем серьёзному человеку (он в аспирантуру поступал) такие выдумки?
Не могу сказать зачем. Если же он сделал свой паскаль, на основе ПЦ (кстати как? Декомпилировал его что ли?) Думаю, что он сваял несколько "либ", которые можно было использовать и всё, т.е. имитировал функционал ТП4. Вообще, если так посмотреть, то чем версия 4 глобально отличается от 3? Модули появились. Что это? Да не что иное, как линкуемые библиотеки, когда у нас есть некие точки входа (процедуры) и мы прилинковав их можем вызывать. Аналог - M80/L80 с такой возможностью. Как известно TP не генерирует REL (OBJ на ПЦ) генеря сразу исполняемый код. В борланде почесали репу и добавили возможность писать модули, т.е. аналог REL с внешними метками. В рамках ТП3 это реализовать также можно, досконально поняв как этот монстр работает. Это НЕ гигантский шаг вперед. Точно так же добавить новые типы переменных типа long int также не проблема, если мы будем понимать как оно работает всё.

litwr
01.01.2016, 21:48
Cейчас как-то грустно, что тогда не уговорил человека хотя бы показать свою разработку. Теоретически можно его поискать, но наверное уже не смогу. :( Корветы после Амстрадов тогда показались какими-то монстрами из каменного века. Хотя добротный корпус, два отличных дисковода, теоретически отличная графика... Но казалось неактуально и даже не пытался уговаривать. А он говорил и про перенос интерфейса, т.е. текстовые окошки...
Кстати, по-прежнему не понимаю, почему не сделали СР/М 3 - согласно Digital Research эта система должна работать и на 8080 с даже 32 КБ ОЗУ.

basovskiyd
23.10.2016, 12:37
Были две версии Express Pascal 1.0 (отсутствовала возможность работы с графикой) и Express Pascal 2.0 (полноценная версия, включающая в себя возможность работы с графикой). Обе программы назывались ep.com и ep2.com. Особенностью обеих версий было то, что они для компиляции кода использовали ГЗУ компьютера (предварительно выключив его видимость на экране - т.е. сделав черным цветом на черном фоне всю цифровую палитру). Скорость редактора была достаточно высокой (на самом деле в последствии появился текстовый редактор от Express Pascal, который назывался e.com).

basovskiyd
25.10.2016, 22:09
Хочу немного дополнить приведенную выше информацию.

Про Express Pascal от автора (03.08.91 М. Ковтун)

" При определении входного языка мы выбрали в качестве образца входной язык компилятора TURBO PASCAL фирмы BORLAND INTERNATIONAL для IBM PC, версия 4.0 и достигли здесь полного успеха: с точностью до машиннозависимых деталей языка наш компилятор совместим с компилятором TURBO PASCAL версия 4.0."

" Код, генерируемый компилятором EP, на 20 — 30% компактнее кода, генерируемого компилятором TURBO PASCAL версия 2.0 (Z80). Это достигается за счет использования в компиляторе EP"

" Скорость компиляции составляет около 2000 строк исходного текста в мин. при компиляции небольших программ, помещающихся в памяти, и около 800 строк в мин., когда исходный текст программы читается с диска."

- - - Добавлено - - -

Ну и наконец ссылка (http://pk8020.narod.ru/Files/ep.zip) на диск с Express Pascal обеих версий с документацией от него и примерами.

litwr
25.11.2019, 21:07
Хочу немного дополнить приведенную выше информацию.

Про Express Pascal от автора (03.08.91 М. Ковтун)


Интересно, а исходники нигде ещё не появились? Можно было бы подумать о портировании на другие платформы. Будет интересно, что отечественный паскаль для 8080 окажется лучше любых зарубежных паскалей для z-80. У Амстрадов много дополнительной памяти, у поздних TRS-80 тоже...

И ещё вопрос, а какими утилитами достать файлы с диска ep.kdi? Там вроде типовой СР/М формат, но их же было больше сотни... Спасибо

Xrust
25.11.2019, 22:53
litwr, http://era-cg.su/steinblume/

marinovsoft
26.11.2019, 04:19
https://zx-pk.ru/threads/23421-novaya-utilita-dlya-raboty-s-diskami-cp-m-back-to-mst.html