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

User Tag List

Страница 5 из 15 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 147

Тема: Портированные игры

  1. #41
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    так что если есть желающие - могу поделиться тем что наработалось
    вдруг совместными усилиями что-то и полчиться
    Мне интересны разобранные исходники игры. Хочу сделать порт на профи.

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

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  2. #42
    Tim0xA
    Гость

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    у меня запал уже спал, так что моя активность будет очень маленькой
    и в любом случае она бы меня интересовала в контексте Корвета
    У меня на сайте в разделе "Рекомпиляции" есть игра "Driller Tank" с иходниками для Корвета. Желающим это может помочь в адаптации "Парк"-а и ускорит работу в разы.

  3. #43
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    продолжаю про парк ...

    Сегодня сгенерил и поправил асм
    т.е. в ром для MSX можно скомпилить

    скомпилил его sjasmplus - заработало
    вставил в начале кучку db, скомпилил - заработало
    выкучил кучу db (всякие там фонты и прочее) и перенес в конец, скомпилил - заработало

    вставил в начале области данных кучку db, скомпилил - заработало

    конечно не все тестил, но стартует, музыку играет, начальные уровни работают

    правда еще есть непонятности с самим sjasmplus
    область данных там вся ds
    а он ее добавляет 0 к бинарнику

    ---------- Post added at 15:26 ---------- Previous post was at 15:21 ----------

    Цитата Сообщение от Tim0xA Посмотреть сообщение
    У меня на сайте в разделе "Рекомпиляции" есть игра "Driller Tank" с иходниками для Корвета. Желающим это может помочь в адаптации "Парк"-а и ускорит работу в разы.
    спасибо, это видел, музику посмотрю

    а с экраном явно очень простые
    гораздо интереснее в корветовских ITAExpress & Pacman
    там хитрый вывод, 3 типа символов, с разным типом заполнения

    и вывод спрайтов в pacman достаточно приличный есть
    (целых 6 спрайтов, там кстати расспаковыные спрайты занимают 24к)
    и там по 4 сдвига каждого а не по 8

  4. #44
    Tim0xA
    Гость

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    Сегодня сгенерил и поправил асм
    т.е. в ром для MSX можно скомпилить
    То, что ром не работает в MSX - так и должно быть. Т.к. для бОльшего быстродействия при замене команд Z80 я специально использую модифицирующийся код. А так как в MSX игра запускается с картриджа (фактически ПЗУ), то разумеется, что модификация кода там не происходит, отсюда и глюки. В эмуляторе b2m есть возможность запустить ром в области ОЗУ (я чуть ранее давал правку конфига), поэтому именно он используется для отладки.

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

  5. #45
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Tim0xA Посмотреть сообщение
    Кроме этого, все процедуры оптимизированы по быстродействию с учетом того, что на Векторе команды выполняются за количество тактов кратное 4-м. Т.е., например, при рекомпиляции в зависимости от количества итераций цикл может автоматически развернуться или нет. Поэтому при переносе на другую платформу, это тоже нужно учитывать, т.к. то, что хорошо для Вектора, не обязательно будет лучшим выбором для другой платформы.
    А вообще, по моему скромному разумению, программирование Вектора - есть перманентный акт великого шаманства. Даже Michael Abrash с его Graphics Programming Black Book и извратами с кодом для Кваки рядом в изощрениях не стоит. Вектор - это такая удивительная платформа, где "ничего нельзя, но если очень хочется, то - можно". Сколько под него программаю, и это ощущение не проходит.

  6. #46
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Tim0xA Посмотреть сообщение
    То, что ром не работает в MSX - так и должно быть. Т.к. для бОльшего быстродействия при замене команд Z80 я специально использую модифицирующийся код.
    я наверное не совсем точно выразился
    я разобрал ОРИГИНАЛЬНУЮ MSX ROM версию парка
    Ваш исходник был точкой отсчета так сказать
    из него перенес метки и структуру (то что перенеслось)

    после этого ручками в IDA разбирал что и как
    и вот этот исходник из IDA я и скомпилил сегодня

    а по поводу "поправил" эт скорее про другое
    например в IDA у меня отдельный сегмет для MSX VRAM
    с метками для каждой строки, каждого символа PGT & PGC
    там метки вид
    LD DE,PGC3_12
    LD DE,VL13+12h

    их и преобразовал в константы вида

    LD DE,PGC3+(12*8)
    LD DE,VLINE+(13*32)

    теперь надо отдельно делать Z80->i8080
    но есть идея как СИЛЬНО облегчить себе жизнь
    LST файл должен очень помочь

    а то что писал выше - тесты что похоже оно более мение нормально дизассемблировалось ибо сдвиг кода/данных на вид не влияет на работоспособность

    Цитата Сообщение от Tim0xA Посмотреть сообщение
    Кроме этого, все процедуры оптимизированы по быстродействию с учетом того, что на Векторе команды выполняются за количество тактов кратное 4-м. Т.е., например, при рекомпиляции в зависимости от количества итераций цикл может автоматически развернуться или нет. Поэтому при переносе на другую платформу, это тоже нужно учитывать, т.к. то, что хорошо для Вектора, не обязательно будет лучшим выбором для другой платформы.
    крутотень редкая
    буду поглядывать в Ваш исходник, аж интересно стало

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

  8. #47
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    получается таки по LST файлу детектить z80 инструкции

    вот статистика по park
    это сколько раз встречается в исходнике

    уже заменил
    jr -> jp
    djnz -> dec b;jp nz
    ldir -> call _ldir_
    все работает

    Код:
    [["jr", 372],
     ["djnz", 42],
     ["ldir", 15],
    
    
     ["bit", 54],
     ["ld", 43],
     ["set", 7],
     ["res", 6],
     ["rr", 6],
     ["out", 5],
     ["dec", 4],
     ["neg", 4],
     ["exx", 4],
     ["sbc", 2],
     ["reti", 2],
     ["pop", 2],
     ["add", 2],
     ["inc", 1],
     ["rl", 1],
     ["im", 1],
     ["push", 1],
     ["cp", 1]]
    причем работа с IX похоже только в муз плеере

    bit - надо менять более обдуманно, сохранять A нужно делеко не всегда

    в общем работа ползет потрошку

  9. #48
    Tim0xA
    Гость

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    я разобрал ОРИГИНАЛЬНУЮ MSX ROM версию парка
    Теперь ясно. Тогда может будет интересно посмотреть, прилагаю свой дизассемблерный Z80 код.
    Вложения Вложения

  10. #49
    Junior Аватар для TAL
    Регистрация
    01.03.2010
    Адрес
    Харьков
    Сообщений
    18
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А не лучше ли будет написать что то свое похожее, чем разгребать чужой код? Да и графику можно оптимизировать для использования всех возможностей Вектора.

  11. #50
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TAL Посмотреть сообщение
    А не лучше ли будет написать что то свое похожее, чем разгребать чужой код? Да и графику можно оптимизировать для использования всех возможностей Вектора.
    возможно, но, графику в MSX играх можно оптимизировать и так достаточно не сложно

    там графика отдельный граф процессор
    и обращение к нему четко известны, и понятно как оптимизировать

    в свое время на корвете (и на векторе тоже вроде)
    хорошие порты ямаховских игр задали планку качества
    и на корвете до них мало кто смог дотянуться
    на векторе вроде с этим получше, но все равно - порты это пример

    а вообше игровая механика - штука тонкая
    например в pacman фирменном каждый соперник имеет свою логику
    и даже есть целые стратегии как уходить от каждого из них
    есть ОГРОМНЫЙ документ с описанием
    кстати к сожалению на корвете/векторе цвета убили при портировании

Страница 5 из 15 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. игры про ВОВ
    от White_Hunter в разделе Игры
    Ответов: 27
    Последнее: 26.12.2008, 13:18
  2. Игры 48K c AY
    от Zloy в разделе Игры
    Ответов: 20
    Последнее: 08.09.2008, 21:01
  3. ищу игры
    от ZEman в разделе Игры
    Ответов: 10
    Последнее: 11.08.2008, 18:49
  4. 2 игры
    от ZEman в разделе Игры
    Ответов: 12
    Последнее: 07.06.2007, 15:59
  5. Критика на ZX игры
    от TomCaT в разделе Игры
    Ответов: 24
    Последнее: 09.11.2006, 10:34

Ваши права

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