¡Oh no! ¿Dónde está el JavaScript? El navegador Web no tiene JavaScript activado o no es compatible con JavaScript. Active JavaScript en su explorador Web para ver correctamente este sitio Web o actualizar a un navegador Web que admita JavaScript.
Sabías que...
Sega vendió casi doce millones de unidades Dreamcast en todo el planeta.

Configurar KOS 2.0 Toolchain en Linux

Última actualización en 4 year hace
H
HoruheMiembro
Publicado 13 year hace
A ver... por partes XD

Los permisos del binario son -rwxr-xr-- y soy el propietario y pertenezco al grupo.

Al ejecutar file sh-elf-gcc o a cualquier otro binario de la carpeta bin la salida es: sh-elf-gcc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped. Aunque file se basa en probabilidades no entiendo el porque de que lo considere un ELF 64bits si estoy bajo una máquina con debian i386 ejecutando bajo un PIII XDDDDD

y aquí tenéis un link para probar el binario http://www.4shared.com/file/178369116/7fd2c5ea/sh-elf-gcc.html

www.imaxenes.com/imagenes/rcd1vp79pk.png
GuaripoloGuaripoloAdministrador
Publicado 13 year hace
evidentemente es un binario de 64 bits (lo baje y lo probé) hace un link a /lib64/ld-linux-x86-64.so
Recompila eso y contanos.
H
HoruheMiembro
Publicado 13 year hace
una pregunta tonta xD

Como recompilo esto? es el toolchain?
www.imaxenes.com/imagenes/rcd1vp79pk.png
baigosbaigosAdministrador
Publicado 13 year hace
porque no hacen un paquete .DEB y listo? encima que Guaripolo tiene cara de ojete, a mi me costo un huevo instalar el toolchain. Loco asi noo vaaaa looocooo, traiganlé unas minitas a Guaripolo...a ver los que tienen hermanasss que entreeegueeennn...
GuaripoloGuaripoloAdministrador
Publicado 13 year hace
yo intentaría sobre la raiz del kos hacer un make clean y un make de nuevo, pero habría que ver por que razón te compila en 64 bits, me parece que no tenes el toolchain correcto.

PD: callate salame, vos sos de la B, no tenes aguante y encima sos diondo diondo dioooooonndo.
Editado por Guaripolo en 24-12-2009 06:08, 13 year hace
H
HoruheMiembro
Publicado 13 year hace
Bueno, he recompilado el toolchain y el kos haciendo antes un make clean en ambos. Evidentemente el resultado ha sido el mismo pero quería probar por si acaso. Esto realmente de x86-64 no me lo esperaba. No sabia que se podía compilar un x86-64 en un x86. La sorpresa me invade xD

En cualquier caso tengo una pregunta. Hay alguien que lo ha compilado con un x86? xDDDD Lo digo porque todo son scripts y en ningún momento se elige arquitectura xD no se... Se puede hacer algo? Porque yo no se que hacer entre tanto script y no me apetece revisar todos lo scripts y entenderlos xD Solo se me ocurre que si alguien lo compilo de forma correcta en un x86 que me pase la carpeta /usr/local/dc/ porque todos los binarios de arm-elf y sh-elf que tengo son x86-64...

En fin, tengo un portatil x86-64 pero no lo quería instalar ahí y veo que no tendré más remedio....
www.imaxenes.com/imagenes/rcd1vp79pk.png
GuaripoloGuaripoloAdministrador
Publicado 13 year hace

Cita

Horuhe escribe:Esto realmente de x86-64 no me lo esperaba. No sabia que se podía compilar un x86-64 en un x86. La sorpresa me invade xD
.

Por supuesto que se puede, por la misma razón en que podemos compilar binarios dreamcast sobre x86 (cross compiling).
Yo creo que tu problema esta simplemente en la versión de gcc que tenes instalada, no se como instalaste tu gcc, pero con un

sudo apt-get install build-essential


debería instalarse el gcc correcto para tu arquitectura.

EDIT: también tienen que ver las librerías, estuve leyendo por ahí, busca en google el tema de compilación cruzada entre una plataforma x86 y una x64, puede ser que tengas instaladas las librerias para x64.
Editado por Guaripolo en 25-12-2009 03:21, 13 year hace
H
HoruheMiembro
Publicado 13 year hace
Tras pensarlo un poco decidí averiguar porque tengo yo una biblioteca de x86-64 tal como ld-linux-x86-64.so y el resultado de find / -name ld-linux-x86-64.so -print es ninguno.

De tal modo que creo que los binarios están haciendo referencia a unas bibliotecas que no tengo ni instaladas y no se porque hacen referencia a ellas. Ah, tampoco tengo ninguna carpeta nombrada lib64 xD

No tenía instalado el build-essential pero el resultado tras instalarlo fue el mismo que sin él. Respecto al gcc que tengo instalados:

