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

User Tag List

Страница 35 из 40 ПерваяПервая ... 313233343536373839 ... ПоследняяПоследняя
Показано с 341 по 350 из 391

Тема: ZX Like Pascal

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

    По умолчанию

    Перед вызовом процедуры плей пробовал и запрещать прерывания, и разрешать.
    В цикле опроса клавы такты сжыраются, видимо.

    И это... Reobne, вижу в замедленном действии процедура скролла нижний ряд скипает с шагом не то 16, не то 32 пикселя.
    А можно её переделать так, шоба нижний ряд скроллился 8 пикселей, а верхний ряд смещался на 8 лишь на каждый второй тик нижнего ряда?
    А то в замедленном действии эта дёрганность не комильфо.

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

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Перед вызовом процедуры плей пробовал и запрещать прерывания, и разрешать.
    В цикле опроса клавы такты сжыраются, видимо.
    Уже ответили, что не сжираются. У тебя, скорее всего, где-то кто-то запрещает прерывания на какое-то время. Найди и уничтожь. У лайк-Паскаля только одна процедура запрещает прерывания - SoundEffect, если ее используешь. Процедура чтения клавиш прерывания не запрещает. Значит, кто-то еще у тебя запрещает.

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

    По умолчанию

    да тут мне кажется, что не в прерываниях дело вовсе. А в излишнем израсходовании тактов на процедуру, где срабатывает проверка клавиатуры.

  4. #344
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    718
    Спасибо Благодарностей отдано 
    88
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    И это... Reobne, вижу в замедленном действии процедура скролла нижний ряд скипает с шагом не то 16, не то 32 пикселя.
    А можно её переделать так, шоба нижний ряд скроллился 8 пикселей, а верхний ряд смещался на 8 лишь на каждый второй тик нижнего ряда?
    А то в замедленном действии эта дёрганность не комильфо.
    Хорошо, сейчас сделаю и пришлю на почту.
    Ты автор, как скажешь, так и будет.
    А то что верх скроллируется на 8 пикселей, а низ на 16 пикселей, это я специально сделал, когда ты попросил параллакс.
    А так, как ты просишь, я бы никогда сам не догадался сделать. Это-ж как получиться, верх будет скроллироваться с одним fps, а низ с удвоенным fps. В моём понимании, это как раз и есть дёрганность вверху. Я себе не представляю, чтобы разные части сцены с разным fps были.


    Ты вот честно скажи, ты IM 2 включил или нет? А то Andrew771 уже пошёл за тебя спрашивать вопросы, как будто уверен, что у тебя IM 2 работает. А я что-то не уверен.

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

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Это-ж как получиться, верх будет скроллироваться с одним fps, а низ с удвоенным fps. В моём понимании, это как раз и есть дёрганность вверху.
    Но это таки классический метод параллаксов.
    Техническая Алиса же будет постепенно разгоняться. А в медленном режиме как раз дёрганность будет именно внизу. Всё-таки скип в 16 пикселей куда более рвано выглядят, чем 8. Однако почему-то большинство разрабов любят именно по 16 скипать.
    К тому же у меня далее по плану после этой аркадки приступить к квесту-предисловию (а-ля Буратина), раз уж на метроидванию никто не отзывается. А там всё время будет камера медленно ездить.

    IM2 я не трогал. А на каком этапе его надо врубить?

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

    Reobne (21.10.2019)

  7. #346
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    718
    Спасибо Благодарностей отдано 
    88
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    IM2 я не трогал. А на каком этапе его надо врубить?
    А музыку ты постоянно вызываешь в главном цикле? Я так и думал.
    Инициализировать IM 2 нужно в начале работы программы, один раз. И не просто командой IM 2, а подготовить регистр I и таблицу.

    Сейчас накидаю процедурку для старта.
    Последний раз редактировалось Reobne; 21.10.2019 в 21:23. Причина: Я писал это.

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

  9. #347
    Moderator Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    Воронеж
    Сообщений
    4,939
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    С любовью к вам
    Чё происходит???
    Рыцарь ордена Хламовников

    Мои магазины на Мешке: Retro store и Компьютерные комплектующие

  10. #348
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    718
    Спасибо Благодарностей отдано 
    88
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот добавь это
    Код:
    Im2Init
            xor a
            ld l,a
            ld a,0+((LastAddr+255)>>8)
            ld i,a
            ld h,a
            ld d,a
            ld e,l
            inc e
            ld bc,256
            inc a
            ld (hl),a
            ldir
            ld h,a
            ld l,a
            ld (hl),0c3h
            ld de,Im2Go
            inc hl
            ld (hl),e
            inc hl
            ld (hl),d
            im 2
            ei
            ret
    Im2Go
            push af
            push hl
            push de
            push bc
            ex af,af'
            exx
            push af
            push hl
            push de
            push bc
            push ix
            push iy
            call MusicPlay
            ld hl,FrameCounter
            inc (hl)
            pop iy
            pop ix
            pop bc
            pop de
            pop hl
            pop af
            ex af,af'
            exx
            pop bc
            pop de
            pop hl
            pop af
            ei
            ret
    FrameCounter
            defb 0c9h
    call MusicPlay - это вызов музыкального игруна.
    В самом конце файла вставь метку "LastAddr"
    А в начале, когда уже можно будет играть музыку(после её инициализации(ты как-то писал, что инициализируешь её)), вызови Im2Init. А из основного цикла программы всю музыку убери. Она сама будет играться, от прерываний.

    На первых порах тебе пойдёт. Потом, на финишной обработке можно будет уплотнить. Убрать пустоты. А пока что - лишь бы правильно работала, памяти хватает.

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

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Чё происходит???
    Нажал редактировать - увидел своё сообщение. Сохранил.

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

    По умолчанию

    Насколько я знаю, программы создания музыки выдают для вставки в свои проги две процедуры. Первая - инициализация (как раз устанавливает режим IM2), вторая - сама музыка. Обе нужно по одному разу вызвать в начале программы, дальше музыка сама играет в прерываниях. Прерывания автоматически вызываются сами 50 раз в секунду, если не запрещены (это ликбез такой ).

  12. #350
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    718
    Спасибо Благодарностей отдано 
    88
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Насколько я знаю, программы создания музыки выдают для вставки в свои проги две процедуры. Первая - инициализация (как раз устанавливает режим IM2), вторая - сама музыка. Обе нужно по одному разу вызвать в начале программы, дальше музыка сама играет в прерываниях. Прерывания автоматически вызываются сами 50 раз в секунду, если не запрещены (это ликбез такой ).
    Хм. Это как музыкант пишет конституцию страны. Это государственное дело, и должно решаться на государственном уровне, а не музыкантишкой.
    Так и в программе, программист должен решать когда включить IM 2, когда выключить. И что у него там будет обрабатываться. Не только музыка, но и подсчёт времени, клавиатура/джойстик, фактор случайности, отображение минирадара, переключение страниц экрана для мультиколора, игра на атрибутах, рисование на бордере, и прочее, прочее, прочее. Так что если музыкальный модуль самостоятельно делает таблицу вектора прерываний, включает IM 2, и обрабатывает прерывания играя музыку, то это какой-то режим для новичков, которые пишут в бейсике.
    Я даже помню, что в бейсике приходилось писать:
    100 PAUSE 1:RANDOMIZE USR MusPlay: GOTO 100
    Чтобы послушать музыку.

    А вообще, может ты и прав, только не надо так однозначно. Надо посмотреть конкретно, что за музыкальный редактор использует ALKO и там уже всё увидим.


    ALKO, Напомни, в каком редакторе музыку пишешь.

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

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

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

Эту тему просматривают: 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

Ваши права

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