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

User Tag List

Страница 2 из 10 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 91

Тема: [ZX48] Спрайтики?

  1. #11
    SaintTurnip
    Гость

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Всё равно можно сделать на ZXDev. И вызывать из Бейсика по USR, засылая параметры через POKE. То есть аналогично SuperCode.
    Можно конечно, но 1) изучить еще одну спецификацию и 2) написать на этом программу

    Написать на асме менее трудозатратно. Ради двух фигулек изучать целую экосистему?

    (за слово supercode спасибо )

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

    DenisGrachev, Данные - ноты и картинки - отдельно, конечно.

    Как я вижу

    Музыка
    - ноты кодируются одним байтом ppooonnn
    --- pp - четыре длительности
    --- ooo - восемь октав
    --- nnn - восемь нот
    --- нота ноль нулевой октавы это пауза
    - POKE начальный адрес
    - POKE конечный адрес
    - POKE пауза/играть до конца/играть циклически
    - POKE/PEEK адрес текущей ноты (причем можно например ограничить длительность мелодии 256 нотами, тогда удобно переключать отдельные мелодии и контролировать прогресс - всего один PEEK)

    UPD:
    - Музыку можно хранить в строковой переменной и передавать плееру имя переменной (формат нот должен умещаться в аски SPACE, Aa-Zz0-9)
    - управление пауза/играть до конца/играть циклом - через адреса USR

    Со спрайтами сложнее, а их ведь еще и несколько на экране. Инициализация:
    - POKE начальный адрес
    - POKE высота
    - POKE ширина
    - POKE количество кадров анимации (скорость пусть будет фикс)

    Работа:
    - POKE/PEEK положение на экране
    - POKE начальный кадр
    - POKE конечный кадр анимации
    - POKE пауза/анимировать циклически/анимировать до конца и остановить
    - POKE/PEEK номер фрейма текущего блока анимации

    Там правда еще маска нужна. Может без нее?
    Последний раз редактировалось SaintTurnip; 05.05.2018 в 19:15.

  2. #12
    Master Аватар для Бука
    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    610
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от eugeniusz Посмотреть сообщение
    Со спрайтами сложнее, а их ведь еще и несколько на экране. Инициализация:
    - POKE начальный адрес
    - POKE высота
    - POKE ширина
    - POKE количество кадров анимации
    Все нужное есть в великолепной серии из 4х книг - Step-By-StepProgrammingZXSpectrum

    В первой части про чистый бейсик, но дальше куча процедур, причем без РОКЕ а через DEF FN(x,y...z)=USR adr.

    Ссылки ниже. Требования к знанию английского минимальны, знание ассемблера вообще не требуется. Рассчитано как раз на лентяев типа нас, которые не хотят учить асм.

    https://computerarchive.org/files/co...um-BookOne.pdf
    https://computerarchive.org/files/co...um-BookTwo.pdf
    https://computerarchive.org/files/co...81494fe848.pdf
    https://computerarchive.org/files/co...86a85b8c1b.pdf
    Последний раз редактировалось Бука; 05.05.2018 в 19:18.
    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm http://lurkmore.to/Лунный_заговор

  3. #13
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а через USR разве нельзя передавать параметры?

  4. #14
    Master Аватар для Бука
    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    610
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Шынни Посмотреть сообщение
    а через USR разве нельзя передавать параметры?
    Только недавно, емнип перед новым годом эту тему обсуждали. В спектрум-бейсике имеется удобная система передачи переменных в асмпрограмму через FN с кучей нужных параметров. Но она никак не была документирована в мануалах к спеку до самого конца производства, в литературе про неё упоминания встречаются к концу 83го емнип.

    А иначе только через РОКЕ, замедляя бейсик. Обратно можно передать содержимое HL если вызывать через LET A = USR.

    Просто через USR ничего передать нельзя, она тупо вызывает код на исполнение.
    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm http://lurkmore.to/Лунный_заговор

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

    По умолчанию

    Не пойму я этих плясок вокруг Бейсика. Зачем хранить ноты в бейсиковой переменной? Какие в этом плюсы? Храните в машкоде. Зачем передавать параметры через FN? Не делайте из Бейсика культ, господа. Асм так уж асм. Бейсика по минимуму. Тем более, как я понимаю, eugeniusz владеет.

  6. #16
    Master Аватар для Бука
    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    610
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Не делайте из Бейсика культ, господа. Асм так уж асм. Бейсика по минимуму.
    Асм в текущем возрасте учить сложно и лениво, а то что выучил в 90е уже забыл. Зато код советских ПМК почему-то помню.

    Для тем про асм есть отдельные темы, не мешайте нам таким убогим общаться...
    Последний раз редактировалось Бука; 05.05.2018 в 20:42.
    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm http://lurkmore.to/Лунный_заговор

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

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

    По умолчанию

    eugeniusz, Boriel's Basic видели? И компилит в натив, и Бейсик, даже получше, структурный. И ПЗУ менять не надо для подсветки синтаксиса) Мож ещё какие плюхи есть.

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

    Бука, я всё же понял, что топикстартер стартонул темку не для того чтобы ему асм предлагали. Этого Шынни не понял. Ну бывает, не стоит ждать многого от... мгм... некоторых)

    Посему предлагаю свою помощь в кодировании по подробным спецификациям. Только не на Бейсике.

  9. #18
    Master
    Регистрация
    27.01.2005
    Сообщений
    888
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    163
    Поблагодарили
    131 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    блин. ну вы и рыбку съесть хотите и любви откусить

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

    Чаще выбирается компромисс: Программа на чем-то высокоуровневом, но со вставками ассемблера, например. На спектруме оно так удобнее всего. Например, сложные структуры данных описывать на С куда удобнее, чем на асме. Почему бы не использовать? Или логику работы общую, если она не требует скорости, но сложна.

    Как дети) Хорошо, быстро и дёшево бывает только в сказках

  10. #19
    SaintTurnip
    Гость

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Зачем хранить ноты в бейсиковой переменной? Какие в этом плюсы?
    Наглядно хранить и легко изменять.

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Не пойму я этих плясок вокруг Бейсика ... Не делайте из Бейсика культ, господа.
    Я слышал, в глубинах интернета есть целые форумы для любителей мертвых языков, древних видеоигр и устаревших компьютеров

  11. #20
    Guru Аватар для creator
    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,193
    Спасибо Благодарностей отдано 
    422
    Спасибо Благодарностей получено 
    219
    Поблагодарили
    130 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Бука Посмотреть сообщение
    Обратно можно передать содержимое HL если вызывать через LET A = USR.
    BC
    В правильно заданном вопросе содержится половина ответа

Страница 2 из 10 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Опознайте ZX48!
    от harushima в разделе Несортированное железо
    Ответов: 26
    Последнее: 21.12.2012, 19:50
  2. Как рисовать маленькие спрайтики?
    от Soplik в разделе Графика
    Ответов: 125
    Последнее: 05.10.2011, 20:07
  3. стоимость zx48
    от sergey2b в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 01.07.2011, 10:30

Ваши права

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