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

User Tag List

Страница 3 из 11 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 105

Тема: Evacuator - help thread.

  1. #21
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возможно - интересно, смотрится, правда, дико! Странно, выглядит попытка протиснуться между углами двух блоков стоящих впритык (немного нелогично, если хотите).
    ----
    Нет, я не говорю, что это плохо. Просто в играх такого типа ни разу не встречал подобного подхода к логике передвижения. sokoban, bolder dash, ripton и аналогичные игрушки в некотором роде не использовали таких способов перемещения. Впрочем, это решать автору проекта..
    Последний раз редактировалось null_device; 14.02.2010 в 03:21.

  2. #22
    R.I.P. Аватар для Rindex
    Регистрация
    10.11.2007
    Адрес
    Khimki
    Сообщений
    18,222
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от null_device Посмотреть сообщение
    Странно, выглядит попытка протиснуться между углами двух блоков стоящих впритык (немного нелогично, если хотите).
    Согласен. Но такого я вроде что-то больше нигде не встречал.
    Может, мы обидели кого-то зря,
    Сбросив пару лишних мегатонн,
    И горит зелёным пламенем земля,
    Там, где был когда-то Пентагон!..

    Profi-576 v3.2/AY-3-8912A GI/FDD-5.25'

  3. #23
    Member Аватар для Andrey Vladimirovich
    Регистрация
    04.02.2010
    Адрес
    Санкт-Петербург
    Сообщений
    61
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как запустить музыку параллельно программе?У меня дает одну ноту и все.

  4. #24
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,824
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    239
    Поблагодарили
    101 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А ты проинициализировал музыку сначала?
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  5. #25
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrey Vladimirovich Посмотреть сообщение
    Как запустить музыку параллельно программе?
    Обычно, все решается как в wham! the music box. Первый адрес инициализация мелодии, второй адрес (для каждого проигрывателя\редактора\ко мпилятора свой) проигрывание последующих нот. Примерно так:
    Код:
    ..
    10 RANDOMIZE USR A (инициализация мелодии)
    20 RANDOMIZE USR B (проигрывание след. ноты)
    30 PAUSE 7 (любой кусок несущий полезную нагрузку)
    40 IF INKEY$="" THEN GOTO 20
    ..
    ----
    Прилепил простенькую программку с демонстрашкой использования режима IM2.
    ....
    Обнаружил косяк, исправил, перезалил..
    Последний раз редактировалось null_device; 03.10.2015 в 13:42.

  6. #26
    Veteran Аватар для TomCaT
    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,795
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эх, надо бы мне выделить в отдельную user-софтину то, что я прикрутил для WHAM! 128 релиза Robin of the Wood 128 + MapGen... Там практически все и так оформленно как миксер, в WHAM! только сэмплы создаются, а потом компилятор выдирает их из огромных блоков WHAM! (без упаковки правда) и создает небольшой такой кусок параллельной музыки. Управляемый.

    (результат моего полного непонимания трэкеров.)
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

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

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  7. #27
    Member Аватар для Andrey Vladimirovich
    Регистрация
    04.02.2010
    Адрес
    Санкт-Петербург
    Сообщений
    61
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С музыкой вот такая фигня: мелодия загружается, но параллельно с игрой работать не хочет... она работает либо до нажатия клавиши, либо просто один раз отыграет и все(( делал в Wham.
    И что нужно сделать что бы она была "завершенная"?

    ---------- Post added at 14:38 ---------- Previous post was at 14:16 ----------

    И что такое auto IM2? я че-то не понимаю.
    И как её проинициализировать?
    Я загружал мелодию по адресу 42000, и запускал Randomize usr 42000...

  8. #28
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно поточне: каким редактором wham делалась мелодия? Вероятно wham! у вас для AY\YM (для 128к машин). Глянул мельком на него, там по-моему нет режима компиляции always (позволяющего играть музыку параллельно выполняя что-то еще).
    В 48к версии была такая функция. Для инициализации мелодии выполнить randomize usr n, для проигрывания следующей ноты randomize usr n+12. О втором адресе для данного режима, почему-то нигде в программе не говорится!
    ----
    Там все довольно тривиально:
    Два бейсик файла - билдер im2 и демонстрашка.
    Для работы кроме бейсик файла, у вас должна быть скомпилированная мелодия с плейером и обрабочик im2 созданный с помощью первой программы под ваши адреса.
    Для 48к версии (под бипер) при компиляции в режиме always с адресом запуска 42000 - это числа 42000, 0, 42012. Правда, скорее всего придется отрегулировать темп, занося значения в ячейку 42035!

    Принцип работы:
    первым вводим адрес вызываемый при запуске im2. В кодах это выглядит как:
    Код:
    di ; запретить прерывания
    call nn ;адрес вызова процедуры, аналог randomize usr nn
    ld a,m ;число m, вектор прерываний
    ld i,a
    im 2 ;включение режима
    ei ;разрешить прерывания
    ret
    вторым вводится адрес вызываемый при остановке im2:
    Код:
    di
    call nn ;то же, что и выше, но по другому адресу
    ld a,3F ;установка вектора прерываний для нормальной работы в tr-dos
    ld i,a
    im 1 ;выключение режима
    ei
    ret
    третьим вводится адрес вызываемый при работе im2.
    Код:
    push ix ;cохраняются на стеке значения всех регистры процессора
    push iy
    push bc 
    push de
    push hl
    push af
    exx
    push bc
    push de
    push hl
    ex af,af'
    push af
    call nn ;адрес вызываемый каждое прерывание
    pop af ;восстанавливаются значения регистров процессора
    pop hl ;до момента прихода прерывания
    pop de
    pop bc
    ex af,af'
    pop af
    exx
    pop hl
    pop de
    pop bc
    pop iy
    pop ix
    jp 38 ;переход по стандартному адресу обработки прерывания im1 (команда rst 56).
    Если вызывать ничего не надо (т.е. переход на адрес программы в кодах при запуске или остановке im2 не нужен), вводим 0. Это не будет расценено, как call 0 - будут использованы два nop'а.
    последним вводится адрес распололжения обработчика в памяти. Из-за особенностей режима im2 (и написанного мною билдера) возможны несколько вариантов:
    + использование вектора из ПЗУ.
    + смещение процедуры к ближайщему возможному адресу (клавиша 1 или 2) либо выбор иного адреса (клавиша 3).

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


    замечание: поскольку im2 используется системой tr-dos. Перед вызовом ее команд или входом (по usr 15619 или usr 15616), должна запускаться подпрограмма остановки im2.
    ----
    Думаю, доработать данную программулину, чтобы было более просто и наглядно. А главное универсально, например вместо ссылок на подпрограммы в кодах, подгрузка и интеграция в обработчик.. Планов, в целом - громадье!
    Цитата Сообщение от Andrey Vladimirovich Посмотреть сообщение
    И что нужно сделать что бы она была "завершенная"?
    Не совсем понятно, что под этим подразумевается?
    Последний раз редактировалось null_device; 16.02.2010 в 16:56.

  9. #29
    Member Аватар для Andrey Vladimirovich
    Регистрация
    04.02.2010
    Адрес
    Санкт-Петербург
    Сообщений
    61
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Было мнение, что игре чего-то не хватает, что б она была "завершенной", вопрос- чего именно не хватает?

    А что касается im2, то я в принципе не понимаю, для чего она нужна и что она делает.... всякие адреса, процедуры- это, конечно, хорошо, но я не на столько продвинутый хацкер и реально не втыкаю как это чвязано с музыкой(((

    ---------- Post added at 14:38 ---------- Previous post was at 14:33 ----------

    у меня в WHAM есть режим компиляции always, вот как раз при этом режиме он дает одну ноту и все....

  10. #30
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нужна стартовая картинка-меню (возможно, ненавязчивая музычка, там же). Аскетизм это, здорово, но для законченного продукта, маловато будет. Взгляните на мою реализацию игры червы в соседней ветке.
    ----
    im2 нужен для квазипараллельного выполнения подпрограмм, например, проигрывания музыки. Поскольку прерывания вызывается 50 раз в секунду (обычно при этом выполняется инкремент часов, сканирование клавиш и пр. действия не замечаемые пользователем), можно навесить небольшую программку выполняющую какое-либо простейшее действие (или несколько).
    ----
    Цитата Сообщение от null_device Посмотреть сообщение
    В 48к версии была такая функция. Для инициализации мелодии выполнить randomize usr n, для проигрывания следующей ноты randomize usr n+12. О втором адресе для данного режима, почему-то нигде в программе не говорится!
    ----
    На бейсике при указанных вами параметрах для проигрывания мелодии нужно набрать примерно следующее:
    Код:
    ..
    10 RANDOMIZE USR 40000 (инициализация мелодии)
    ..
    20 RANDOMIZE USR 40012 (проигрывание след. ноты)
    22 RETURN
    ..
    30 GO SUB 20 (проигрывание ноты)
    32 PAUSE 7
    40 GOTO 30
    ..
    Выкладывайте свою скомпилированную мелодию в режиме always с адреса 40000. И скажите где в памяти вам удобнее будет расположить обработчик прерываний. Попробую слепить все воедино!
    Последний раз редактировалось null_device; 20.02.2010 в 15:38.

Страница 3 из 11 ПерваяПервая 1234567 ... ПоследняяПоследняя

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

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

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

Ваши права

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