Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
evgeny RRC2008

Зарегистрирован: 08.02.2006 Сообщения: 188
|
Добавлено: Чт Сен 07, 2006 5:36 am Заголовок сообщения: таблица присвоения символов на Sega |
|
|
Подскажите как найти таблицу присвоения символов на Sega.
Т.е. допустим, я хочу писать рускими символами прямо в Hex-редакторе, или хочу добавить дополнительные символы. |
|
Вернуться к началу |
|
 |
gottax

Зарегистрирован: 16.11.2003 Сообщения: 588 Откуда: Курск
|
Добавлено: Чт Сен 07, 2006 7:53 am Заголовок сообщения: |
|
|
Бред какой-то... А таблица кодировки - это по-твоему что? Писать русскими символами в HEX-редакторе очень просто: достаточно лишь пересохранить таблицу с русскими символами в DOS-кодировке (Для Hexposure, Translhextion, Gold Finger).
Перемещаю тему в базовый ромхакинг, хотя честно говоря, ей и здесь делать особо нечего, это откровенно ламерский вопрос. |
|
Вернуться к началу |
|
 |
evgeny RRC2008

Зарегистрирован: 08.02.2006 Сообщения: 188
|
Добавлено: Чт Сен 07, 2006 11:37 am Заголовок сообщения: |
|
|
Похоже меня не поняли. В игре существует английский шрифт. Символов меньше чем в русском языке. Кодировка ASCII. Вот мне и нужна таблица этой кодировки, в роме. Я хочу добавить символов, но я не могу их заставить отображаться в игре, потому, что им значения не присвоены.
И если значения поменять, то можно заставить русский текст отображаться как текст в ЛЮБОМ Hex-редакторе, и даже блокноте, как отображается английский.
Должен быть код, ассоциирует символ с номером тайла в роме.
Последний раз редактировалось: evgeny (Чт Сен 07, 2006 11:49 am), всего редактировалось 1 раз |
|
Вернуться к началу |
|
 |
BoreS

Зарегистрирован: 03.04.2004 Сообщения: 347 Откуда: KarmaSociety
|
Добавлено: Чт Сен 07, 2006 11:48 am Заголовок сообщения: |
|
|
Конечно не поняли, ты выражаешься непонятно. Прочитай доки по составлению таблиц и перерисовке шрифта. Больше ничего посоветовать не могу. |
|
Вернуться к началу |
|
 |
evgeny RRC2008

Зарегистрирован: 08.02.2006 Сообщения: 188
|
Добавлено: Чт Сен 07, 2006 11:55 am Заголовок сообщения: |
|
|
Мне не нужны доки по составлению таблиц. Таблицу составлять не нужно будет, если присвоить свои значения прямо в роме. |
|
Вернуться к началу |
|
 |
PEREVODчик

Зарегистрирован: 07.07.2006 Сообщения: 105 Откуда: Kirov
|
Добавлено: Чт Сен 07, 2006 12:47 pm Заголовок сообщения: |
|
|
Значения берутся из расположения символов- открой любым графическим редактором,найди шрифт,перерисуй на русские буквы-в какой клетке нарисуешь букву-такое и будет её значение.Единственное нужно знать код первого символа-поможет Relative Searcher. |
|
Вернуться к началу |
|
 |
evgeny RRC2008

Зарегистрирован: 08.02.2006 Сообщения: 188
|
Добавлено: Чт Сен 07, 2006 1:53 pm Заголовок сообщения: |
|
|
Я добавить хочу, а не перерисовывать. Если я рисую болше букв а они не отображаются, значит нет у них значений, мне нужно найти место в роме, где эти значения прописываются, чтобы добавить еще. |
|
Вернуться к началу |
|
 |
PEREVODчик