Cita

i A gcc - The GNU C compiler
i gcc-3.4 - The GNU C compiler
i A gcc-3.4-base - The GNU Compiler Collection (base package)
i gcc-4.1-base - The GNU Compiler Collection (base package)
i A gcc-4.3 - The GNU C compiler
i gcc-4.3-base - The GNU Compiler Collection (base package)
i libgcc1 - GCC support library


Creo que son todos correctos XD

Y sobre las bibliotecas que tengo instaladas ni idea y lo que he encontrado (de momento) de compilación cruzada no me ha ayudado xD

EDIT: sobre la arquitectura del gcc: /usr/lib/gcc/i486-linux-gnu/ creo que tengo un gcc para la arquitectura i486...Cual debería tener? si no me equivoco una i486 no deja de ser compatible con la i686...
www.imaxenes.com/imagenes/rcd1vp79pk.png
Editado por Horuhe en 26-12-2009 03:24, 13 year hace
H
HoruheMiembro
Publicado 13 year hace
Tras revisar el toolchain me he dado cuenta de que este se instala en /opt/toolchain/dc y no en /usr/local/dc con lo que la versión compilada del toolchain no estaba donde la buscaba del kos. De hecho no se porque estaba la carpeta /usr/local/dc ya que ni el toolchain ni el kos al compilarlos la crean. Supongo que fue una de mis intentonas del pasado XDDDD

De modo que he borrado todo lo de la carpeta de /usr/local/dc y he hecho un link simbolico de /opt/toolchain/dc a /usr/local/dc. Podría haber modificado el Makefile del kos para que buscase en /opt/toolchain/dc pero me ha parecido mucho más rápido y así no modifico ningún shell script.

Tras esto he compilado con éxito el ejemplo del hello así muchas gracias por todo a todos, especialmente a Guaripolo por su atención y paciencia y a ver si hago cosillas que tengo pensadas xD Aun tengo que hacerme con el kos y el SDL porque solo se el C de la U pero no creo que me cueste adaptarme poco a poco :P

Ahora voy a probar el dc-tools para no tener que grabar cd y aprovechar por fin el BBA que tanto me costó xDDDDDDD
www.imaxenes.com/imagenes/rcd1vp79pk.png
GuaripoloGuaripoloAdministrador
Publicado 13 year hace

Cita

Horuhe escribe:
Tras revisar el toolchain me he dado cuenta de que este se instala en /opt/toolchain/dc y no en /usr/local/dc con lo que la versión compilada del toolchain no estaba donde la buscaba del kos. De hecho no se porque estaba la carpeta /usr/local/dc ya que ni el toolchain ni el kos al compilarlos la crean. Supongo que fue una de mis intentonas del pasado XDDDD

De modo que he borrado todo lo de la carpeta de /usr/local/dc y he hecho un link simbolico de /opt/toolchain/dc a /usr/local/dc. Podría haber modificado el Makefile del kos para que buscase en /opt/toolchain/dc pero me ha parecido mucho más rápido y así no modifico ningún shell script.

Tras esto he compilado con éxito el ejemplo del hello así muchas gracias por todo a todos, especialmente a Guaripolo por su atención y paciencia y a ver si hago cosillas que tengo pensadas xD Aun tengo que hacerme con el kos y el SDL porque solo se el C de la U pero no creo que me cueste adaptarme poco a poco :P

Ahora voy a probar el dc-tools para no tener que grabar cd y aprovechar por fin el BBA que tanto me costó xDDDDDDD


pero mirá que sos eh...bue, por lo menos ya funciona. Si entendes C, entonces SDL no te va a costar nada. Como siempre digo pegale una mirada a los ejemplos del kos (en la carpeta examples) porque ahi hay muchas cosas para entender kos basico, powervr, sdl, kgl y muchas cosas mas cheeeeeeeeeeeee. Los ejemplos de chui que se bajan de su sitio también son excelentes para empezar.
H
HoruheMiembro
Publicado 13 year hace
Ya he probado el IP-Tool, mola :D Una lastima lo de la arp -s porque me toca hacerme root pero bueno, ya lo arreglare.

Pero... al enviar el ejemplo hello no sale "hello world" por pantalla (VGA) sino por la terminal :S es normal? XD Habría que hacer algo especial para escribir texto directo en pantalla?

salu2
www.imaxenes.com/imagenes/rcd1vp79pk.png
IndiketIndiketAdministrador
Publicado 13 year hace
Bueno, por fin Horuhe :D Me alegro que lo consiguieras.

