Создать ответ 
 
Рейтинг темы:
  • Голосов: 2 - Средняя оценка: 5
  • 1
  • 2
  • 3
  • 4
  • 5
DreamShell 4.0 RC 2
Автор Сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7408
Зарегистрирован: 04.01.2005
Рейтинг: 32
Сказал спасибо: 161
Поблагодарили 1369 раз(а) в 846 сообщ.
Сообщение: #69
RE: DreamShell 4.0 RC 2
(25.07.2014 12:04)shadow писал(а):  SWAT, почему именно 32 Кб, а не 64? Что это за цифра такая магическаяSmile

Никакой магии здесь нет Smile
Все очень просто... ну почти Smile
Основное место загрузчика, находится в области так сказать системной памяти (та что ниже 0x8c010000).
Как можно заметить, размер всей этой области равен 64 Кб. Но в ней находятся еще и другие данные.
Допустим первые 16 Кб (0x8c000000 - 0x8c004000) заняты системными вызовами и некоторыми параметрами, трогать их пока нельзя, так как я эмулирую только для GD, а они там в середине.
В области 0x8c00f400 - 0x8c010000 у KATANA находится таблица для прерываний, а в области 0x8c00C000 - 0x8c00f400 находится stack.
Простой арифметикой мы получаем область 0x8c004000 - 0x8c00C000, размер которой равен 32 Кб ровно.
Конечно если размещать загрузчик в high memory, то там можно больше разгуляться, но эта область не надежна, поэтому я не могу расчитывать на нее полноценно.
Более того, некоторые игры используют и пространство 0x8c004000 - 0x8c008000 (до IP.BIN) для своих нужд, поэтому такие игры приходится запускать размещая загрузчик в конце памяти, вместо начала. Так же это приходится делать если игра запускается с IP.BIN, так как он "откусывает" половину пространства для загрузчика, а в 16 Кб его уместить уже просто нереально.
Не все игры, которые используют эту область, используют ее полностью. Некоторые используют всего пару килобайт, поэтому загрузчик можно просто немного сместить, если он занимает меньше чем 32 Кб. Поэтому 32Кб для загрузчика это предел, который лучше вообще не достигать, а иметь запас в пару-тройку килобайт для подобных случаев, да и свободное пространство за загрузчиком, которые он не занял, используется для некоторых других нужд (не обязательных правда, но все же).
В общем вот такая картина пока. Нужно заняться эмуляцией всех системных вызовов для того чтобы получить дополнительную память. Но сколько ее в итоге получится, если по сути нужно повторить тот же функционал (за исключением GD), я пока затрудняюсь ответить, может и не стоит овчинка выделки, хотя в данный момент даже пара килобайт была бы кстати.

В общем я сейчас ужал загрузчики как мог, но все равно не влезает запись на файловую систему (для сохранения скриншотов), она прибавляет для загрузчика веса почти на 5 Кб, а это выходит за рамки дозволенного примерно на 2 Кб. Поэтому скорее всего данный функционал я не сделаю до момента создания эмуляции всех системных вызовов. А лепить отдельный "толстый" загрузчик, который будет размещаться только в конце памяти и именно для этих целей я наверное не буду, так как это потянет за собой еще другие доработки. Лучше уж взяться за остальные системные вызовы и сделать все как надо. К тому же у меня есть еще и другие идеи, для которых тоже нужно свободное место Smile

[Изображение: barbers.png]
(Последний раз сообщение было отредактировано 25.07.2014 в 13:14, отредактировал пользователь SWAT.)
25.07.2014 13:13
Вебсайт Найти все сообщения Цитировать это сообщение
 Сказали спасибо: SILENT_Pavel , shadow
Создать ответ 