Зарегистрирован: 07.07.2006 Сообщения: 105 Откуда: Kirov
|
Добавлено: Чт Сен 07, 2006 2:00 pm Заголовок сообщения: |
|
|
evgeny писал(а): | Я добавить хочу, а не перерисовывать |
Добавить так добавить-это можно.
1) Перемещаешь знакогенератор в другое место(если места нет)
2) Ищешь байт,отвечающий за кол-во символов-сосчитай сколько символов в знакогенераторе и измени.(чаще всего бывает 7F или FF).
Если 7F измени на FF(если не хочешь проблем).Если FF....извини,дополнительные символы ДОЛЖНЫ отображаться!
P.S.Ищи с байтом 00( 007F или 00FF),вариантов будет много.Если не получится ищи без 00-вариантов будет..........лучше дебажить. |
|
Вернуться к началу |
|
 |
АнС RRC2008


Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Чт Сен 07, 2006 3:08 pm Заголовок сообщения: |
|
|
Да, это надо код будет чуть модифицировать, чтобы дополнительные знаки шрифта выводить. Однако, ну и формулировка вопроса!  |
|
Вернуться к началу |
|
 |
evgeny RRC2008

Зарегистрирован: 08.02.2006 Сообщения: 188
|
Добавлено: Чт Сен 07, 2006 3:12 pm Заголовок сообщения: |
|
|
Что ты называешь знакогенератором? Я перенес графику шрифта в другое место рома, изменил значение, благодаря которому дополнительные символы отображаются в видеопамяти через дебаг.
Но они не выводятся. Возможно нужно найти еще какое-то значение, но мне думается должна быть таблица. |
|
Вернуться к началу |
|
 |
PEREVODчик

Зарегистрирован: 07.07.2006 Сообщения: 105 Откуда: Kirov
|
Добавлено: Чт Сен 07, 2006 3:32 pm Заголовок сообщения: |
|
|
АнС писал(а): | Однако, ну и формулировка вопроса! |
Я тоже долго думал
evgeny писал(а): | Но они не выводятся. Возможно нужно найти еще какое-то значение, но мне думается должна быть таблица. |
Я написал какое значение нужно искать. Твою игру я не смотрел,но этим способом я добавил символы в Phantasy Star IV на Genesis. |
|
Вернуться к началу |
|
 |
evgeny RRC2008

Зарегистрирован: 08.02.2006 Сообщения: 188
|
Добавлено: Чт Сен 07, 2006 3:44 pm Заголовок сообщения: |
|
|
Phantasy Star! В японских играх зачастую программа расчитана на болшее количисво символов, даже когда их перевели на английский.
В LandStalker и Shining in The Darkness тоже достаточно шрифт перенести и дорисовать. |
|
Вернуться к началу |
|
 |
PEREVODчик

Зарегистрирован: 07.07.2006 Сообщения: 105 Откуда: Kirov
|
Добавлено: Чт Сен 07, 2006 3:51 pm Заголовок сообщения: |
|
|
По крайней мере мне не хватало . Я переделывал Английскую версию-японских символов что-то я не видел, места было впритык.
P.S. В японском шрифте я не видал различия между заглавными и строчными буквами-пишется на одном уровне.Так что не много символов выиграешь. |
|
Вернуться к началу |
|
 |
Ghost

Зарегистрирован: 24.04.2004 Сообщения: 237
|
Добавлено: Чт Сен 07, 2006 4:29 pm Заголовок сообщения: |
|
|
Надо ли менять код, зависит от игры. К примеру, те же шайнинги: можно добавить русский шрифт, переместив его в другое место, код вывода останется старым, но новые символы будут выводиться. Возможно, надо ещё поменять значения управляющих символов, но к коду это не относится. _________________ Мысль - это интеллектуальный эксцесс данного индивидуума. |
|
Вернуться к началу |
|
 |
gottax

Зарегистрирован: 16.11.2003 Сообщения: 588 Откуда: Курск
|
Добавлено: Чт Сен 07, 2006 5:44 pm Заголовок сообщения: |
|
|
Цитата: | Однако, ну и формулировка вопроса!  |
Закусывать надо.  |
|
Вернуться к началу |
|
 |