Si has hecho un prinf ( o cout), es normal que salga por consola xD. La salida por defecto es la consola.
Si quieres mostrar algo por pantalla, debes o utilizar alguna librería gráfica (SDL, Allegro...), o KOS directamente.
GuaripoloGuaripoloAdministrador
Publicado 13 year hace
el ejemplo hello world que trae el kos sale por consola, normalmente todos los printefess salen por ahí, como dijo indiket. Para escribir texto mira el ejemplo del sitio de chui con los fonts de SDL, también podes utilizar conio (da una salida estilo consola).
IndiketIndiketAdministrador
Publicado 9 year hace
Pues actualizé el tutorial dejando una nota con una novedad interesante: ahora ya podemos compilar la herramienta CDI4DC directamente desde el código fuente, sin depender de ningún cutre-binario.

Bailen gente, bailen! :D
IndiketIndiketAdministrador
Publicado 9 year hace
He estado estos días revisando el tutorial, y actualizándolo para KOS 2. Está listo para su disfrute!

Quiero dejar 2 apuntes para los gurús de la programación:

- En GCC4 y KOS2, las funciones con nombres "init()" o "start()" están reservadas. En otras palabras, no pueden usar esos nombres.

- Sobretodo, es MUY IMPORTANTE que pongan en el código:

KOS_INIT_FLAGS(INIT_DEFAULT)


Ya que en KOS 2, si no lo usan, no funcionarán los puertos MAPLE y les dará error en la lectura de los dispositivos (maple_enum_type).
R
RipfireMiembro
Publicado 9 year hace

Cita

Indiket ha escrito:

He estado estos días revisando el tutorial, y actualizándolo para KOS 2. Está listo para su disfrute!

Quiero dejar 2 apuntes para los gurús de la programación:

- En GCC4 y KOS2, las funciones con nombres "init()" o "start()" están reservadas. En otras palabras, no pueden usar esos nombres.

- Sobretodo, es MUY IMPORTANTE que pongan en el código:

KOS_INIT_FLAGS(INIT_DEFAULT)


Ya que en KOS 2, si no lo usan, no funcionarán los puertos MAPLE y les dará error en la lectura de los dispositivos (maple_enum_type).


Esto es una buena noticia para los programadores que usan KOS, por desgracia aun esta libreria es incompatible con NotePad++ con la que uso para hacer programación tipo homebrew para PC, PSP y X-BOX :|
baigosbaigosAdministrador
Publicado 9 year hace
Si querés usar una ide, hay unos tutoriales para usar code blocks con el toolchain. También podés programar con un editor de archivos de texto (como gedit, emacs, vim, etc.) y compilar con makefile.
R
RipfireMiembro
Publicado 8 year hace

Cita

baigos ha escrito:

Si querés usar una ide, hay unos tutoriales para usar code blocks con el toolchain. También podés programar con un editor de archivos de texto (como gedit, emacs, vim, etc.) y compilar con makefile.


Te voy hacer sincero, no estoy para complicarme la vida. Estoy trabajando con un proyecto que sera el sucesor de M.U.G.E.N. usando los codigos de OpenBOR y de D-Engine, y no tengo el tiempo para leer tutoriales ni modificar texto y/o codigos para poder usarlo en NotePad++. Salu2
elmadnoelmadnoNuevo
Publicado 7 year hace
Muchas gracias por el tutorial Guaripolo.

He visto que dc-swat publicó en enero de 2015 un tutorial parecido: http://www.dc-swat.ru/blog/dev/992.html

Por cierto, ¿alguno ha pensado en crear una distribución de GNU/Linux con todo lo necesario para programar en Dreamcast? O incluso algo más genérico que ya incluya SDKs para varias consolas, herramientas de decompilación, creación y modificación de imágenes, IDEs y editores gráficos.
NeoSnkNeoSnkMiembro Júnior
Publicado 6 year hace
Hola amigos, Estoy teniendo un problema. Todo funciona bien, pero, en el último comando, recibo este mensaje:

$ sh utils/build-all.sh
Checking if /home/neosnk_/dc/kos/../kos-ports/libbz2 is installed and up-to-date...
Building /home/neosnk_/dc/kos/../kos-ports/libbz2...
make: Entering directory '/home/neosnk_/dc/kos-ports/libbz2'
libbz2 is not currently installed.
Finished processing dependencies for libbz2.

Fetching bzip2-1.0.6.tar.gz from http://bzip.org/1.0.6 ...
/bin/sh: line 15: curl: command not found
make: *** [/home/neosnk_/dc/kos/../kos-ports/scripts/download.mk:9: fetch] Error 127
make: Leaving directory '/home/neosnk_/dc/kos-ports/libbz2'
2
Error building /home/neosnk_/dc/kos/../kos-ports/libbz2. Bailing out.

¿Usted me podría ayudar?
puede ver todos los hilos de discusión en este foro.
puede iniciar un nuevo hilo de discusión en este foro.
no puede responder en este hilo de discusión.
no puede empezar en una encuesta en este foro.
puede cargar archivos adjuntos en este foro.
no puede descargar archivos adjuntos en este foro.
Afiliados
SEGA Saturno - Saturn, SEGA y Videojuegos