User Tag List

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

Тема: ZX Like Pascal

  1. #341

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  2. #342

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  3. #343

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #344

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,104
    Спасибо Благодарностей отдано 
    1,340
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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


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

  5. #345

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

    Reobne(21.10.2019)

  6. #346

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,104
    Спасибо Благодарностей отдано 
    1,340
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  8. #347

    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,480
    Спасибо Благодарностей отдано 
    310
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    217 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    С любовью к вам
    Чё происходит???
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  9. #348

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,104
    Спасибо Благодарностей отдано 
    1,340
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 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 Посмотреть сообщение
    Чё происходит???
    Нажал редактировать - увидел своё сообщение. Сохранил.

  10. #349

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #350

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,104
    Спасибо Благодарностей отдано 
    1,340
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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


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

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

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

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

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

Ваши права

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