Создать ответ 
 
Рейтинг темы:
  • Голосов: 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

Похожие темы
Тема: Автор Ответов: Просмотров: Посл. сообщение
  Каталог игр и приложений для Sega Dreamcast zerogame 0 2339 14.12.2023 08:26
Посл. сообщение: zerogame
  Dreamcast Ultimate Archive Ivan Guber 2 7715 06.11.2023 23:28
Посл. сообщение: megavolt85
  QuakeDC Full Version With Background Music Ivan Guber 17 22329 21.12.2022 14:58
Посл. сообщение: SWAT
  Mame4all: Street Fighter 2 Mix-Sega Dreamcast aldair 1 5023 11.05.2022 04:23
Посл. сообщение: Ro Magnus Larsson
  Gran Turismo 2 é top d+++!!!/Dreamcast aldair 0 4562 14.04.2022 09:16
Посл. сообщение: aldair
  Street Fighter II: The World Warrior_BALROG/Dreamcast aldair 0 4268 11.04.2022 01:37
Посл. сообщение: aldair
  OpenSonicDC 0.1.2 updated для Dreamcast Ivan Guber 0 3815 20.05.2021 18:10
Посл. сообщение: Ivan Guber
  Dreamcast Widescreen Optimized GDI Ivan Guber 3 8600 29.04.2021 13:03
Посл. сообщение: Ivan Guber
  Gigantic Army for Sega Dreamcast. Release : April 2021 Ivan Guber 0 4375 26.02.2021 21:51
Посл. сообщение: Ivan Guber
  Metal Slug 5 AES4ALL Dreamcast aldair 4 10851 20.06.2020 07:00
Посл. сообщение: Ro Magnus Larsson

Переход:


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