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

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


Сообщения - Томахомэ

Страницы: [1] 2 3 4 5 ... 30 Далее
1
Ну вот, братцы, допилил я таки свой ассемблер (в той, правда мере, в какой это касается общих для семейства MIPS в целом команд - специфические для Emotion Engine и спекоманды для сопроцессоров ещё только предстоит добавить) , испытал на работоспособность и подчистил "хвосты" от исходника ассемблера ARM, на который ориентировался, как на единственную дотоле присутствовавшую среди поддерживаемых ASMX RISC-архитектуру.

Исходник и готовый EXE-файл - в прикреплённом архиве.

2
Вы таки будете смеятся, но то, что я принял за баги трансляции команд addis andis. оказалось вовсе не багами, а просто дурной привычкой MAME'овского дизассемблера упрощать некоторые команды.
else if ((op & ~(M_RT|M_RA|M_SIMM)) == D_OP(15))
{
if (G_RA(op) == 0)
{
mnem += "li"; // addis rT,0,value -> li rT,(value<<16)
oprs = util::string_format("r%d,0x%08X", G_RT(op), value << 16);
}
else
{
mnem += "addi";   // addis rT,rA,SIMM -> addi rT,rA,SIMM<<16
oprs = util::string_format("r%d,r%d,0x%08X", G_RT(op), G_RA(op), value << 16);
}
}
else if ((op & ~(M_RT|M_RA|M_UIMM)) == D_OP(29))
{
mnem += "andi.";  // andis. rA,rT,UIMM -> andi. rA,rT,UIMM<<16
oprs = util::string_format("r%d,r%d,0x%08X", G_RA(op), G_RT(op), G_UIMM(op) << 16);
}

3
Все нужны. Желательно пихнуть кириллицу на месте расширенной латиницы.

Используется, я так понимаю, НЕ стандартный размер знакоместа 8x8? Потому что внизу, например, оригинального FixedsysTTF16B.dsfont куски латинских символов ещё узнаются (см. верхний скриншот), а вот в вырезанной из него монохромной части - уже нет (см. нижний скриншот).

4
Ромы NDS имеют свою собственную фс. Внутри лежат вполне себе файлы. Конкретно шрифты здесь - .dsfont

Какие из них именно необходимо отредактировать? Или все?

5
В файле лежит разметка, за ней текстура 4bpp gba.

Это файлы или чисто куски бинарных данных внутри рома, как в играх для более старых картриджных систем?

6
Решил тут воскресить проект Sails of Charon, но уже в новом качестве - будущего одного из бонусных режимов для порта Police of the Future на PS2/3, XBOX360 и Wii.

Для 7-го "тома" "Всё, что было после", подумалось мне, как один из множества источников ресурсов, неплохо подойдут спрайты рядовых солдат противника из Mercs для Capcom Play System 1. Вот первая база анимаций, и в дальнейшем список цитат оттуда, возможно, пополнится.
EnemySoldierSprites:
030F74: 0003 0FB8 ; EnemySoldierWalks
030F78: 0003 12D8 ; EnemySoldierWading
030F7C: 0003 14B8
030F80: 0003 15F8
030F84: 0003 1738
030F88: 0003 17D8
030F8C: 0003 1878
030F90: 0003 1918
030F94: 0003 19B8
030F98: 0003 1F78
030F9C: 0003 19D8
030FA0: 0003 1F98
030FA4: 0003 19F8
030FA8: 0003 1FB8
030FAC: 0003 24FC
030FB0: 0003 2602
030FB4: 0003 20A8
EnemySoldierWalks:
030FB8: 0003 0FF8 ; EnemySoldierWalk_0degrees
030FBC: 0003 1026 ; EnemySoldierWalk_22AndHalfDegrees
030FC0: 0003 1054 ; EnemySoldierWalk_45degrees
030FC4: 0003 1082 ; EnemySoldierWalk_77AndHalfDegrees
030FC8: 0003 10B0 ; EnemySoldierWalk_90degrees
030FCC: 0003 10DE ; EnemySoldierWalk_112AndHalfDegrees
030FD0: 0003 110C ; EnemySoldierWalk_135degrees
030FD4: 0003 113A ; EnemySoldierWalk_157AndHalfDegrees
030FD8: 0003 1168 ; EnemySoldierWalk_180degrees
030FDC: 0003 1196 ; EnemySoldierWalk_202AndHalfDegrees
030FE0: 0003 11C4 ; EnemySoldierWalk_225degrees
030FE4: 0003 11F2 ; EnemySoldierWalk_247AndHalfDegrees
030FE8: 0003 1220 ; EnemySoldierWalk_270degrees
030FEC: 0003 124E ; EnemySoldierWalk_292AndHalfDegrees
030FF0: 0003 127C ; EnemySoldierWalk_315degrees
030FF4: 0003 12AA ; EnemySoldierWalk_337AndHalfDegrees
EnemySoldierWalk_0degrees:
030FF8: 0006 0981 1204 8000 00FF
031002: 0006 09A1 1204 8000 00FF
03100C: 0006 09C1 1204 8000 00FF
031016: 0006 09A1 1204 8000 00FF
031020: FFFF
031022: 0003 0FF8 ; EnemySoldierWalk_0degrees

