[Homebrew] [SaturnOrbit] Instalación y Configuración


Ir a la página 1, 2, 3, 4  Siguiente

Objetivo: [Homebrew] [SaturnOrbit] Instalación y Configuración
Les traigo un pequeño tutorial para instalar y configurar el SaturnOrbit del Alemán Rockin-B :putoamo: .

Basta de excusas, que empieze la acción.

Para instalar y configurar SaturnOrbit, primero bajalo de SaturnOrbit

Antes que nada este tuto es para Windows XP, si usas Windows Vista ó Seven vas a tener algunos problemas:

  • Las herrmamientas/tools no funcionan
  • Vas a tener problemas en la compilación del SaturnOrbit ya que tiene las rutas estaticas de la siguiente forma, C:Saturn~1, Esto genera problemas y arroja No se encontro la ruta del archivo


Bien.
Le damos a Doble-Click, dejamos tildada la segunda opción Needed fot the batch files to work under Win9x. Not needed on WinXP adn Win2K.
Dejalá tildada igual :wink: por más que uses Windows XP .




Puesta a punto de SaturnOrbit

Abrí SaturnOrbit desde el Icono del escritorio ó el .exe desde la la ruta de SaturnOrbit.

Vamos a Tools/Environment Options / Files & directories; ahi en la primera opción tenes que cambiar la configuración inicial de SaturnOrbit. Buscando el devcpp.ini y habilitando la opción.

saturnorbit_config

Hasta aca va todo correcto.

Una vez terminada la instalación, se abren los batch files y aca empizan los problemas.

Si dejaste la opción que indique antes, en WinXP no habrá problemas. En Vista tenes que cambiar todos los Batch files donde diga C:Saturn~1 reemplazarlo por C:SaturnOrbit. Es un trabajo duro pero se puede hacer con algun editor de texto, Notepad, yo uso Notepad++.




Compilando nuestro primer proyecto

Vamos a usar, el ejemplo S_4_2 que está dentro de C:SaturnOrbitSGL_302jSAMPLES_4_2
Copia y pega en otro directorio, ejemplo C:S_4_2

Existen dos formas de compilar:

  • Mediante Batch files

  • Mediante Proyecto Dev-C++



Batch files

Le damos doble-click a MAKE_COF.bat y esta es la salida correcta.
No incluyas el código que especifico al último sino no compilará.

batch_01





Con Dev-C++

Abrimos el s_4_2_coff.dev, lo primero que nos aparece es un Error tranquilos. El problema es que las rutas de los recursos estan estáticas apuntando hacia otro lado, las tenemos que cambiar.

error1 error2


Siempre debemos compilar en el modo Rebuild-ALL ó apretando F11.
Lo hacemos, y vemos que nos arroja un error :x .

Message: ../../../COMMON/coff.mak:No such file or directory.
Es el problema de la ruta, significa que ../../../ hace hacia atras tres directorios y busca el archivo, pero como lo movimos de ruta, no encuentra nada.
Entonces debemos cambiarlo.

Vamos a Project de ahi a Projects Options y luego a Makefile
vemos que dice: ......COMMONcoff.mak

error3

La cambiamos por C:SaturnOrbitCOMMONcoff.mak y apretamos Replace.

Damos Rebuil-ALL otra vez ahora sale otro error :twisted: , es el linkeador que tiene mal las rutas:

../../LIB_COFF/SGLAREA.O
../../LIB_COFF/SEGA_SYS.A


error5


Vamos a Project de ahí a Proyect Options y luego Parameters .

Vemos que en Linker estan mal las rutas.

Las cambiamos por :

C:/SaturnOrbit/SGL_302j/LIB_COFF/SGLAREA.O
C:/SaturnOrbit/SGL_302j/LIB_COFF/SEGA_SYS.A


Le damos a OK.


Damos Rebuil-ALL. Y ahora ¿qué pasó? :?: Lanza otro error, este es característico de Dev-C++ que no reconoce el método main().


error6

Entonces debemos incluir un pequeño código al proyecto dentro del main.c para que compile, está incluido en el cinit.c pero se lo incluye cuando compilamos con el batch, pero si usamos Dev-C++ los tenemos que incluir nosotros.

No hay mal que por bien no venga :P .
Con este paso ya no podremos compilar con los batch files, ya que estamos procesando un main() distinto y nos arroja error; nos lanza que tenemos este método duplicado y no sabe cual usar.




#define SystemWork 0x060ffc00 /* System Variable Address */
#define SystemSize (0x06100000-0x060ffc00) /* System Variable Size */

extern Uint32 _bstart, _bend;
int main(void)
{
Uint8 *dst;
Uint16 i;

/* 1.Zero Set .bss Section */
for(dst = (Uint8 *)&_bstart; dst < (Uint8 *)&_bend; dst++)
{
*dst = 0;
}

/* 2.SGL System Variable Clear */
for(dst = (Uint8 *)SystemWork, i = 0; i < SystemSize; i++)
{
*dst = 0;
}

/* Application Call */
ss_main();
}





Le dan otra vez a Rebuil-All, y quedo todo exelente.

Compueben que creo la iso nuevamente verificando la fecha de creación ;)

Resultado:

resultado

última edición por FacundoARG el 07 Agosto 2009, 01:42 AM; editado 1 vez
Perfil MP  
Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
Muy interesante Facundo!

Por lo que veo, en el fondo instala un cygwin con el compilador gcc preparado para los procesadores de saturn, es así? Según el bat, se compila y al final genera un iso. Es muy parecido a lo que se hace en Dreamcast cuando se instala en windows.

Salu2!

