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

Похожие темы
Тема: Автор Ответов: Просмотров: Посл. сообщение
  Dreamcast Widescreen Optimized GDI Ivan GR 2 486 02.04.2021 11:04
Посл. сообщение: fafadou
  Gigantic Army for Sega Dreamcast. Release : April 2021 Ivan GR 0 527 26.02.2021 21:51
Посл. сообщение: Ivan GR
  Metal Slug 5 AES4ALL Dreamcast aldair 4 3547 20.06.2020 07:00
Посл. сообщение: Ro Magnus Larsson
  The Last Blade 2 NEO4ALL vs The Last Blade 2 Dreamcast aldair 0 1612 27.02.2020 18:48
Посл. сообщение: aldair
  Dreamcast каталог MilkeyWilkey 4 4096 30.11.2019 13:09
Посл. сообщение: Astraller
  Metal Slug 4 Dreamcast aldair 2 2931 07.09.2019 17:33
Посл. сообщение: aldair
  Dreamcast Widescreen Hacks Ivan GR 7 6994 16.06.2019 14:03
Посл. сообщение: fafadou
  Dreamcast Virtual Aquarium Download Ivan GR 17 10431 04.06.2019 22:50
Посл. сообщение: MetalliC
  Midsummer for Dreamcast (Alpha Preview) Ivan GR 1 2731 18.04.2019 18:38
Посл. сообщение: alex
  Volgarr the Viking CD release for Dreamcast Ivan GR 0 2193 14.04.2019 14:08
Посл. сообщение: Ivan GR

Переход:


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