User Tag List

Страница 9 из 35 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 445

Тема: Пишем игры под РК подобные

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    283
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    46 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ещё один глупый вопрос у меня.

    Вот я скомпилировал код, получил бинарник... А как ему заголовок и жопу для формата .rk приписать? Руками только? Может можно в коде в начале и в конце сделать что-то типа "db" с байтами заголовка? Или может просто конвертер есть?

    Пишу в этом эмуляторе: https://rk86.ru/ - он удобен т.к. доступен с разных ПК, скинул исходник себе на почту и уже к рабочему месту не привязан. Но графические режимы хочу потестить на Emu80, не могу туда файл загрузить.

    Хочу показать уже, что получается. Осталось доделать анимацию спрайтов и сами спрайты дорисовать. Будет некая графическая демка - отправная точка для понимания, всё ли я делаю правильно.

    Всех с наступающим!

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

  3. #2

    Регистрация
    01.06.2005
    Адрес
    Москва
    Сообщений
    230
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    решение от vinxru.
    создать файл "make-rka.js" с кодом:

    Код:
    //----------------------------------------------------------------------------
    // RAMFOS
    // Создание образа диска из отдельных файлов
    //
    // 2013-11-01 Разработано vinxru
    //----------------------------------------------------------------------------
    
    // Стандартная ерунда
    
    fso = new ActiveXObject("Scripting.FileSystemObject");
    function fileSize(name) { return fso.GetFile(name).Size; }
    function loadAll(name) { return fso.OpenTextFile(name, 1, false, 0).Read(fileSize(name)); } // File.LoadAll глючит 
    function save(fileName, data) { fso.CreateTextFile(fileName).Write(data); }
    src = loadAll("tbl.bin"); encode = []; decode = []; for(i=0; i<256; i++) { encode[i] = src.charAt(i); decode[src.charCodeAt(i)] = i; }
    
    // Расчет контрольной суммы файла
    
    function apogeySum(data) {
      var s = 0;
      for(var i=0; i<data.length-1; i++)
        s += decode[data.charCodeAt(i)] * 257;
      s = (s & 0xFF00) + ((s + decode[data.charCodeAt(i)]) & 0xFF);
      return (s & 0xFFFF);
    }
    
    
    start = 0x0000;
    data = loadAll("game.bin");
    crc = apogeySum(data);
    end = start+data.length-1;
    save("game.rka", encode[start>>8]+encode[start&0xFF]+encode[end>>8]+encode[end&0xFF]+data
                    +encode[0]+encode[0]+encode[0]+encode[0xE6]+encode[crc>>8]+encode[crc&0xFF]);
    запускается из под консоли без параметров -- тупо набрать make-rka.js, ентер.
    имена файлов жёстко прошиты в коде. входной файл должен иметь имя "game.bin", выходной будет создан с именем "game.rka", файл game.bin должен быть там же, где и make-rka.js.

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

    Hammer(31.12.2023)

  4. #3

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    283
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    46 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не хватает файлика tbl.bin для работы этого скрипта(

  5. #4

    Регистрация
    01.06.2005
    Адрес
    Москва
    Сообщений
    230
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ох, Лёха, Лёха.
    чот сходу не удалось переделать скрипт, чтоб ему не требовалось это недоразумение, поэтому прикрепляю tbl.bin.
    если надо, напишу на сях конвертер.

    tbl.zip

  6. #5

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,397
    Спасибо Благодарностей отдано 
    417
    Спасибо Благодарностей получено 
    668
    Поблагодарили
    262 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    Вот я скомпилировал код, получил бинарник... А как ему заголовок и жопу для формата .rk приписать?
    Проще всего использовать мою утилиту bin2tape. Поддерживает все форматы РК-подобных ПК и некоторые другие.

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

    Цитата Сообщение от Hammer Посмотреть сообщение
    https://rk86.ru/ - он поддерживает графический режим?
    А еще он не поддерживает выдачу информации об обратном ходе луча...

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

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    нужно создать два экрана по разным адресам и каждый кадр переключать контроллер пдп с одного на другой
    Vinxru делал даже проще - просто ПДП программировался на буфер удвоенной длины. В каждой половине буфера свой полукадр, и не нужно ничего переключать.

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

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    ВТ57 требуется перенастраивать, если в новом режиме отличается размер экранной области
    Как вариант, можно еще в конец экранной области занести байт F3 (End of Screen - Stop DMA). Иногда может быть полезно.

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

    Цитата Сообщение от Hammer Посмотреть сообщение
    Правильно ли будет использовать именно такой режим для современных мониторов / телевизоров?
    Не совсем. Этот режим даст параметры развертки, близкие к NTSC (около 62 Гц). Современные ТВ должны без проблем этот режим растянуть, но как-то это не аккуратно - не наш стандарт все-таки...
    Да и старое оборудование поведет себя непредсказуемо. Лучше запрограммировать на 37 строк, что, во-первых, позволит использовать бОльшее количество строк на экране (32 видимых), а во-вторых, даст практически стандартные параметры вертикальной развертки.

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

    SegaBoy(02.01.2024)

  7. #6

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Vinxru делал даже проще - просто ПДП программировался на буфер удвоенной длины. В каждой половине буфера свой полукадр, и не нужно ничего переключать.
    Точно - совсем забыл про такой "бесплатный" аппаратный даблскрин, не требующий перенастройки пдп каждый кадр.

  8. #7

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    283
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    46 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Лучше запрограммировать на 37 строк, что, во-первых, позволит использовать бОльшее количество строк на экране (32 видимых), а во-вторых, даст практически стандартные параметры вертикальной развертки.
    Т.е. я делаю 37 строк, но не смещаю указатель видеопамяти, в конце стандартной памяти ставлю F3, и получаю 32 видимых строки, из которых 30 можно использовать через стандартную память? Вроде подходит!

  9. #8

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,397
    Спасибо Благодарностей отдано 
    417
    Спасибо Благодарностей получено 
    668
    Поблагодарили
    262 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    и получаю 32 видимых строки, из которых 30 можно использовать через стандартную память
    30 не получится. В стандартном режиме из 30 могут не поместиться на экран и не используются 3 верхних и 2 нижних, остаются 25. Точно так же и здесь лучше не использовать 4 верхних, остается 26. Ну, может быть, 3, а не 4...

    Хотя иногда встречается такое: экран программируется на 37 строк, используется стандартная видеообласть, в конце пишется F3, и вывод производится стандартными средствами.
    Получаем обычные 25 строк, но смещенные в верхнюю часть экрана, плюс самая верхняя строка рискует быть слегка обрезанной на некоторых устройствах отображения.

    Еще можно поиграться с параметром Vertical Retrace Row Count, его увеличение с одновременным уменьшением количества видимых строк скорее всего сдвинет картинку вниз. Но, опять-таки, это еще больше отклоняет видеосигнал от стандарта, и нет гарантии, что такое везде будет отображаться корректно...

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

    Хотя можно еще попробовать добавить в начале коды F1 (End of Row - Stop DMA), которые вставят пустые строки и сместят картинку вниз.
    В общем, ВГ75 дает большой простор для творчества

  10. #9

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    283
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    46 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Шикарно! Всё работает, спасибо!

  11. #10

    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    206
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    29 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    То есть, для режима в 7 байт в строке нужно установить 44 строки? Тогда и получим 310 строк TV-изображения. А только адресное пространство будет ощутимо больше чем на стандартные настройки РК и переносить адрес видеопамяти все равно придется... Но, спасибо за пинок в нужную сторону.

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

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

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

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

Похожие темы

  1. Игры под Spec256
    от Spectramine в разделе Игры
    Ответов: 184
    Последнее: 24.07.2025, 13:42
  2. Игры под джойстик
    от Underground1 в разделе PC-совместимые компьютеры
    Ответов: 4
    Последнее: 21.12.2022, 20:14
  3. Игры под ZX-Poly
    от Raydac в разделе Игры
    Ответов: 21
    Последнее: 16.11.2019, 16:52
  4. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  5. хорошие игры под 48k
    от шин в разделе Игры
    Ответов: 16
    Последнее: 23.12.2007, 08:25

Ваши права

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