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

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

#1  FacundoARG 03 Agosto 2009, 05:10 AM

Les traigo un pequeño tutorial para instalar y configurar el SaturnOrbit del Alemán Rockin-B    .

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    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    .

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    , 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    .
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
 




____________
SegaSaturn Developer Addict
 
avatar
argentina.png FacundoARG Sexo: Masculino
Colaborador SEGASATURNO
Colaborador SEGASATURNO
Professional Videogamer Coder
Donante Unreleased €
 
Registrado: Diciembre 2006
Ubicación: San Luis
Mensajes: 691
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#2  Indiket 03 Agosto 2009, 01:53 PM

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!
 



 
avatar
blank.gif Indiket Sexo: Masculino
Administrador
Administrador
Donante Unreleased €
DC Coder
 
Registrado: May 2009
Mensajes: 257
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#3  FacundoARG 03 Agosto 2009, 04:41 PM

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    .
 




____________
SegaSaturn Developer Addict
 
avatar
argentina.png FacundoARG Sexo: Masculino
Colaborador SEGASATURNO
Colaborador SEGASATURNO
Professional Videogamer Coder
Donante Unreleased €
 
Registrado: Diciembre 2006
Ubicación: San Luis
Mensajes: 691
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#4  saturn_worship 03 Agosto 2009, 09:23 PM

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...
 



 
avatar
blank.gif saturn_worship 
Staff Unreleased
Moderador
Moderador
Arqueologo Sega Saturn
 
Registrado: Abril 2007
Mensajes: 1198
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#5  Indiket 03 Agosto 2009, 11:10 PM

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, ...?
 



 
avatar
blank.gif Indiket Sexo: Masculino
Administrador
Administrador
Donante Unreleased €
DC Coder
 
Registrado: May 2009
Mensajes: 257
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#6  FacundoARG 04 Agosto 2009, 03:12 AM

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   .

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    .
 




____________
SegaSaturn Developer Addict
 
avatar
argentina.png FacundoARG Sexo: Masculino
Colaborador SEGASATURNO
Colaborador SEGASATURNO
Professional Videogamer Coder
Donante Unreleased €
 
Registrado: Diciembre 2006
Ubicación: San Luis
Mensajes: 691
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#7  Ryo Suzuki 04 Agosto 2009, 11:58 AM

En que idioma hablais colegas??

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?
 




____________
Ayúdame a mantener este y otros proyectos, pulsa aquí

sega_firma

Choose a job you love, and you will never have to work a day in your life. (Confucius)
 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10756
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#8  FacundoARG 04 Agosto 2009, 02:26 PM

Ryo Suzuki escribió: [Ver mensaje]
En que idioma hablais colegas??

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  

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

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




____________
SegaSaturn Developer Addict
 
avatar
argentina.png FacundoARG Sexo: Masculino
Colaborador SEGASATURNO
Colaborador SEGASATURNO
Professional Videogamer Coder
Donante Unreleased €
 
Registrado: Diciembre 2006
Ubicación: San Luis
Mensajes: 691
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#9  Ryo Suzuki 05 Agosto 2009, 12:20 AM

Bueno le he echado un ojo en la medida de mis posiblidades, tocando codigo asi un poco a lo chorra he sacado esto :

 saturn_orbit_sample

Puedo preguntar cosas que os pareceran tonterias a vosotros?  

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??
 



 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10756
  • Volver arriba Página inferior
 

Mensaje Re: [SaturnOrbit] Instalación Y Configuración

#10  Indiket 05 Agosto 2009, 12:43 AM

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.
 



 
avatar
blank.gif Indiket Sexo: Masculino
Administrador
Administrador
Donante Unreleased €
DC Coder
 
Registrado: May 2009
Mensajes: 257
  • Volver arriba Página inferior
 


Ocultar¿Este tema fue útil?
Compartir este tema
Correo a un amigo Facebook Twitter Windows Live Favorites MySpace del.icio.us Digg SlashDot google.com LinkedIn StumbleUpon Blogmarks Diigo reddit.com Blinklist co.mments.com
technorati.com DIGG ITA linkagogo.com meneame.net netscape.com newsvine.com yahoo.com Fai Informazione Ok Notizie Segnalo Bookmark IT fark.com feedmelinks.com spurl.net

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