evgeny RRC2008

Зарегистрирован: 08.02.2006 Сообщения: 188
|
Добавлено: Пт Сен 08, 2006 4:39 am Заголовок сообщения: |
|
|
Пока что никто лучше не сформулировал, да и толком не ответил на мой вопрос. Похоже почти никто и не пытался добавить дополнительные сымволы если для них "нет места". Версия PEREVODчика мне ясна. Но в Block Out я нашел эту таблицу, буду искать что-то подобное. В Block Out изменил кое-что и вместо всех O стали отображаться I. |
|
Вернуться к началу |
|
 |
alex_231 / лень региться Гость
|
Добавлено: Пт Сен 08, 2006 11:04 am Заголовок сообщения: |
|
|
Я проделывал подобное, но только на СНЕС, там я просто переписал код, копирующий шрифт в видео память, чем добавил несколько знакомест.
В твоем же случае нужно искать код, который строит надпись (об этом говорил АнС), возможно, в нём стоят ограничения на значения кодов символов
Например: если код_символа > 7F, то код_символа = 7F, подобная тема встречается в Monster World 4. |
|
Вернуться к началу |
|
 |
evgeny RRC2008

Зарегистрирован: 08.02.2006 Сообщения: 188
|
Добавлено: Пт Сен 08, 2006 12:32 pm Заголовок сообщения: |
|
|
А как выглядит команда: если код_символа > 7F, то код_символа = 7F в Hex не знаешь? Там выводится меньше символов чем в шрифте (в титульном экране), должно быть ограничение, либо таблицы отображаемых символов. alex_231 действительно очень похоже на твою версию. поищем. |
|
Вернуться к началу |
|
 |
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пт Сен 08, 2006 3:07 pm Заголовок сообщения: |
|
|
evgeny писал(а): | А как выглядит команда: если код_символа > 7F, то код_символа = 7F в Hex не знаешь? |
Ну, такой команды нет. Для такого нужно две команды. Одна для сравнения другая для перехода, если флаг равен 1.
А что за игра? |
|
Вернуться к началу |
|
 |
АнС RRC2008


Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Пт Сен 08, 2006 4:28 pm Заголовок сообщения: |
|
|
evgeny, ты можешь найти нужный кусок кода в дебаггере FCEU, без всяких хекседиторских заморочек по методу Кабала.
Сначала находишь место в памяти, в котором формируется карта тайлов (или просто строка тайлов - текст сообщения) - это ищется тем же релативсерчем по дампу памяти.
Потом ставишь бряк на место появления байта 7F (вообще, можно и любого значения).
При останове игры в момент вывода этого символа смотришь в дебаггер и видишь код вывода - вот там где-то рядом есть те команды (их может быть даже больше, чем пара), которые ограничивают число знаков до 128 штук (7F). |
|
Вернуться к началу |
|
 |
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пт Сен 08, 2006 7:39 pm Заголовок сообщения: |
|
|
Конечно больше чем пара. Извините меня, пожалуйста, за очередной offtop, но я ту больше месяца пытаюсь узнать, как нормально поставить брякпоинт в Gens-е. АнС (или кто ни буть), пожалуйста, подскажите, как ставить брякпоинт. |
|
Вернуться к началу |
|
 |
АнС RRC2008


Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Пт Сен 08, 2006 8:23 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Конечно больше чем пара. Извините меня, пожалуйста, за очередной offtop, но я ту больше месяца пытаюсь узнать, как нормально поставить брякпоинт в Gens-е. АнС (или кто ни буть), пожалуйста, подскажите, как ставить брякпоинт. |
Никак не поставить, если тебе надо отловить запись в память. Вроде, как-то пока все обходятся.
В GensDebug можно ставить бряк только на регистр PC - короче, на код. |
|
Вернуться к началу |
|
 |
|