Портирование на dreamcast - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: Sega Dreamcast (/forum-2.html) +--- Форум: Programming (/forum-8.html) +--- Тема: Портирование на dreamcast (/thread-1506.html) |
Портирование на dreamcast - slavikmalo - 26.02.2011 12:23 Привет собственно интерисует такой вопрос, как вобше портируют игры и программы с пк на dreamcast RE: портатирование на dreamcast - SWAT - 26.02.2011 15:09 Переписывается часть кода программы под спец функции SDK для DC. RE: портатирование на dreamcast - slavikmalo - 26.02.2011 17:43 а можно ссылку на посты или инструкции про это? а то хочу этим занятся RE: портатирование на dreamcast - SWAT - 26.02.2011 20:53 Для этого нет инструкций. Ты должен хорошо знать Си, уметь пользоваться gcc компиляторами, хорошо знать SDK для DC, а так же неплохо разбираться в чужом коде. Если ты этим владеешь, то уже без инструкций будешь знать что и как нужно сделать, а так же возможно ли это вообще. RE: портатирование на dreamcast - slavikmalo - 26.02.2011 21:47 спасибо буду учить язык RE: портатирование на dreamcast - SWAT - 28.02.2011 08:13 Много раз я слышал эти слова )) буду учить... RE: портатирование на dreamcast - slavikmalo - 28.02.2011 17:25 та пособия нормального не попадается, вечно че то вот если бы сказали такая то вот программа и в ней там пишешь, я та только один паскаль знаю и то слабо, пока только всякие уравнения ришаю, в школе только начал учить месяц назад Вот еше хочу спросить, а можно ли DreamShell на компе запустить? а то я скачивал и он вроде не пускался RE: портатирование на dreamcast - SWAT - 01.03.2011 07:19 Ты не можешь найти нормального пособия по Си? Не смеши. RE: портатирование на dreamcast - slavikmalo - 01.03.2011 17:57 ну то что я нахожу полная чушь просто я хочу эмулятор nintendo 64 нормальный, думаю и буду пытаться его портировать на dreamcast RE: портатирование на dreamcast - SWAT - 01.03.2011 20:50 Купи книгу. RE: портатирование на dreamcast - SWAT - 02.03.2011 07:11 Портирование эмулятора для новичка непосильная задача. RE: портатирование на dreamcast - slavikmalo - 02.03.2011 09:50 а с чего сначала надо начать? RE: портатирование на dreamcast - sc_maxim - 02.03.2011 12:21 Начни с изучения азов Си. Вот здесь http://www.helloworld.ru/texts/comp/lang/c/c6/index.htm руководство по Си. На название не смотри , сам еще в классе 10-м начал изучать Си по нем, очень доступно объясняются основы этого языка. RE: портатирование на dreamcast - slavikmalo - 03.03.2011 17:20 Спасибо. Попробывал. Да уж очень сложно все запомнить. Ну конечно не пойму как с помощью этого можно что на написать особенно эмулятор, сложно. В линуксе я и то лучше разбираюсь RE: портатирование на dreamcast - SWAT - 03.03.2011 19:08 Странное какое то сравнение, ОС с языком программирования... RE: портатирование на dreamcast - Rio - 05.03.2011 21:49 Да что ты понимаешь. Он линуксом берет и эмулятору новую пишет, таки да, ага-ага. Сват, Katana была полноценной осью? Точнее чем это вообще было? Dev Kit'ом, набором библиотек\компиляторов, осью, обеспечивающей уровень абстракции для запуска написанных под ней игр на Дриме? RE: портатирование на dreamcast - fdsa3000 - 06.03.2011 01:43 (05.03.2011 21:49)Rio писал(а): Katana была полноценной осью? Точнее чем это вообще было? Dev Kit'ом, набором библиотек\компиляторов, осью, обеспечивающей уровень абстракции для запуска написанных под ней игр на Дриме?Не могу понять ход мыслей последнего предложения. А мануал посмотреть? Цитата:1.1 Dreamcast Development ComponentsУбрал из списка про компиляторы, вму и другие программы. RE: портатирование на dreamcast - SWAT - 06.03.2011 11:00 KATANA это SDK. Т.е. это набор библиотек и инструментов, никакого ядра там нет. Мало того, там нет важных функций, без которых ОС в принципе не возможна, к примеру Thread/Mutex/Semaphore, все асинхронные действия там построены на отдельных прерываниях и DMA. А так же нет общей файловой системы для девайсов, там файловая система строго ориентирована на GD-ROM, а vmu и сеть сами по себе. RE: портатирование на dreamcast - Rio - 13.03.2011 20:24 Спасибо, Сват, что такое 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, которая анализирует заголовки виндовского экзешника, и, собственно, создает страничный образ приложения в памяти и запускает его на выполнение. RE: портатирование на dreamcast - SWAT - 14.03.2011 08:17 Здесь все не так, как делают в наше время на современных консолях. Каждый application в данном случае является ядром системы, которое связывает в логическую цепочку набор функций из SDK. Каждый application начинает работу буквально с нуля, т.е. с самых первый установок регистров и запуска первой функции - main. При этом инициализация всего железа происходит заново тоже. У дрима ОС как бы в биосе, но это ОС назвать нельзя, это по сути та же программа написаная на SDK, но имеющая в себе еще функции для работы с GD-ROM, Flash, системный шрифт, и еще несколько типа выхода в меню (т.е. по сути запустить прогу из биоса), ребута, свапдиск и т.п. На эти встроеные функции, биос при первой загрузке выставляет вектора в определенном участке памяти и все дальнейшие программы их используют. Вот это и есть микрокусок ОС, который язык не поворачивается назвать осью. |