Разработка и ромхакинг > Ромхакинг и программирование
разогнал эмуль генс11а. (генсмуви)
<< < (5/6) > >>
Марат:
Кстати, Ti_, ты откуда сырцы скачал?
Ti_:

--- Цитата: Марат от 19 Октябрь 2009, 22:45:08 ---Кстати, Ti_, ты откуда сырцы скачал?

--- Конец цитаты ---
http://code.google.com/p/gens-rerecording/downloads/list
Марат:

--- Цитата: Ti_ от 19 Октябрь 2009, 22:34:27 ---не помогло . может M68K_Fetch[1].offset = (unsigned)&Ram_68k[0] - 0xE00000;
все таки FF0000 должен быть?

--- Конец цитаты ---
Вряд ли, но все равно попробуй.

Добавлено позже:
Можешь свой проект залить?

Добавлено позже:
Файл star.c ты мой использовал или в своем такие же изменения сделал?
Ti_:

--- Цитата: Марат от 19 Октябрь 2009, 23:04:53 ---Добавлено позже:
Можешь свой проект залить?

Добавлено позже:
Файл star.c ты мой использовал или в своем такие же изменения сделал?

--- Конец цитаты ---
source
его нужно распаковать в C:\gens11a\svnblah  , и чтобы скомпилить нужно вначале pwm.obj вначале комплить потом ребилд всего ост.-  если не будет компл. сейчас еще ориг. файлы выложу- все что я изменял.

я не смотрел что ты сделал в своем) я просто написал 1FFFFF везде где ram_68k

Добавлено позже:

--- Цитата: Марат от 19 Октябрь 2009, 23:04:53 ---Вряд ли, но все равно попробуй.


--- Конец цитаты ---
мошт мы видеопамять тож расширили вот и показывает непойми че
Марат:
Думаю это из-за ram, куда распаковывается графика и карты.
Ti_:
не знаю как это фиксить.  пробовал такие варианты: в стар.ц ( вместо 1FFFFF,  писать где ред 1FFFF, где врайт FFFFF, так вообще не пашет )
+пробовал разные cpu68k.c тоже не помогает.    с обычным cpu68k.c вообще не показывает графу., тоже самое случается если там сменить offset на FF0000.

Добавлено позже:

--- Цитата: Марат от 19 Октябрь 2009, 23:44:05 ---Думаю это из-за ram, куда распаковывается графика и карты.

--- Конец цитаты ---
там про нее ничего не сказано. мошт где-то что не учтено и эмуль на нее заезжает.  и туда например копирует) - раньше дублировались блоки по 65кб , а теперь по 2мб дублируются из рам в видео.
Марат:
Ti_, я три раза скачал твой архив source, но так и не смог извлеч оттуда файлы. Ты можешь только измененные файлы залить?
Ti_:

--- Цитата: Марат от 20 Октябрь 2009, 14:58:49 ---Ti_, я три раза скачал твой архив source, но так и не смог извлеч оттуда файлы. Ты можешь только измененные файлы залить?

--- Конец цитаты ---
Марат:
Ti_, там, в файле star.c, где функция "static void gen_readdecl" после метки not_in_ram
--- Код: --- emit(".Not_In_Ram\n");
emit("\tadd edx, byte 2\n");
emit("\tpush eax\n");
emit("\tpush edx\n");
emit("\tmov [__io_cycle_counter], edi\n");
emit("\tmov [__io_fetchbase], ebp\n");
emit("\tmov [__io_fetchbased_pc], esi\n");
emit("\tcall M68K_RW\n");
emit("\tmov ecx, eax\n");
emit("\tsub dword [esp], byte 2\n");
emit("\tand ecx, 0x1FFFFF\n");
emit("\tcall M68K_RW\n");
emit("\tand eax, 0x1FFFFF\n");
emit("\tmov edi, [__io_cycle_counter]\n");

--- Конец кода ---
нужно убрат 1F, т.е. оставить как было
--- Код: ---emit("\tand ecx, 0xFFFF\n");
emit("\tcall M68K_RW\n");
emit("\tand eax, 0xFFFF\n");
--- Конец кода ---
Ti_:

--- Цитата: Марат от 20 Октябрь 2009, 16:04:26 ---Ti_, там, в файле star.c, где функция "static void gen_readdecl" после метки not_in_ram
--- Конец цитаты ---
да это я только сегодня добавил, ничего не изменилось вообщем-то.
evgeny:
Насколько я понимаю, чтобы расширить память нужно убрать мирроринг с адресов. Т.е. если не ошибаюсь, то запись в "свободные" значения памяти приобразовываются в запись по адресу стандартного диапазона. Где-то может быть прописано что E00000=F00000.
Марат:
Это только 13 мб ром криво работает или все игры?
А как ты узнал, что рам дублируется в Vram? Дамп vram делал? У тебя, кстати, icq есть. Так можно было бы что-нибудь придумать.
evgeny:
Марат, Это был ко мне вопрос? Я про V-ram не говорил ничего.
Или вы V-RAM расширить пытаетесь? Так там тоже мирроринги адресов после FFFF. т.е. выше идут биты, которые отвечают за палитру, зеркальное отображение и приоритет тайлов.
Марат:
Нельзя, кстати, в vram напрямую писать, только через порты C00000, C00002. Так что исключено дублирование Рам в Врам.

Добавлено позже:

--- Цитата: evgeny от 20 Октябрь 2009, 17:50:07 ---Марат, Это был ко мне вопрос? Я про V-ram не говорил ничего.
Или вы V-RAM расширить пытаетесь? Так там тоже мирроринги адресов после FFFF. т.е. выше идут биты, которые отвечают за палитру, зеркальное отображение и приоритет тайлов.

--- Конец цитаты ---
Нет, Evgeny, эти вопросы адресовалисьTi_. Просто ты раньше меня пост свой отправил.
Ti_:

--- Цитата: Марат от 20 Октябрь 2009, 17:25:22 ---Это только 13 мб ром криво работает или все игры?
А как ты узнал, что рам дублируется в Vram? Дамп vram делал? У тебя, кстати, icq есть. Так можно было бы что-нибудь придумать.

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

Добавлено позже:

--- Цитата: Марат от 20 Октябрь 2009, 17:25:22 ---icq

--- Конец цитаты ---
отпишу позж. как освобужсь
Марат:
Там еще есть какой-то массив Ram_Backup_Ex. Может быть, его тоже следует увеличить.
Ti_:
test4
вот эмулятор. пробуйте комикс зон например - не показывает спрайты.
rock-n-roll-racing- ниче почти не показывает.
но если сменить, 0006C4:00E0   , заместо 00FF, то графа ток во время гонки пахать не будет.(ну и еще машины палитры)

Добавлено позже:

--- Цитата: evgeny от 20 Октябрь 2009, 17:02:48 ---Насколько я понимаю, чтобы расширить память нужно убрать мирроринг с адресов.

--- Конец цитаты ---
там было 4блока с одинаковым название Ram, и каждый урезался до 65кб, сейчас там разные названия и не урезаются. ( в Mem_M68k.asm )

Добавлено позже:

--- Цитата: Марат от 20 Октябрь 2009, 18:01:40 ---Там еще есть какой-то массив Ram_Backup_Ex. Может быть, его тоже следует увеличить.

--- Конец цитаты ---
а что это вообще такое? в эмуляторе я видел BRAM backup в путях. так же как и sram и т.д.

Добавлено позже:
Марат взломал DMA в файле vdp_io.asm   , его урезало в 2байта. и видимо из-за этого не работала графика.

а вот и эмулятор:  память работает,  я проверил нонужен тест бы помощнее!!, игры пашут две проверил)


gens 15mhz+13rom+2ram


10:0000  23 FC  MOVE.L  #$12345678,($00E00002)    - новая память чтение
10:000A  0C B9  CMPI.L  #$12345678,($00E00002)  - запись.
10:0014  66 00  BNE     #$0012 [10:0028]        - пашет.
10:0018  0C B9  CMPI.L  #$12345678,($00FF0002)   - ориг память.
10:0022  66 00  BNE     #$0004 [10:0028] -  не задета.
10:0028  4E 71  NOP
10:002A  4E 75  RTS
Segaman:
Молодец чювак.
Теперь только врам поджимаед. Насколько я знаю адрес на блоки 8х8 идут в запросе на контрол. я так думаю, можно использовать 2е пустые ечейки в заголовке, для выбора блок порта и количество блоков. в заголовке есть пашущие ечейки, из них обрабатывается код, а есть и непашущие, которые никогда невызываются, вот их и можно под это отвести. или же, если совсем плохо, мона инициализацию сделать на увеличение врам. т.е. в начале кода игры можно послать запрос на увеличение врам скажем в порт A3000, и тот увеличит врам на стока, скока ему сказали. ну я тут наверно намудрил, но смысл думаю ясен. нужен новый порт под увеличение врам, а ещё порт для блоков который поможет выбрать из врам нужный. или врам банком его заделать. кстати, а в каком участе памяти находится врам-
Ti_:

--- Цитата: Segaman от 21 Октябрь 2009, 08:56:07 ---врам
--- Конец цитаты ---
тут вроде как писалось что увеличение vram не имеет смысла.  и вообще тебе он конкретно зачем?
если эт относится к спрайтлимиту- то можно попробовать(скриншот где мигают танки), но как ты игре там объяснишь что врам стало в 2раза больше и как ее проверять я без понятия.
KABAL:
Если не увеличить VRAM, чтобы, скажем 500 костей вылетало - это сделать можно, но эти кости будут использовать одинаковые спрайты, т.е. порции по 50 одинаковых костей например и 10 их рисунков, и в сумме 500 костей получится и видеобуфер не переполнится, а если увеличить VRAM - то нужно как-то эмулятору в игре эту свободную область задать, проще 1-ым способом сделать
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии