User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 22

Тема: Нубские вопросы программирования для БК-0010

  1. #11

    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    600
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    А Elite в БК влезет? Имею в виду в 128 килобайтную бэкашку естественно
    Раумеется, влезет. Просто писать её некому. Все, кто может, и так заняты.

    Марио, кстати, тоже должен влезть. Он же без скролла.

  2. #12

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Почитал как-говорится "инструкцию": http://www.emuverse.ru/wiki/%D0%91%D...B5%D0%BB%D1%8F
    Стало немного более понятно. Клавиатура вообщем отлавливается таким образом.
    Код:
    	bic	#^B01000000, @#177660	; allow keyboard interrupt
    	mov	#KbdInt, @#60
    ...
    KbdInt:	mov	R0, -(SP)
    	mov	@#177662, R0
    	mov	R0, KeyCurrent
    ...
    Непонятно конечно как понять "отжатие" клавиши, но пока мне это не требуется.

    Теперь разборки с таймером чтобы синхронизировать игрушку на 50фпс (а то слишком быстро шпарит)
    Вот тут похоже самое непростое.

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

    Нашел про таймер. https://code.google.com/archive/p/bk...kis/Timer.wiki
    Но как-говорится "смотришь в книгу видишь фигу". Сколько он должен отсчитать для 50фпс? Что это за Ft = Fosc? Мегагерцы процессора (3-4?)
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  3. #13

    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    600
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вектор прерывания лучше ставить до его разрешения А то вдруг кто-то успел нажать кнопку. Как только ты разрешишь прерывания, оно и случится.

    Отжатие проверяется через bit #100, @#177716. Таймер считает один тик на 128 тактов процессора. Т.е. те самые 3 или 4. Можно включить дополнительные делители.

    Количество тиков на кадр можно определить простым делением, но я опять напоминаю, что у БК длительность кадра -- 20,48 мс, а не ровно 20.

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

    Кстати, можно писать прямо так:

    Код:
    KbdInt: mov @#177662, KeyCurrent
    Это же не x86...
    Последний раз редактировалось Sandro; 16.07.2023 в 21:23.

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

    BlaireCas(17.07.2023)

  4. #14

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    напоминаю, что у БК длительность кадра -- 20,48 мс, а не ровно 20
    А это знать, в общем-то, ни к чему. Достаточно знать количество тактов на кадр: 192 такта в строке (для 3мгц), 320 строк. Отсюда и пляшем, программируя таймер. Manwe когда-то приводил выкладки с нужными значениями для регистров таймера, только не помню, тут или в БК-группе телеги.

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

    BlaireCas(17.07.2023)

  5. #15

    Регистрация
    18.01.2021
    Адрес
    п. Новый Ургал
    Сообщений
    145
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Теперь разборки с таймером чтобы синхронизировать игрушку на 50фпс (а то слишком быстро шпарит)
    Вот тут похоже самое непростое.
    перед началом очередного цикла игры:


    Код:
                  mov  #40000,@#177706  ;начальное значение счетчика от балды
    mloop:        mov  #20,@#177712     ;вкл счета от 40000 до нуля
    
          . .....                       ;тут делаем все, что надо для одного кадра игры
    
    1w:           cmp  @#177710,#36000  ;смотрим, сколько осталось от 40000
                  bgt  1w               ;к примеру, ждем пока не останется 36000
                  jmp  @#mloop
    Остается подобрать значение вместо 36000, которое устроит тебя по скорости игры.
    Последний раз редактировалось grf; 17.07.2023 в 09:08.
    Блог проекта "The Goonies для БК11М"
    БК-0011М, БК-0011М-01, SMK-512, AZ

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

    BlaireCas(17.07.2023)

  6. #16

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всем помогавшим большое спасибо. Получилось сделать/перенести примитивную игрушку.
    Сделано неоптимально (вместо вывода по словам, выводил тайлы по байтам ну и прочий кривой код).

    Со звуком морочаться не стал. Непросто как-то хотя вроде и бипер-бипером.

    Проапдейтил первый пост, бинарник там.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

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

    Oleg N. Cher(28.08.2023), reddie(17.07.2023), Sandro(24.07.2023)

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

  8. #17

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

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Бинарник игры: Вложение 79202
    .
    Вложение не существует или не указан идентификатор (номер). Если вы уверены, что использовали правильную ссылку, свяжитесь с администрацией
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

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

    BlaireCas(18.07.2023)

  9. #18

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Вложение не существует
    Ухты, не заметил как сломалось вложение (возможно CloudFlare этот иной раз бывают косяки с ним когда долго редактируешь пост)
    Закинул еще раз.

    UPD: Добавил несколько позорненьких звуков (но с ними веселей). Также выложил исходник (с кривыми кодами
    Последний раз редактировалось BlaireCas; 19.07.2023 в 09:54.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  10. #19

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

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Закинул еще раз.
    Для One Day Programming - хорошо. Если бы ещё графику взять из Bolder Dash 3 - была бы вообще топ.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  11. #20

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    графику взять из Bolder Dash 3
    А где его взять как-бы? Если там 16х16 - почему-бы и не добавить набор тайлов.
    Все-равно там еще править надо инициализацию скроллинга экрана, а то на 40000 не устанавливаю начало.

    UPD: нашел некий болдер разноцветный, подрихтовал тайлы, добавил (переключаются по кнопке 1 между моими/марио/болдер)
    Последний раз редактировалось BlaireCas; 19.07.2023 в 14:51.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

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

    CodeMaster(19.07.2023)

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. БК-0010. Вопросы новичка. FAQ
    от Ewgeny7 в разделе БК-0010/0011
    Ответов: 406
    Последнее: 04.12.2025, 08:32
  2. Нубские вопросы по копированию программ на PC
    от Pushkarev в разделе Для начинающих
    Ответов: 8
    Последнее: 05.11.2019, 21:22
  3. Специалист: Вопросы программирования
    от hdc в разделе Специалист
    Ответов: 62
    Последнее: 19.03.2018, 16:50
  4. Ответов: 6
    Последнее: 07.02.2016, 11:55

Ваши права

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