Создать ответ 
 
Рейтинг темы:
  • Голосов: 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 - Golden Axe/ DreamNeo_ide sata aldair 0 440 19.04.2026 23:39
Посл. сообщение: aldair
  SD2X in action! Dreamcast aldair 0 1197 07.02.2026 02:53
Посл. сообщение: aldair
  Finally MAME4ALL in the IDE! Dreamcast. aldair 8 10254 14.01.2026 19:33
Посл. сообщение: Ro Magnus Larsson
  YZB Collection [Dreamcast CDI] aldair 0 3650 02.08.2025 23:00
Посл. сообщение: aldair
  Me playing NEO4ALL for the first time on Dreamcast :)! aldair 9 11787 28.07.2025 04:22
Посл. сообщение: aldair
  OpenSonicDC 0.1.2 updated для Dreamcast Ivan Guber 1 10412 29.05.2025 13:46
Посл. сообщение: Leonis
  DREAMCAST Collection (NTSC-USA, PAL, JAP) aldair 1 6110 23.03.2025 08:17
Посл. сообщение: ands
  Arcade Dreamcast 2024 aldair 3 9269 20.12.2024 16:37
Посл. сообщение: ArtSHurin
  Battletoads for Dreamcast Download for Dreamshell, GDEMU & CDR Ivan Guber 5 27734 02.11.2024 20:38
Посл. сообщение: night-alex
  Dreamcast Ultimate Archive Ivan Guber 3 22322 29.04.2024 08:44
Посл. сообщение: Elgor4uk

Переход:


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