Сообщения в этой теме
DreamShell 4.0 RC 2 - SWAT - 15.05.2014, 09:28
RE: DreamShell 4.0 RC 2 - kof888 - 15.05.2014, 09:32
RE: DreamShell 4.0 RC 2 - cybdyn - 15.05.2014, 11:28
RE: DreamShell 4.0 RC 2 - jjaa081620 - 15.05.2014, 13:42
RE: DreamShell 4.0 RC 2 - ands - 15.05.2014, 18:45
RE: DreamShell 4.0 RC 2 - SWAT - 16.05.2014, 10:27
RE: DreamShell 4.0 RC 2 - SWAT - 16.05.2014, 22:27
RE: DreamShell 4.0 RC 2 - SWAT - 18.05.2014, 21:22
RE: DreamShell 4.0 RC 2 - SWAT - 21.05.2014, 12:59
RE: DreamShell 4.0 RC 2 - SWAT - 22.05.2014, 09:07
RE: DreamShell 4.0 RC 2 - ands - 22.05.2014, 22:50
RE: DreamShell 4.0 RC 2 - SWAT - 23.05.2014, 06:08
RE: DreamShell 4.0 RC 2 - wallace - 26.05.2014, 23:27
RE: DreamShell 4.0 RC 2 - SWAT - 27.05.2014, 06:32
RE: DreamShell 4.0 RC 2 - SWAT - 27.05.2014, 10:11
RE: DreamShell 4.0 RC 2 - SWAT - 29.05.2014, 09:11
RE: DreamShell 4.0 RC 2 - wallace - 30.05.2014, 12:24
RE: DreamShell 4.0 RC 2 - SWAT - 30.05.2014, 13:20
RE: DreamShell 4.0 RC 2 - SWAT - 30.05.2014, 13:15
RE: DreamShell 4.0 RC 2 - demio - 30.05.2014, 13:11
RE: DreamShell 4.0 RC 2 - SWAT - 30.05.2014, 13:48
RE: DreamShell 4.0 RC 2 - demio - 30.05.2014, 14:19
RE: DreamShell 4.0 RC 2 - shadow - 30.05.2014, 17:03
RE: DreamShell 4.0 RC 2 - wallace - 30.05.2014, 20:37
RE: DreamShell 4.0 RC 2 - SWAT - 30.05.2014, 20:41
RE: DreamShell 4.0 RC 2 - SWAT - 30.05.2014, 19:22
RE: DreamShell 4.0 RC 2 - SWAT - 30.05.2014, 20:36
RE: DreamShell 4.0 RC 2 - wallace - 30.05.2014, 21:29
RE: DreamShell 4.0 RC 2 - wallace - 30.05.2014, 21:44
RE: DreamShell 4.0 RC 2 - cybdyn - 30.05.2014, 22:49
RE: DreamShell 4.0 RC 2 - SWAT - 31.05.2014, 08:50
RE: DreamShell 4.0 RC 2 - SWAT - 31.05.2014, 13:39
RE: DreamShell 4.0 RC 2 - SWAT - 03.06.2014, 09:48
RE: DreamShell 4.0 RC 2 - wallace - 08.06.2014, 14:06
RE: DreamShell 4.0 RC 2 - SWAT - 08.06.2014, 14:25
RE: DreamShell 4.0 RC 2 - SWAT - 22.06.2014, 11:29
RE: DreamShell 4.0 RC 2 - SWAT - 27.06.2014, 09:06
RE: DreamShell 4.0 RC 2 - TeX - 08.07.2014, 13:45
RE: DreamShell 4.0 RC 2 - SWAT - 08.07.2014, 15:25
RE: DreamShell 4.0 RC 2 - TeX - 08.07.2014, 17:23
RE: DreamShell 4.0 RC 2 - SWAT - 08.07.2014, 20:22
RE: DreamShell 4.0 RC 2 - TeX - 08.07.2014, 20:34
RE: DreamShell 4.0 RC 2 - TeX - 13.07.2014, 19:40
RE: DreamShell 4.0 RC 2 - SWAT - 14.07.2014, 11:24
RE: DreamShell 4.0 RC 2 - SWAT - 14.07.2014, 17:15
RE: DreamShell 4.0 RC 2 - TeX - 15.07.2014, 22:28
RE: DreamShell 4.0 RC 2 - SWAT - 16.07.2014, 08:05
RE: DreamShell 4.0 RC 2 - TeX - 16.07.2014, 20:55
RE: DreamShell 4.0 RC 2 - SWAT - 17.07.2014, 10:16
RE: DreamShell 4.0 RC 2 - SWAT - 24.07.2014, 22:00
RE: DreamShell 4.0 RC 2 - SWAT - 25.07.2014, 09:18
RE: DreamShell 4.0 RC 2 - shadow - 25.07.2014, 12:04
RE: DreamShell 4.0 RC 2 - SWAT - 25.07.2014 13:13
RE: DreamShell 4.0 RC 2 - TeX - 26.07.2014, 15:16
RE: DreamShell 4.0 RC 2 - SWAT - 27.07.2014, 08:03
RE: DreamShell 4.0 RC 2 - TeX - 28.07.2014, 00:48
RE: DreamShell 4.0 RC 2 - SWAT - 28.07.2014, 08:18
RE: DreamShell 4.0 RC 2 - TeX - 29.07.2014, 00:10
RE: DreamShell 4.0 RC 2 - SWAT - 29.07.2014, 15:43
RE: DreamShell 4.0 RC 2 - TeX - 31.07.2014, 22:09
RE: DreamShell 4.0 RC 2 - SWAT - 01.08.2014, 07:27
RE: DreamShell 4.0 RC 2 - shadow - 01.08.2014, 14:34
RE: DreamShell 4.0 RC 2 - SWAT - 01.08.2014, 14:52
RE: DreamShell 4.0 RC 2 - TeX - 01.08.2014, 15:22
RE: DreamShell 4.0 RC 2 - SWAT - 02.08.2014, 09:54
RE: DreamShell 4.0 RC 2 - TeX - 02.08.2014, 14:49
RE: DreamShell 4.0 RC 2 - aldair - 14.08.2014, 07:24
RE: DreamShell 4.0 RC 2 - alex - 02.08.2014, 19:08
RE: DreamShell 4.0 RC 2 - SWAT - 03.08.2014, 08:44
RE: DreamShell 4.0 RC 2 - alex - 03.08.2014, 13:24
RE: DreamShell 4.0 RC 2 - SWAT - 03.08.2014, 15:45
RE: DreamShell 4.0 RC 2 - SWAT - 12.08.2014, 12:53
RE: DreamShell 4.0 RC 2 - alex - 16.08.2014, 04:43
RE: DreamShell 4.0 RC 2 - SWAT - 16.08.2014, 19:14
RE: DreamShell 4.0 RC 2 - SWAT - 14.08.2014, 07:35
RE: DreamShell 4.0 RC 2 - aldair - 14.08.2014, 20:37
RE: DreamShell 4.0 RC 2 - aldair - 15.08.2014, 01:14
RE: DreamShell 4.0 RC 2 - aldair - 16.08.2014, 11:13
RE: DreamShell 4.0 RC 2 - cybdyn - 14.08.2014, 10:56
RE: DreamShell 4.0 RC 2 - SWAT - 14.08.2014, 14:39
RE: DreamShell 4.0 RC 2 - cybdyn - 14.08.2014, 18:11
RE: DreamShell 4.0 RC 2 - alex - 16.08.2014, 19:50
RE: DreamShell 4.0 RC 2 - SWAT - 17.08.2014, 08:56
RE: DreamShell 4.0 RC 2 - alex - 17.08.2014, 09:03
RE: DreamShell 4.0 RC 2 - Lin - 17.08.2014, 16:03
RE: DreamShell 4.0 RC 2 - alex - 17.08.2014, 19:31
RE: DreamShell 4.0 RC 2 - SWAT - 18.08.2014, 07:48
RE: DreamShell 4.0 RC 2 - alex - 18.08.2014, 21:48
RE: DreamShell 4.0 RC 2 - SWAT - 19.08.2014, 07:49
RE: DreamShell 4.0 RC 2 - SuperClaw - 20.08.2014, 12:16
RE: DreamShell 4.0 RC 2 - SWAT - 20.08.2014, 12:48
RE: DreamShell 4.0 RC 2 - SuperClaw - 20.08.2014, 12:59
RE: DreamShell 4.0 RC 2 - SuperClaw - 20.08.2014, 13:31
RE: DreamShell 4.0 RC 2 - SWAT - 20.08.2014, 15:26
RE: DreamShell 4.0 RC 2 - SuperClaw - 20.08.2014, 16:03
RE: DreamShell 4.0 RC 2 - SWAT - 20.08.2014, 20:43
RE: DreamShell 4.0 RC 2 - SuperClaw - 20.08.2014, 23:05
RE: DreamShell 4.0 RC 2 - SuperClaw - 21.08.2014, 05:42
RE: DreamShell 4.0 RC 2 - SWAT - 21.08.2014, 06:20
RE: DreamShell 4.0 RC 2 - SuperClaw - 21.08.2014, 19:38
RE: DreamShell 4.0 RC 2 - SWAT - 22.08.2014, 07:36
RE: DreamShell 4.0 RC 2 - SWAT - 05.09.2014, 07:59
RE: DreamShell 4.0 RC 2 - SuperClaw - 22.08.2014, 15:35
RE: DreamShell 4.0 RC 2 - SWAT - 22.08.2014, 20:06
RE: DreamShell 4.0 RC 2 - SuperClaw - 22.08.2014, 21:27
RE: DreamShell 4.0 RC 2 - SuperClaw - 27.08.2014, 09:34
RE: DreamShell 4.0 RC 2 - SWAT - 27.08.2014, 20:40

