Создать ответ 
 
Рейтинг темы:
  • Голосов: 1 - Средняя оценка: 5
  • 1
  • 2
  • 3
  • 4
  • 5
Another World Dreamcast HD Version
Автор Сообщение
MetalliC Не на форуме
Продвинутый
***

Сообщений: 185
Зарегистрирован: 31.07.2013
Рейтинг: 2
Сказал спасибо: 15
Поблагодарили 33 раз(а) в 15 сообщ.
Сообщение: #20
RE: Another World Dreamcast HD Version
уфф, смотри что я вижу в логе эмулятора во время ролика:
Код:
PKT_CD_READ 112460 len 1 mode 28 PIO
PKT_CD_READ 112468 len 2 mode 28 PIO
LDTLB vpn 00000000 ppn 0c908000 mask 00000fff (Master)
PKT_CD_READ 112470 len 2 mode 28 PIO
LDTLB vpn 00001000 ppn 0c909000 mask 00000fff (Master)
PKT_CD_READ 112472 len 2 mode 28 PIO
LDTLB vpn 00002000 ppn 0c90a000 mask 00000fff (Master)
PKT_CD_READ 112474 len 2 mode 28 PIO
LDTLB vpn 00003000 ppn 0c90b000 mask 00000fff (Master)
PKT_CD_READ 112476 len 2 mode 28 PIO
LDTLB vpn 00004000 ppn 0c908000 mask 00000fff (Master)
PKT_CD_READ 112478 len 2 mode 28 PIO
LDTLB vpn 00005000 ppn 0c909000 mask 00000fff (Master)
PKT_CD_READ 112480 len 2 mode 28 PIO
LDTLB vpn 00006000 ppn 0c90a000 mask 00000fff (Master)
PKT_CD_READ 112482 len 2 mode 28 PIO
LDTLB vpn 00007000 ppn 0c90b000 mask 00000fff (Master)
PKT_CD_READ 112484 len 2 mode 28 PIO
LDTLB vpn 00008000 ppn 0c908000 mask 00000fff (Master)
и так далее, и тому подобное.
если всё еще не понятно - в логе видно, что файл читается по 2 сектора в буфер (вернее один из 4х буферов 0c908000 0c909000 0c90b000 0c90b000), и затем мапится в логические адреса начиная с нуля (т.е. там где обычно биос).

на программном уровне это работает как классический mmap:
- включается трансляция адресов
- ставится защита на чтение адресов, в области начиная с нуля

далее код читает данные файла, как будто они находятся в памяти, начиная с нулевого адреса.
если нужная страничка еще не замаплена - стреляет исключение TLB Miss, обработчик которого:
- рассчитывает какая пара секторов файла нам нужна
- читает их в ОЗУ, в один из 4х буферов
- мапит этот буфер в логическое адресное пространство (что видно как "LDTLB ..." в логе выше)
- возвращаемся из обработчика исключения в код игры

я хз как и что там сделано в KOS, но эта игра работает вот таким образом
27.03.2019 16:30
Найти все сообщения Цитировать это сообщение
Создать ответ 


Сообщения в этой теме
RE: Another World Dreamcast HD Version - MetalliC - 27.03.2019 16:30

Похожие темы
Тема: Автор Ответов: Просмотров: Посл. сообщение
  Arcade Dreamcast 2024 aldair 3 1030 20.12.2024 16:37
Посл. сообщение: ArtSHurin
  Battletoads for Dreamcast Download for Dreamshell, GDEMU & CDR Ivan Guber 5 16474 02.11.2024 20:38
Посл. сообщение: night-alex
  Dreamcast Ultimate Archive Ivan Guber 3 13580 29.04.2024 08:44
Посл. сообщение: Elgor4uk
  Каталог игр и приложений для Sega Dreamcast zerogame 0 7665 14.12.2023 08:26
Посл. сообщение: zerogame
  QuakeDC Full Version With Background Music Ivan Guber 17 33139 21.12.2022 14:58
Посл. сообщение: SWAT
  Mame4all: Street Fighter 2 Mix-Sega Dreamcast aldair 1 13167 11.05.2022 04:23
Посл. сообщение: Ro Magnus Larsson
  Gran Turismo 2 é top d+++!!!/Dreamcast aldair 0 10277 14.04.2022 09:16
Посл. сообщение: aldair
  Street Fighter II: The World Warrior_BALROG/Dreamcast aldair 0 6957 11.04.2022 01:37
Посл. сообщение: aldair
  OpenSonicDC 0.1.2 updated для Dreamcast Ivan Guber 0 4796 20.05.2021 18:10
Посл. сообщение: Ivan Guber
  Dreamcast Widescreen Optimized GDI Ivan Guber 3 10782 29.04.2021 13:03
Посл. сообщение: Ivan Guber

Переход:


Пользователи просматривают эту тему: 12 Гость(ей)