Важная информация

User Tag List

Страница 8 из 54 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 531

Тема: ZX Like Pascal

  1. #71
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил сегодня до версии 0.904, в первом посте.

    Обнаружил и исправил баг - не всегда верно присваивались ячейки строковых массивов. Теперь правильно. Также добавил пару оптимизаций для строковых выражений.

    А вообще начал глобальную работу, чтобы поддерживались записи, параметры процедур и функций, типы char и boolean, а также чтобы остальное было в точности со спецификацией Паскаля. Но это надолго, не всё так просто, сам несколько раз переписывал начатое
    Последний раз редактировалось Andrew771; 21.09.2015 в 21:34.

  2. #72
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил сегодня до версии 0.905, в первом посте.

    Операторы и внешне ничего не изменилось, так что полностью совместим с предыдущими версиями 0.903 и 0.904.

    Сделал:
    - оптимизации для присваиваний и сравнений переменных и констант типа byte - теперь производится в 8-битной арифметике, а не в 16-битной, что увеличивает быстродействие и экономит память;
    - удаление повторных присваиваний переменных с одинаковыми значениями;
    - удаление повторных строковых констант из данных.

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

    Исходник ZX Like Pascal на Delphi тут: http://zx-pk.ru/showthread.php?t=54&...l=1#post810433

  3. #73
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил сегодня до версии 0.906, в первом посте. Исправлены замеченные баги при выводе спрайтов и карт.

  4. #74
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,155
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Andrew771, можешь сделать поддержку запуска из коммандной строки, чтоб входной фаил PRG фаил передавать в качестве параметра.
    Например:
    zxpascal.exe game.prg

    и на выходе будет game.asm

    Это намного сократит количество телодвижений при разработке, сделает ее более удобной. Я сейчас хочу сделать игру на этом паскале, но данное обстоятельство мешает.

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

    Это так делается:

    В обработчик события запуска (form1create):

    if paramcount<>0 then button1click(self);

    И в самой компиляции,

    if OpenDialog1.execute then Name:=Opendialog1.Filename;

    Заменить на

    if paramcount<>0 then Name:=paramstr(1) else
    if OpenDialog1.execute then Name:=Opendialog1.Filename;


    Я так сделал в той версии, что есть исходники, но она не самая новая.

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

    Делаю щас one-click комплект, уже сделал автоматическую сборку trd из паскаль файла. Надо только перенести prg фаил на батник и оно скомпилируется, сассемблируется и запустится. Сейчас прикручу редактор какой-нибудь и вообще будет круто.
    Я ещё в коде убрал вывод org 23900, поскольку это очень рано, trd не хочет работать, дописывается 25000, но это уже во внешнем файле (выходной асм инклюдится).
    Я думаю, такие готовый сборки будут способствовать популярности платформы и игрописания.

  5. #75
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,155
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обнаружил баг - не работает read и readln переменных типа byte и word, туда заносятся непонятные значения. Сейчас попробую покопаться в исходниках, но врядли найду.

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

    Нашел почему не работает ввод чисел - сжасм интерпретирует sub a,48 как sub a,a:sub a,48
    Надо заменить все вхождения просто на sub 48

  6. #76
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за наводку! Проверю. Официально команда должна быть sub n, посмотрю в исходнике, так ли она генерируется.

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

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Andrew771, можешь сделать поддержку запуска из коммандной строки, чтоб входной фаил PRG фаил передавать в качестве параметра.
    Например:
    zxpascal.exe game.prg

    и на выходе будет game.asm
    Сделаю, как написал. Я еще так не делал никогда.

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

    Исходник забыл обновить на сайте, исправлюсь

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

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Я сейчас хочу сделать игру на этом паскале, но данное обстоятельство мешает.
    ЗдОрово. Я тоже на нем начал писать игру а-ля Z.

  7. #76
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #77
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,155
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот, сейчас такая сборка
    https://yadi.sk/d/y3IQQWDhptLqA

    Для работы надо ассоциировать prg-файлы с compile.bat. Далее, открыть программу (или написать) в notepad2 (для примера, он в архиве. Но можете использовать свой редактор), и нажать Ctrl-S, Ctrl-L. Программа, скомпилируется, соберется trd и запустится. (надо чтоб trd был ассоциирован с эмулятором)

    Из пожеланий: сделать пометку чтоб переменная не объявлялась в конце. Например:
    var a:integer;notdef;
    А то в некоторых примерах надо после компиляции идти в фаил и убирать вручную.

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

    Также, пример demo_z компилируется с ошибкой. Две метки имеют одинаковое название, наверное в кодах блоков if/then/else что-то перепуталось.

    А вообще, отличный проект, я как-то раньше не обращал на него внимание.

  9. #78
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Также, пример demo_z компилируется с ошибкой. Две метки имеют одинаковое название, наверное в кодах блоков if/then/else что-то перепуталось.
    это я уже исправил в версии 0.906. При множественных and и or генерировалась повторная метка. Сейчас исправлено.

  10. #79
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Andrew771, можешь сделать поддержку запуска из коммандной строки, чтоб входной фаил PRG фаил передавать в качестве параметра.
    Например:
    zxpascal.exe game.prg

    и на выходе будет game.asm
    сделал.


    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Нашел почему не работает ввод чисел - сжасм интерпретирует sub a,48 как sub a,a:sub a,48
    Надо заменить все вхождения просто на sub 48
    сделал.

    Обновил версию до 0.907 в первом посте.
    Исходник 0.907 выложил тут.

  11. #80
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,643
    Спасибо Благодарностей отдано 
    2,249
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    112 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Обязательно компилятор опробую и что-нибудь напишу. Очень давно ищу подобное, попадаются только монстры типа Си или Оберона с компиляторами из 1000 файлов. А тут - один фаил. Всё по спектрумовски.
    Но вот, кстати, это не совсем верно. Вот вам проект транслятора Оберона в Си, один exe-файл (Bin/ofront+.exe), юзайте себе на здоровьице:

    https://github.com/Oleg-N-Cher/OfrontPlus

    Можно пробовать скрещивать с SDCC. Процедуры у Andrew771 вшиты внутрь хорошие, я даже присмотрюсь к выводу спрайтов, но лучше бы он их делал как внешние библиотеки. А вот язык никакой, это мне напоминает недо-Си Raydac'а, и ведь останется таковым. Оберон в ZXDev позволяет намного больше, намного.

    P.S. Неприятно всё-таки, что дезу разводите. Я даже XDevLite попытался сделать всего одним exe-файлом. Получилось. Только смарт-линкер в виде отдельной exe'шки.

Страница 8 из 54 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. PASCAL + MACRO11 (УКНЦ-ДВК).
    от hobot в разделе ДВК, УКНЦ
    Ответов: 341
    Последнее: 15.01.2022, 17:30
  2. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 4
    Последнее: 23.02.2020, 23:59
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •