PDA

Ver la versión completa : [Programación] Programar para la GCW Zero en Windows



hardyx
14/06/2014, 22:30
Para animar a los que queréis programar con esta consola, pero no sabéis como preparar el entorno, os dejo este tutorial. Ya sabéis que hay un SDK (toolchain) oficial para programar la consola para Linux. Pero el usuario d_smagin de Dingoonity portó las herramientas para poder hacerlo también desde Windows.

Este tutorial son más bien apuntes propios, porque es un poco complejo, pero si seguís los pasos os funcionará. Prometo mejorarlo más adelante y añadir pantallas para dejarlo más claro. Si tenéis alguna duda sobre los pasos no dudeis en preguntar.


Software que necesitaremos:



CodeBlocks para Windows.
Descarga aquí (http://www.codeblocks.org/downloads/26), usad el que incluye MINGW.
Cygwin.
Lo podéis descargar aquí (https://cygwin.com/install.html), tenéis que usar la versión de 32 bits.
Toolchain de GCW Zero para windows.
Lo podéis descargar aquí (http://boards.dingoonity.org/gcw-development/gcw-zero-toolchain-for-windows-%28cygwin%29-2013-10-04/).



Instalación de Cygwin

- Cygwin son una serie de herramientas de Linux portadas a Windows.

- Instalar cygwin para Windows 32 bits, seleccionar la rama Develop y quitar los componentes de 64 bits como: cygwin64*, mingw64*, sqlite3* y emacs que no se usarán. Instalar una carpeta en la raíz del disco como c:\cygwin.


Instalación del toolchain de GCW

Ahora instalaremos el compilador y herramientas para la GCW Zero.

-Editar el archivo c:\cygwin\Cygwin.bat para que quede así:



@echo off
set PATH=c:\cygwin\bin
set PATH=/opt/gcw0-toolchain/usr/bin;%PATH%
c:
chdir c:\cygwin\bin
set LANG=en_US.UTF-8
bash --login -i



- Copia gcw0-toolchain-cygwin.2013.10.04.tar.gz dentro de la carpeta Cygwin.

- Ejecuta Cygwin.bat, entrarás en la consola, ahora tienes que teclear esto:


>cd /
>mkdir opt src
>tar -xf gcw0-toolchain-cygwin.2013.10.04.tar.gz -C /opt



Pasos finales


Estos pasos nos permite extraer el toolchain ya preparado para su uso con CodeBlocks. La razón de hacer esto es que el toolchain contiene enlaces a fichero que sólo se pueden extraer desde Linux o Cygwin. Pero una vez extraído ya podemos usarlos.

- Copiar la carpeta \opt\gcw0-toolchain\usr en otra carpeta como c:\devkitGcw. Este path lo vamos a usar en la siguiente sección, si lo ponéis en otro sitio teneis que cambiarlo.
- Ya se puede desinstalar el entorno cygwin si no se usa.


Perfil para compilar

Crear un nuevo perfil en CodeBlocks llamado “Gcw Zero”, basado en perfil de GNU GCC Compiler, y configurarlo de esta manera:

Compiler settings:
Marcar “Enable all compiler warnings (-Wall)”

Linker settings:
Dejar tal cual, vacío.

Search Directories:
Pestaña Compiler:
\cygdrive\c\devkitGcw\usr\mipsel-gcw0-linux-uclibc\sysroot\usr\include\SDL
\cygdrive\c\devkitGcw\usr\mipsel-gcw0-linux-uclibc\sysroot\usr\include\freetype2
Pestaña Linker:
(vacía)

Toolchain Executables:
Cuadro Compiler’s instalation directory:
c:\devkitGcw\usr

Program files:
C compiler : mipsel-gcw0-linux-uclibc-gcc.exe
C++ compiler : mipsel-gcw0-linux-uclibc-gcc++.exe
Linker dynamic : mipsel-gcw0-linux-uclibc-gcc++.exe
Linker static : mipsel-gcw0-linux-uclibc-ar.exe
Debugger : gdb.exe
Resource comp : (vacío)
Make program : make.exe

Additional paths:
c:\devkitGcw\usr\libexec\gcc\mipsel-gcw0-linux-uclibc\4.8.1
c:\devkitGcw\usr\mipsel-gcw0-linux-uclibc\bin

Other Settings:
Botón Advanced Options > Botón Yes > Pestaña Others
Marcar “Force use of fordward slash…”
Desmarcar “Supports PCH”

Pestaña Output Parsing > Add:
Description: Fatal error 2
Type: Error
Expression: fatal error:[ \t]*(.*)
Sub-expression indices:
Message: 1

Añadir el target Gcw a un proyecto existente

Proyecto en la ventana de ficheros > Properties > Pestaña Build Targets.
Marcar un target similar como “Wiz Release” y duplicarlo con el nombre “Gcw Zero Release”.

Marcar el nuevo target y cambiar en Select Build Target options (a la derecha):
Type: Console application
Output file name: .\build\proyecto.dge
Objects output dir: .\obj\Gcw

zhorro
15/06/2014, 02:30
Muchas gracias, porque estaba pensando en usar el miniportatil que lo tengo con Linux para hacerlo y sobre Windows puedo utilizar el PC de sobremesa que es bastante mas potente. Voy a probarlo y ya comentare como me ha ido.

Kloppix
15/06/2014, 13:46
Muchas gracias Hardyx! Pero deberías publicarlo también en dingoonity o la wiki (http://wiki.surkow.com/Tutorials).

masteries
17/06/2014, 20:43
¡Muchas gracias Hardyx!

hardyx
18/06/2014, 16:59
Lo he posteado también en inglés en Dingoonity.

Nuria
12/12/2019, 09:02
Refloto este tema [reflotada] que me ha parecido la mar de interesante ya que andaba yo buscando algo así, supongo que servirá para la RG350. A ver si esta tarde tengo un rato e intento configurármelo todo... y que funcione :P

Y añado este otro tutorial para linux: http://songofstorm.com/tutorial-gcw-zero/

zhorro
13/12/2019, 01:40
Me viene estupendo el reflote para despues de navidades, porque a lo mejor con esto puedo ahorrarme la maquina virtual linux. Gracias.

futu-block
13/12/2019, 13:22
T_T que perrillos, la caña que se le está dande a la RG350, se antoja comprarla...

¿pero que opinais de esta? la new pocketgo 2 creo que tiene dingux, al fin y al cabo es lo mismo ¿no?


http://www.youtube.com/watch?v=vV0GPc8zClo

Drumpi
13/12/2019, 15:13
Creo que ya se habló de ella, un par de hilos antes del oficial de la RG350. La RG es la más barata pero la menos potente, y la bitboy era la opuesta de las tres que se compararon.
... No encuentro el hilo, pero es bastante reciente, como de dos o tres semanas antes que la de RG350. A ver si alguien lo tiene localizado, pero creo que lo inició ¿fumaflow?

futu-block
13/12/2019, 16:32
si, se que hilo es, no lo sigo pero es un hilo oficial...

es que esta me gusta mas que la otra

zhorro
13/12/2019, 20:22
Creo que ya se habló de ella, un par de hilos antes del oficial de la RG350. La RG es la más barata pero la menos potente, y la bitboy era la opuesta de las tres que se compararon.
... No encuentro el hilo, pero es bastante reciente, como de dos o tres semanas antes que la de RG350. A ver si alguien lo tiene localizado, pero creo que lo inició ¿fumaflow?

La que han puesto en el video es la pocket go 2 y en hardware es exactamente igual a la RG350, donde se distingue es en los controles, no tiene dobles gatillos ni el segundo joystick y creo recordar que era un poco mas barata que la RG.

futu-block
14/12/2019, 08:35
si, es mas barata y creo que mas grande, lo que pasa que la pantalla es 320x240 y la RG350 creo que es el doble

Trenz
14/12/2019, 13:13
Creo que ya se habló de ella, un par de hilos antes del oficial de la RG350. La RG es la más barata pero la menos potente, y la bitboy era la opuesta de las tres que se compararon.
... No encuentro el hilo, pero es bastante reciente, como de dos o tres semanas antes que la de RG350. A ver si alguien lo tiene localizado, pero creo que lo inició ¿fumaflow?


Creo que te refieres a este hilo (cito directamente un mensaje mío):

https://www.gp32spain.com/foros/showthread.php?161934-Consolas-port%E1tiles-actuales-con-soporte-BennuGD&p=1859343#post1859343


si, es mas barata y creo que mas grande, lo que pasa que la pantalla es 320x240 y la RG350 creo que es el doble

No, la de la RG350 también es de 320x240.

futu-block
14/12/2019, 23:28
uuuuuuuu, otro motivo pa echarme patras...

swapd0
14/12/2019, 23:34
Para juegos retro/psx o inferior no necesitas mas pantalla.

futu-block
15/12/2019, 11:12
sip, para lo mas importante, gameboy, el escalado sale fatal y por supuesto no tiene pixeles gordos para apreciar bien la imagen

Drumpi
16/12/2019, 12:36
Creo que te refieres a este hilo (cito directamente un mensaje mío):

https://www.gp32spain.com/foros/showthread.php?161934-Consolas-port%E1tiles-actuales-con-soporte-BennuGD&p=1859343#post1859343


https://media.tenor.com/images/eb6aa12145e7b1f097a7b9c49db8e66f/raw

Y de nuevo, confundo los nombres de las consolas :D Sorry.


Para juegos retro/psx o inferior no necesitas mas pantalla.

Bueno, probando el Cadillac & Dinosaurs, me falta pantalla, y el escalado se ve regular. A ver si cuando pruebe con el TV-Out eso se arregla :p

Puck2099
27/01/2020, 23:39
Me apunto el tuto a ver si puedo hacer pruebas desde el pc del curro...