EnemySoldierWalk_22AndHalfDegrees:
031026: 0006 0984 1244 8000 00FF
031030: 0006 09A4 1244 8000 00FF
03103A: 0006 09C4 1244 8000 00FF
031044: 0006 09A4 1244 8000 00FF
03104E: FFFF
031050: 0003 1026 ; EnemySoldierWalk_22AndHalfDegrees

EnemySoldierWalk_45degrees:
031054: 0006 0987 1244 8000 00FF
03105E: 0006 09A7 1244 8000 00FF
031068: 0006 09C7 1244 8000 00FF
031072: 0006 09A7 1244 8000 00FF
03107C: FFFF
03107E: 0003 1054 ; EnemySoldierWalk_45degrees

EnemySoldierWalk_77AndHalfDegrees:
031082: 0006 098A 1244 8000 00FF
03108C: 0006 09AA 1244 8000 00FF
031096: 0006 09CA 1244 8000 00FF
0310A0: 0006 09AA 1244 8000 00FF
0310AA: FFFF
0310AC: 0003 1082 ; EnemySoldierWalk_77AndHalfDegrees

EnemySoldierWalk_90degrees:
0310B0: 0006 098D 1244 8000 00FF
0310BA: 0006 09AD 1244 8000 00FF
0310C4: 0006 09CD 1244 8000 00FF
0310CE: 0006 09AD 1244 8000 00FF
0310D8: FFFF
0310DA: 0003 10B0 ; EnemySoldierWalk_90degrees

EnemySoldierWalk_112AndHalfDegrees:
0310DE: 0006 0904 1244 8000 00FF
0310E8: 0006 0924 1244 8000 00FF
0310F2: 0006 0944 1244 8000 00FF
0310FC: 0006 0924 1244 8000 00FF
031106: FFFF
031108: 0003 10DE ; EnemySoldierWalk_112AndHalfDegrees

EnemySoldierWalk_135degrees:
03110C: 0006 0907 1244 8000 00FF
031116: 0006 0927 1244 8000 00FF
031120: 0006 0947 1244 8000 00FF
03112A: 0006 0927 1244 8000 00FF
031134: FFFF
031136: 0003 110C ; EnemySoldierWalk_135degrees

EnemySoldierWalk_157AndHalfDegrees:
03113A: 0006 090A 1244 8000 00FF
031144: 0006 092A 1244 8000 00FF
03114E: 0006 094A 1244 8000 00FF
031158: 0006 092A 1244 8000 00FF
031162: FFFF
031164: 0003 113A ; EnemySoldierWalk_157AndHalfDegrees

EnemySoldierWalk_180degrees:
031168: 0006 090D 1204 8000 00FF
031172: 0006 092D 1204 8000 00FF
03117C: 0006 094D 1204 8000 00FF
031186: 0006 092D 1204 8000 00FF
031190: FFFF
031192: 0003 1168 ; EnemySoldierWalk_180degrees

EnemySoldierWalk_202AndHalfDegrees:
031196: 0006 090A 1204 8000 00FF
0311A0: 0006 092A 1204 8000 00FF
0311AA: 0006 094A 1204 8000 00FF
0311B4: 0006 092A 1204 8000 00FF
0311BE: FFFF
0311C0: 0003 1196 ; EnemySoldierWalk_202AndHalfDegrees

EnemySoldierWalk_225degrees:
0311C4: 0006 0907 1204 8000 00FF
0311CE: 0006 0927 1204 8000 00FF
0311D8: 0006 0947 1204 8000 00FF
0311E2: 0006 0927 1204 8000 00FF
0311EC: FFFF
0311EE: 0003 11C4 ; EnemySoldierWalk_225degrees

EnemySoldierWalk_247AndHalfDegrees:
0311F2: 0006 0904 1204 8000 00FF
0311FC: 0006 0924 1204 8000 00FF
031206: 0006 0944 1204 8000 00FF
031210: 0006 0924 1204 8000 00FF
03121A: FFFF
03121C: 0003 11F2 ; EnemySoldierWalk_247AndHalfDegrees

EnemySoldierWalk_270degrees:
031220: 0006 098D 1204 8000 00FF
03122A: 0006 09AD 1204 8000 00FF
031234: 0006 09CD 1204 8000 00FF
03123E: 0006 09AD 1204 8000 00FF
031248: FFFF
03124A: 0003 1220 ; EnemySoldierWalk_270degrees

EnemySoldierWalk_292AndHalfDegrees:
03124E: 0006 098A 1204 8000 00FF
031258: 0006 09AA 1204 8000 00FF
031262: 0006 09CA 1204 8000 00FF
03126C: 0006 09AA 1204 8000 00FF
031276: FFFF
031278: 0003 124E ; EnemySoldierWalk_292AndHalfDegrees

EnemySoldierWalk_315degrees:
03127C: 0006 0987 1204 8000 00FF
031286: 0006 09A7 1204 8000 00FF
031290: 0006 09C7 1204 8000 00FF
03129A: 0006 09A7 1204 8000 00FF
0312A4: FFFF
0312A6: 0003 127C ; EnemySoldierWalk_315degrees

EnemySoldierWalk_337AndHalfDegrees:
0312AA: 0006 0984 1204 8000 00FF
0312B4: 0006 09A4 1204 8000 00FF
0312BE: 0006 09C4 1204 8000 00FF
0312C8: 0006 09A4 1204 8000 00FF
0312D2: FFFF
0312D4: 0003 12AA ; EnemySoldierWalk_337AndHalfDegrees

Для чего нужны последние 2 машинных слова каждого кадра анимации - пока не проверял, но первое - совершенно точно центровка спрайта, второе - номер начального тайла 16x16, а третье - прочие атрибуты (габариты, флиппинг, номер палитры) спрайта на буферовку с последующими прикреплением координат и загрузкой в видеопамять. Если покопаться, кстати, то выяснится, что формат тайловых данных в CPS1 - это старый добрый Master System, так что оригинальные графические ромы Mercs, из которых будет вырезано всё,  кроме тайлов вражеских солдат, ну, или ещё, может быть, "наших" юнитов сопровождения и охраны из начальной сцены вертолётной высадки, даже конвертировать заранее не потребуется - достаточно будет ограничиться лишь входящим в код игры программным конвертером.

7
Томахомэ, отзыв опубликован от человека, который обиделся именно потому что он христианин, как бы он лицемерно ни отрицал этого...

Меня, кстати, существование атеистов, которым обидно за Рождество, нисколько не удивляет, поскольку в игре с ног на голову ставится не только христианское, но и секулярное (милый праздник домашнего уюта, подарки, гуляния, фэмили-билдинг после длящейся большую часть года вынужденной необходимости пропадать на работе, индеечка-пряники-глинтвейн, вечер у камина, календари адвента, те же ёлочки - в общем, весь наросший вокруг Рождества за века шлейф традиций, обрядов и атрибутики, формировавшихся главным образом стараниями христиан, но которые и люди иных культур и мировоззрений за теми не прочь "подъесть") понимание Рождества.

8
Томахомэ, Вот это руководство не поможет?

Н-дя-а-а-а-аа-ааам... Решение запаковать на GD полноценный FATX-раздел - оно, конечно, экстраординарнейшее из возможных.... Тем не менее, его я всё-таки извлёк, но тут нарисовалась другая проблема - ни одна программа по работе с FATX-дисками не хочет его адекватно читать.

Добавлено позже:
Таааак, подходящий инструментик нашёл, работоспособность свою подтвердил. Теперь вопрос - у кого из вас версия Ghost Squad для Chihiro зависавет на Xemu при загрузке миссий, и вообще не запускается для неё же House of the Dead 3? Хотелось бы уже наконец понять, в неподходящем биосе дело или в чём-то ещё.

9
С недавних пор утилита chdman в составе MAME научилась наконец-таки извлекать GD-образы из CHD-файлов, и мне таки удалось посмотреть, что внутри у GD-дисков для Chihiro (см. прикреплённый скриншот). Теперь вопрос - как показанные в окне файлы доизвлекать дальше, чтобы в итоге получить xbe-шник с ресурсами, который можно будет потом или непосредственно запустить в CXBX, или собрать в ISO для Xemu?

10
что в игре используется попурри/интерпретации советской зимней музыки

Авторы Дума никому ничего не платили, как и большинство игр, типа Человека Паука (Spider-Man and Venom: Maximum Carnage), который на SNES/SMD юзает известную мелодию Black Sabbath. Просто они не подавали в суд, да и всё. https://youtu.be/6_tHPVFK2p4?t=154

Под платной музыкой обзорщик имел в виду, я так понимаю, Tarzan Boy'я. А то прикапываться к традиционным новогодним мелодиям было бы как минимум странно.

11
Кроме графических, могу делать и простенькие графические хаки - например, подменять картинки в эротических аркадах и головоломках - как, например, в прикреплённом хаке, где изменению подвергся фон для 2-го уровня. Запускать также через командную строку.

12
bass.dll не сможет такое конвертануть?

А у него поддержка VOX ADPCM есть?

13
Кому из вас хотелось бы заказать звуковой хак какой-нибудь автоматской игры, использующей для проигрывания цифрового звука чипы Oki M6295, YMZ280B или Seta X1-010?

Вот "вместо портфолио" - вот вам звуковой хак игры Paparazzi для MAME, где музыка для самого первого уровня заменена на самое начало Bolero группы Fancy. Нарезать эту песню, как бы мне хотелось - то есть по самым ключевым и узнаваемым кускам у меня не получилось, ибо конечному экспорту raw-файла при частоте дискретизации в 7576 Гц (округлённое до целых 1 МГц/132) всякий раз мешала какая-то неизвестная ошибка. Удивительно, что Audacity при такой конечной частоте её вообще целиком переварила. Для обхода проверки контрольных сумм запускайте хак через командную строку.

14
Кому из вас хотелось бы заказать звуковой хак какой-нибудь автоматской игры, использующей для проигрывания цифрового звука чипы Oki M6295, YMZ280B или Seta X1-010?

15
А наши геймеры, я смотрю, судьи строгие. Западные что на Ютубе, что на GenDev'е - несравнимо мягче.

16
Впрочем, для риппинга звука для Oki M6295 сгодится и старая добрая Audacity - сначала вырезаешь нужный тебе сэмпл из рома с помощью HEX-редактора, затем импортируешь полученный огрызок рома как RAW-данные, затем в открывшемся окне выбираешь кодирование VOX ADPCM и устанавливаешь частоту дискретизации, высчитанную из рабочей частоты Oki в той конкретной игре, из которой собираешься извлечь звук. Вот что мне в порядке эксперимента удалось таким образом получить из нескольких корейских пираток.

17
Из "чего попроще" есть Joe & Mac Returns, где весь звук - цифровой, воспроизводимый через два простых как палка, и за то, надо полагать, и любимых в своё время производителями игровых автоматов, Oki M6295 (которые в железе данной игры к тому же разделены для собственно музыки и для звуковых эффектов), и тащит управление им на себе единственный CPU. Структура музыки в игре также проста до безобразия - большинство треков, за исключением Boss,  Ending и ExtraStage, состоит из одного (удивительно, кстати, как при такой длине сэмпла Data East удалось ещё и соблюсти качество звучания), максимум - двух сэмплов, на последнем из которых мелодия и зацикливается. Младший байт каждого машинного слова ARM в нижнем из процитированных кусков кода - номер собственно сэмпла, второй - номер банка внутри рома okimusic, к которому этот сэмпл принадлежит, а самый старший нибл - громкость 1-го канала музыкального чипа. Третий байт может служить счётчиком сэмплов внутри одной мелодии, но этого я уже не проверял.
000491C: 0000495C ; Jungle1
0004920: 00004960 ; Glacier
0004924: 00004968 ; Ocean
0004928: 00004970 ; Volcano
000492C: 00004978 ; Jungle2
0004930: 00004980 ; Graveyard
0004934: 00004984
0004938: 00004988 ; Boss
000493C: 000049B8 ; Fanfare
0004940: 000049BC
0004944: 000049C0 ; Ending
0004948: 000049F8
000494C: 00004A00 ; ExtraStage
0004950: 00004A18 ; WorldMap
Jungle1:
000495C: 21000200

Glacier:
0004960: 21010500
0004964: 21010501

Ocean:
0004968: 21010301
000496C: 21010300

Volcano:
0004970: 21010600
0004974: 21010601

Jungle2:
0004978: 11010400
000497C: 11010401

Graveyard:
0004980: 11000000

Boss:
0004988: 01010100
000498C: 01020100
0004990: 01030101
0004994: 01040101
0004998: 01050102
000499C: 01060102
00049A0: 01070103
00049A4: 01080103
00049A8: 01090102
00049AC: 010A0102
00049B0: 010B0103
00049B4: 01020103

Fanfare:
00049B8: 20000104

Ending:
00049C0: 11010700
00049C4: 11020700
00049C8: 11030701
00049CC: 11040701
00049D0: 11050702
00049D4: 11060702
00049D8: 11070703
00049DC: 11080703
00049E0: 11090702
00049E4: 110A0702
00049E8: 110B0703
00049EC: 110C0703
00049F0: 110D0704
00049F4: 10000704

ExtraStage:
0004A00: 11010705
0004A04: 11020706
0004A08: 11030705
0004A0C: 11040706
0004A10: 11050705
0004A14: 11000706

WorldMap:
0004A18: 21000302

С инструментарием же для конвертации Oki ADPCM дело уже сложнее, хоть и проще, чем с другими чипами. tROMbone, например, во первых, давно устарел, а во вторых, конвертирует ром для Oki целиком, ему невозможно указать, какой именно сэмпл тебе нужен - как и рабочую частоту чипа в оригинальной игре, из-за чего скорость проигрывания в полученном VAW получается жутко искажена. Из более современных есть Williams OKI editor, но с ним не ясно, способен ли он работать с играми за пределами Midway'евских.

18
Кто-нибудь знает, как в Wangan Midnight войти в тестовое меню? Укажите, какие кнопки для навигации в нем, пожалуйста. А то у меня вот никак не получается побеждать и хотелось бы сменить уровень сложности на легкий. Заранее благодарю^_^

Нужно не просто нажать одновременно кпопки R3 и L3, а прям-таки удерживать их. От смены сложности польза на самом деле сомнительная - как и в другой Namco'вской гонке, Cyber Cycles, где противника тоже на любой сложности хрен нагонишь, как ни старайся.

19
нашел как в зависимости от отключения электричества отключать запуск ракет с турелей?

Если хватит сил, может, когда-нибудь и найду.

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

21
На почве новости с глагне я заглянул по ссылке на shadPS4 и нихренашеньки не понял что там происходит в целом, и в частности - где там лист совместимости.

Он есть где  нибудь в употребимом виде?

Тута.

22
ты сделай чтоб не наиграть - а конвертануть.

На этот случай есть Dyna Gear, где звуковым чипом служит сэмплер Ensoniq ES5506. Внизу приведена часть базы используемых в игре музыкальных сэмплов. Байты начального и конечного адресов кажого сэмпла следуют в обратном порядке, плюс ещё надо держать в голове, что перед подгрузкой в оперативную память у старшего (т. е. последнего в каждой группе по 4) байта адреса устанавливается 7-й бит (я так понимаю, сэмплы именно инструментов в роме для звукового чипа идут, начиная с $80000 - т. е. $40000000>>11). Обратите внимание, что стартовый адрес loop'а и загружаемое в аккумулятор ES5506 значение (первые 2 четырёхбайтья каждого сэмпла) всегда совпадают. И уже за ними последними следует конечный адрес. Остаток базы сэмплов инструментов будет добавлен позже, как и код особо полюбившейся мне в этой игре мелодии со второго уровня. Пока что лишь заранее поясню, что 16-битное байтсвэпнутов число -3 ($fdff) в кодах пузыкальных партий предваряет такой же байтсвэпнутый номер сэмпла из базы, а положительное (т. е. первый байт в котором меньше $80) - как правило, играет роль номера страницы (которую ни за что не следует путать с переключаемыми банками памяти - в случае с данным чипом значение у термина "страница" ну уж совсем своё) ES5506 на переключение.

BGM2:
F01B76: C4 1B F0 00
F01B7A: 40 20 F0 00
F01B7E: 5A 22 F0 00
F01B82: AE 22 F0 00
F01B86: 02 23 F0 00
F01B8A: D6 23 F0 00
F01B8E: DC 24 F0 00
F01B92: F2 24 F0 00
F01B96: 10 25 F0 00
F01B9A: 42 25 F0 00
F01B9E: 8E 25 F0 00
F01BC4: F6 FF 96 00
F01BC8: FD FF 4B 00
F01BCC: FC FF 0A 00
F01BD0: F5 FF 00 00
F01BD4: F5 FF 02 00
F01BD8: FD FF 4B 00
F01BDC: FC FF 14 00
F01BE0: 24 00 18 00
F01BE4: FC FF 0E 00
F01BE8: 24 00 18 00
F01BEC: 24 00 18 00
F01BF0: 24 00 18 00
F01BF4: 24 00 18 00
F01BF8: 24 00 18 00
F01BFC: 24 00 18 00
F01C00: 24 00 18 00
F01C04: FC FF 14 00
F01C08: 24 00 18 00
F01C0C: FC FF 0E 00
F01C10: 24 00 18 00
F01C14: 24 00 18 00
F01C18: 24 00 18 00
F01C1C: 24 00 18 00
F01C20: 24 00 18 00
F01C24: 24 00 18 00
F01C28: 24 00 18 00
F01C2C: FC FF 14 00
F01C30: 24 00 18 00
F01C34: FC FF 0E 00
F01C38: 24 00 18 00
F01C3C: 24 00 18 00
F01C40: 24 00 18 00
F01C44: 24 00 18 00
F01C48: 24 00 18 00
F01C4C: 24 00 18 00
F01C50: 24 00 18 00
F01C54: FC FF 14 00
F01C58: 24 00 18 00
F01C5C: FC FF 0E 00
F01C60: 24 00 18 00
F01C64: 24 00 18 00
F01C68: 24 00 18 00
F01C6C: 24 00 18 00
F01C70: 24 00 18 00
F01C74: 24 00 18 00
F01C78: 24 00 18 00
F01C7C: FD FF 4B 00
F01C80: FC FF 14 00
F01C84: 24 00 18 00
F01C88: FC FF 0E 00
F01C8C: 24 00 18 00
F01C90: 24 00 18 00
F01C94: 24 00 18 00
F01C98: 24 00 18 00
F01C9C: 24 00 18 00
F01CA0: 24 00 18 00
F01CA4: 24 00 18 00
F01CA8: FC FF 14 00
F01CAC: 24 00 18 00
F01CB0: FC FF 0E 00
F01CB4: 24 00 18 00
F01CB8: 24 00 18 00
F01CBC: 24 00 18 00
F01CC0: 24 00 18 00
F01CC4: 24 00 18 00
F01CC8: 24 00 18 00
F01CCC: 24 00 18 00
F01CD0: FC FF 14 00
F01CD4: 24 00 18 00
F01CD8: FC FF 0E 00
F01CDC: 24 00 18 00
F01CE0: 24 00 18 00
F01CE4: 24 00 18 00
F01CE8: 24 00 18 00
F01CEC: 24 00 18 00
F01CF0: 24 00 18 00
F01CF4: 24 00 18 00
F01CF8: FC FF 14 00
F01CFC: 24 00 18 00
F01D00: FC FF 0E 00
F01D04: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D08: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D0C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D10: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D14: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D18: FC FF 14 00
F01D1C: FD FF 4C 00                                        updpte  R0, 2300[F06A19[PC]]
F01D20: 23 00 30 00                                                          halt
F01D24: FD FF 4B 00
F01D28: FC FF 14 00                                                          halt
F01D2C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D30: FC FF 0E 00                                                          halt
F01D34: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D38: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D3C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D40: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D44: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D48: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D4C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D50: FC FF                                                       sttask  !ERRAM5
F01D52: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01D57: 00                                                          halt
F01D58: FC FF                                                       sttask  !ERRAM5
F01D5A: 0E                                                          $00
F01D5B: 00                                                          halt
F01D5C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D60: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D64: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D68: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D6C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D70: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D74: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D78: FC FF                                                       sttask  !ERRAM5
F01D7A: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01D7F: 00                                                          halt
F01D80: FC FF                                                       sttask  !ERRAM5
F01D82: 0E                                                          $00
F01D83: 00                                                          halt
F01D84: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D88: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D8C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D90: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D94: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D98: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D9C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DA0: FC FF                                                       sttask  !ERRAM5
F01DA2: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01DA7: 00                                                          halt
F01DA8: FC FF                                                       sttask  !ERRAM5
F01DAA: 0E                                                          $00
F01DAB: 00                                                          halt
F01DAC: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DB0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DB4: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DB8: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DBC: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DC0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DC4: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DC8: FD FF 4B 00
F01DCC: FC FF 14 00                                                          halt
F01DD0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DD4: FC FF 0E 00                                                          halt
F01DD8: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DDC: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DE0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DE4: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DE8: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DEC: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DF0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DF4: FC FF                                                       sttask  !ERRAM5
F01DF6: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01DFB: 00                                                          halt
F01DFC: FC FF                                                       sttask  !ERRAM5
F01DFE: 0E                                                          $00
F01DFF: 00                                                          halt
F01E00: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E04: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E08: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E0C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E10: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E14: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E18: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E1C: FC FF                                                       sttask  !ERRAM5
F01E1E: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01E23: 00                                                          halt
F01E24: FC FF                                                       sttask  !ERRAM5
F01E26: 0E                                                          $00
F01E27: 00                                                          halt
F01E28: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E2C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E30: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E34: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E38: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E3C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E40: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E44: FC FF                                                       sttask  !ERRAM5
F01E46: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01E4B: 00                                                          halt
F01E4C: FC FF                                                       sttask  !ERRAM5
F01E4E: 0E                                                          $00
F01E4F: 00                                                          halt
F01E50: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E54: FC FF 14 00
F01E58: FD FF 4C 00                                        updpte  R0, 2300[F06B55[PC]]
F01E5C: 23 00 30 00                                                          halt
F01E60: FC FF 0E 00                                                          halt
F01E64: FD FF 4B 00
F01E68: 24 00 18 00                                                          halt
F01E6C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E70: FC FF 14 00
F01E74: FD FF 4C 00                                        updpte  R0, 2300[F06B71[PC]]
F01E78: 23 00 30 00                                                          halt
F01E7C: F4 FF                                                       test.w  !ERRAM5
F01E7E: F5 FF                                                       test.w  !ERRAM1
F01E80: 02 00 FD FF 4B 00 FC                                        stpr    R0, -400[F06A7F[PC]]
F01E87: FF 14 00 24                                                 clrtlb  24[0[R20]]
F01E8B: 00                                                          halt
F01E8C: 18                                                          $00
F01E8D: 00                                                          halt
F01E8E: FC FF                                                       sttask  !ERRAM5
F01E90: 0E                                                          $00
F01E91: 00                                                          halt
F01E92: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E96: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E9A: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E9E: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EA2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EA6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EAA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EAE: FC FF                                                       sttask  !ERRAM5
F01EB0: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01EB5: 00                                                          halt
F01EB6: FC FF                                                       sttask  !ERRAM5
F01EB8: 0E                                                          $00
F01EB9: 00                                                          halt
F01EBA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EBE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EC2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EC6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01ECA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01ECE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01ED2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01ED6: FC FF                                                       sttask  !ERRAM5
F01ED8: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01EDD: 00                                                          halt
F01EDE: FC FF                                                       sttask  !ERRAM5
F01EE0: 0E                                                          $00
F01EE1: 00                                                          halt
F01EE2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EE6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EEA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EEE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EF2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EF6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EFA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EFE: FC FF                                                       sttask  !ERRAM5
F01F00: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01F05: 00                                                          halt
F01F06: FC FF                                                       sttask  !ERRAM5
F01F08: 0E                                                          $00
F01F09: 00                                                          halt
F01F0A: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F0E: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F12: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F16: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F1A: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F1E: FC FF                                                       sttask  !ERRAM5
F01F20: 14 00 FD FF 4C 00 23                                        updpte  R0, 2300[F06C1F[PC]]
F01F27: 00                                                          halt
F01F28: 30                                                          $00
F01F29: 00                                                          halt
F01F2A: F4 FF                                                       test.w  !ERRAM5
F01F2C: F5 FF                                                       test.w  !ERRAM1
F01F2E: 02 00 FD FF 4B 00 FC                                        stpr    R0, -400[F06B2D[PC]]
F01F35: FF 14 00 24                                                 clrtlb  24[0[R20]]
F01F39: 00                                                          halt
F01F3A: 18                                                          $00
F01F3B: 00                                                          halt
F01F3C: FC FF                                                       sttask  !ERRAM5
F01F3E: 0E                                                          $00
F01F3F: 00                                                          halt
F01F40: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F44: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F48: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F4C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F50: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F54: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F58: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F5C: FC FF                                                       sttask  !ERRAM5
F01F5E: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01F63: 00                                                          halt
F01F64: FC FF                                                       sttask  !ERRAM5
F01F66: 0E                                                          $00
F01F67: 00                                                          halt
F01F68: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F6C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F70: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F74: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F78: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F7C: FC FF                                                       sttask  !ERRAM5
F01F7E: 14 00 FD FF 4C 00 23                                        updpte  R0, 2300[F06C7D[PC]]
F01F85: 00                                                          halt
F01F86: 30                                                          $00
F01F87: 00                                                          halt
F01F88: F4 FF                                                       test.w  !ERRAM5
F01F8A: FD FF                                                       sttask  !ERRAM1
F01F8C: 4B 00 FC FF 14                                              chlvl   R0, 14[F01F8B[PC]]
F01F91: 00                                                          halt
F01F92: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F96: FC FF                                                       sttask  !ERRAM5
F01F98: 0E                                                          $00
F01F99: 00                                                          halt
F01F9A: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F9E: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FA2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FA6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FAA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FAE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FB2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FB6: FC FF                                                       sttask  !ERRAM5
F01FB8: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01FBD: 00                                                          halt
F01FBE: FC FF                                                       sttask  !ERRAM5
F01FC0: 0E                                                          $00
F01FC1: 00                                                          halt
F01FC2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FC6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FCA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FCE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FD2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FD6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FDA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FDE: FC FF                                                       sttask  !ERRAM5
F01FE0: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01FE5: 00                                                          halt
F01FE6: FC FF 0E 00
F01FEA: 24 00 18 00
F01FEE: 24 00 18 00
F01FF2: 24 00 18 00
F01FF6: 24 00 18 00
F01FFA: 24 00 18 00
F01FFE: 24 00 18 00
F02002: 24 00 18 00
F02006: FC FF 14 00
F02008: 24 00 18 00
F0200E: FC FF 0E 00
F02012: 24 00 18 00
F02016: FC FF 14 00
F02018: FD FF 4C 00
F0201F: 23 00 30 00
F02022: FC FF 0E 00
F02026: FD FF 4B 00
F02028: 24 00 18 00
F0202E: 24 00 18 00
F02032: FC FF 14 00
F02034: FD FF 4C 00
F0203B: 23 00 30 00
F0203E: F4 FF
InstrumentalSamples:
F00C03: 00 00 00 00
F00C07: 00 00 00 00
F00C0B: 00 00 00 00 ; sample #0
F00C0F: 00 00 00 00
F00C13: 00 00 00 00
F00C17: 00 80 B4 00 ; sample #1
F00C1B: 00 90 B4 00
F00C1F: 00 90 B4 00
F00C23: 00 00 4B 01 ; sample #2
F00C27: 00 10 4B 01
F00C2B: 00 10 4B 01
F00C2F: 00 B0 93 04 ; sample #3
F00C33: 00 C0 93 04
F00C37: 00 C0 93 04
F00C3B: 00 40 91 07 ; sample #4
F00C3F: 00 50 91 07
F00C43: 00 50 91 07
F00C47: 00 A0 52 0C ; sample #5
F00C4B: 00 B0 52 0C
F00C4F: 00 B0 52 0C
F00C53: 00 60 04 10 ; sample #6
F00C57: 00 70 04 10
F00C5B: 00 70 04 10
F00C5F: 00 C0 B1 14 ; sample #7
F00C63: 00 D0 B1 14
F00C67: 00 D0 B1 14
F00C6B: 00 C0 0A 19 ; sample #8
F00C6F: 00 D0 0A 19
F00C73: 00 D0 0A 19
F00C77: 00 60 0F 1A ; sample #9
F00C7B: 00 70 0F 1A
F00C7F: 00 70 0F 1A
F00C83: 00 30 13 1A ; sample #$a
F00C87: 00 40 13 1A
F00C8B: 00 40 13 1A
F00C8F: 00 A0 61 1A ; sample #$b
F00C93: 00 B0 61 1A
F00C97: 00 B0 61 1A
F00C9B: 00 B0 8F 1E ; sample #$c

Вот как раз ориентируясь на эти адреса, и узнаёшь, какие участки выцарапывать из ромов для ES5506, и, если знаешь как, то конвертировать в понятные современным операционкам форматы.

P. S.:

23
Эмуляторы компьютеров / DOSBox
« : 30 Октябрь 2024, 05:00:44 »
Как пристегнуть к DOSBOX Staging, в отсутствие меню как у DOSBOX-X, образы винча и установочного CD для накатки Windows?

24
Пошла полоса даже какого-то подозрительного везения. Ещё несколько типов инструкций подтвердили правильность своей работы.

25
ну типа move a1, d1 как бы простое и понятное. а что насчет сложных случаев типа move a1, d1 + 100 + (a3 / 2) * 8 ? вот такого плана. а то я тоже хотел для своего дизассемблера сразу и ассемблер чтоб был... и как бы простые базовые случае регуляркой вполне себе... но когда начинается всякая порнография с математическими операциями внутри одного параметра, то я расстраиваюсь :)

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

26
и прям будет что любые математические операции в виде параметров - все сожрет и неподавится?

Ээээээм... Немножко не понял.

27
Тааааак, дела вроде пошли на лад - хоть для этого и пришлось скачать изначальный сорс asmarm.c ещё раз и взяться за его переписку заново, в истерическом темпе, почти в мыле, несколько раз оказавшись в шаге от закипания мозга и выкрутив всю свою личную память и внимательность на максимум. Проверка на работоспособность идёт не для каждой команды в отдельности, а по типам опкода. Если удастся довести до конца, следующей архитектуркой подвезут PowerPC - для Sega Model 3 и всего 7-го поколения консолей.

28
Команды перехода по абсолютному адресу работают как надо. Проверялось, если кому любопытно, через подставной псевдобиос, специально занесённый в базу биосов приватной сборки MAME, где дебаггер, на мой взгляд, самый удобный.

А вот вполне прописанные регистры MIPS мой ассемблер почему-то воспринимает как несуществующие. Где тут я и чего напортачил?

29
какую то конкретную игру имеешь?

Властелин Колец: Содружество Кольца, которая на VMWare даже после недавнего перехода на Ryzen 5 2600 до сих пор идёт с чудовищным слоудауном.

30
Привёл в собирабельный вид и интегрировал в ASMX, однако ждать адекватной работы пока рано - впереди ещё длинная полоса тестов.

Страницы: [1] 2 3 4 5 ... 30 Далее