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

User Tag List

Страница 12 из 22 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя
Показано с 111 по 120 из 213

Тема: Компилятор языка Паскаль - планы на будущее

  1. #111
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про ramdomize и иструкцию - учту.
    Demo_z не работает которая .tap? Только что проверил, в FUSE работает.
    Где взять EmuZWin? Всё что нахожу - VirusTotal ругается. Он, правда, и на мой компилятор сказал "1/61"...

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

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    Где взять EmuZWin?
    Все версии EmuZWin с авторского сайта:


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

    По умолчанию

    Поставил Fuse, всё работает, правда скорость удручающая, даже у Life. Оптимизация, как воздух, нужна. Но для начала супер!
    EmuZWin отказывается работать на Windows 10. А на остальных виндах может ругаться антивирус на него.
    Bolt, подскажи еще, как компилировать файлы pas?

  4. #114
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    В EmuZWin 2.7 все проги работают, кроме demo_z (с прошивкой Spectrum 3+), выводит только цветные диагональные полосы.
    В отладчике EmuZWin я вижу только одно поле под названием "RAM", в котором появляется то, что выводится в порт 0x7FFD, и переключатель ROM.
    Код:
    DI
    LD BC,1FFDH
    LD A,01H
    OUT (C),A
    JP 0000H
    Это по идее должно включить special paging mode, pages 0,1,2,3. Но в поле "RAM" появляется "01", с адреса 0xC000 появляется page 1, при этом на адресе 0x0000 остаётся ROM.
    Неполная/некорректная эмуляция порта 0x1FFD? Или я что-то не так делаю?

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

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Поставил Fuse, всё работает, правда скорость удручающая, даже у Life. Оптимизация, как воздух, нужна.
    Полностью согласен
    Цитата Сообщение от Andrew771 Посмотреть сообщение
    EmuZWin отказывается работать на Windows 10.
    И, кажется, некорректно эмулирует порт 0x1FFD.
    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Bolt, подскажи еще, как компилировать файлы pas?
    В командной строке
    Код:
    bmpc_z80.exe 1.pas
    Выдаст файл 1.asm, а дальше - по вкусу. Я пользуюсь z80asm (в Ubuntu что-то поставилось, но он не поддерживает dup/edup) или Zeus Z80 Assembler, добавив в конце одну строку
    Код:
    output_bin "1.bin",0x8000,$-0x8000

  5. #115
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    Я пользуюсь z80asm (в Ubuntu что-то поставилось, но он не поддерживает dup/edup) или Zeus Z80 Assembler, добавив в конце одну строку
    Код:
    output_bin "1.bin",0x8000,$-0x8000
    Это оттого, что DUP/EDUP был придуман авторами кто их ввел от незнания трансляторов-аналогов, в более ранних ассемблерах (и в т.ч. лучших по моему мнению таких как M80 от Microsoft) для аналогичных целей использовался блок REPT-ENDM. В современных трансляторах обычно используются таки REPT-ENDM, а DUP/EDUP назначаются как алиас чтобы работали оба варианта. Предлагаю это вынести в опцию, чтобы компилятор генерировал оба варианта по указанию ключем командной строки. Обидно, если вывод компилятора Паскаль будет не совместим с M80 - для него под CP/M масса различных библиотек (формата REL линковщика L80 пакета Микрософт) в т.ч. и либы от различных ЯВУ т.к. они использовали M80 как транслятор с ASM.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #116
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    "dup" есть в библиотеке из ZX Like Pascal.
    z80asm не поддерживает ни dup, ни rept.
    В компиляторе dup/edup не используется, поэтому опция не нужна. Сгенерированный код вообще стараюсь сделать как можно проще с точки зрения ассемблера. А вот опция компилятора "использовать недокументированные инструкции" может и понадобится.

  7. #117
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Andrew771, у меня тут при оптимизации вся мелкая недвижимость потерялась. Большая в правом верхнем углу карты присутствует.
    Как оно называется и в каком месте программы выводится?
    Нажмите на изображение для увеличения. 

Название:	Снимок экрана от 2018-05-13 13-37-57.png 
Просмотров:	152 
Размер:	15.8 Кб 
ID:	65268

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

    По умолчанию

    По-моему она и до оптимизации была потеряна. Это заводы WORK и флаги FLAGS в процедуре put_objects

  9. #119
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хм, действительно. Странно, потому что в процессе оптимизации оно то появлялось, то пропадало. Будем искать...

  10. #120
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашёл.
    Код:
    if (x_put>=x_min_lim) and (x_put<=(x_map_scr+map_scr_width))
    and (y_put>=y_min_lim) and (y_put<=(y_map_scr+map_scr_height))
    then
    (Смысл этих проверок от меня как-то ускользает. Догадываюсь что проверяется видимость объектов на экране, но до конца понять не могу.)

    Проблема всё с тем же "заворотом" значений. В моём компиляторе буду стараться вычислять "математически". Если написано "(A-B)>10", то по возможности так и будет вычисляться, без удержания в уме типов переменных и правил работы с ними (привет языку Си). При A=5 и B=6 результат false.

Страница 12 из 22 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Пожелания и планы по эмулятору Башкирия-2М
    от b2m в разделе Эмуляторы отечественных компьютеров
    Ответов: 823
    Последнее: 01.07.2019, 21:19
  2. Пожелания и планы по эмулятору MESS
    от shattered в разделе Эмуляторы отечественных компьютеров
    Ответов: 57
    Последнее: 02.08.2017, 22:14
  3. Планы на новые создаваемые игры
    от TomCaT в разделе Игры
    Ответов: 67
    Последнее: 21.03.2012, 14:44
  4. Назад в будущее?
    от Sonic в разделе Оси
    Ответов: 27
    Последнее: 19.07.2005, 16:56

Ваши права

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