Chief-NET

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Chief-NET » Программирование » AddIntroGen


AddIntroGen

Сообщений 1 страница 20 из 99

1

Запилил на днях чудо-юдо программулину, активно использующую плоды наших пиратских хакеров на сегу мегу.

http://chief-net.ru/images/ostalnoe/addintrogen.png

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

Программа пока работает с очень небольшим количеством ромов. У меня ромов мало, всего штук 40, а качать я не могу. Поэтому полного списка поддерживаемых ромов нет пока.

В идеале, работать будет почти со всеми, но нужно найти в каждом роме поинтер и ввести в программу его адрес. А я это не умею. Может, найдётся тут умелец, который мне объяснит как это делается? ;о) Взять какой-то ром, в котором поинтер находится не в h05, найти где он находится на самом деле и сказать как это делается ;о)))

Из имеющихся у меня ромов сразу и вообще без лишних телодвижений стартуют эти:

Aero the Acro-Bat (U) [c][!].gen
Awesome Possum (UJE) [!].bin
Daikoukai Jidai II (J) [T+Chi].gen
Fatal Labyrinth (JU) [!].bin
Scooby Doo Mystery (U) [!].gen
Sonic and Knuckles (JUE) [h1].bin
Spiderman and Venom in Separation Anxiety (F) [!].bin
Sylvester and Tweety in Cagey Capers (UEJ) [!].bin
Uncharted_Waters_2_-_New_Horizons_(U)_[!].bin
Zero the Kamikaze Squirrel (E).bin

Ссыль на программу: AddIntroGen version 1.0

Отредактировано Guyver (2014-02-25 18:45:47)

2

Научился работать с сеговской палитрой. Уже могу её читать и писать в ром. Но только пока не могу понять, ск-ко байт занимает вся палитра картинки в роме. Может, кто знает? Допустим у моей картинки, которую я вставил в ром. Где именно палитра начинается и где кончается...

Отредактировано Guyver (2014-02-25 18:47:33)

3

По моим подсчётам, в моей палитре 128-131 знаков (каждый знак - 2 байта). Это нормально? Есть точное число?

Отредактировано Guyver (2014-02-24 17:06:40)

4

Фуу-ух. Наконец-то разобрался с палитрой. Теперь можно её менять в заставке. Но пока только 16 ячеек палитры. Позже сделаю переключение ячеек. Всего их 128 примерно. осталось разобраться с точным количеством ячеек... Пока не знаю как...

Правда, при сохранении некоторых цветов пока есть ошибки, но я это поправлю, надеюсь...

Отредактировано Guyver (2014-02-25 19:58:56)

5

Так разве тебе поинтеры не те нужны, которые в самом начале рома?(вектора) Они указывают откуда программа стартует  и прерывания.
Только они 4х байтные и от пятого байта считать неправильно. Насколько помню первые 4 байта это стек, 2 четыре откуда программа стартует (и это абсолютный адрес). Есть еще важный вектор кадровых прерываний (непомню какой он по счету) и скорее всего если что-то не запускается, то из-за него. По идее там тоже надо дописывать программу и условие выполнения ставить. Хотя я не проверял, может у тебя так и сделано.

6

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

7

Программу обновил и перезалил в первом сообщении. Всё, осталось разобраться с конвертацией bmp в сеговский формат. У кого есть наработки? ;о)

Мой логотип размером 320 * 216

В архиве бинарный файл с логотипом, палитра тайллейерпро и бмп файл.

Скачать логотип...

Тяжело мне будет импортировать изображение в сеговский формат, ох тяжело ;о)  Можно без палитры, её я потом могу менять программой... Пока копаю в эту сторону, но результата ещё нет...

Отредактировано Guyver (2014-03-02 10:02:13)

8

Программа же не поддерживает формат smd.
Думаю, чтобы корректно работала со всеми играми, надо в своём коде, в конце сделать прыжок на тот адрес, который был в оригинале рома, а не на $206, так как у некотоых игр он отличается.

