Автор Тема: Gens Rerecording 11 Win32 r57shell mod  (Прочитано 16361 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Gens Rerecording 11 Win32 r57shell mod
« : 22 Март 2010, 23:43:41 »
Времени было мало, сделал не много, и чтобы не искать что сделал: всё что сделал:
Tools->Ram Dump (всё что в окне, ничего более)
Tools->Debug:
всё что в окне + 3 хоткея F5 - run(resume), F6 - step over, F7 - step into. Покачто это всё. Можно советы, но желательно неповторятся. Уже учтённый совет: выводить почему сработал break.
Может быть дальше буду развивать, могу кому-нить передать :).

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #1 : 23 Март 2010, 11:31:20 »
Вопрос: можно ли сделать генсу функцию запоминания не только положения окна эмулятора, но и его размер, измененный посредством растяжения/сжатия окна (для морталов это критично, так как рендер normal слишком мелкое окно дает, а double и ему подобные по размеру окна - лично для меня (моего монитора и моего разрешения рабстола) не годятся, а менять разрешение моника и рабстола каждый раз для-ради одного только мортала не хочется).

В МАМЕ для каждой игры можно установить разрешение (которых там много), так что и окно соответствующим образом изменит свой размер, а для генса нет промежуточных значений между величиной окна в 300 с лишним на 200 с лишним (сеговское разрешение, забыл точно) и 640*480, а мне бы хорошо было где-нибудь 400*300 или что-то около того, а рендеров таких для генса нет, только ручное растяжение окна, а на глаз всегда одно и то же растяжение окна получаться не будет, в результате будет всегда неточное растяжение, и, как следствие, поражения в боях в мортале, ибо там расстояния критичны.

Оффлайн Rockman Z

  • Пользователь
  • Сообщений: 11946
  • Пол: Мужской
    • ВКонтакте
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #2 : 23 Март 2010, 12:02:51 »
Слушай, хочу спросить.Почему когда запускаешь Gens, рабочий стол вдруг гаснет и потом снова появляется?
Использую разрешение рабочки 1280x1024. 

Оффлайн chameleoncyborg

  • Пользователь
  • Сообщений: 1578
  • Пол: Мужской
  • Комбатист
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #3 : 23 Март 2010, 12:53:14 »
Rockman X, это по ходу у всех так. По крайней мере, у меня тоже именно так запускается. ;)

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #4 : 23 Март 2010, 13:18:57 »
это дорогие мои меняется качество цветопередачи с 32бит(64) на 16бит, т.е. как на сеге
я знаю тока 2 эмуля которые это не делают, но при этом они обильно хавают мой проц
это gens movie и gens32 surreal

Добавлено позже:
а чо он так ресы хавает?
он что ускореным процом?

Оффлайн Rockman Z

  • Пользователь
  • Сообщений: 11946
  • Пол: Мужской
    • ВКонтакте
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #5 : 23 Март 2010, 13:41:14 »
Я не знаю какой у меня Gens, я брал его из темы про UMKT

Оффлайн chameleoncyborg

  • Пользователь
  • Сообщений: 1578
  • Пол: Мужской
  • Комбатист
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #6 : 23 Март 2010, 14:23:58 »
Rockman X, скорей всего Gens+ (ромы > 4 Mb может читать).

Оффлайн Rockman Z

  • Пользователь
  • Сообщений: 11946
  • Пол: Мужской
    • ВКонтакте
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #7 : 23 Март 2010, 16:43:43 »
Так чего Gens, что ли наш, отечественный?

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24674
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #8 : 23 Март 2010, 16:53:05 »
Я не знаю какой у меня Gens
Это легко узнать, нажав Помощь -> О программе.
Так чего Gens, что ли наш, отечественный?
У него исходники открытые, а дальше уж кто что придумает

Оффлайн Rockman Z

  • Пользователь
  • Сообщений: 11946
  • Пол: Мужской
    • ВКонтакте
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #9 : 23 Март 2010, 16:57:09 »
Аааа.А что еще за Gens movie и 32 surreal?

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #10 : 23 Март 2010, 18:31:05 »
Цитата: chameleoncyborg
Rockman X, скорей всего Gens+ (ромы > 4 Mb может читать).
Не, если из темы про УМКТ, то там другой. Наверно Генс 11а.
А мне вот Ti_ давал такую версию Генса 11а, которая в 32-битном цвете, так что ярлыки не портит. :D
Кому надо, пишите в личку.

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #11 : 23 Март 2010, 20:04:32 »
Вопрос: можно ли сделать генсу функцию запоминания не только положения окна эмулятора, но и его размер, измененный посредством растяжения/сжатия окна...
Можно всё, хоть тетрис присобачивай, хоть танчики пиши которые будут в отдельном окне...
Сделай сам, у меня времени именно на ЭТО нету (могу проконсультировать).

а чо он так ресы хавает?
он что ускореным процом?
Я вроде разгон убирал... Но ещё накладно - дебаг. (отслеживать действия кода).

Кстати, кто не понял, тема о данном эмуле который я выложил, а не о "у меня такой эмуль....".

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #12 : 23 Март 2010, 21:15:23 »
Цитата: r57shell
Сделай сам, у меня времени именно на ЭТО нету (могу проконсультировать).
Уже проконсультировал.  :)
А прогер из меня как из летчика балерина.

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #13 : 23 Март 2010, 23:54:47 »
Добавил в Debug callstack и реакцию на двойной клик на списки.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #14 : 29 Март 2010, 12:50:56 »
а можно в него добавить просмотрщик памяти как в кмоде?
ато уже надоело то в кмод, то в генс рекординг смотреть

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #15 : 29 Март 2010, 18:57:04 »
Можно - я жоще сделаю.

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

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #16 : 31 Март 2010, 13:09:45 »
мне нужно в реалбном времени видео память просматривать
да и если сможешь, то сделай так,
чтоб можно было смотреть номер тайла и его адрес в памяти
а ещё сделай, чтоб можно было все тайлы смотреть
ато в кмоде как минимум недопоказывает 32 тайла( >:( )
и ещё чтоп память дампать можно было нормально, не как в кмоде.
ещё нужно отключение лейеров
и если можно, то загрузка палитр из файла прямо во время игры

надеюсь я не слишком затрудняю ^_^
да и сделай опцию с выбором цветоотдачи
ато когда 32, то систему грузит и сам тупит

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #17 : 03 Апрель 2010, 16:13:14 »
Надо добавить добавление брейкпоинта на исполнение по двойному клику на команду.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #18 : 03 Апрель 2010, 16:26:55 »
установил себе визуал студию
и попробовал собрать генс кмод
а он выдал мне
Assembling z80.asm
Системе не удается найти указанный путь.
Project : error PRJ0019: A tool returned an error code from "Assembling z80.asm"
Creating browse information file...
Microsoft Browse Information Maintenance Utility Version 9.00.21022
Copyright (C) Microsoft Corporation. All rights reserved.
BSCMAKE: error BK1506 : cannot open file '.\Debug\cd_aspi.sbr': No such file or directory
и нифига не собрал
кто знает что делать
визуал студия 2008

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #19 : 03 Апрель 2010, 23:31:57 »
там в настройках описана команда которой компилировать z80.asm, из которой видно что он запускает: /nasm/nasmw .... сначала пытался толкать nasm/nasmw в разные папки, но потом допёр:дописал в команде dir, он вывел все файлы в текущей папке, и я сказал АХА!! но туда я клал nasm/nasmw, после чего я взял и в cmd.exe написал "cd /" и он перешел в корень диска, и я сказал АХХААА!! Толкнул в корень nasm/nasmw и всё заработало.
Теперь для тех кто непонял "nasm/nasmw" означает папка nasm, а в ней файл nasmw.ехе (просто я расширение опустил).

Добавлено позже:
 :lol: короче мне удалось его билдануть: кроме того что выше описал - подрубил нормальный ddraw.h в котором есть LPDIRECTDRAW4 и подрубил нормальный dxguid.lib с таким же св-вом, после чего всё заработало.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #20 : 04 Апрель 2010, 00:30:17 »
А, по-моему, надо в настройках в еxecutable files добавить путь к nasmw.exe, разве нет?

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #21 : 04 Апрель 2010, 11:15:11 »
у меня nasmw.exe на всём жёстком диске нет :'(

Добавлено позже:
обьясните нубу как этим пользоваться
он тока и знает что выдавать тупые ошибки

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #22 : 04 Апрель 2010, 13:20:10 »
nasmw.exe

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #23 : 05 Апрель 2010, 13:34:34 »
и куда его совать, что запускать
блин :wall:

Добавлено позже:
всё короче
удалаю всё к чертям!
в гробу я всё это видел

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #24 : 05 Апрель 2010, 21:08:04 »
Толкнул в корень nasm/nasmw и всё заработало.


Добавлено позже:
забыл уточнить - в корень ДИСКА.

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #25 : 23 Май 2010, 20:19:52 »
Call stack поправил, надо будет его ещё улучшить ) и добавил фишку, главную из-за которой выкладываю ^__^. Берём в иде запускаем gens.idc (который мной написан) выбираем файл "for ida.txt" который должен появится в папке с этим эмулем после каких либо действий в Debug этого эмуля. Видим внизу в иде сообщение OK значит всё круто. Теперь переход в Debug Gens-а будет сопровождаться с переходом в Ida только при условии что переход больше чем на 5 строчек.
Делал на соплях, поэтому работать должно если открыт IDA View. Если в других случаях неработает... значит бажит, делал для себя поэтому если не будет хватать то полюбому улучшу ^^. Теперь почему минимум через 5 строчек - а потому что иначе долго отлаживать.
И ещё, эту фичу не отключить, опцию "включить выключить jmp в ида" может потом добавлю %).

