Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Что такое карта тайлов
На страницу Пред.  1, 2
 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Базовый ромхакинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
щербаков5



Зарегистрирован: 04.01.2004
Сообщения: 407

СообщениеДобавлено: Пт Янв 23, 2004 7:19 pm    Заголовок сообщения: Ответить с цитатой

Axel писал(а):
щербаков5 писал(а):

Amorpho[US] писал(а):
А там раззи не ASCII ?

Axel говорит , что - да...

есть простой способ отличить кодировку ASCII,
нужно просто открыть файл в ОБЫЧНОМ (писюковом)
HEX редакторе и поискать СТРОКИ(текст) из игры... Smile
если найдется, то это ASCII Smile
(можно и не искать, а просто полистать туда сюда...)


Да я эту тему быстро понял. А что делать если попадётся не ASCII ?
В L..ht C....er всё рано не пойму - куда делась буква "I" Question
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Пт Янв 23, 2004 7:55 pm    Заголовок сообщения: Ответить с цитатой

щербаков5 писал(а):
всё рано не пойму - куда делась буква "I" Question

у тебя в таблице коду 49(hex) что соответствует ?
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
щербаков5



Зарегистрирован: 04.01.2004
Сообщения: 407

СообщениеДобавлено: Пт Янв 23, 2004 8:39 pm    Заголовок сообщения: Ответить с цитатой

Axel писал(а):
щербаков5 писал(а):
всё рано не пойму - куда делась буква "I" Question

у тебя в таблице коду 49(hex) что соответствует ?

"I" , но PokePerevod её не находит. Весь текст есть, а "I" нет.
Буду разбираться...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Сб Янв 24, 2004 1:06 am    Заголовок сообщения: Ответить с цитатой

щербаков5 писал(а):
...но PokePerevod её не находит. Весь текст есть, а "I" нет.

что значит не находит ? ты на какие кнопки нажимаешь ?

1. загружаю твоего крусэйдера
2. вызываю редактор таблиц
3. жму кнопку "reset alph."
4. стираю кириллицу
5. закрываю окно редактора таблиц
6. вынимаю текст
7. листаю некоторое время... и вижу
Код:

361614 IRON GLOVES
361626 POWERSCHUTZ
361638 GUANTE PODER
361651 GANTS FORTS
361663 POWER GLOVES

на месте твоя "I".
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Гость






СообщениеДобавлено: Сб Янв 24, 2004 6:32 pm    Заголовок сообщения: Ответить с цитатой

Axel писал(а):
щербаков5 писал(а):
...но PokePerevod её не находит. Весь текст есть, а "I" нет.

что значит не находит ? ты на какие кнопки нажимаешь ?

1. загружаю твоего крусэйдера
2. вызываю редактор таблиц
3. жму кнопку "reset alph."
4. стираю кириллицу
5. закрываю окно редактора таблиц
6. вынимаю текст
7. листаю некоторое время... и вижу
Код:

361614 IRON GLOVES
361626 POWERSCHUTZ
361638 GUANTE PODER
361651 GANTS FORTS
361663 POWER GLOVES

на месте твоя "I".


Да я не про то, её не было в самом первом предложении:
I shall have my revenge for what....
Так как там перенос строки , а символа его ( / ) в таблице не было. Поэтому Poke её и не находил. Сейчас всё в порядке
00=/
20=
2C=,
2E=.
3F=?
21=!
27='
41=A
42=B
43=C
44=D
45=E
46=F
47=G
48=H
49=I
4A=J
4B=K
4C=L
......
А догнал я это по "Руководствo по переводу", что у Ifritz-a на сайте.
За что ему БОЛЬШОЁ СПАСИБО!!!
Вернуться к началу
щербаков5



Зарегистрирован: 04.01.2004
Сообщения: 407

СообщениеДобавлено: Сб Янв 24, 2004 6:34 pm    Заголовок сообщения: Ответить с цитатой

