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

User Tag List

Страница 30 из 35 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя
Показано с 291 по 300 из 349

Тема: ZX Like Pascal

  1. #291
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,631
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771
    Не факт, что будет быстрее копировать. Т.к. нужно бегать по всему спрайту, вычислять координаты каждого знакоместа.
    При рисовании спрайта так или иначе придётся вычислять адреса. Почему бы не сделать копирование прямо в цикле рисования спрайта?
    То бишь - копируем байт фона (полосочку пикселей 8х1), затем сразу же шлёпаем полосочку спрайта 8х1 на экран. И так до конца знакоместа....
    А впрочем, вам виднее. Я ж вообще нубасик в таких вещах.

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

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    При рисовании спрайта так или иначе придётся вычислять адреса. Почему бы не сделать копирование прямо в цикле рисования спрайта?
    То бишь - копируем байт фона (полосочку пикселей 8х1), затем сразу же шлёпаем полосочку спрайта 8х1 на экран. И так до конца знакоместа....
    А впрочем, вам виднее. Я ж вообще нубасик в таких вещах.
    Это уже выходит за рамки Паскаля. Либо надо плодить новый нестандартный оператор для спрайтов.

  3. #293
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,631
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Либо надо плодить новый нестандартный оператор для спрайтов
    Ну вот я про это и говорю, что для СДК надо бы функционал расширить, тогда был бы спрос, и все бы резко отвыкли от AGD и MK2

  4. #294
    Activist
    Регистрация
    04.07.2012
    Адрес
    г. Москва
    Сообщений
    422
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Серьёзного спроса на подобные продукты уже не будет никогда. Кое-какой спрос (среди любителей ретро) был бы, если бы реализация Паскаля была не настолько "урезанной". В первую очередь это касается обещанной нормальной работы с процедурами - локальные переменные, аргументы, работа со стеком. А спрайты в Паскале на 8-и битах - интересно как эксперимент, конечно, но они тут не нужны, вообще. Их и на 16-и то битах никто никогда не делал, потому что не нужно это тут, а если и нужно, то только после нормальной реализации языка.

  5. #295
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,631
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, вернёмся к нашым атрибутам.

    Паскаль:
    For attrx:=0 to 23 do begin
    attry:=attrx;
    asm(ATTR);

    end;
    Асм:
    ATTR
    LD B, _ATTRX
    LD C, _ATTRY
    LD A,B
    RRCA
    RRCA
    RRCA
    LD L,A
    AND 31
    OR 88
    LD H,A
    LD A,L
    AND 252
    OR C
    LD L,A
    LD (HL),0
    RET
    Теоретически должна появиться диагональная полосочка из квадратиков.
    Но ничего так и не появилось. Компилится без ошибок, и сама прога стартует, а вот эта процедура никак себя не проявляет.

  6. #296
    Member
    Регистрация
    25.11.2015
    Адрес
    г. Москва
    Сообщений
    149
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    LD B, _ATTRX
    LD C, _ATTRY
    Есть подозрение, что здесь загружаются не значения, а младшие части адресов данных переменных.

  7. Этот пользователь поблагодарил blackmirror за это полезное сообщение:

    Andrew771 (09.10.2019)

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

    По умолчанию

    должно быть:
    ld a,(_ATTRX)
    ld b,a
    ld a,(_ATTRY)
    ld c,a

    читать не адрес (метку) переменной, а значение в ней.

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

    и, кстати, в регистре b - вертик.координата, c - гориз.координата

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

    Цитата Сообщение от haywire Посмотреть сообщение
    В первую очередь это касается обещанной нормальной работы с процедурами - локальные переменные, аргументы, работа со стеком
    в планах стоит.

    Цитата Сообщение от haywire Посмотреть сообщение
    А спрайты в Паскале на 8-и битах - интересно как эксперимент, конечно, но они тут не нужны, вообще. Их и на 16-и то битах никто никогда не делал, потому что не нужно это тут, а если и нужно, то только после нормальной реализации языка.
    что имеется в виду, не понял.

  9. Этот пользователь поблагодарил Andrew771 за это полезное сообщение:

    ALKO (09.10.2019)

  10. #298
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,631
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А ещё... иииккк... я же щас на миг ощутил себя владыкой атрибутов.
    И уже подумываю над реализацией движка для рогалика в 32х24 и 53 цвета на пиксел.

    В качестве скетча я выбрал свою недавнюю демку, которую пилил для пентиума ммх и Voodoo2 (парился я там тоже изрядно, ведь это надо было запустить под шин9х да ещё и с лимитами текстур 256х256, да ещё и с лимитами на форматы текстур ARGB 16bit)

    Скрытый текст

    [свернуть]



    И вот что получилось в итоге на ZX.

    Скрытый текст

    [свернуть]


    Формат карт и спрайтов надо конечно изобретать самому.

  11. Эти 2 пользователя(ей) поблагодарили ALKO за это полезное сообщение:

    Andrew771 (10.10.2019), Oleg N. Cher (12.10.2019)

  12. #299
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,631
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ищё вопрос. Тут есть побитовый сдвиг для быстрых умножений-делений на 2 ? (типа сишного << >> или асмовых RRA RLA ) ?
    Или оно по-дефолту так и будет билдить в асм при x:=x*2 ?

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

    По умолчанию

    Есть. Быстрые расчеты не только для 2, но и для 3,4,5,10,20,50,100...

  14. Этот пользователь поблагодарил Andrew771 за это полезное сообщение:

    Reobne (13.10.2019)

Страница 30 из 35 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. PASCAL + MACRO11 (УКНЦ-ДВК).
    от hobot в разделе ДВК, УКНЦ
    Ответов: 183
    Последнее: 12.11.2018, 05:55
  2. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 2
    Последнее: 13.01.2014, 21:58
  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

Ваши права

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