Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev https://zx.oberon.org/forum/viewtopic.php?f=10&t=85 |
Страница 1 из 2 |
Автор: | Zorko [ 02 мар 2013, 19:54 ] | |||
Заголовок сообщения: | Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev | |||
Вот интересный фронт работ. Сегодня игрался с эмулятором советского компьютера УК-НЦ, на нём есть реализация Паскаля, называется Pascal/Fast. Реализовано очень в стиле Turbo Pascal (даже включая библиотеки), но с некоторыми отступлениями. Но очень многие вещи совместимы. Вот, например, удалось легко адаптировать программу TradeMark из пакета Pascal/Fast на Turbo Pascal. Не совсем верно конечно получилось, но всё равно даже такая частичная совместимость радует. Сама библиотека Graph сделана достаточно независимо от разрешения и глубины цвета экрана, так что может быть и стоит заняться её портированием на Спектрум.
|
Автор: | Zorko [ 11 мар 2013, 21:30 ] | ||||
Заголовок сообщения: | Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev | ||||
Вот как может выглядеть адаптированный для ZXDev пример программы Sinus, использующей графическую библиотеку, совместимую с Turbo Pascal. Я не делал порт графической библиотеки под ZXDev целиком, просто слегка начал работу в этом направлении — написал несколько процедур. Вот как выглядит модуль GraphSinus: Код: "OBERON"
|
Автор: | Zorko [ 13 мар 2013, 14:35 ] |
Заголовок сообщения: | Re: Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev |
Вобщем конечно Math.Sin(x) * k надо заменить на целочисленный табличный синус Math.SinIMult(x, k). Кроме того, там ещё точка рисуется медленной ПЗУшной процедурой. И линия сделана на Си, а надо бы на асме. Предел оптимизации далеко не достигнут Можно даже по нескольким направлениям двигать. Но разве я ставил цель оптимизировать это до максимума? Вовсе нет. Просто навожу мосты, показываю саму возможность кроссплатформенной разработки между ретро-платформами УК-НЦ, MS-DOS и ZX, в надежде что кто-то (или я сам попозже) захочет заняться дальнейшей оптимизацией. |
Автор: | Zorko [ 28 апр 2013, 16:38 ] | |||
Заголовок сообщения: | Re: Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev | |||
Родственная синусу тема про цветочек на УК-НЦ. Спектрум-вариант добавлен в репозиторий ZXDev.
|
Автор: | Zorko [ 29 апр 2013, 16:35 ] | ||
Заголовок сообщения: | Re: Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev | ||
Вариант «цветочка», который я когда-то делал на Лиспе. Не помню насколько он рабочий (отковырял его из пачки старых пятидюймовых дискет). Год? Где-то 2001. А пощу затем, что некоторые товарищи не верят, что я когда-то учил Лисп. Код: "LISP" (defun Flower.Body (Dg)
|
Автор: | hobot [ 11 мар 2014, 22:25 ] |
Заголовок сообщения: | Турбо-среда + модуль Graph на ДВК-2М(ДВК-3) и БК-11М! |
Я пока так и не собрался сделать снимок flow3.pas(sav) c экрана реала, зато есть новости с эмуляторных фронтов, а именно подтвердился полностью факт реализации и турбо-среды и модуля граф под все отечественные PDPишки. Оригинальное сообщение тут > http://zx.pk.ru/showpost.php?p=687139&postcount=86 ДВК-2М БК-11М Ну а УК-НЦ вариант и так понятно был есть и будет. Ура! Осталось ещё с Модулой-2 PDPшной (а точнее ДВКашной) разобраться - то есть правильно рабочую среду организовать, найти и отсканировать документацию, но это из другой темы вопросы. |
Автор: | hobot [ 02 апр 2014, 18:43 ] |
Заголовок сообщения: | Re: Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev |
Давненько я Олегу обещал с родного экрана УК-НЦ сделать картинку FLOW3.PAS Буквально вчера дошли руки подключить свою машинку только как временный вариант к телевизору Не смотря на то, что камера направлена не перпендикулярно экрану - экран плоский и искажений нет, аутентичность картинки по моему налицо ( то есть цветок не сплюснут по вершинам и висит примерно в центре) |
Автор: | Zorko [ 02 апр 2014, 20:24 ] |
Заголовок сообщения: | Re: Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev |
Отлично, Слава! Спасибо за картинку. Это приятно, что цветочек работает на реальной машинке. Согласись, здорово, что есть библиотека, с помощью которой можно писать графические программы для БК, ДВК и УК-НЦ хоть и не "с единого листа", но хотя бы с минимальными переделками. В принципе, это сильно облегчает миграцию программ с платформы на платформу. Главное — не упереться в какое-то сильно хитрое ограничение этой технологии, которое не удастся так легко обойти (из-за недоступности исходников). И ещё жаль, что размер .SAV получается довольно немаленьким, мне кажется, он мог бы быть намного скромнее (может на Модуле-2 удастся получить исполняемые файлы размером поменьше?). |
Автор: | hobot [ 04 апр 2014, 19:03 ] |
Заголовок сообщения: | Re: Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev |
Zorko писал(а): Отлично, Слава! Спасибо за картинку. Это приятно, что цветочек работает на реальной машинке. (может на Модуле-2 удастся получить исполняемые файлы размером поменьше?). Что "цветочек" запуститься я и не сомневался (с чего ему не работать?), другой момент, на реальной машинке иногда ширина\высота получаемой картинки с картинкой в эмуляторе сильно не совпадает. С модулой на УК-НЦ и ДВК пока заминка, но как только что-то там тронется отпишу сразу же! В целом размер исполняемого файла и стал той преградой, которая не позволила массово и комфортно использовать среду FAST-PASCAL на школьных УК-НЦ и ДВК (ну и как теперь уже понятно БК11М). Конечно там есть настройка - текст программы = (на диске\ в памяти) и исполняемый код (на диске\в памяти), что позволяло ПКМ использовать в учебном процессе. Конечно стандартный DECовский Паскаль + вставки на ассемблере и процедуры\функции из системной библиотеки вот самая удобная среда написания программ любой сложности на этих машинках. Для профи конечно хватало и просто МАКРО-11 ну и конечно же был(есть) Си |
Автор: | Zorko [ 25 авг 2016, 17:53 ] | ||
Заголовок сообщения: | Re: Порт графической библиотеки Graph (из Turbo Pascal) под ZXDev | ||
Код: "OBERON"
|
Страница 1 из 2 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |