Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - DrMefistO

Страницы: Назад 1 ... 32 33 34 35 [36] 37 38 39 40 ... 45 Далее
1051
Я вставлю свои пять копеек, собственно по сути темы. Хочу понять и разобрать работу одного звукового драйвера на Z80: адреса, работа с 68k. Но какие-то все доки по Z80 сухие, ограниченные коротким описанием команды. А что оно делает, что получается и т.д. - хз.
Поэтому, кто имеет хорошие доки по Z80, выложите, или дайте ссылки, плиз. Важно именно сочетание 68k<->Z80. Переписывать драйвер у меня нет намерений, я лишь хочу понять как оно работает.

1052
Цитата: Ti_
Адрес куда копировать это $C0000000, если бы было DMA - то $C0000080. То есть почти не отличается от адреса без dma.

Ну с этим-то понятно.
Цитата: Ti_
Всё правильно, адрес источника вначале делится на 2.

Т.е. в любой игре, если мне надо что-то скопировать через DMA, я должен указывать в регистры VDP адрес, поделенный на 2?

1053
Т.е. оно везде так: адрес источника должен быть в два раза меньше реального адреса?
Добавлено позже:
Цитата: GManiac
Ты игру на ПК переписываешь, что ли?

Нет, просто нужно понять полностью что происходит в коде, и что куда копируется. Знаю, что графа в игре упакована, вот и ищу распаковщик. Но он не является единственной моей целью в этой игре)
Добавлено позже:
Цитата: GManiac
Ты игру на ПК переписываешь, что ли? Смотрю, ты этот Текмо Кап 2 года уже мучаешь, ещё с форума шедевра помню твои темы.

Нее) Я на долго забивал на него) Просто сейчас вот решил вернуться с новым опытом)

1054
Подскажите, где можно почитать толковую доку по использованию DMA? А то в Sega_Tech_Rus как-то все неопределенно.
Добавлено позже:
Вопрос возник потому, что:
ROM:0000135E sub_135E:                               ; CODE XREF: sub_1256+4Ap
ROM:0000135E                                         ; sub_13F4+Cj ...
ROM:0000135E                 move.l  #$C0000000,d1
ROM:00001364                 move.l  #RAM_Palette1,d2
ROM:0000136A                 move.w  #$40,d3 ; '@'
ROM:0000136E                 jsr     sub_10CA        ; d1 = VDP Command
ROM:0000136E                                         ; d2 = ?
ROM:0000136E                                         ; d3 = DMA Size (WORDS)
ROM:00001372                 rts
ROM:00001372 ; End of function sub_135E
RAM_Palette1 = 0xFFB098
Затем, по ходу процедуры значения d1 и d3 применяются так как я и написал в комментарии к процедуре, но d2 в итоге записывается в VDPControl как 0x7FD84C (это ведь 0xFFD84C?) (адрес для источника DMA), что странно...

Вот и интересно стало: при пересылке через DMA есть какие-то хитрости при указании адреса источника?

Игра: Tecmo Cup Football.bin

1055
Ромхакинг / Re: Palette convrerter 24<->15bpp
« : 12 Ноябрь 2012, 11:27:37 »
а применение?

1056
Ромхакинг / Re: Palette convrerter 24<->15bpp
« : 12 Ноябрь 2012, 10:29:50 »
Я тоже как-то не очень понимаю практическую суть этой программы. Наверное, это paul_met'а спец-заказ)

1057
У меня ROXL, с единичным сдвигом. Т.е. старший выдавливаемый бит идет в X, а то что в X до этого было (у меня значение X, которое "до этого", устанавливается командой asl.l 8, d5) идет в младший бит.
Добавлено позже:
Цитата: GManiac
Эквивалентные команды для x86: rcl, rcr

Все бы хорошо, но мне надо до следующего раза таскать CR тогда. Как?

1058
Пасибо. В принципе, я суть уловил. Главное знать, где до этого устанавливается X флаг, и совать его на место освободившегося бита. А выдавленный бит совать в X.

1059
Подскажите, как реализовать команды ROXL и ROXR на языке высокого уровня (Delphi, C)? Допускается использование ассемблерной вставки.

И сопутствующий вопрос: при каких условиях устанавливается X флаг?

1060
В частности для двух: Fantastic Dizzy, и Second Samurai.

1061
Сорри) Искал тоталом автоматически.

1062
Оно-то, конечно, спасибо, но если делать редактор игры, данный вариант - не вариант)
Добавлено позже:
А с упаковкой как быть?

1063
Ахз) длл-ка вроде да.

1064
http://testaware.bplaced.net/Toolz/toolz.htm - WinLZH, говорят, анпачит IMP!.
Добавлено позже:
Там же есть fimp.dll v1.0.0.0, которую можно использовать в своем проекте: можно паковать, распаковывать.

1065
Собственно, доволе популярный упаковщик, встречается во многих сеговских играх (Art of Fighting, Comix Zone, Cosmic Spacehead, Fantastic Dizzy, Lawnmower Man, Man Overboard!, серия игр Micro Machines, Pete Sampras Tennis, Second Samurai, Ren and Stimpy Show, Street Fighter II и еще парочке не самых известных).

Кто может выложить его (с сорсами, если можно)?

1066
Да, видимо так и есть.

1067
Цитата: MetalliC
в смысле Fantastic Dizzy

Да, и SRAM там нету.
Цитата: MetalliC
я думаю это ошибка/глюк игры.

но эта "ошибка" много где в начале игры есть.
Цитата: MetalliC
если попытку записи в ром то нет.

да, думал что может так как-то)

1068
Dizzy Adventures (SMD).
Добавлено позже:
А запись по "Bad address" может обрабатываться каким-то исключением?

1069
Не похоже, т.к. в хедере SRAM поле пустое.

1070
ROM:00073A12 sub_73A12:                              ; CODE XREF: sub_739B8+44p
ROM:00073A12                                         ; sub_73AA0+16p
ROM:00073A12                 movea.l a0,a1
ROM:00073A14                 move.w  #$EB,d1 ; 'ы'
ROM:00073A18                 moveq   #0,d2
ROM:00073A1A
ROM:00073A1A loc_73A1A:                              ; CODE XREF: sub_73A12+Aj
ROM:00073A1A                 move.l  d2,(a1)+
ROM:00073A1C                 dbf     d1,loc_73A1A
ROM:00073A20                 rts

В начале процедуры в a0 идет адрес 7679E (ROM). Как такое возможно? Отладчиком проверяю: действительно в цикле оно пишет по адресу в a1.

1071
Ромхакинг / Re: Программа VDP Help v1.0
« : 23 Октябрь 2012, 13:02:29 »
Цитата: Segaman
имхо моя прога дает более детальный ответ нежели твоя.

Опять же я делал эту программу для пометок на полях иды. А не для дотошного анализа команды.
Цитата
в моей можно команду на лету редактировать, я только дма не доделал
У меня не для создания этих команд, а для анализа того, что они делают.

1072
Ромхакинг / Re: Программа VDP Help v1.0
« : 23 Октябрь 2012, 12:40:04 »
ГенВайдео меня не устроила тем, что она просто галочки выставляет где и что. Да и не все команды понимает (столкнулся с этим).
А эту программу я писал для того, чтобы было удобно делать пометки в Иде для посылаемых в VDP команд.

1073
Ромхакинг / Программа VDP Help v1.0
« : 23 Октябрь 2012, 12:00:37 »

Данная программа предназначена для упрощения рутинной работы по определению того, что делает та или иная команда, посылаемая в VDP Control приставки Sega Genesis. Писал для себя, но решил поделиться: а вдруг кому-то еще понадобится?!)

Из возможностей:
  • определение команд записи значений в регистры;
  • определение команд чтения/записи в VRAM/CRAM/VSRAM;
  • возможность разбора Long-word команд;
  • автоматический подхват значения в буфере обмена;
  • получение описания команды сразу же во время ее ввода в поле.

1074
Ромхакинг / Re: Pier Solar и всё-всё-всё...
« : 20 Октябрь 2012, 16:43:54 »
Извини и ты, но функция чексуммы не мной писана, и не SGCExplorer'ом изменена. А она именно пропускает кусок C0000 байт.

1075
Ромхакинг / Re: Pier Solar и всё-всё-всё...
« : 20 Октябрь 2012, 01:39:14 »
MetalliC, не знаю, не знаю. Т.к. адресация в роме указывает и на второй кусок (я просто щас эту игру полностью ковыряю). Так что если просто слепить два куска - получится какашка. Так что дамп, который (REV01) [a1][c][!] - он как есть оригинал, а (REV01) [!] - просто с забитым нулями C0000 блоком, для совпадения чексуммы в любом эмуле. И всего-то.

1076
Ромхакинг / Re: Pier Solar и всё-всё-всё...
« : 19 Октябрь 2012, 14:46:35 »
Насчет квакшота я не совсем понял что там кто добавлял, но данная версия игры сама по себе такая, с левыми 0xC0000 байтами. И даже процедура проверки чексуммы берет только куски до и после этого промежутка. И игра запускается как надо во многих эмулях (должна и в Genesis Plus GX).

1077
Ромхакинг / Re: Нужна помощь по командам M68k
« : 18 Октябрь 2012, 18:58:39 »
http://en.wikibooks.org/wiki/68000_Assembly
Тут написано про биты, но не для всех битов написано пояснение. В частности
I0 Interrupt priority mask bit 1
I1 Interrupt priority mask bit 2
I2 Interrupt priority mask bit 3
Что за маска?

1078
Ромхакинг / Re: Нужна помощь по командам M68k
« : 18 Октябрь 2012, 16:55:10 »
Поясните, плиз назначение команд типа:
move    #$XXXX,srИли:
or    #$XXXX,srНу и всех подобных с регистром sr.

1079
Ромхакинг / Re: Нужна помощь по командам M68k
« : 14 Октябрь 2012, 20:06:28 »
В квакшоте практически все основные процедуры распаковки данных вызываются через трапы. Ну а так код нормальный.
А Tecmo Cup практически весь на F0 XX опкодах и сделан. Но, мне кажется, обработка исключений должна как-то сказываться либо на скорости, либо на обработке команд эмулятором. Все ли они такое понимают?

1080
Ромхакинг / Re: Нужна помощь по командам M68k
« : 13 Октябрь 2012, 19:11:40 »
Игра: Tecmo Cup Football (J).bin
Например процедура: адрес процедуры 0x63C, на 0x67E - опкод.
Добавлено позже:
Уверен, что код, т.к. эти опкоды даже не перепрыгиваются. И процедура нормальная.
Добавлено позже:
Вызывается в начале первого матча.

Страницы: Назад 1 ... 32 33 34 35 [36] 37 38 39 40 ... 45 Далее