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

User Tag List

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

Тема: Edge Grinder для ZS GMX

  1. #1
    Master
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    833
    Спасибо Благодарностей отдано 
    240
    Спасибо Благодарностей получено 
    277
    Поблагодарили
    154 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Edge Grinder для ZS GMX

    Edge Grinder - игра для Commodore C64,
    есть порты на Amstrad CPC 128, Evo Base conf, Evo TS conf.

    Решил сделать порт на ZS Scorpion GMX.
    Потому что:
    - не во что играть
    - игра почти полностью подходит по системным требованиям
    - можно использовать интересный ход как на Evo: область пикселей заполняется вертикальными полосами,
    а потом меняется только область атрибутов, что экономит такты
    - интересно посмотреть, как Z80 будет справляться с экраном 16К байт
    - интересно проверить свои силы и заодно освоить ассемблер sjasm

    Портирование производилось методом правки исходников для Amstrad CPC 128, то есть это порт порта.
    Поскольку как программист я не программист, наверное, мой код можно оптимизировать раза в два.
    Свои правки я старался отмечать комментариями на русском.

    Что получилось:
    - Графика сконвертирована в 8 цветов
    - Музыка на таблице частот от MSX
    - Работает в режиме 7Мгц
    - Работает с двумя экранами
    - Выжимает 16 кадров/сек
    - Скрол побайтно, то есть по два "пикселя" за раз
    - Память: слот 0 - основной код и музыка, 1- Загрузчик и доп. код, 2 - Страницы доп. кода и графика, 3- Экраны
    - Вся карта перед началом игры отрисовывается в память, для скорости (около 30 страниц, ждать 15 секунд)

    Подробнее:

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

    На сайте конкурса есть исходники для Commodore и Amstrad.
    http://formatwar.net/view_article.ph...llabortition_1
    Доступны через веб-архив (в архиве выбрать дату 2011.12.06.)

    Commodore C64:
    - есть исходники
    - но незнакомый мне процессор и ассемблер

    Evo Base conf:
    - похожий экран, но другая структура
    - используются все 4 окна памяти (а в GMX есть только 2.5 окна)
    - нет исходников

    Amstrad CPC 128:
    - тот же процессор Z80
    - похожий графический режим, но другая структура. Видео режим Amstrad 160*200 точек похож на 640*200 "с полосками" на GMX, но 16 цветов из палитры 27 и есть аппаратный горизонтальный скрол, а в GMX только вертикальный
    - похожее переключение банков памяти (но используется в основном окно #4000)
    - тот же музыкальный чип AY8912

    Подготовка порта на ZS GMX.
    Задачи портирования:
    - Определить с какой машины проще сделать порт (c Amstrad, есть исходники и похожа архитектура)
    - Найти исходники (в веб архиве)
    - Определить на каком ассемблере написаны (встроен в эмулятор WinAPE20B2)
    - Попробовать собрать и запустить в эмуляторе (успешно, пришлось ещё скачать код плеера)
    - Скопировать файлы на ZX (подошёл SteinBlume. CP/M Disk Image Explorer)
    - Поправить исходный текст для sjasm

    Адаптировать:
    - Загрузчик
    - Переключение страниц и расположение кода в памяти
    - Вывод на экран
    - Графику
    - Опрос клавиатуры и джоев
    - Прерывания
    - Плеер музыки

    Трудности перевода:
    - Так как используется страница 0 вместо ПЗУ, в sjasm не создать снимок SNA для быстрой проверки (или я не знаю как), но можно создать диск TRD и автоматом грузиться с него
    - На реальном железе теневой монитор не работает со страницей 0 вместо ПЗУ и с расширенными экранами, поэтому не отладить код
    - Нет аппаратного горизонтального скрола как в Amstrad.
    Вывод фона 160*78 байт по ldir занимает больше всего времени. Удалось немного ускорить вывод за счёт перехода на ldi.
    Но всё равно игра движется медленнее оригинала. Хотя, мне это даже нравится.
    Очевидно, можно ещё значительно ускорить.
    Но правильнее будет для ZS адаптировать игры с вертикальным скролом.
    [свернуть]


    Спасибо авторам игры и всем причастным, спасибо за исходный код.

    Похоже, это первая игра в истории для расширенного экрана ZS!

    Нажмите на изображение для увеличения. 

Название:	EGGMX.png 
Просмотров:	341 
Размер:	15.7 Кб 
ID:	75796

    Игра:
    EGGMX_20210707.ZIP

    Эмулятор (F3 для выбора дискетки):
    https://cloud.mail.ru/public/UbmH/dqVvcRWzm

    Исходники и новые версии здесь:
    https://cloud.mail.ru/public/XwnA/Wnii3D4Hj

    Копия:
    https://drive.google.com/drive/folde...2I?usp=sharing

    Видео:
    Последний раз редактировалось izzx; 25.09.2021 в 21:16.

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


    https://drive.google.com/drive/folde...xZ83juCuaBe32I

    Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
    Leningrad 1/Sega Joy Adapter
    DivGMX
    ZX Spectrum +2A
    ZX Evolution rev. C

    TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
    [свернуть]

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

    Cooper (18.08.2021), Digitizer (03.08.2021), Evgeny Muchkin (09.07.2021), Grand (18.07.2021), Lethargeek (07.07.2021), OMu4 (16.07.2021), shadwork (07.07.2021), USERHOME (07.11.2021), Uzix (07.07.2021), Максагор (18.08.2021)

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

  4. #2
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,579
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    277
    Спасибо Благодарностей получено 
    234
    Поблагодарили
    183 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    сужу только по скрину, но амстрад удалось превзойти, по крайней мере, по вырвиглазию
    подобрать погармоничнее сочетания цветов не пытался?
    ну там, блики ярко-белым вместо мыльного серого
    меньше воспалённой мадженты
    объёма больше
    Прихожу без разрешения, сею смерть и разрушение...

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

    izzx (16.07.2021)

  6. #3
    Master
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    833
    Спасибо Благодарностей отдано 
    240
    Спасибо Благодарностей получено 
    277
    Поблагодарили
    154 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    сужу только по скрину, но амстрад удалось превзойти, по крайней мере, по вырвиглазию
    подобрать погармоничнее сочетания цветов не пытался?
    ну там, блики ярко-белым вместо мыльного серого
    меньше воспалённой мадженты
    объёма больше
    Честно говоря, цвета получились немного не такие, как я сам ожидал. Но на оригинал в целом похоже ). Да и мне примелькались. В принципе можно подправить конвертер, только с повышенной яркостью вряд ли выйдет нормально.

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


    https://drive.google.com/drive/folde...xZ83juCuaBe32I

    Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
    Leningrad 1/Sega Joy Adapter
    DivGMX
    ZX Spectrum +2A
    ZX Evolution rev. C

    TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
    [свернуть]

  7. #4
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,579
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    277
    Спасибо Благодарностей получено 
    234
    Поблагодарили
    183 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от izzx Посмотреть сообщение
    В принципе можно подправить конвертер, только с повышенной яркостью вряд ли выйдет нормально.
    так ведь надо "после сборки обработать напильником" (c)

    вот пример годного мультиколора спрайтов сайдскроллера:
    https://spectrumcomputing.co.uk/entr...rum/Stormfinch

    но уважение за труд в любом случае
    это же вообще первая динамичная игрушка для GMX?
    Прихожу без разрешения, сею смерть и разрушение...

  8. #5
    Master
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    833
    Спасибо Благодарностей отдано 
    240
    Спасибо Благодарностей получено 
    277
    Поблагодарили
    154 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    это же вообще первая динамичная игрушка для GMX?
    Я думаю вообще первая.

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


    https://drive.google.com/drive/folde...xZ83juCuaBe32I

    Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
    Leningrad 1/Sega Joy Adapter
    DivGMX
    ZX Spectrum +2A
    ZX Evolution rev. C

    TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
    [свернуть]

  9. #6
    Master
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    833
    Спасибо Благодарностей отдано 
    240
    Спасибо Благодарностей получено 
    277
    Поблагодарили
    154 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Теоретически, можно сделать скроллинг по одному пикселю, а не по два. Причём это не скажется на скорости игры. Просто отрисовать карту ещё раз, но со сдвигом. Памяти хватит. Только время загрузки игры увеличится в два раза. Сомневаюсь стоит ли.

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


    https://drive.google.com/drive/folde...xZ83juCuaBe32I

    Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
    Leningrad 1/Sega Joy Adapter
    DivGMX
    ZX Spectrum +2A
    ZX Evolution rev. C

    TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
    [свернуть]

  10. #7
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,579
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    277
    Спасибо Благодарностей получено 
    234
    Поблагодарили
    183 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #8
    Guru
    Регистрация
    16.11.2005
    Адрес
    Санкт-Петербург
    Сообщений
    2,893
    Спасибо Благодарностей отдано 
    1,127
    Спасибо Благодарностей получено 
    343
    Поблагодарили
    190 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от izzx Посмотреть сообщение
    Сомневаюсь стоит ли.
    А почему нет

    Цитата Сообщение от izzx Посмотреть сообщение
    Я думаю вообще первая.
    Ес!

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    "после сборки обработать напильником"
    То же самое на ум пришло

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    погармоничнее сочетания цветов
    Да, особенно в интре.


    Немного непривычно играть без звуков пальбы и взрывов. Но все равно очень круто!


    izzx, Спасибо!

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

    Ура, я 'MEGA HERO'!

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

    izzx (16.07.2021)

  13. #9
    Master
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    833
    Спасибо Благодарностей отдано 
    240
    Спасибо Благодарностей получено 
    277
    Поблагодарили
    154 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Согласен, цвета надо поправить. Хотя бы точнее по отношению к оригиналу. Но только править каждый спрайт нет возможности, это же надо иметь редактор. Да и способности надо иметь. А у меня автоматом всё конвертируется. Только палитру можно менять.

    Цитата Сообщение от Evgeny Muchkin Посмотреть сообщение
    Немного непривычно играть без звуков пальбы и взрывов.
    В оригинале без звуков ). Была мысль сделать звуки для GS, но это долгая история.

    Ну ещё скрол по пикселям бы сделать.

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


    https://drive.google.com/drive/folde...xZ83juCuaBe32I

    Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
    Leningrad 1/Sega Joy Adapter
    DivGMX
    ZX Spectrum +2A
    ZX Evolution rev. C

    TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
    [свернуть]

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

    Evgeny Muchkin (16.07.2021)

  15. #10
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А можно запилить видео прохождения (ну, в смысле, работы движка) на ютуб, например? А то без GMX и не посмотреть ))
    Кстати, в списке схожих тем (внизу) выдало вот это https://zx-pk.ru/threads/28459-v-raz...e-grinder.html
    Но там всего один пост с анонсом и на этом все. Хотя, походив по ссылкам, можно понять, что выходила версия под ZX Evo.
    А вот для обычного Спека так и не понял, вышла или нет.

    Теперь понял, для чего был вопрос о процедуре перехода вниз на строку GMX =) Полагаю, именно для этой игрухи.
    Если у автора будет желание оптимизировать код или еще как-то улучшить игру - стоит сказать об этом здесь.
    Конечно, не обладая девайсом, желающие помочь проверить работу не смогут, но для процедурной оптимизации это и не нужно.

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

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

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

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

Похожие темы

  1. EYEACHE2 и Across The Edge на GMX
    от Evgeny Muchkin в разделе Демо
    Ответов: 1
    Последнее: 12.08.2019, 21:23
  2. Ответов: 0
    Последнее: 24.11.2017, 03:24
  3. ZX BUS EDGE!
    от ZXFanat в разделе Устройства ввода
    Ответов: 10
    Последнее: 15.07.2013, 19:16

Ваши права

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