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

User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 49

Тема: Портирование Desolate на Вектор-06Ц

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,000
    Спасибо Благодарностей отдано 
    1,068
    Спасибо Благодарностей получено 
    1,244
    Поблагодарили
    479 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Портирование Desolate на Вектор-06Ц

    Всем доброго дня.
    Есть несколько вопросов по разработке под Вектор в 2020 году.

    1. Ассемблер.
    В примерах исходников что я нашёл везде используется tasm - есть ли версия tasm совместимая с Windows 10? или исходники чтобы её собрать?
    Какой ещё ассемблер можно использовать?

    2. Эмулятор.
    Какие эмуляторы есть, есть ли эмулятор с отладчиком?

    3. Перенос программ с процессора Z80.
    Есть какое-то руководство?
    Есть ли модификация Вектора с Z80 процессором? видимо, Вектор Турбо+ ? есть ли поддержка этого в эмуляторах?
    Видел упоминания PROGRAM RECOMPILE SYSTEM - где почитать, посмотреть?

    4. Загрузочные форматы.
    Результат компиляции для загрузки - что это должно быть? где почитать про это?
    Последний раз редактировалось nzeemin; 27.11.2020 в 17:05.

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

  3. #2
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,330
    Спасибо Благодарностей отдано 
    59
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1. Ассемблер.... есть ли версия tasm совместимая с Windows 10?
    http://old-dos.ru/dl.php?id=1926

    Видел упоминания PROGRAM RECOMPILE SYSTEM - где почитать, посмотреть?
    https://zx-pk.ru/threads/15302-korve...l=1#post916878

    Результат компиляции для загрузки
    ROM-файл, загрузка с адреса 100h.
    Последний раз редактировалось marinovsoft; 27.11.2020 в 17:17.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

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

    nzeemin (27.11.2020)

  5. #3
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,857
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,846
    Поблагодарили
    1,054 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Какой ещё ассемблер можно использовать?
    Еще есть прекрасный ассемблер svofski и он даже где-то выкладывал оффлайн версию, ссылки лучше он сам приведет

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Какие эмуляторы есть, есть ли эмулятор с отладчиком?
    Emu (b2m) - ссылка на краткое описание, там ссылка на страницу b2ma
    Virtual Vector (Ramiros)
    Emu80 (Pyk)
    Во всех перечисленных есть gui и отладчики, мне больше нравится отладчик emu, но и в других есть свои фишки, например профайлинг в VV.
    Еще есть v06x svofski, правильную ссылку лучше даст он сам. Там тоже есть фишки, например непревзойденное качество эмуляции ШИМа

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Есть ли модификация Вектора с Z80 процессором?
    Вектор турбо+ вероятно был в одном экземпляре и он не поддерживается в эмуляторах. Три основные варианта установки z80: Кишинев (с элементами эмуляции спека), Омск, Владимир. Про кишиневский еще есть тема и он поддерживается в emu. В остальных можно сказать Омск/Владимир.
    Последний раз редактировалось ivagor; 27.11.2020 в 17:26.

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

    nzeemin (27.11.2020)

  7. #4
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    800
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Еще есть прекрасный ассемблер svofski
    Онлайн он прекрасен, хоть и не идеален. Но в оффлайновой форме прекрасм вряд ли может соперничать с TASM-ом, не стоит заморачиваться.
    https://svofski.github.io/pretty-8080-assembler/

    Для создания вавов:
    https://github.com/svofski/bin2wav/

    Мой эмулятор. В нем нет ни гуя, ни отладчика (хотя он может быть gdb сервером для gdb-z80). Зато он запускается из командной строки, скриптуется и все такое.
    https://github.com/svofski/vector06sdl

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

    Цитата Сообщение от nzeemin Посмотреть сообщение
    перевод под мнемонику КР580ВМ80А
    Многие предпочитают писать под 8080 в мнемониках Z80, ничего страшного (несмотря на сотни страниц брани на форуме о том, какие мнемоники единственно верные). Может быть лучше потратить эти силы на что-то более осязаемое. У Вектора будет с чем повозиться.
    Больше игр нет

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

    nzeemin (27.11.2020)

  9. #5
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,000
    Спасибо Благодарностей отдано 
    1,068
    Спасибо Благодарностей получено 
    1,244
    Поблагодарили
    479 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня есть желание перенести игру Desolate на Вектор-06Ц - я уже практически закончил перенос на ZX Spectrum.

    https://zx-pk.ru/threads/32431-desol...i-83-plus.html
    https://github.com/nzeemin/spectrum-desolate
    Кода 7КБ, остальное это строки 5902 байт, шрифт 869 байт, описания комнат 7К, переменные + тайлы/спрайты 16300 байт, теневой экран 3312 байт, итого ~40515 байт под всё.
    Текущий код компилируется под pasmo и sjasmplus.

    Какой стратегии конвертации лучше придерживаться?
    Предполагаю сначала скомпилировать как есть тем же pasmo, затем переделка вывода на экран, переделка ввода с клавиатуры, затем видимо перевод под мнемонику КР580ВМ80А и компиляция в tasm, переделка на код для этого процессора.

  10. #6
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,000
    Спасибо Благодарностей отдано 
    1,068
    Спасибо Благодарностей получено 
    1,244
    Поблагодарили
    479 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Порадую первым скриншотом.
    Компилирую часть через tasm: код инициализации, прерывания итп., остальное через pasmo с опцией --w8080 - она даёт варнинги на команды недоступные для i8080.
    Пока ещё не всё перелопатил под i8080, самая мякотка осталась.
    Репозиторий кода: https://github.com/nzeemin/vector06c-desolate



    Есть пара вопросов:

    1. Эффективный способ развернуть биты одного байта в обратную сторону? пока вижу только вариант все сдвиги делать через аккумулятор, обмениваясь с парой регистров, громоздкий код.

    2. Нужен генератор случайных чисел, достаточно даже 8-битного. Для Спектрума использовал вариант с регистром R, тут его очевидно нет.

  11. #7
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,857
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,846
    Поблагодарили
    1,054 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    1. Эффективный способ развернуть биты одного байта в обратную сторону? пока вижу только вариант все сдвиги делать через аккумулятор, обмениваясь с парой регистров, громоздкий код.
    Смотря насколько быстро нужно разворачивать.
    Если максимально быстро, то по таблице на 256 байт.
    Если достаточно умеренной скорости (или нужно сгенерить вышеупомянутую таблицу) - исходный байт в H, сдвигаем во флаг переноса по dad h, задвигаем в аккумулятор по rar (и так 8 раз)

    Цитата Сообщение от nzeemin Посмотреть сообщение
    2. Нужен генератор случайных чисел, достаточно даже 8-битного. Для Спектрума использовал вариант с регистром R, тут его очевидно нет.
    Если устроит lfsr, то пример есть здесь. Если нужен именно 8 битный, то можно легко переделать, полиномы например здесь (а для 16 брал тут)

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

    nzeemin (28.11.2020), Oleg N. Cher (29.11.2020)

  13. #8
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,000
    Спасибо Благодарностей отдано 
    1,068
    Спасибо Благодарностей получено 
    1,244
    Поблагодарили
    479 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, прекрасный ответ, исчёрпывающе. спасибо огромное! вообще, эта часть форума мне всё больше нравится :-)

    А между тем, я получил скрин игрового экрана (над палитрой ещё буду работать конечно):


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

    Oleg N. Cher (29.11.2020), svofski (28.11.2020)

  15. #9
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,000
    Спасибо Благодарностей отдано 
    1,068
    Спасибо Благодарностей получено 
    1,244
    Поблагодарили
    479 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если устроит lfsr, то пример есть здесь. Если нужен именно 8 битный, то можно легко переделать, полиномы например здесь (а для 16 брал тут)
    Опробовал этот вариант. Не сказать что прям блестяще, но использовать вполне можно.

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


    Код:
    rnd16:
    	lxi h,65535
    	dad h
    	shld rnd16+1
    	rnc
    	mvi a,00000001b ; flipped 80h - 10000000b
    	xra l
    	mov l,a
    	mvi a,01101000b	; flipped 16h - 00010110b
    	xra h
    	mov h,a
    	shld rnd16+1
    	ret
    Код:
      ld hl,$C000
      ld bc,$1000
    Start_A:
      push bc
      push hl
      call rnd16
      ex de,hl
      pop hl
      ld a,e
      ld (hl),a
      inc hl
      ld a,d
      ld (hl),a
      inc hl
      pop bc
      dec bc
      ld a,b
      or c
      jp nz,Start_A
    [свернуть]




    - - - Updated - - -

    Но вот этот вариант выглядит получше: https://wikiti.brandonw.net/index.ph...C_16-bit_seeds

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


    Код:
    Random16:
        ld hl,(seed1)
        ld b,h
        ld c,l
        add hl,hl
        add hl,hl
        inc l
        add hl,bc
        ld (seed1),hl
        ld hl,(seed2)
        add hl,hl
        sbc a,a
        and %00101101
        xor l
        ld l,a
        ld (seed2),hl
        add hl,bc
        ret
    seed1: dw 12345
    seed2: dw 54321
    [свернуть]




    - - - Updated - - -

    В аттаче второй драфт.

    Улучшения:
    - Применять светлую/тёмную тему в зависимости от ситуации
    - Уменьшить задержки на 25-30%
    - Улучшить маппинг клавиш: АР2 escape
    - Генерация случайного числа

    Что ещё собираюсь сделать:
    - Улучшить маппинг клавиш: задублировать Look/Shoot
    - Моргать бордюром когда игрок получает урон
    - Звук "тык" при look/shoot
    - Сжатие основной части через LZSA1, распаковка

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

    crackintosh (04.12.2020), Improver (03.12.2020), ivagor (02.12.2020), KTSerg (02.12.2020), Oleg N. Cher (02.12.2020), parallelno (08.07.2022), svofski (02.12.2020)

  17. #10
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,857
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,846
    Поблагодарили
    1,054 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Не сказать что прям блестяще
    Поэтому я и написал "если устроит lfsr". Как написано по ссылке "On their own, LCGs and LFSRs don't produce great results and are generally very cyclical". В качестве rnd общего назначения lfsr не так хорош, но в некоторых случаях именно то, что нужно.

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

    nzeemin (02.12.2020)

Страница 1 из 5 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 4
    Последнее: 23.06.2016, 00:02
  2. Продам Вектор 06Ц
    от zzz в разделе Барахолка (архив)
    Ответов: 27
    Последнее: 29.04.2011, 12:20
  3. Вектор-06Ц
    от Robusta в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 17.03.2009, 23:18
  4. Вектор-06Ц: БП от PC
    от Dmitry Dubrovenko в разделе Вектор
    Ответов: 11
    Последнее: 08.03.2009, 21:53
  5. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23

Ваши права

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