Perfil MP  
Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
Cywin no lo instala; por lo menos no que yo sepa.
Primero elimina los archivos antiguos, luego compila, linkea y al ultimo genera la ISO.

PD: no me enojo si escribes un tuto para la Dreamcast :mrgreen: .

Perfil MP  
Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
Tengo una instalación vieja que limpiaré, a ver si esta noche saco un rato y lo pongo al dia y me pongo en contacto con Facundo por e-mail para contrastar ideas...

Perfil MP  
Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
Quizá no lo instala como tal, pero tiene toda la pinta (me lo parece, que una consola en windows haga rm y gcc). Alguna dll como cygwin.dll?

Otro tema, en Saturn qué librería se usa para renderizar 3D? Supongo que lenguaje será C o C++ ( C en la foto). Hay algún SO que gestione la Saturn, asamblador, ...?

Perfil MP  
Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
Indiket escribió: [Ver mensaje]
Quizá no lo instala como tal, pero tiene toda la pinta (me lo parece, que una consola en windows haga rm y gcc). Alguna dll como cygwin.dll?

Otro tema, en Saturn qué librería se usa para renderizar 3D? Supongo que lenguaje será C o C++ ( C en la foto). Hay algún SO que gestione la Saturn, asamblador, ...?


Librerias, las de Sega, una la SBL 6.0 y SGL 3.02 ; Leguanje C, y podes mezclarlo con Assambler :wink: .

SO, no para eso esta la Bios. Tampoco es posible escribir directamente sobre un backbuffer, sino que cada unos de los micros que posee tiene una tarea asignada y ademas su parte de memoria :roll: .

Perfil MP  
Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
En que idioma hablais colegas?? :roll:

Ahora en serio, es un recurso magnifico. Muchas gracias por ayudarnos con esto FacundoARG, lo tengo instalado e intentare hacer algo en la medida de mis posibilidades (lo que viene siendo buenamente NADA xD )

A ver si Indiket y worship se nos animan al tema, y mas gente tal vez que vea esto. Saturn hay muy poco desarrollo y menos hispano... quien sabe si animara algo estas cosas y cosillas que vayais haciendo...

Habria que mirar el LUA, por lo menos para mi seria algo tal vez mas accesible. Lo poco que puedo saber de programacion es de lenguajes mucho mas faciles como Basic y tal, y LUA por lo que me ha parecido entender es algo mas de ese palo...

A ver que hacemos, gracias. Un saludo.

P.D: Por cierto, una duda. Si haces un update del Dev-C ++ te salen mil paquetes para actualizar. ¿Esto sirve de algo realmente para Saturn? :?:

Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
Ryo Suzuki escribió: [Ver mensaje]
En que idioma hablais colegas?? :roll:

P.D: Por cierto, una duda. Si haces un update del Dev-C ++ te salen mil paquetes para actualizar. ¿Esto sirve de algo realmente para Saturn? :?:


Verdaderamente no sirve de nada, ya que el SaturnOrbit no es más que un IDE (integrated develpment enviroment) que tiene especificadas las librerías para compilar el Saturn.

He visto por ahi, que han cambiado el Dev-C++ por el Visual Studio ó el Eclipse. Personalmente uso el Notapad++ y compilo con los batch files :wink:

Con respecto a LUA, tambien tenes el paquete de Saturn con Lua, pero no lo entendí mucho que digamos :oops: . Es que tengo tantos lenguajes que una más ya me es imposible :mrgreen: .

Pero como decis, es más sencillo como Basic ó Pascal ya que no manejan los punteros tan estructuradamente.

Perfil MP  
Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
Bueno le he echado un ojo en la medida de mis posiblidades, tocando codigo asi un poco a lo chorra he sacado esto :oops: :

saturn_orbit_sample

Puedo preguntar cosas que os pareceran tonterias a vosotros? :P

En este ejemplo en concreto main.c entiendo que es el programa principal.

Lo primero que no entiendo es

extern PDATA PD_CUBE;

Como si hiciese referencia a ese objeto a ese cubo, ¿pero donde esta ese PDATA PD_CUBE;? es una etiqueta o algo y no existe como archivo, no?

Luego entiendo -o creo entender- que pone los valores, printea en pantalla lo que sea conveniente y entra en un bucle eterno con el while, ¿no?


En poligon.c parece estar el cube que hacia referencia el PDATA PD_CUBE;, ¿es asi? Es como si poligono fuera el modelo poligonal expresado en terminos matematicos ¿verdad?


A ver si voy entendiendo algo....

Otra cosa! #include "sgl.h" ¿eso es la libreria que se usa para que la saturn renderice ahi en 3D?

--

Por cierto, para los negaos como yo pongo unos cuantos manuales de documentacion y asi tenemos para leer un rato:

http://forums.segaxtreme.net/showthread.php?t=32436

y:

http://www.eatsushi.org/content/index.php?path=console%2Fsaturn/

en official sega docs.

Tambien un link en megaupload:

http://www.megaupload.com/?d=EEVJ74XR

(gracias a madroms)

Quien se anima a programar en Saturn?? :roll:

Objetivo: Re: [SaturnOrbit] Instalación Y Configuración
Respondiendo sin mirar código xD

extern significa que ese objecto se ha declarado en otra clase (sea .c o .h). En este caso, un objecto de tipo PDATA. Seguramente en poligon.c esté definido (es decir, creado).

el #include sgl.h indica que las definiciones de la clase sgl se tengan en cuenta en el fichero. Es necesario declararlo para poder usar la libreria sgl.

Perfil MP  
Ir a la página 1, 2, 3, 4  Siguiente

Página 1 de 4


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
Puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.2164s (PHP: 19% SQL: 81%)
Consultas SQL: 15 - Debug off - GZIP Desactivado