Тестировал на Ida Pro v5.2

Оффлайн evgeny

  • Пользователь
  • Сообщений: 1390
  • Пол: Мужской
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #26 : 24 Май 2010, 15:13:15 »
C ida - это хорошо придумал, только нужно подробнее было объяснить все. Что надо загрузить ром сеги в ida, открыть этот же ром  эмулем, запустить новый дебаг, загрузить в ида скрипт idc, for ida.txt, нажать кнупку генс. и.т.п. А то ведь непонятно совсем.
А инструмент впечатляет.

Я еще для себя добавил в скрипт после прыжка на адрес MakeCode, чтобы дизассемблеровалось сразу. Еще бы в процессе игры дебаг обнавлялся автоматически, тогда вобще бы все само сабой дизассемблеровалось.
« Последнее редактирование: 24 Май 2010, 17:17:07 от evgeny »

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #27 : 24 Май 2010, 19:00:34 »
Благодарю за коментарий. Выложи скрипт... Я добавлю кнопку в эмуле для сохранения карты кода (как он по твоему дизассэмблит у меня). и другим скриптом можно будет сразу все участки не дизассэмблированные дизассмить за один проход... (после минут 5 игры). Вот такие вот пироги.
Магическую кнопку ждать... сча сделаю.

Добавлено позже:
буду рад если ты напишешь(и выложишь!) скрипт который из этой карты сделает то что выше описал ) ато времени жуть мало.

Добавлено позже:
А да, формат карты такой: битовая маска на все 4 мегабайт рома, а т.к. код только на чётных адрессах, то только чётные биты в битовой маске. то есть если бит j единица, то по оффсету j*2 код.

Добавлено позже:
Вот, терь есть галочка, и Load/Save map.

Оффлайн evgeny

  • Пользователь
  • Сообщений: 1390
  • Пол: Мужской
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #28 : 24 Май 2010, 19:25:37 »
Не совсем понял ход твоих мыслей. Я просто в твой скрипт добавил после строчки Jump(xtol(s)) строчку MakeCode(xtol(s)) и все. Если бы дебаг был автообновляемым, активным при игре, все само бы в иде пригало и дизасмилось по ходу работы.
А что с картой этой делать мне не совсем понятно. Скрипты для IDA не писал никогда, вобще сегодня только обратил внимания на эту функцию. Кстати, там вроде бы на С пишутся скрипты(или что-то похожее), если я правильно понял, а я С не владею.
...

Ты наверное хочешь сделать  файл- битовую карту, чтобы бит сопоставлялся байту рома? Если 0 -то байт не использовался, 1- код исполнялся и потом все байты где исполнился код автоматом диззасемблировать? Честно говоря я пока почти не представляю как написать такой скрипт в IDA. Нужно сначала язык этот изучить.

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Gens Rerecording 11 Win32 r57shell mod
« Ответ #29 : 24 Май 2010, 19:33:20 »
А да, формат карты такой: битовая маска на все 4 мегабайт рома, а т.к. код только на чётных адрессах, то только чётные биты в битовой маске. то есть если бит j единица, то по оффсету j*2 код.
чуешь сходство?
Ты наверное хочешь сделать  файл- битовую карту, чтобы бит сопоставлялся байту рома? Если 0 -то байт не использовался, 1- код исполнялся и потом все байты где исполнился код автоматом диззасемблировать?
Сходство во всём, только у меня более подробно описано, и я не хочу сделать, я уже сделал!) эта карта была уже в первой версии которую выкладывал в этой теме, просто сохранение очень лень делать было.

Ты наверное хочешь
Честно говоря я пока почти не представляю как написать такой скрипт в IDA.
Нужно сначала язык этот изучить.
Я язык не изучил, но вить написал!) :] да я такой, ничего не изучая делаю, собсно потому что изучить полностью невозможно, и вообще зачем это, если надо только область. Всегда копаю только область.