9

Программу обновил и перезалил в первом сообщении. Всё, осталось разобраться с конвертацией bmp в сеговский формат. У кого есть наработки? ;о)

На romhacking.net должны быть программы для конвертирования бмп в сеговский формат.
Есть программа ImaGenesis, которая может конвертировать бмп.
MapImage тоже может.
Можно использовать два слоя и тогда можно будет увеличить количество цветов до 31.

10

Про названия прог спасибо, гляну...

11

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

П.С. добавил поддержку ещё примерно 10% из тех ромов, что не работали. Но некоторые не стартуют вообще, хотя вроде поинтер верный. Дюна, к примеру...

Прогу перезалил.

П.С. Где можно почитать про формат smd?

Отредактировано Guyver (2014-03-02 17:58:23)

12

ImaGenesis написана в визуалбейсике, *"№кий визуалбейсик. Нихрена не работают написанные на нём проги. Вечно пользователям какого-то хрена приходится самим по коду ошибки искать в интернете какие-то библиотеки. В моём случае я её нашёл, но она не регистрируется. Создатели ВБ точно будут гореть в АДУ!!! :angry:

Отредактировано Guyver (2014-03-02 18:50:16)

13

П.С. добавил поддержку ещё примерно 10% из тех ромов, что не работали. Но некоторые не стартуют вообще, хотя вроде поинтер верный. Дюна, к примеру...

У тебя в коде есть такая проверка BTST D0,(A1)
                                                     BNE ....
Регистры находятся в таком состоянии D0 = 0, A1 = 0.
Т.е. идёт проверка 0-го бита в байте по адресу 0. Если он не равен нулю, то идёт переход на BTST D0,(A1). И это будет продолжаться, пока не изменится содержимое по адресу 0. В дюне по этому адресу записан байт FF. Естественно он никогда не изменится. Вот и происходит зависание. Выход изменить байт FF на 00. Либо убрать эту проверку.

14

ImaGenesis написана в визуалбейсике, *"№кий визуалбейсик. Нихрена не работают написанные на нём проги. Вечно пользователям какого-то хрена приходится самим по коду ошибки искать в интернете какие-то библиотеки. В моём случае я её нашёл, но она не регистрируется. Создатели ВБ точно будут гореть в АДУ!!! :angry:

Ты, наверно, ImaGenesis3000 скачал. Попробуй ImaGenesis4000 скачай. ImaGenesis 4000 Beta

15

пасибки!

16

А если я буду менять первые четыре байта (стек), точнее первый байт стека, чем это грозит при эмуляции?

Отредактировано Guyver (2014-03-03 10:21:11)

17

А если я буду менять первые четыре байта (стек), точнее первый байт стека, чем это грозит при эмуляции?

По идее ничем. Эмулятор игнорирует первые байт.

18

Ну, теперь вроде всё ОК. Можно в ромы вставлять даже хоть 10 заставок, следовать будут одна за другой. Доделаю импорт графики - и всё...

Ну почти всё ;о) В исходном коде пираты какую-то ошибку допустили, и при отображении картинки отображается не 320 * 224 картинка, а несколько нижних тайлов не отображается.

В итоге моя заставка сделана как 320 * 216. Надо бы как-то поправить это положение... В последней версии я сделал картинку 320 * 224, но весь нижний ряд нарисован цветом фона. Иначе видно, что половина самой нижней строки не видна... Вот такие пироги...

Отредактировано Guyver (2014-03-03 17:52:48)

19

Вот какой баг, 8 тайлов не влезает:

http://chief-net.ru/images/ostalnoe/addintrogenbug.png

Маратыч, хелп! На тебя одна надежда...

Прикладываю псевдо-dll, там палитра как нужно, сразу виден косяк...

Скачать

Отредактировано Guyver (2014-03-03 18:29:29)

20

Посмотрю. Найдём выход. ;)


Вы здесь » Chief-NET » Программирование » AddIntroGen