Похожие темы
Тема: Автор Ответов: Просмотров: Посл. сообщение
Звезда DreamShell v4.0.2 Release SWAT 78 19271 03.07.2025 19:52
Посл. сообщение: pcwzrd13
  Результаты теста DreamShell v4.0.1 Elgor4uk 27 10506 06.06.2025 16:03
Посл. сообщение: SWAT
Звезда DreamShell v4.0.1 Release SWAT 210 134483 14.05.2025 11:54
Посл. сообщение: fafadou
Радуга DreamShell на GitHub SWAT 76 166564 24.03.2025 03:39
Посл. сообщение: yo4yo4
  Sonic theme for DreamShell v4.0.1 Dolphin_PS2 0 1666 20.02.2025 03:09
Посл. сообщение: Dolphin_PS2
Улыбка DreamShell bootloader bios megavolt85 171 599909 26.12.2024 23:53
Посл. сообщение: megavolt85
Звезда DreamShell v4.0.0 Release SWAT 202 215262 14.10.2024 14:09
Посл. сообщение: SWAT
  ISO_CSO in Dreamshell aldair 0 2208 12.10.2024 02:57
Посл. сообщение: aldair
  GTA3 Dreamshell SD Card/Dreamcast aldair 3 5698 26.08.2024 06:29
Посл. сообщение: SWAT
  Dreamshell freeze at logo boot up pkerga 17 14963 22.07.2024 06:10
Посл. сообщение: SWAT

Переход:


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