Опять войти забыл
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Alex_231



Зарегистрирован: 13.01.2005
Сообщения: 144
Откуда: Арсеньев

СообщениеДобавлено: Ср Авг 03, 2005 5:10 am    Заголовок сообщения: Ответить с цитатой

Fish писал(а):
Relative Search?

Есть еще способ: ищем в роме место с текстом, который отображается вместе с искомыми тайлами (т.е. кадр в игре, где отображается текст и графика одновременно), например, заголовок с надписью "PRESS START", меняем коды надписи в HEX-редакторе на 00 01 02 03 и т.д. и выясняем каким кодам какие тайлы соответствуют. Конечно он не из лучших, но для начинающих это довольно просто. Правда он не везде будет работать, так в Phantasy Star используются две карты тайлов: шрифт текста в менюшках вперемешку с графикой кодируется в первой, во второй - только графика (один тайл кодируется двумя байтами), а шрифт обычного текста вообще - отдельно (однобайтовая карта тайлов).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2814

СообщениеДобавлено: Ср Сен 07, 2005 8:15 pm    Заголовок сообщения: Ответить с цитатой

Alex_231 писал(а):
Есть еще способ: ищем в роме место с текстом, который отображается вместе с искомыми тайлами (т.е. кадр в игре, где отображается текст и графика одновременно), например, заголовок с надписью "PRESS START", меняем коды надписи в HEX-редакторе на 00 01 02 03 и т.д. и выясняем каким кодам какие тайлы соответствуют. Конечно он не из лучших, но для начинающих это довольно просто. Правда он не везде будет работать, так в Phantasy Star используются две карты тайлов: шрифт текста в менюшках вперемешку с графикой кодируется в первой, во второй - только графика (один тайл кодируется двумя байтами), а шрифт обычного текста вообще - отдельно (однобайтовая карта тайлов).


Метод с Relative Search работает во всех случаях, кроме запакованных карт тайлов. Если карта тайлов двухбайтная - ищем через_байт (*). Вообще, все эти методы были "открытием" примерно лет 5 назад - можно почитать немало англоязычных док, где автор с восторгом расписывает, как именно лучше рисовать цифры на тайлах, чтобы и графику сохранить, и последовательность пронумеровать. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
BlueHairLady
RRC2008
RRC2008


Зарегистрирован: 12.05.2007
Сообщения: 158
Откуда: Гонолулу

СообщениеДобавлено: Ср Апр 16, 2008 6:53 pm    Заголовок сообщения: Ответить с цитатой

Решила, что будет лучше перенести вопрос в эту тему.

Итак, я имею представление, что такое карта тайлов, но не совсем понятны такие термины, как "спрайт" и "спрайтовая надпись". Так что же это такое? И чем спрайтовая картинка отличается от сформированной через карту тайлов?

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

Поправьте, если я ляпнула что-то не то. Embarassed
_________________
Надеюсь на возвращение, но сейчас меня нет.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Апр 16, 2008 7:03 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Если я правильно поняла, то карта тайлов - это жёсткая структура, определяющая порядок вывода тайлов и разворачивающая их на экране в статический двухмерный массив.

А также, в зависимости от архитектуры приставки, может содержать информацию для каждого тайла о палитре, зеркальном отражении и т.п.

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

В принципе, верно. Спрайт - графический (2D) объект, свободно "перемещаемый". У некоторых консолей может поддерживаться изменение пропорций спрайта, а также всяческие повороты, эффекты и т.п.

Конечно, игру можно сделать и без спрайтов - самому отрисовывая необходимую графику на необходимых фонах, но отрисовка спрайтов, как правило, поддерживается консолью аппаратно и не жрёт ресурсов основного процессора (вроде бы). То бишь разработчикам по сути подаётся графический движок на блюдечке с золотой каёмочкой.
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Shiru



Зарегистрирован: 25.10.2006
Сообщения: 295
Откуда: Russia, Moscow

СообщениеДобавлено: Ср Апр 16, 2008 8:20 pm    Заголовок сообщения: Ответить с цитатой

BlueHairLady писал(а):
Если я правильно поняла, то карта тайлов - это жёсткая структура, определяющая порядок вывода тайлов и разворачивающая их на экране в статический двухмерный массив.

В карте тайлов только их номера и атрибуты, а порядок фиксирован (зависит от кода, работающего с картой). Обычно слева-направо, сверху-вниз.

BlueHairLady писал(а):
А спрайт - это тайл

Спрайт - это спрайт. Объект, который можно выводить в произвольной точке экрана поверх фона, всё верно. Тайл (en. 'плитка') - это элемент фона. А графические блоки, которые используются в качестве тайлов и спрайтов, называют по всякому - символами (character), паттернами (pattern), иногда тайлами (что вносит путаницу).

HoRRoR писал(а):
Конечно, игру можно сделать и без спрайтов - самому отрисовывая необходимую графику на необходимых фонах, но отрисовка спрайтов, как правило, поддерживается консолью аппаратно и не жрёт ресурсов основного процессора (вроде бы).

Рисовать программно, если консоль не имеет растрового режима (почти, если не все, консоли до 1993-1994 года) - это убиться можно, очень неудобно и медленно. Разумеется, аппаратная 'отрисовка' (на самом деле 'отображение', реально ничего никуда не рисуется) не использует ресурсов основного процессора, на то она и аппаратная.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Апр 16, 2008 10:18 pm    Заголовок сообщения: Ответить с цитатой

Shiru писал(а):
Рисовать программно, если консоль не имеет растрового режима (почти, если не все, консоли до 1993-1994 года) - это убиться можно, очень неудобно и медленно. Разумеется, аппаратная 'отрисовка' (на самом деле 'отображение', реально ничего никуда не рисуется) не использует ресурсов основного процессора, на то она и аппаратная.

Хех) Мой кругозор довольно узок в этом плане, но во многих случаях (в основном это касается вывода текста) рисовать программно является намного мудрым решением (речь о более современных консолях Smile), нежели спрайто-хардварно (хотя всё-равно это можно назвать программной прорисовкой, ибо графика сначала копируется в видеобуфер или т.п.). Например, в Silent Hill: Play Novel (GBA) столкнулся с жёсткими ограничениями по количеству выводимых символов, ибо используется спрайтовый метод. Придётся писать туеву кучу процедур, чтобы всё приспособить под латинско-русский алфавит %)

Кстати, давно хотел спросить, как на аппаратном уровне выводится графика на экран? Какие процессы там фунциклируют? Smile
И вообще, что делает процессор, выполняя инструкции?
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2814

СообщениеДобавлено: Ср Апр 16, 2008 10:36 pm    Заголовок сообщения: Ответить с цитатой

В рамках темы этого топика Главное различие между картой тайлов (BG) и спрайтами в том, что карта тайлов представляет собой упорядоченную структуру (таблицу, последовательность значений). Как у любой структуры данных, у карты тайлов есть свои особенности и закономерности, и принимая эти закономерности во внимание, можно легко отыскать нужный отрезок данных в РОМе.

К примеру, вот какие есть особенности у карты тайлов:
    1. Порядок тайлов в сетке экрана однозначно соответствует порядку следования байтов (т.е. в карте за инфой о тайле №3 следует инфа о тайле №4 и т.д., без всяких перескоков и неоднозначностей)
    2. Карта представляет собой последовательность полей одинаковой длины (например, все поля по 2 байта, в каждом поле содержится информация о следующем тайле + палитра).
    3. Между ячейками таблицы нет промежутков, за байтом первого тайла сразу идёт байт второго тайла. После нахождения адреса начала карты тайлов адрес любой другой ячейки с инфой о нужном тайле легко вычисляется в уме.
    4.

А спрайты не имеют чёткого формата, всё зависит от разработчика.

    1. Инфа о спрайте №5 запросто может идти в РОМе перед инфой о спрайте №4.
    2. Описатели спрайтов могут иметь разный формат (использовать разное количество байт для хранения информации). К примеру, спрайты героя хранятся в одном формате, а спрайты надписей - в совсем другом.
    3. Описатели спрайтов зачастую не сведены ни в какую таблицу, а разбросаны по коду, и нахождение описателя для одного спрайта вовсе не означает, что описатели других спрайтов лежат где-то рядом.
    4.

Короче, карта тайлов - это порядок. Её легко искать в рамках базового ромхакинга. А спрайты - это отстствие ограничений. Их нужно искать уже более продвинутыми методами, отслеживая состояние ОЗУ и даже немножко используя дебаггер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Апр 16, 2008 10:42 pm    Заголовок сообщения: Ответить с цитатой

АнС, в таком случае, то же самое можно сказать всё-таки и о карте. Встречал немало случаев хранения оных в нестандартном формате. Конечно, это явление так же редко, как и хранение спрайтов в стандартном виде (под стандартным подоразумеваю формат, предусмотренный архитектурой консоли).
Хотя, мои слова относятся к довольно узкому кругу консолей, на которых я что-либо копал...

Так что от разработчика зависят не только спрайты, от разрабов зависит ВСЁ Smile
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2814

СообщениеДобавлено: Ср Апр 16, 2008 10:48 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
И вообще, что делает процессор, выполняя инструкции?


Управляет током согласно заложенной схеме. Smile Это тебе надо прям [url=http://ru.wikipedia.org/wiki/Транзистор]отсюда[/url] начинать.


HoRRoR писал(а):
АнС, в таком случае, то же самое можно сказать всё-таки и о карте. Встречал немало случаев хранения оных в нестандартном формате.


Что значит в нестандартном формате? Форматы карты могут отличаться лишь величиной поля (1 байт/2 байта/...) и расшифровкой значения в поле. Но все структурные особенности сохраняются - порядок следования, неизменность поля и т.д.
Иначе это уже не карта тайлов будет, а другой вид обобщения информации - ну там, скрипт или контейнер-словарь.

Так что приведи пример, либо ты не так понял. Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Shiru



Зарегистрирован: 25.10.2006
Сообщения: 295
Откуда: Russia, Moscow

СообщениеДобавлено: Ср Апр 16, 2008 10:57 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Кстати, давно хотел спросить, как на аппаратном уровне выводится графика на экран? Какие процессы там фунциклируют? :)


Коротко эту тему не раскрыть. Могу в общих словах и бессвязно, но лучше задавать конкретные вопросы.

На приставках типа NES, SMD, SNES, PCE нет буфера растра. Там есть видеоконтроллер с собственной видеопамятью (не связана с основной). В ней хранятся изображения символов (в видео-ОЗУ или видео-ПЗУ), список спрайтов и карта тайлов (в видео-ОЗУ). Процессор говорит видеоконтроллеру, что где отображается - заполняет карту тайлов номерами символов и атрибутами, заполняет список спрайтов их координатами и т.п. Видеоконтроллер исходя из этих данных генерирует изображение, выбирая нужные данные прямо в процессе хода луча. Для выяснения цвета каждой точки изображения происходит много чтений видеопамяти - исходя из координат отображаемой точки выясняется адрес в карте тайлов, читается оттуда номер символа, вычисляется адрес, где хранится нужная точка этого символа, читается; читается список спрайтов, выясняется, есть-ли спрайт в нужной точке, вычисляется адрес нужной точки нужного символа, и т.д. Согласно системе приоритетов и кодов 'прозрачных точек' выясняется, какая из всех точек изображения (фона, спрайтов) должна быть выведена. Так как быстродействие любой памяти ограничено, получается ограничение на количество отображаемых в одной строке спрайтов и слоёв фона. Чтобы его обойти, используют более быструю память, широкую шину данных, подготовку строки заранее (пока отображается другая строка).

Карта тайлов, которая находится в видео-ОЗУ, имеет ограниченный (объёмом этого ОЗУ и возможностями видеоконтроллера) размер. Ограничения существенные - от одного экрана (скажем, 32x32 тайла при разрешении 256x192) до нескольких экранов. Уровни в играх значительно больше. Поэтому процессор должен подпихивать туда новые данные при движении по уровню. Обновлять всю карту дорого, т.к. обращение процессора к видео-ОЗУ идёт через видеоконтроллер, а у него почти нет времени для этого, так как он сам постоянно дёргает видеопамять в процессе отображения. Поэтому обратиться процессором к видео-ОЗУ можно только во время обратного хода луча, пока видеоконтроллер свободен. Это ограничивает объём данных, передаваемых в видеопамять за один кадр (одна из проблем программной отрисовки чего-либо на таких системах). Поэтому для реализации скролла обновляют не всю карту тайлов, а только ушедшие 'за экран' столбцы и строки.

Так как уровни в играх могут быть очень большими, хранить их в ПЗУ в виде 'один тайл - один байт' (условно, на самом деле плюс атрибуты и т.п.) невыгодно, т.к. ПЗУ не резиновое и стоит денег. Для экономии места используется своего рода сжатие. Из одиночных тайлов составляют блоки по несколько тайлов (2x2, 4x4) со ссылками на одиночные тайлы, из этих блоков составляют 'комнаты' (например 8x8 блоков 4x4), из комнат уровень. Процессору для обновления строки или столбца карты тайлов (которая в видео-ОЗУ) приходится бегать по ссылкам, чтобы выяснить итоговые номера символов, которые надо записать в видеопамять.

Про работу процессора - действительно, лучше почитать соответствующую литературу. Только для программиста от знаний, как работает процессор на физическом уровне (сигналы, машинные циклы и т.п.), пользы не очень много - ему гораздо нужнее логический уровень (регистры, команды).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Чт Апр 17, 2008 4:10 am    Заголовок сообщения: Ответить с цитатой

Цитата:
Что значит в нестандартном формате? Форматы карты могут отличаться лишь величиной поля (1 байт/2 байта/...) и расшифровкой значения в поле. Но все структурные особенности сохраняются - порядок следования, неизменность поля и т.д.
Иначе это уже не карта тайлов будет, а другой вид обобщения информации - ну там, скрипт или контейнер-словарь.

Так что приведи пример, либо ты не так понял.

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

Цитата:
Управляет током согласно заложенной схеме. Это тебе надо прям [url=http://ru.wikipedia.org/wiki/Транзистор]отсюда[/url] начинать.

Ухожу в хардварщики Very Happy Что-то я реально начал жалеть, что не увлекался в детстве радиоэлектроникой... Уже бы дамперы да флэш-картриджы паял :D

Shiru, спасибо, всё поверхностно понял Smile Только как происходит в случае со встроенным LCD? Там же луч не бегает... Просто делаются задержки при прорисовке строк?

Цитата:
Про работу процессора - действительно, лучше почитать соответствующую литературу. Только для программиста от знаний, как работает процессор на физическом уровне (сигналы, машинные циклы и т.п.), пользы не очень много - ему гораздо нужнее логический уровень (регистры, команды).

Мне для общего развития, очень интересно... Просто вот работает оно - и всё. А как, почему и зачем - кто его знает...
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
IfoR



Зарегистрирован: 16.05.2006
Сообщения: 334

СообщениеДобавлено: Чт Апр 17, 2008 7:42 am    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Ухожу в хардварщики Very Happy Что-то я реально начал жалеть, что не увлекался в детстве радиоэлектроникой... Уже бы дамперы да флэш-картриджы паял Very Happy


Offtop:
Млин, затронул меня. Так что оффтоп. Smile Кстати, реально бы тебе заняться. Интересно. Smile Паяешь дампер кардриджа на счётчиках и ты можешь считать себя начинающим радиолюбителем в логике. ) Мне скоро должно прийти пара контроллеров, на одном из них намереваюсь спаять картридж, который будет читать ROM с флешки. Но боюсь за некоторые технические недостатки. )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2814

СообщениеДобавлено: Чт Апр 17, 2008 9:05 am    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Например, карта тайлов в виде массива координата-тайл (ну не дошли у разрабов руки хотя бы до RLE).


Так это уже не карта тайлов, а набор описателей впечатываемых тайлов. Во многих играх фон заставки формируется из двух источников - сначала в паттерны VRAM копируется карта тайлов заставки, а потом поверх неё впечатываются слова типа 1 PLAYER. Первое - это карта, а второе - это скрипт (либо другой способ хранения).

Карта тайлов просто по определению обладает теми свойствами, часть из которых я перечислил, и которые используются (неосознанно) ромхакерами при поиске карт.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Чт Апр 17, 2008 11:47 am    Заголовок сообщения: Ответить с цитатой

АнС, ты не понял, это именно будущая карта тайлов. Просто запихнутая в такой тупой формат. Именно из этих данных потом составляется самая обыкновенная карта. Можно в принципе даже
назвать это своеобразным способом криптации...
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Shiru



Зарегистрирован: 25.10.2006
Сообщения: 295
Откуда: Russia, Moscow

СообщениеДобавлено: Чт Апр 17, 2008 12:47 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Shiru, спасибо, всё поверхностно понял :) Только как происходит в случае со встроенным LCD? Там же луч не бегает... Просто делаются задержки при прорисовке строк?

У LCD тоже есть развёртка, реализуемая его встроенным контроллером. Чтобы включить точку на LCD, нужно приложить к ней напряжение - два контакта. У того-же GameBoy разрешение экрана 160x144 - всего 23040 точек. Если к каждой точке вести пусть даже по одной линии (вторую сделать общей), понадобится огромная куча линий, которую просто негде разместить. Поэтому используют матрицу - горизонтальные проводники на одном слое, вертикальные на другом. Тогда понадобится всего 304 (160+144) проводника. Подаёшь напряжение на нужную строку и столбец - управляешь точкой в их пересечении. При таком способе нельзя в один момент времени управлять более чем одной точкой (как и на ТВ), поэтому доступ к каждой точке разделяется во времени. Этим занимается контроллер самого LCD. И разделяет он его аналогично телевизору - последовательно перебирает все точки. На входе у контроллера LCD аналогичный набор сигналов, только не смешанный, а отдельными линиями: тактовая частота, данные, вертикальная и горизонтальная синхронизация. Ну и параметры развёртки соответственно отличаются. Видеоконтроллер портативной консоли устроен аналогично не-портативным, с учётом других параметров устройства отображения, ну и имеет соответствующий интерфейс для сопряжения с контроллером LCD.

HoRRoR писал(а):
Мне для общего развития, очень интересно... Просто вот работает оно - и всё. А как, почему и зачем - кто его знает...

Я думаю, для начала можно почитать описания старых процессоров - типа 8080.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2814

СообщениеДобавлено: Чт Апр 17, 2008 1:53 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
АнС, ты не понял, это именно будущая карта тайлов. Просто запихнутая в такой тупой формат. Именно из этих данных потом составляется самая обыкновенная карта. Можно в принципе даже назвать это своеобразным способом криптации...


Ну понятно, что видеоадаптер примет эти данные только в виде карты тайлов, но в РОМе данные хранятся в другом виде - не в виде карты тайлов, поэтому средства базового ромхакинга здесь не помогут.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Базовый ромхакинг Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group