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

Сообщений: 365
Зарегистрирован: 04.04.2009
Рейтинг: 2
Сказал спасибо: 1
Поблагодарили 4 раз(а) в 4 сообщ.
Сообщение: #19
RE: портатирование на dreamcast
Спасибо, Сват, что такое SDK я знаю. Вопрос в другом. Зачем тогда в большинстве коммерческих приложений под Дримкаст (читай: играх), написанных, ясен пень, на катана (ведь на катана же?), в исходном коде содержится целая куча заголовков, ну например, производитель, или там, дата сборки, используемы кнопки на джойстике... Для кого это еще может быть нужно, как не для некоего "внешнего" окружения, т.е. О.С? Или приложение само себя выполняет и само свои заголовки анализирует?) Зачем ему это нужно. Процессор просто возьмет да и начнет выполнять инструкции одна за другой, из 1ST_READ.bin

Application (1ST_READ.bin)
________
HAL, API, operation system - that's where's the Katana (KOS) supposed to be
________
Hardware (Machine layer)

а так получается что:
somelib.lib harware_code.lib
\ /
\ /
Application
-----------------------------------------------------------
no layer below
Application performs directly by the processor

Первая схема, это как все должно работать при операционке, вторая - как оно почему-то получается.
Т.е. обычно приложение содержит некие вызовы, код которых хранится в операционке, и она либо подгружает нужные файлы с диска, либо лоадит их сразу все в оперативную память.
А так получается что весь нужный код включается путем раннего связывания еще на стадии компиляции, т.е. например идет в программе вызов DrawPixel(x, y, colorstruct&) и оно его код сразу и пихает в .bin. В итоге приложение выростает до немыслимых размеров.
Короче говоря мне интересно знать как все это работает.
В винде например код для всех вызовов (системных API) хранится в dll'ках, т.е. выполняется т.н. позднее связывания, когда нужный код грузится уже на этапе выполнения приложения.
При том есть как бы внешняя среда, portable executable, которая анализирует заголовки виндовского экзешника, и, собственно, создает страничный образ приложения в памяти и запускает его на выполнение.
(Последний раз сообщение было отредактировано 13.03.2011 в 20:33, отредактировал пользователь Rio.)
13.03.2011 20:24
Найти все сообщения Цитировать это сообщение
Создать ответ 


Сообщения в этой теме
RE: портатирование на dreamcast - Rio - 13.03.2011 20:24

Похожие темы
Тема: Автор Ответов: Просмотров: Посл. сообщение
  how can I get the value of I/O in the Dreamcast? kof888 8 22562 18.12.2020 18:04
Посл. сообщение: kof888
  Dreamcast FLASH ROM sc_maxim 11 34521 05.09.2013 13:36
Посл. сообщение: sc_maxim
  Прошивка DREAMCAST dreamfan 43 141532 13.12.2012 20:13
Посл. сообщение: linus
  Программирование на dreamcast WinCE SDK alex 18 65245 31.10.2011 20:39
Посл. сообщение: Rivelrite
  Quake 2 Dreamcast Василий 20 60354 12.07.2010 18:26
Посл. сообщение: SWAT
Видео видео dreamcast dreamfan 7 25501 01.07.2010 11:35
Посл. сообщение: dreamfan
  портирование alex 6 18550 17.10.2005 20:19
Посл. сообщение: alex

Переход:


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