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

User Tag List

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

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

  1. #1
    Activist
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    287
    Спасибо Благодарностей отдано 
    92
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    47 сообщений
    Mentioned
    0 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 
Просмотров:	264 
Размер:	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.

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

    Scorpion ZS-256 Turbo+/GMX 2MB/SMUC v1.3 Open port/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Keyboard & Mouse Controller v2.5/Universal PS/2 Keyboard Controller
    Leningrad 1/Sega Joy Adapter
    DivGMX

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

  2. Эти 9 пользователя(ей) поблагодарили 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), Uzix (07.07.2021), Максагор (18.08.2021)

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

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

    По умолчанию

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

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

    izzx (16.07.2021)

  6. #3
    Activist
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    287
    Спасибо Благодарностей отдано 
    92
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    47 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Scorpion ZS-256 Turbo+/GMX 2MB/SMUC v1.3 Open port/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Keyboard & Mouse Controller v2.5/Universal PS/2 Keyboard Controller
    Leningrad 1/Sega Joy Adapter
    DivGMX

    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,102
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    227
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    121 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  8. #5
    Activist
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    287
    Спасибо Благодарностей отдано 
    92
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    47 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Scorpion ZS-256 Turbo+/GMX 2MB/SMUC v1.3 Open port/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Keyboard & Mouse Controller v2.5/Universal PS/2 Keyboard Controller
    Leningrad 1/Sega Joy Adapter
    DivGMX

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

  9. #6
    Activist
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    287
    Спасибо Благодарностей отдано 
    92
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    47 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Scorpion ZS-256 Turbo+/GMX 2MB/SMUC v1.3 Open port/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Keyboard & Mouse Controller v2.5/Universal PS/2 Keyboard Controller
    Leningrad 1/Sega Joy Adapter
    DivGMX

    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,102
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    227
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    121 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

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

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

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

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


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


    izzx, Спасибо!

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

    Ура, я 'MEGA HERO'!
    GMX для Scorpion'а можно приобрести здесь

    Scorpion ZS-256 Turbo, GMX 2048Kb, SMUC v2.0 rev. A, SDCard 32Gb, GS 2Mb, ZXMC 2v28, TSFM,
    FDD 5'25 Teac x2, FDD 3'5 Sony, VGA&PAL v2.09, PC Keyboard & Mouse

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

    izzx (16.07.2021)

  13. #9
    Activist
    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    287
    Спасибо Благодарностей отдано 
    92
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    47 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

    Scorpion ZS-256 Turbo+/GMX 2MB/SMUC v1.3 Open port/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Keyboard & Mouse Controller v2.5/Universal PS/2 Keyboard Controller
    Leningrad 1/Sega Joy Adapter
    DivGMX

    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
    Activist
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    213
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    27
    Поблагодарили
    23 сообщений
    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

Ваши права

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