Спасибо, не надо. Я все таки буду работать с 8086 версией. Её все равно надо серьезно переписывать под новый видео-адаптер, поэтому я перепишу её полностью.
Я японскую версию дальше интро не смотрел, но уже есть полезные наблюдения. В 8086-версии вместо половины слайдов интро показывается послание от горе хакеров. Надо будет поискать полноценную английскую версию или найти переводчика с японского, что бы восставновить полноценное интро.
8086 версия сделана с возможностью подключать драйвера различных видеоплат: CGA, TGA, Hercules, EGA, VGA. И это очень удобно. Код непосредственно работающий с видеоплатой вынесен в файлы: gmmcga.bin, gtmcga.bin, gfmcga.bin (для других видеоадаптеров используются другие файлы). Эти файлы надо переписывать на 100%, но и остальные файлы игры так же надо править. Я буду уменьшать графику на 75%. (Тайл с 8 до 6 пикселей). И добавлять аппартный скролл вместо постоянной перерисовки карты. Апогей со своим процессором 8080 просто не успеет перерисовывать весь экран 50 раз в секунду.
---------- Post added at 20:25 ---------- Previous post was at 19:39 ----------
Тема внезапно перенеслась из Флейма и раз такое дело, я начну скидывать сюда факты.
Игра Zeliard разбита на множество файлов. Большинство файлов хранятся в сжатом виде в ресурсных файлах. Три ресурсных файла ZELRES1.SAR, ZELRES2.SAR, ZELRES3.SAR. Каждый по 360 Кб, под размер дискеты. В эти файлы упаковано около 200 файлов игры.
И несколько файлов хранятся в виде отдельных файлов:
Файл ZELIARD.EXE выполняет парсинг файла RESOURCE.CFG (в котором указаны используемые драйвера), загружает драйвера в память, выполняет инициализацию видео (да, именно zeliard.exe, а не файл драйвера), устанавливает видео-палитру, устанавливает обработчики прерываний, загружает файлы stick.bin, game.bin, stdply.bin и запускает загруженный файл game.bin. Обращу внимание, что ни один файл игры не обращается к файлу Zeliard.exe, т.е. кроме инициализации он ничего не делает. И нам он совсем не нужен.
Еще есть файлы с кодом игры STICK.BIN и GAME.BIN. Файл STICK.BIN загружается по адресу 0:100. Он содержит много всяких функций, но главное, это функции загрузки файлов упакованных в ресурсные файлы. Этот файл всегда находится в памяти. Файл GAME.BIN загружаются по адресу 0:A000 и содержит функции инициализации игры. Объем файла всего 1 Кб. Во время работы игры этот файл будет замещен другими файлами.
Файл начального состояния игры STDPLY.BIN. Загружается по адресу 0:0. Это файл идентичен файлу сохранения.
Драйверы видео: GMCGA.BIN, GMEGA.BIN, GMHGC.BIN, GMMCGA.BIN, GMTGA.BIN. Один из этих файлов загружается по адресу 0:2000. Эти файлы содержат функции рисования общие для всей игры.
Драйверы музыки: MSCADLIB.DRV, MSCJR.DRV, MSCMT.DRV, MSCSTD.DRV. Один из них загружаются по адресу 1:100. Драйвер проигрывает музыкальный файл загруженный по адресу 1:3000. Скорее всего запуск и остановка воспроизведения повешена на 60h и 61h прерывание.
Драйверы звуковых эффектов: SNDADLIB.DRV, SNDJR.DRV, SNDSTD.DRV. Загружаются по адресу 1:1100. Драйвер висит на прерывании таймера и реагирует на несколько переменных. Главная из них по адресу 1:75. Если туда записать число, то драйвер воспроизведет соответствующий числу звуковой эффект.




Ответить с цитированием