PDA

Ver la versión completa : [HILO OFICIAL] GameBoy Advance & GameBoy Development



Páginas : 1 [2] 3 4

jduranmaster
18/08/2010, 19:47
en cualquier caso puede ser un pifostio montar algo semejante. recuerdo que con lexx y jacc se podian hacer analizadores sintacticos de frases (y el automata correspondiente) y luego los resultados se pasaban por un array con los sonidos de los fonemas grabados para reconstruir una frase. seria bastante curro hacer algo similar para GBA.

tanuquillo
18/08/2010, 21:36
mirate ese que hay en sistemas clasicos del spectrum. no son ni 100 lineas.
suena fatal pero es entendible y supermolon al ser tan retro.
la gracia seria que te pones el txt y segun las letras te diga cuanto tiempo tardara como si fuera un mp3 para poder ir avanzando. o poder avanzar tu por el txt y empezar a escuchar donde quieras.

jduranmaster
18/08/2010, 21:41
buscare el de spectrum que dices. a ver si se puede hacer algo. como se llama el programa exactamente?

tanuquillo
18/08/2010, 21:49
http://www.gp32spain.com/foros/showpost.php?p=1123872&postcount=10
aqui lo tienes.

en ingles tambien esta por ahi. seguro que si haces un audio libro en ingles y en español te lo sacan en gbadev. por que yo he estado buscando y nunca encontre.
para gp2x si hay uno pero en ingles

yo me hago audio libros con loquendo. me hago mp3 de 2 o 3 horas con un libro entero. con harry potter me escuche toda la saga asi.
y la verdad es que te enteras perfectamente

jduranmaster
18/08/2010, 21:52
ok, gracias por el enlace lo mirare.:brindis:

tanuquillo
19/08/2010, 23:19
me avisas cuando tengas el loquendo.gba
venga que estoy esperando!!!!!!!!!!!

XDD es broma. jiji. pero ardo en deceos de probarlo

jduranmaster
20/08/2010, 15:30
me avisas cuando tengas el loquendo.gba
venga que estoy esperando!!!!!!!!!!!

XDD es broma. jiji. pero ardo en deceos de probarlo

pues ira para largo porque ahora estoy hasta arriba en el curro.

^OMAP-Cranck^
28/08/2010, 19:21
http://www.gp32spain.com/foros/showpost.php?p=1123872&postcount=10
aqui lo tienes. en ingles tambien esta por ahi. seguro que si haces un audio libro en ingles y en español te lo sacan en gbadev. por que yo he estado buscando y nunca encontre.
para gp2x si hay uno pero en ingles

esto parece muy interesante. pero realmente seria factible que la GBA pudiese mover un programa similar de forma fluida?

sabeis si existe algun hack del contra advance o similar?

tanuquillo
29/08/2010, 10:38
como va ese gbaquendo?
molaria hacerlo nativo en gba sin usar emu de spectrum

hacerlo asi a lo cutre asignarle a cada letra un sonido y a cada silaba y listo
si pongo A que suene el a.wav
si pongo ME que suene me.wav y listo.
aunque suene de pena. pero da igual si es entendible.

jduranmaster
29/08/2010, 14:11
como va ese gbaquendo?
molaria hacerlo nativo en gba sin usar emu de spectrum

hacerlo asi a lo cutre asignarle a cada letra un sonido y a cada silaba y listo
si pongo A que suene el a.wav
si pongo ME que suene me.wav y listo.
aunque suene de pena. pero da igual si es entendible.

LA idea siempre fue no usar emu de spectrum sino que fuese un programa nativo para GBA.

aun no he empezado a codificar nada, ya que primero estoy viendo la forma de reproducir WAV en GBA. Ya tengo funciones que me permiten reproducir MOD y midi en GBA pero tengo que mirar el tema del WAV. asi que segun vaya sacando tiempo ire completando.

saludos.

^OMAP-Cranck^
29/08/2010, 18:40
supongo que el tema de WAV en GBA dependera tmb del SDK que utilices, porque lo mismo en el SDK oficial de NINTENDO tienen ya hecho soporte para usar WAV, asi que podrias mirar ahi.:teacher:

y ... relanzo mi pregunta, sabeis si existe algun hack del contra advance?

jduranmaster
03/09/2010, 13:47
supongo que el tema de WAV en GBA dependera tmb del SDK que utilices, porque lo mismo en el SDK oficial de NINTENDO tienen ya hecho soporte para usar WAV, asi que podrias mirar ahi.:teacher:

y ... relanzo mi pregunta, sabeis si existe algun hack del contra advance?

ni idea de si el existe algun hack del contra advance. de todas formas para que puñetas quieres jugar un hack si el juego sin trucar ya es una maravilla????, no lo entiendo.

respecto a lo del SDK oficial de NINTENDO puede que tenga soporte para WAV pero aun no lo he mirado a fondo. de ser asi seria una ventaja para hacer lo del lokendo este.

saucjedi
03/09/2010, 14:43
ni idea de si el existe algun hack del contra advance. de todas formas para que puñetas quieres jugar un hack si el juego sin trucar ya es una maravilla????, no lo entiendo.

Pues es muy sencillo: imagina que es un hack que añade niveles. ¿Has jugado alguno de los buenos hacks del Super Mario World? ¿o del Metroid original de NES? Son curradas y prácticamente juegas a un juego completamente nuevo en cuanto a niveles.

^OMAP-Cranck^
06/09/2010, 19:17
bueno pues eso entonces sabeis de algun hack?

jduranmaster
08/09/2010, 21:50
yo no conozco ningun hack de dicho juego (lo que no significa que no exista)

tanuquillo
09/09/2010, 13:21
Level 2 w/ 99 lives Y4HC1B L5P212 34ZWF1
Level 3 w/ 99 lives WXJD1Z JHSJ1Q KKNCY1
Level 4 w/ 99 lives ZWJF1J MGSL1B GP3LQB
Level 5 w/ 99 lives G3421N TDN51N C3BV2C
Level 6 w/ 99 lives W3MJ1S J4VP1N YY24BD
Level 2 Normal Mode 111111 TYLH1S 35MYH1
Level 2 Novice Mode 11111N TYLH1Z FCS5H1
Level 3 Normal Mode 11111H TYLH1X QTTH1B
Level 3 Novice Mode 111113 TYLH1W BHZXZ1
Level 4 Normal Mode 11111J TYLH1Z MY1RSB
Level 4 Novice Mode 11111B TYLH1T XLGHSB
Level 5 Normal Mode 11111V TYLH13 2D21LC
Level 6 Normal Mode 11111M TYLH1V CFDJDD

y si lo juegas con emu o tienes un gameshark
http://www.cheathappens.com/show_cheat.asp?ID=14538

Allen_S
09/09/2010, 14:00
Es posible que hagan un reproductor de video DECENTE para GBA ???
Como el de la pagina caiman . net
Los que hay dejan mucho que desear.

jduranmaster
10/09/2010, 15:41
Level 2 w/ 99 lives Y4HC1B L5P212 34ZWF1
Level 3 w/ 99 lives WXJD1Z JHSJ1Q KKNCY1
Level 4 w/ 99 lives ZWJF1J MGSL1B GP3LQB
Level 5 w/ 99 lives G3421N TDN51N C3BV2C
Level 6 w/ 99 lives W3MJ1S J4VP1N YY24BD
Level 2 Normal Mode 111111 TYLH1S 35MYH1
Level 2 Novice Mode 11111N TYLH1Z FCS5H1
Level 3 Normal Mode 11111H TYLH1X QTTH1B
Level 3 Novice Mode 111113 TYLH1W BHZXZ1
Level 4 Normal Mode 11111J TYLH1Z MY1RSB
Level 4 Novice Mode 11111B TYLH1T XLGHSB
Level 5 Normal Mode 11111V TYLH13 2D21LC
Level 6 Normal Mode 11111M TYLH1V CFDJDD

y si lo juegas con emu o tienes un gameshark
http://www.cheathappens.com/show_cheat.asp?ID=14538

trukazos.:D


Es posible que hagan un reproductor de video DECENTE para GBA ???
Como el de la pagina caiman . net
Los que hay dejan mucho que desear.

como idea no esta mal.

GameMaster
10/09/2010, 16:14
Queremos demos :)

jduranmaster
10/09/2010, 16:16
Queremos demos :)

ahora subo una que viene de ejemplo en el SDK oficial. esta currada.:awesome:

jduranmaster
10/09/2010, 18:58
Aqui os dejo otro ejemplo chulillo que hay colgado por el GBAdev. es una versión primeriza del Smash Bros, en la cual se puede controlar a Kirby y aparece un Mario estatico en pantalla. El codigo fuente esta disponible en GBADEV. yo lo baje y compile antes de irme de vacaciones con el devkitPRO, el devkit-ADV y en ambos tiro sin problemas.


SALUDOS.

PD: alguien sabe si existe port de las librerias de allegro a GBA. (especificamente esas).(gracias)

GameMaster
10/09/2010, 19:02
Pon el enlace del src.
Y sigue así :)

jduranmaster
10/09/2010, 19:05
aqui teneis el enlace al src del SMASH BROS GBA de la pagina del GBADEV:

http://www.gbadev.org/demos.php?showinfo=1275


saludos.:awesome:

GameMaster
10/09/2010, 22:21
Grácias 'new friend' :)

jduranmaster
10/09/2010, 22:35
je.:awesome:. no hay de que

GameMaster
10/09/2010, 23:08
Ahora me entero que tienen mas de 500 juegos alli y encima que tengo que sacar uno a uno que el teleport no pesca nada...

jduranmaster
10/09/2010, 23:14
tienen un repertorio bastante bueno de homebrew de todo tipo.

jduranmaster
12/09/2010, 17:23
Aqui os dejo un ejemplo para cargar una imagen en pantalla usando el ensamblador de la GBA. en conreto el set ARM basico. El ejmplo es el mismo que el que habia puesto ^OMAP_CranCK^ anteriomente:



.arm @indicamos al ensamblador que usamos intrucciones ARM.
.text @indicamos que todo lo escrito a continuacion se incluye en la seccion del codigo.
.global main @indicamos al ensamblador que tiene acceso a nuestro programa principal, de esta forma
@el linkador podra encontrar el programa principal.

start:
b 0xC0

.org 0xC0
mov r0, #0x08000000 @con estas instrucciones indicamos que vamos a pasar a hacer
add r0, r0 ,#0xE1 @uso del set de intrucciones THUMB. Una cosa interesante a recalcar, es que
bx r0 @las instrucciones del set THUMB ocupan dos bytes en lugar de 4 bytes como
@ocurre con las instrucciones del set básico de ARM. Esto aspecto es
@es muy interesante porque nos permite hacer programas usando el set THUMB que
@ocupen menos espacio.

.thumb @ya entramos en el juego de instrucciones THUMB.
.thumb_func
.align 2

.org 0xE0

main:
mov r0, #0x80 @r0 = 0x80 lsl 0x13 = 0x04000000
lsl r0, r0, #0x13 @r0 = 0x04000000, es decir estás instrucciones son equivalentes a hacer
@ mov r0, #0x4000000 usando el set de ARM.
mov r1, #0x4
lsl r1, r1, #0x8
add r1, r1, #0x3 @r1 = 0x403
strh r1, [r0] @r1 = #0x403 es decir empleamos el modo 3 y activamos el fondo 2.

ldr r0, =imagen @cargamos los datos de la imagen en el registro R0.
mov r1, #0x80
lsl r1, #0x14
add r0, r1, r0
mov r1, #0xC0
lsl r1, r1, #0x13 @r0 = 0x06000000, con esto estamos cargando el registro R0 la dirección de
@comienzo de la VRAM.
mov r2, #0x96 @r1 = 0x9600, indicamos en el registro R1 la cantidad de pixeles 240x160.
lsl r2, r2, #0x7 @la instrucción SWI usa escrituras de 32 bits. r2 = 0x12C00 / 4 = 0x4B00
swi 0xC @r0 = source, r1 = dest, r2 = size

infin: @bucle infinito.
b infin

.ltorg @usado para la ldr r0, =imagen. LTORG nos permite ensamblar el código binario de la imagen
@que hemos incluido dentro de la sección de código de nuestro programa.
imagen:
.incbin "gba2.bin"




el caso es que me puse a desarrollar el mismo programa pero usando el set de instrucciones THUMB y me da problemas y eso que se trata de la misma imagen....... bueno si consigo arreglarlo lo subire tmb por aqui.

jduranmaster
12/09/2010, 17:26
Bueno os dejo tm la version con el set de instrucciones THUMB. el programa hace los mismo. pinta la imagen anterior en pantalla, pero la escala de colores esta mal.




.arm @indicamos al ensamblador que usamos intrucciones ARM.
.text @indicamos que todo lo escrito a continuacion se incluye en la seccion del codigo.
.global main @indicamos al ensamblador que tiene acceso a nuestro programa principal, de esta forma
@el linkador podra encontrar el programa principal.

start:
b 0xC0


.org 0xC0
mov r0, #0x08000000 @con estas instrucciones indicamos que vamos a pasar a hacer
add r0, r0 ,#0xE1 @uso del set de intrucciones THUMB. Una cosa interesante a recalcar, es que
bx r0 @las instrucciones del set THUMB ocupan dos bytes en lugar de 4 bytes como
@ocurre con las instrucciones del set básico de ARM. Esto aspecto es
@es muy interesante porque nos permite hacer programas usando el set THUMB que
@ocupen menos espacio.

.thumb @ya entramos en el juego de instrucciones THUMB.
.thumb_func
.align 2

.org 0xE0

main:
mov r0, #0x80
lsl r0, r0, #0x13 @r0 = 0x04000000 como siempre
mov r1, #0x4
lsl r1, r1, #0x8
add r1, r1, #0x4 @r1 = 0x404
strh r1, [r0] @MODO 4 y BG2

mov r3, #0x80
lsl r3, r3, #0x14 @r3 = 0x08000000

@cargamos la primera paleta
ldr r0, =pal
add r0, r3, r0
mov r1, #0xA0
lsl r1, r1, #0x13 @r1 = 0x05000000 = Paleta
mov r2, #0x80 @0x80 escrituras de 32bit
swi 0xC

@cargamos la primera imagen en la direccion 0x06000000
ldr r0, =frontbuffer
add r0, r3, r0 @r0 = direccion del buffer principal
mov r1, #0xC0
lsl r1, r1, #0x13 @r1 = 0x06000000
mov r2, #0x96
lsl r2, r2, #0x6
swi 0xC

infin: @bucle infinito.
bl waitVBlank

mov r0, #0x40
lsl r0, r0, #0x4
sub r0, r0, #0x9 @r1 = 0x3F7

mov r1, #0x80
lsl r1, r1, #0x13 @0x04000000
add r1, r1, #0x80
add r1, r1, #0xB0 @r0 = 0x04000130

waitVBlank:
mov r0, #0x80
lsl r0, r0, #0x13 @0x04000000
add r0, r0, #0x6

loop:
ldrh r0, [r0]
cmp r0, #160
blt loop
bx lr

fin:
bx lr

.ltorg @usado para la ldr r0, =imagen. LTORG nos permite ensamblar el código binario de la imagen
@que hemos incluido dentro de la sección de código de nuestro programa.

frontbuffer:
.incbin "gba2.bin"



el caso es que creo que el problema puede estar en los registros y puede que no le este pasando alguno de los valores correctamente. os dejo tmb una captura para que veais el resultado y la rom para que la podais probar. he probado las dos roms en el flashcart de GBA y funcionan. como es de costumbre era necesario usar el GBAFIX para formatear la cabecera de la rom corectamente para que pudiese funcionar. el codigo esta un poco "wuarro" porque he ido haciendo pruebas y cambiando cosillas.

saludos.:awesome:

^OMAP-Cranck^
12/09/2010, 22:47
es posible que el problema este en alguno de los valores de inicialización de los registros que usas. aun asi esta currado porque yo ni si quiera habia empezado a mirarme bien es el set thumb.:awesome:

xzakox
13/09/2010, 09:14
En el segundo programa estas usando el modo 4 y en el primero el modo 3, por lo que en el segundo tienes que cargar las paletas, claro, pero el primero también usa THUMB y no ARM, jejejej.

jduranmaster
13/09/2010, 11:52
En el segundo programa estas usando el modo 4 y en el primero el modo 3, por lo que en el segundo tienes que cargar las paletas, claro, pero el primero también usa THUMB y no ARM, jejejej.

si es poco lioso lo se, porque lo fui haciendo sobre la marcha. a ver si saco un poco mas de tiempo y lo arreglo.

jduranmaster
13/09/2010, 12:43
A continuación os traigo unas cuantas roms que me han parecido bastante chulas y que he encontrado por el GBADEV. La primera es: Final Fantasy 4th World Cup won by Italy. Se trata de una recreación del altercado entre Zidane y Materrazi en el mundial. Es bastante graciosa.

jduranmaster
13/09/2010, 12:50
La siguiente es: gorf_final_03. Se trata de una rom en la que se ejemplifica el uso de las teclas de la GBA, el modo BITMAP, sonidos y demas.

jduranmaster
13/09/2010, 12:56
LA siguiente ROM es un intento de portar el HALF life a la GBA. No esta tan currado como el motor JESPA_3D en el cual base mi ejemplo jduranWolf, ya que en este solo se muestra el pasillo inicial del juego pero los movimientos del personaje no responden

jduranmaster
13/09/2010, 13:04
Y finalmente os dejo una herramienta muy interesante denominada: agbmidi_conv la cual permite generar roms para GBA a partir de un listado de ficheros midi, y luego os reporduce. ademas tmb permite modificar ciertas caracteristicas del fichero midi para jugar un poco. Todas las roms las probe en el FlashCART, asi que podeis usarlo en la GBA. si alguna veis que no tira probad a usar el GBAFIX para formatear la cabecera de la rom de forma correcta, ya que habia alguna de ellas donde era necesario.

saludos.

GameMaster
13/09/2010, 16:14
Mola.
Bueno me voy a la descarga gbadev, del 200 al 300 hehehhe, no puede ser todo de golpe sino me transformo en chino :)

jduranmaster
13/09/2010, 16:15
Uno de los juegos HomeBrew mas conocidos para la GBA es le MARIO BREAK. Os dejo la rom fresquita diretamente sacado del GBAdev. El juego es como el típico arkanoid pero con los graficos del mario.


saludos.:awesome:

^OMAP-Cranck^
13/09/2010, 22:58
wapisimas todas las roms. con la del Zidane es que me parto. :lol:

jduranmaster
14/09/2010, 12:13
ayer me tope con uno de los mejores motores graficos 3D que he visto para la GBA. El Yeti3D. Es sencillamente fantastico ver como es posible que la GBA mueva la rom. muy recomendable. En el juego podemos controlar a un personaje armado con un cañon (curiosamente el lanza cohetes del Quake3) y movernos libremente por el escenario matando enemigos. LAstima que no haya codigo fuente de esta maravilla.

saludos.:awesome:

jduranmaster
14/09/2010, 12:26
otro motor gráfico muy interesante para la GBA es el gba3ds. en la demo podemos mover aun "clon" de solid snake por la pantalla. este sin inclluye codigo fuente, y el autor ha utilizado aparte de código C, códido ensamblador para optimizar algunas de las funciones. saludos.:awesome:

jduranmaster
14/09/2010, 13:29
por cierto que se me olvidaba comentarlo. si quereis jugar a las roms en flashcart (tanto la de Yeti3D como la gba3ds) debeis usar antes la herramienta GBAFIX para formatear correctamente la cabecera de las roms porque sino no funcionaran. saludos.:awesome:

jduranmaster
15/09/2010, 15:41
un jueguecillo bastante entretenido para la GBA es el B-Type. un clon del R-Type tradicional. El juego es muy jugable pero tiene el inconvenente de que no se han implementado las funciones para incorporar efectos de sonido.

saludos.:awesome:

Allen_S
15/09/2010, 15:51
Todo muy interesante Jduranmaster, te felicito... dime cual de todos estos es creación tuya?? porque no recuerdo haberlos visto en gbadev (el reproductor de midi si) Podrías crear un reproductor de videos??.
Recuerda que hay un limite de 32mb para cada video, asi que algo se puede hacer seguramente.
El GBAFix no es lo mismo que el GBATA??? (GBA Tool Advance).

jduranmaster
15/09/2010, 15:53
Bueno y aqui os dejo otro ejemplo hecho por mi que puede servir para crear las pantallas de intro de un juego para GBA. La rom hace uso del modo grafico 4 de la GBA, y digamos que consta de dos partes, en la primera se muestra una imagen que actua de presentación y pasados unos segundos esta imagen desaparece y otra imagen hace scroll vertical y aparece el típico mensaje de "PRESS START". Como estamos usando "MODO 4" es necesario cargar en memoria la paleta. Para poder hacer la conversión se puede usar la herramienta PCX2GBA o bien el HeaderGenerator.java (cortesia de un servidor:D). La rom esta compilada con el devkit-adv.

Aqui os dejo algunos de los archivos fuente del proyecto y la rom para probar.:

keypad.h




//definicion de la teclas.
#ifndef KEYPAD_H
#define KEYPAD_H

#include "gba.h"

#define KEY_A 1
#define KEY_B 2
#define KEY_SELECT 4
#define KEY_START 8
#define KEY_RIGHT 16
#define KEY_LEFT 32
#define KEY_UP 64
#define KEY_DOWN 128
#define KEY_R 256
#define KEY_L 512

#endif



solo cuando pulsamos start la rom se reinicia.

gba.h: conla definicion de tipos usuales usados en los proyectos con el devkit-ADV.




#ifndef GBA_HEADER
#define GBA_HEADER

typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned long u32;

typedef signed char s8;
typedef signed short s16;
typedef signed long s32;

typedef unsigned char byte;
typedef unsigned short hword;
typedef unsigned long word;

typedef volatile unsigned char vu8;
typedef volatile unsigned short vu16;
typedef volatile unsigned long vu32;

typedef volatile signed char vs8;
typedef volatile signed short vs16;
typedef volatile signed long vs32;

typedef void (*fp)(void);

#define RGB16(r,g,b) ((r)+(g<<5)+(b<<10))

#define OAMMem ((u32*)0x7000000)
#define VideoBuffer ((u16*)0x6000000)
#define OAMData ((u16*)0x6010000)
#define BGPaletteMem ((u16*)0x5000000)
#define OBJPaletteMem ((u16*)0x5000200)

#define REG_DISPCNT *(vu32*)0x4000000
#define REG_VCOUNT *(vu16*)0x4000006

#define MODE_0 0x0
#define MODE_1 0x1
#define MODE_2 0x2
#define MODE_3 0x3
#define MODE_4 0x4
#define MODE_5 0x5

#define BACKBUFFER 0x10
#define H_BLANK_OAM 0x20

#define OBJ_MAP_2D 0x0
#define OBJ_MAP_1D 0x40

#define FORCE_BLANK 0x80

#define BG0_ENABLE 0x100
#define BG1_ENABLE 0x200
#define BG2_ENABLE 0x400
#define BG3_ENABLE 0x800
#define OBJ_ENABLE 0x1000

#define WIN1_ENABLE 0x2000
#define WIN2_ENABLE 0x4000
#define WINOBJ_ENABLE 0x8000

#define SetMode(mode) REG_DISPCNT = (mode)

#endif



programa principal:




/************************************************** ***********************
* author: JDURANMASTER
* version: 1.0
************************************************** ***********************/
#include <stdio.h>
#include <stdlib.h>
#include "gba.h"
#include "logo2.h"
#include "keypad.h"


unsigned short* ScreenBuffer = (unsigned short*)0x6000000;
unsigned short* ScreenPal = (unsigned short*)0x5000000;

volatile u32* KEYS = (volatile u32*)0x04000130;

////////////////////////////////////////////////////////////
// programa principal
////////////////////////////////////////////////////////////
int main(void){

int loop;
int retorno = 0;

///////////////////////////////////////////////////////
// inicializamos el modo gráfico que usaremos.
// en este caso usamos el modo gráfico 4 con
// el background 2.
///////////////////////////////////////////////////////
REG_DISPCNT = MODE_4 | BG2_ENABLE;

EraseScreen();
//cargamos la pantalla inicial.

for(loop=0;loop<256;loop++) {
ScreenPal[loop] = exportedpal[loop];
}

for(loop=0;loop<19200;loop++) {
ScreenBuffer[loop] = exporteddata[loop];
}

WaitForVblank();
Flip();

Sleep(1500);

//cargamos la pantalla de comienzo
retorno = tituloDeEntrada();
return 0;

}//fin del programa principal.



aqui os dejo tmb unas capturas y la rom para que la probeis. Ya esta pasada la herramienta GBAFIX por lo que la cabecera de la rom esta formateada para funcionar en una GBA de verdad.

saludos.:awesome:

jduranmaster
15/09/2010, 15:58
Todo muy interesante Jduranmaster, te felicito... dime cual de todos estos es creación tuya?? porque no recuerdo haberlos visto en gbadev (el reproductor de midi si) Podrías crear un reproductor de videos??.
Recuerda que hay un limite de 32mb para cada video, asi que algo se puede hacer seguramente.
El GBAFix no es lo mismo que el GBATA??? (GBA Tool Advance).

los motores Yeti3D y el gba3ds no son mios (estan en el GBADEV). El que yo hice es el "JduranWolf.gba" que esta por este hilo, "buscalo".

No conozco el GBATA, si pones un enlace , probare la herramienta a ver que hace. GBAFIX es una herramienta en linea de comandos que permite formatear la cabecera de una rom a fin de que se pueda ejecutar perfectamente en un flashcart para GBA.

PAra reproductor de videos tenemos el METEO. O te refieres a que puedas cargar en el flashcart un video y la rom lo busque y la cargue en memoria?--> colgue un ejemplo hace un mes o asi de como acceder al sistema de ficheros de la tarjeta del flashcart para hacer una copia en la misma de la bios de la gba.En este caso solo funcionaba si la tarjeta estaba fomateada con FAT.

Segata Sanshiro
15/09/2010, 16:06
El Yeti3D es famosillo, hay una demo para GP32 muy chula :D

jduranmaster
15/09/2010, 16:09
El Yeti3D es famosillo, hay una demo para GP32 muy chula :D

a pues no sabia que hubiese port para GP32. La version de GBA va bastante bien (para ser la GBA). quiero decir que es un currazo enorme y la calidad para ser la GBA es excelente..... asi que en la GP32 deberia mejor, no?

Segata Sanshiro
15/09/2010, 16:26
Iba un pelín petado, pero para ser de GP32 también iba genial. Ahora me lo bajo y lo vuelvo a probar, que hace muchos años que no lo veo :D Juraría que incluso cargaba un modelo mdl o como se llame, de Quake.

Lo único malo es que las texturas se "curvaban" mucho cerca de los bordes de la pantalla, que es un problema típico en motores 3D que tienen que correr en máquinas poco potentes.

Bueno, qué demonios, lo único malo es que no hay ningún juego que lo use :D

PD: de todas formas creo que el mejor 3D en GBA probablemente sea el del Payback, aunque no he probado todo lo probable.

jduranmaster
15/09/2010, 16:31
PD: de todas formas creo que el mejor 3D en GBA probablemente sea el del Payback, aunque no he probado todo lo probable.

creo que esa rom es de APEX Studios? si es asi no me extrañaria nada pues esa gente se lo curra un monton.

tSuKiYoMi
15/09/2010, 16:34
buen ejemplo la rom para hacer la pantalla de intro.

jduranmaster
15/09/2010, 16:43
por cierto, alguien sabe de donde se puede bajar el kit de desarrollo HAM para la GBA?

saucjedi
15/09/2010, 17:11
a pues no sabia que hubiese port para GP32. La version de GBA va bastante bien (para ser la GBA). quiero decir que es un currazo enorme y la calidad para ser la GBA es excelente..... asi que en la GP32 deberia mejor, no?

Hay ports para Dreamcast, PC, iPhone, Playstation 1 (si, si, la PSX de toda la vida), PocketPC, Symbian (moviles Nokia), GameCube,...

Allen_S
15/09/2010, 17:20
No conozco el GBATA, si pones un enlace , probare la herramienta a ver que hace. GBAFIX es una herramienta en linea de comandos que permite formatear la cabecera de una rom a fin de que se pueda ejecutar perfectamente en un flashcart para GBA.

Para reproductor de videos tenemos el METEO. O te refieres a que puedas cargar en el flashcart un video y la rom lo busque y la cargue en memoria?--> colgue un ejemplo hace un mes o asi de como acceder al sistema de ficheros de la tarjeta del flashcart para hacer una copia en la misma de la bios de la gba.En este caso solo funcionaba si la tarjeta estaba fomateada con FAT.

GBATA: http://filetrip.net/f223-GBATA--GBA-Tool-Advance-0-7a.html

VIDEOS: http://www.caimans.net/gbavideo/demos.shtml

Y debo decir que los videos de esa pagina están hechos magistralmente, a diferencia de METEO, que es bastante quisquilloso para convertir videos, no convierte casi nada de lo que uno quiere... la mayoria de veces da error al finalizar la conversión. Si fuera un buen convertidor no me quejaría.

jduranmaster
15/09/2010, 17:24
GBATA: http://filetrip.net/f223-GBATA--GBA-Tool-Advance-0-7a.html

VIDEOS: http://www.caimans.net/gbavideo/demos.shtml

Y debo decir que los videos de esa pagina están hechos magistralmente, a diferencia de METEO, que es bastante quisquilloso para convertir videos, no convierte casi nada de lo que uno quiere... la mayoria de veces da error al finalizar la conversión. Si fuera un buen convertidor no me quejaría.

veo que el caiman es bastante mejor que el METO, si. de hecho la calidad de la roms que hay colgadas de ejemplo es bastante superior tanto en audio como en video a las que generarias con el METEO.

jduranmaster
15/09/2010, 17:33
Bueno ya encontre un enlace fiable para la descarga del HAM. Aqui os dejo la primera rom realizada usando el kit de desarrollo HAM para la gba. Es la tipica rom que permite mostrar texto en pantalla. Pero debido a lo currado que esta este kit es incluso mas facil hacerlo con HAM que con el devkitPRO.

saludos.:awesome:

^OMAP-Cranck^
16/09/2010, 16:29
he probado el motor Yeti3D y es muy bueno. ha pasado a ser de mis roms favoritas.

jduranmaster
18/09/2010, 20:15
es que esta muy currado el Yeti omap :awesome:. por cierto Allen_S, estuve probando el GBATA, pero no es exactamente lo mismo que el GBAFIX. El segundo es imprescindible para formatear la cabecera de la rom que generas si quieres poder jugarla en una GBA real (en un emu no pasa nada porque coge cualquier rom sin importarle como este formatada la cabecera de la misma).

Por otro lado el GBATA, permite modificar algunas propiedades de la rom, pero no cecesariamente hace que una rom funcione en el flashcart.

^OMAP-Cranck^
19/09/2010, 13:22
alguno me puede recomendar alguna herramienta que permita convertir de mp3 a WAV. es que estoy con un ejemplo y como no se manejar mp3 en la GBA (tampoco se si alguno de los SDK´s tiene api para ello) y creo que es mas facil con WAV.

gracias de antemano.

Solo
19/09/2010, 13:53
hay un programa que se llama "MEDIACODER" que es capaz de convertir entre multiples formatos de audio y video. seguramente te sirva.

jduranmaster
19/09/2010, 18:28
y creo que es mas facil con WAV.

gracias de antemano.

de hecho lo es.:awesome:. una vez que tengas el fichero WAV, lo que tienes que hacer es usar la herramienta wav2gba que te crea un fichero de cabecera .h de lenguaje C (de forma analoga a como lo hace el HeaderGenerator o el PCX2GBA con las imagenes) para poder manejarlo con la api de los SDK´s que utilices.

saludos.

jduranmaster
21/09/2010, 18:23
Ya he terminado la primera version del Final Fantasy Tetris Advance. El juego es el tipico Tetris, con screenshots de los juegos de squaresoft. de momento no tiene musicas de fondo, pero es solo cuestion de tiempo. La version 2.0 si las traera, asi como otros efectos. Para el tratamiento de las imagenes he usado el modo 4 de la GBA por lo que es necesario cargar las paletas de cada objeto (imagen) cuando van a ser usadas. Ademas el algoritmo del juego ("Tetris") lo he sacado de una versión que tenia hecho en MATLAB. Respecto a las piezas del juego los cuadraditos de colores los he sacado buscando en google. El juego esta desarrollado integramente usando el kit de desarrollo DEVKITADV-r5-BETA3 y en lenguaje C.

Para el Final Fantasy Tetris Advance 2 quedaria por añadir:

- Musicas de fondo y algunos efectos sonoros.
- Gráficos de fondo para la pantalla de juego.
- Un menu de selección, con varias opciones: jugar partida, modo de dificultad.

Aqui os dejo la rom "fixeada" con GBAFIX para el que la quiera probar tmb en Flashcart de GBA.

SALUDOS.:awesome:

Allen_S
21/09/2010, 19:50
Excelente trabajo.... lo pruebo ahora mismo!!!!
Que este FANTASTICO TEMA no se detenga...!!!

< - >

alguno me puede recomendar alguna herramienta que permita convertir de mp3 a WAV. es que estoy con un ejemplo y como no se manejar mp3 en la GBA (tampoco se si alguno de los SDK´s tiene api para ello) y creo que es mas facil con WAV.

gracias de antemano.


Te serviría el "Mp3 to ringtone", con ese convierto yo.

GameMaster
21/09/2010, 19:58
Por fin un Final Fantasy medio en condiciones :)

jduranmaster
21/09/2010, 20:31
si lo podeis probar en el emu de wiz a ver si va.......

[<_-_Ukyo_-_>]
23/09/2010, 12:34
buena pinta que tiene el juego!!!!!. lo probare cuando tenga mas tiempo.

jduranmaster
25/09/2010, 10:55
Bueno os traigo cosas nuevas. Consegui bajarme los ficheros fuente del motor Yeti3D para GBA y despues de portarlo a Wiz los recompile para GBA. Este es el motor Yeti3D original. La otra rom que subi hace un par de semanas "TheTemple" esta basada en dicho motor gráfico.

Os dejo tanto los binarios (ROM) como el codigo fuente por si a alguno le da por trastear y quiere recompilarlo para la GBA o hacer sus propias modificaciones en el escenario. Yo he recompilado los fuentes usando el kit DEVKITADV-r5-BETA3,y aqui os dejo el fichero .bat que deberiais usar para porder construirlo todo de nuevo (obviamente los path´s pueden cambiar):




@del game.gba

@set orgpath=%path%
@set path=C:\devkitadv\bin;%path%
@set CFLAGS=-marm -mthumb-interwork -mlong-calls -O1 -D __GBA__

del *.o

@REM
@REM =======================

@echo ======
REM as -mthumb-interwork -o poly.text.iwram.o poly.text.iwram.s

REM I still haven't been able to link this into Yeti3D
REM as -mthumb-interwork -o crt0.o crt0.s

@echo ====== Compilando
gcc %CFLAGS% -c *.c *.c

@echo ====== Linkando
gcc %CFLAGS% -o game.elf *.o

objcopy -O binary game.elf Yeti3D.gba

@del game.elf
@set path=%orgpath%

gbafix Yeti3D.gba -p -tYeti3D -c7788 -m86 -r1



como podeis observar al final hago uso de la herramienta GBAFIX para formatear correctamente la ROM y que esta pueda funcionar en flashcart para GBA.

SALUDOS.:awesome:

^OMAP-Cranck^
25/09/2010, 11:39
genial tmb has subido la recompilacion para GBA. eres un crack.:brindis:

tSuKiYoMi
25/09/2010, 15:33
mola, mola!!!!!. en el hio abierto del port de Yeti3D para Wiz comentabas que no encontraste el codigo del mapa thetemple, pero podrias escribirle un correo al autor para ver si te lo puede soltar.

jduranmaster
25/09/2010, 16:19
mola, mola!!!!!. en el hio abierto del port de Yeti3D para Wiz comentabas que no encontraste el codigo del mapa thetemple, pero podrias escribirle un correo al autor para ver si te lo puede soltar.

al final creo que lo hare. le escribire un correo a ver si lo pasa. mas que nada porque esa rom esta supercurrada (...mas aun que la original creada por Derek John Evans, que ya era decir).

jduranmaster
25/09/2010, 16:34
Aqui os dejo otra rom chulilla que hay circulando por el GBADEV. Se trata de FFIV Advance - The Return of Golbez. Se trata de un juego que surge como continuacion del FFIV de GBA. Es mas una demo tecnica que otra cosa. El autor "Ruben" ha generado dos mapas, y en el juego podemos cambiar de personaje (Cecil [caballero negro], Cecil[paladin] y Golbez) pulsando los botones a demas de podernos desplzar por las dependencias del torre este de Baronia. Para los que os guste tratear mas en el GBAdev podreis encontrar el codigo fuente de esta maravilla. [nta: esta compilado con devkitadv]

Aqui os dejo la rom ya "fixeada" para probar en flashcart de GBA.

saludos.:awesome:

^OMAP-Cranck^
25/09/2010, 20:34
una continuacion del FF4? joer que recuerdos me trae el FF4 que salio para GBA, uno de los mejores final fantasy sin duda. gracias por subir por aqui esta demo tecnica.

jduranmaster
26/09/2010, 11:31
una continuacion del FF4? joer que recuerdos me trae el FF4 que salio para GBA, uno de los mejores final fantasy sin duda. gracias por subir por aqui esta demo tecnica.

no hay de que. es cierto FF4, FF5 y FF6 son muy buenos juegos de GBA.

xzakox
01/10/2010, 08:50
Os comento algo de desarrollo sobre la GameBoy, pero no sobre software, sino hardware :-)
El MBC5 es uno de los chips que se encargan del mapeado de los bancos de memoria de los cartuchos. A lo largo de la vida de la GameBoy, Nintendo sacó varios chips para este propósito, el MBC1, MBC2, MBC3 y MBC5. EL MBC5 fué el último que saco, permitiendo ROMS de hasta 32Mbit y 1Mbit de RAM externa, y es compatible con MBC1 y MBC2 El MBC3 permite algo menos de memoria, pero tiene un RTC para los juegos que guardan el tiempo, como algunos pokemon, por lo demás funciona similar al MBC5.
El tema es, que Nintendo nunca ha publicado documentación sobre este chip, nada más que la manera de programar el banking desde los juegos para poder acceder a los 32Mbit o a la SRAM.
Asi que conociendo estos datos, y que entradas y salidas tiene (mirando un cartucho original), se puede empezar a modelar el chip según su comportamiento.
Pues es lo que me he puesto a hacer.
Según la simulación, mi diseño ya funciona igual que un MBC5, y sólo me hace falta una cosilla para que sea totalmente compatible con el MBC1, que tardaré un ratillo más en implementar, pero lo haré.
¿Y con esto que se logra?, pues ahora mismo, ya puedo meter el diseño en un CPLD y hacer un clon del mbc5, documentando para la posteridad el sistema de bankeo de la GameBoy, y pudiendo realizar flashcarts sin tener que recurrir a sacar los chips de cartuchos originales. :D :D :D
Os dejo el esquema que llevo hasta ahora, falta simplificar una par de cosas y añadir la compatibilidad mbc1, pero funciona!!!
http://img688.imageshack.us/img688/7404/mbc5v0.png

Un saludo, ya os iré contando.

saucjedi
01/10/2010, 09:43
Impresionante. ¿Como resolviste el problema de los MBC en el GBCartflasher?

jduranmaster
01/10/2010, 10:17
impresionante tio. !!!ingenireria inversa!!!. Luego cuando tengas diseñado el chip por completo los incluiras en la siguietne tirada que hagas de cartucho + programador?

Allen_S
01/10/2010, 14:15
Verdaderamente impresionante, me has dejado sin palabras.

xzakox
01/10/2010, 16:15
Impresionante. ¿Como resolviste el problema de los MBC en el GBCartflasher?

Pues recolectando cartuchos por tiendas de segunda mano para sacarles el mbc5 xDD


impresionante tio. !!!ingenireria inversa!!!. Luego cuando tengas diseñado el chip por completo los incluiras en la siguietne tirada que hagas de cartucho + programador?

Es la idea :-)

GameMaster
01/10/2010, 16:20
Se parece mucho a mis dibujos de instituto de las clases de Electronica.

chipan
01/10/2010, 16:50
O_o ¡que flipada! eres el puñetero amo xzakox. Estoy por comprarme una gameboy solo por el hecho de que gracias a ti se que podré conseguir cartuchos para ella indefinidamente.

jduranmaster
01/10/2010, 17:05
yo ya tengo la mia. la pobre esta esperando el cartucho y el programador desde hace tiempo. una pregutna: ¿en principio el cartucho que hagas tmb seria compatible con GBA, no?

xzakox
01/10/2010, 17:19
Los cartuchos que hago funcionan en la GBA igual que los cartuchos de gameboy en modo compatibilidad, es decir, funcionan para juegos de GB y GBC, no de GBA, claro :-)

jduranmaster
01/10/2010, 17:35
es decir, funcionan para juegos de GB y GBC, no de GBA, claro :-)

si a eso me referia.:awesome:

^OMAP-Cranck^
01/10/2010, 18:57
me gusta la idea del MBc5, espero que siga adelante.:awesome:

saucjedi
03/10/2010, 10:15
Pues recolectando cartuchos por tiendas de segunda mano para sacarles el mbc5 xDD


Paciencia power... ¿entonces el MBC5 cubre todos los inferiorres? En NES la cosa no funciona así, por desgracia.

xzakox
03/10/2010, 10:24
Paciencia power... ¿entonces el MBC5 cubre todos los inferiorres? En NES la cosa no funciona así, por desgracia.

El MBC5 funciona como el MBC1 y el MBC2, mismos registros, sólo que tienen más bits, con lo que puedes direccionar más memoria. Además es más rápido, permitiendo el modo de 8mhz de la GBC.
El problema es el MBC3, que claro, lleva un RTC interno.
El tema es que he estado mirando, y creo que podria meter el diseño en un CPLD Xilinx que tiene 44 pines, el MBC5 tiene 32, asi que con esos extras, podria además añadir soporte para más rom, ram, o incluso emular el RTC.
Pero eso lo dejo para más adelante, porque estoy ahora mismo aprendiendo a sintetizar el hard en los CPLD, aunque creo que podré hacerlo :-)

chipan
03/10/2010, 15:08
¡Joer! entonces estas diciendo que tu mbc5 clónico podría mejorar el diseño original y funcionar como todos los mbcs anteriores juntos.

3L_S4N70
06/10/2010, 16:28
Os comento algo de desarrollo sobre la GameBoy, pero no sobre software, sino hardware :-)
El MBC5 es uno de los chips que se encargan del mapeado de los bancos de memoria de los cartuchos. A lo largo de la vida de la GameBoy, Nintendo sacó varios chips para este propósito, el MBC1, MBC2, MBC3 y MBC5. EL MBC5 fué el último que saco, permitiendo ROMS de hasta 32Mbit y 1Mbit de RAM externa, y es compatible con MBC1 y MBC2 El MBC3 permite algo menos de memoria, pero tiene un RTC para los juegos que guardan el tiempo, como algunos pokemon, por lo demás funciona similar al MBC5.
El tema es, que Nintendo nunca ha publicado documentación sobre este chip, nada más que la manera de programar el banking desde los juegos para poder acceder a los 32Mbit o a la SRAM.
Asi que conociendo estos datos, y que entradas y salidas tiene (mirando un cartucho original), se puede empezar a modelar el chip según su comportamiento.
Pues es lo que me he puesto a hacer.
Según la simulación, mi diseño ya funciona igual que un MBC5, y sólo me hace falta una cosilla para que sea totalmente compatible con el MBC1, que tardaré un ratillo más en implementar, pero lo haré.
¿Y con esto que se logra?, pues ahora mismo, ya puedo meter el diseño en un CPLD y hacer un clon del mbc5, documentando para la posteridad el sistema de bankeo de la GameBoy, y pudiendo realizar flashcarts sin tener que recurrir a sacar los chips de cartuchos originales. :D :D :D
Os dejo el esquema que llevo hasta ahora, falta simplificar una par de cosas y añadir la compatibilidad mbc1, pero funciona!!!
http://img688.imageshack.us/img688/7404/mbc5v0.png

Un saludo, ya os iré contando.

Muchacho, eres un crack. Sencillamente quería decirlo xD

La verdad es que es genial poder prescindir de MBC5 originales.

xzakox
09/10/2010, 21:33
Buenas! a la espera de recibir mis kits de desarrollo de CPLD's para seguir con lo del MBC5, me he puesto con el tutorial de ensamblador de GameBoy, con el tema más chungo que quedaba, el sonido, asi que antes de seguir, queria preguntaros si se entiende lo que voy explicando, la teoría musical básica sobre los canales de sonido de la GameBoy, ahora sólo queda explicar cada registro del sistema de sonido (anda, como si fuera poco) xD
Además he actualizado el wiki, y con ello, una mejora guapa, cada listado de los programas ahora incorpora un enlace arriba para descargarlo directamente como archivo por si los quereis modificar y compilar y tal.
Bueno, os dejo este trocito del sistema de sonido y me decís si lo veis bien para seguir:
http://wiki.ladecadence.net/doku.php?id=tutorial_de_ensamblador#hola_sonido

jduranmaster
09/10/2010, 22:34
creo que se entiende bastante bien. ademas son cosas teoricas que son necesarias para entender luego mejor el codigo. sobre todo el tema de la onda cuadrada.

esto ultimo me recuerda a cuando hacia practicas con el XXX8086 y me hice un programita en ensamblador para usar el temporizador 8254 cuya salida del canal 2 estab conectada al speaker del PC.:D

^OMAP-Cranck^
09/10/2010, 23:30
yo estaba ultimamente mirando el GBDK a ver si consigo hacer algo con el para subirlo por aqui.:awesome:

tSuKiYoMi
09/10/2010, 23:34
queria preguntaros si se entiende lo que voy explicando, la teoría musical básica sobre los canales de sonido de la GameBoy, ahora sólo queda explicar cada registro del sistema de sonido (anda, como si fuera poco) xD

yo lo he seguido bastante bien. creo que se entiende sin problemas.

xzakox
10/10/2010, 13:25
Vale, pues me pongo con el tema de los registros y un ejemplillo.

< - >
Actualizado con todos los registros de sonido y sus descripciones, bufff, ahora a hacer un ejemplo :P

http://wiki.ladecadence.net/doku.php?id=tutorial_de_ensamblador#hola_sonido

jduranmaster
10/10/2010, 16:42
bien has ido actualizando. espero ese ejemplo.

jduranmaster
10/10/2010, 19:42
Bueno pues continuando con el desarrollo del juego Final Fantasy Tetris Advance 2, aqui os dejo una preRelease en al cual he añadido al comienzo del juego los fondos oficiales de SquareEnix, el aviso "Health" que pone nintendo al comienzo de las roms de GBA y alguno mas.

Seguire subiendo los avances segun vaya añadiendo nuevos efectos y contenido al juego. Os dejo la rom formateada con GBAFIX para probar en FlashCart de GBa.

SALUDOS.:awesome:

^OMAP-Cranck^
10/10/2010, 19:46
Actualizado con todos los registros de sonido y sus descripciones, bufff, ahora a hacer un ejemplo :P

gracias por seguir con el tuto.


Bueno pues continuando con el desarrollo del juego Final Fantasy Tetris Advance 2

SALUDOS.:awesome:

mola. espero que termines pronto la segunda parte.

xzakox
10/10/2010, 20:33
Ale, con un ejemplo sencillo.
http://wiki.ladecadence.net/doku.php?id=tutorial_de_ensamblador#hola_sonido

Creo que haré un ejemplo más complejo sobre como usar el canal3 para reproducir samples digitales.

jduranmaster
10/10/2010, 20:46
me da un error en la pagina tio.

xzakox
10/10/2010, 21:29
Por aqui me confirman que funciona.

jduranmaster
10/10/2010, 22:06
ahora si me tira la pagina. antes me da daba un error muy extraño.

Segata Sanshiro
11/10/2010, 13:32
A mí tanto ayer como hoy, se me tira un rato cargando (llega a verse el título, los botones de "buscar", etc.) y unos segundos después dice "Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/xzakox/public_html/wiki/inc/html.php on line 272"

jduranmaster
11/10/2010, 13:38
A mí tanto ayer como hoy, se me tira un rato cargando (llega a verse el título, los botones de "buscar", etc.) y unos segundos después dice "Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/xzakox/public_html/wiki/inc/html.php on line 272"

ves que al comienzo de la pagina hay un enlace?, metete ahi y busca en el indice. eso me pasaba a mi ayer.

xzakox
11/10/2010, 14:42
Joer, que raro, a mi me va perfectamente (y no, no tengo el sevidor en mi casa xD)

tSuKiYoMi
12/10/2010, 09:56
hola, pues a mi la pagina me tira sin problemas. lo mismo ya lo han arregaldo. un gran ejemplo en todo caso. espero que pronto subas algo mas complejo xzakox.

Segata Sanshiro
12/10/2010, 11:13
Me sigue saliendo el error pero haciendo lo que dice jduranmaster ya puedo entrar. Muchas gracias por el tuto :D

jduranmaster
16/10/2010, 13:27
has avanzado algo en el tema del MBC5 xzakox???

jduranmaster
16/10/2010, 17:48
Aqui os dejo una rom que creo fue comentada en otro hilo. WatMan. Se trata de una recreacion del BatMan de 8 bits. Me ha sorprendido muschisimo la calidad de la rom. Los movimientos de batman no son nada bruscos y se controla bastante bien y las mazmorras por las que pasa tienen su dificultad. Obviamente podemos ir recogiendo items para ayudar al murcielago. No lo he probado en la gba sino en el VisualBoy Advance asi que si lo poneis en el flashcart y no tira es porque es necesario formatear la cabeera de la rom con el "GBAFIX".

saludos.:awesome:

jduranmaster
18/10/2010, 20:03
mirad que bonico lo pone el YouTube:


http://www.youtube.com/watch?v=1cbdZjozn54

esta implementado en FPGA.


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

tanuquillo
19/10/2010, 03:03
y esa placa? es un pic de esos?
o es una mini placa base? por que he visto las salidas de audio 5.1

xzakox
19/10/2010, 08:34
mirad que bonico lo pone el YouTube:


Si, lo habia visto, si como dije no es chungo implementar el MBC5, el tema es que una FPGA es una burrada para un proyecto como este, para empezar porque son enormes para meter en un cartucho, y encima requieren de una rom de configuración, y consumirian mogollón para las pobres pilas de la GB.
Por eso el tema es simplificarlo lo más posible para usar el CPLD lo más pequeño posible, para no desperdiciar silicio, y con el, tamaño y energia. Es lo que estoy intentando, tengo fichao el CPLD más pequeño de xilinx, y es para el que estoy intentando diseñar. Como visteis la lógica está lista, ahora toca sintentizar. Estoy esperando una placa de entrenamiento de xilinx, para poder ponerme con ello.


y esa placa? es un pic de esos?
o es una mini placa base? por que he visto las salidas de audio 5.1

Es una placa de entrenamiento de FPGA, las FPGA's son integrados en los que puedes sintetizar hardware. Esto es, tu diseñas algun tipo de hardware (y puede ser algo muy complejo, como un procesador), y con un programa lo conviertes en un fichero que puedes programar en ese integrado que se convierte en lo que has programado. Internamente tiene millones de bloques lógicos que se configuran para formar el diseño que le has metido.
Asi que la placa tiene audio, vga, puertos de todo tipo, porque puedes crear periféricos de esos tipos dentro de la FPGA. De hecho hay proyectos que están diseñando procesadores o tarjetas gráficas abiertas usando FPGA's.
http://es.wikipedia.org/wiki/FPGA

3L_S4N70
19/10/2010, 11:56
Es una placa de entrenamiento de FPGA, las FPGA's son integrados en los que puedes sintetizar hardware. Esto es, tu diseñas algun tipo de hardware (y puede ser algo muy complejo, como un procesador), y con un programa lo conviertes en un fichero que puedes programar en ese integrado que se convierte en lo que has programado. Internamente tiene millones de bloques lógicos que se configuran para formar el diseño que le has metido.
Asi que la placa tiene audio, vga, puertos de todo tipo, porque puedes crear periféricos de esos tipos dentro de la FPGA. De hecho hay proyectos que están diseñando procesadores o tarjetas gráficas abiertas usando FPGA's.
http://es.wikipedia.org/wiki/FPGA

Jajaja, para los más puristas, "programar" no es la palabra más adecuada (tenía yo un profesor en la uni que no le molaba nada la palabra de marras, jaja).

Un saludete :D

xzakox
19/10/2010, 20:19
Bueno, hablo de programar fisicamente, de meter el diseño en la memoria flash de configuración de la FPGA/CPLD, ya se que luego el hard se sintetiza xD

3L_S4N70
19/10/2010, 22:06
Bueno, hablo de programar fisicamente, de meter el diseño en la memoria flash de configuración de la FPGA/CPLD, ya se que luego el hard se sintetiza xD

Nah, si era por ser quisquilloso xD

jduranmaster
19/10/2010, 22:27
desde luego como primer paso para diseñar/probar la implementacion del chip MBC5 no esta nada mal. otra cosa es que luego lo quieras meter en el CPLD porque obviamente no existen FPGAs tan pequeñas ademas de que consumen un monton y las pilas de la GB lo notarian.

^OMAP-Cranck^
21/10/2010, 18:42
joer que ganas de que consigas hacer el mbc5 con la cpld, xzakox. a ver si tenemos suerte.

Solo
21/10/2010, 19:45
dado que MBC5 es compatible con MBC1, siginifica que se podria jugara todos los juegos de gameboy en el cartucho pirata no?

xzakox
21/10/2010, 19:57
Piratas serían los juegos que metas xD El cartucho es un cartucho de desarrollo xD
Pero si, como comenté, salvo los que usen el RTC del MBC3 (algunos ponemon), funcionarian todos.

Solo
21/10/2010, 20:04
pues te deseo suerte. tener un cartucho de estas caracteristicas estaria muy bien. sobre todo viendo que este hilo va de hacer cosas para GB y GBA.

a todo esto, sería posible hacer algo similar pero con un cartucho de GBA no?, aunque supongo que la solucion del ezflashIV actual ya es suficiente.

xzakox
21/10/2010, 20:19
Exacto, para GBA no merece la pena, porque no vamos a poder hacer algo más barato que los chinos xD

3L_S4N70
22/10/2010, 12:16
De todas maneras, aún con el MBC5 implementado, no se tendría acceso al 100% del catálogo (licenciado quizá sí, salvo RTC, me refiero a no licenciado). Alguno juegos "piratas" utilizan, por lo que tengo oído, MBC propios. Creo que una vez leí que había un Mario, posiblemente una version de SMB3, que utilizaba un mapper chungo de estos. No obstante, creo que no andaba la ROM por ahí, osea que... jeje.

jduranmaster
23/10/2010, 11:21
a lo mejor este enlace te interesa xzakox, (si es que no lo conocias ya:D)


MBC5/CPLD for the Gameboy: http://home1.stofanet.dk/hvaba/gameboy/mbc5cpld/index.html

la CPLD sobre la que se hace es de Xilinx.

< - >
y buscando por la pagina el autor incluso ha creado con el GBDK una rom que testear la implementacion. Si te fijas el bicho que ha hecho el tio ha usado un CPLD que es bastante grande , pero te puede servir para que te hagas una idea de como ha desarrollado las cosas

Meldinov
23/10/2010, 11:31
vale, para gba no vale, que es diferente, pero para la color sirve?
Y como van esos juegos que son de gbc, pero en la advance traen extras, como lso zeldas oracle?

jduranmaster
23/10/2010, 11:31
el cartucho si que serviria para GBA.

xzakox
23/10/2010, 12:29
Por partes, el cartucho serviria para GBC, y para los juegos que traen extras en GBA o SuperGameBoy, porque no dejan de ser cartuchos para gameboy.
Lo del MBC5 ese, si, lo conozco, pero aparte que usa un CPLD enorme que consumiria bastante, no da fuentes, asi que lo voy a reimplementar si o si. E igualmente como comentaba, mi idea es hacer uno 100% compatible MBC5 y MBC1, y luego intentar ampliarlo a MBC3 y mi MBCX que seria como un MBC5 compatible pero con más memoria :-)

jduranmaster
23/10/2010, 18:11
Aqui os dejo un juego desarrollado para GBC que se encuentra como ejemplo en el GB dev´s. Se trata del tipico juego de PACMAN. La rom no dispone de intro y diretamente nos suelta a controlar al "comecocos". Tmb cabe destacar que tiene implementados algunos efectos sonoros.

saludos.:awesome:

jduranmaster
23/10/2010, 18:21
Aqui os traigo otra ROM desarrollada para GBC, esta vez de la mano de G.RAimond (Aka Lemon) creador del Lemon Player para GB (el cuel permitia reproducir .mod en GB entre otras cosas). El juego en cuestion es el Oyoyo. En este juego tomaremos la piel de tipo que recorre un castillo matando bichos y recolectando monedas. LA rom incluye tambien efectos sonoros y melodia de fondo.

os dejo la descripcion del autor:




OOOO
OO OO
OO OO
OO OO YY YY YY YY
OO OO YY YY YY YY
OO OO YYY OOO YYY OOO
OOOO YY OO OO YY OO OO
YY OO OO YY OO OO
YY OOO YY OOO ver 0.7

02 oct 1999


Oyoyo is a game in a medieval time and start in a castle,
you will need to use all your skill to pass the traps and dangerous places ! ;-) ... (just kidding)
and as well you will encounter a terrible gardian ... MUSHBACK !!
so to pass your way and found monney during your quest,
you will need to hit him several times...


Rules:

at title screen
---------------

push START button to PLAY game


in game
-------

push START button to PAUSE game
push START button again to continue your quest.

push B button to JUMP

push A button to HIT

to pass next level hit 6x Mushback and gain 6x the coins.

at the credit screen
--------------------

push START button to comeback at the title screen

enjoy :)


regards
G.Raimond <aka Lemon>
Lemon@urbanet.ch

if you finish all the levels you will have 1 more intermediate screen... (not a level!)



SALUDOS.:awesome:

jduranmaster
23/10/2010, 18:32
Aqui os dejo una rom rara que ronda por ciertas paginas piraatas. Se trata de una rom para GB titulada: "Neon Genesis Evangelion - Rei Demo 1 (PD)". Se trata de una demo que automaticamente nos presenta varios backgrounds con imagenes de la serie NGE, y en la que se toma como tema central al personaje de Rei. Cabe destacar la buena conversion que se ha realizado de las imagenes del manga original para su introduccion en la GB. Lo malo es que los textos estan en japones y no se han implementado ninguna clase de efectos sonoros.

SALUDOS.:awesome:

jduranmaster
23/10/2010, 18:41
Aqui os dejo otra ROM que ronda el GB DEv. Se trata del AlexSynth. Esta rom permite hacer musica aprovechando las capacidades de la GB. En pantalla se nos presenta un teclado con el cual podemos ir tacando las notas.

SALUDOS.:awesome:

jduranmaster
23/10/2010, 18:52
LA presente rom forma parte de algun tutorial del ASM Schools, aunque ahora no recuerdo cual es. En esta rom nos metemos a los mandos de un F40. Nuestra mision es recorrer la carretera sin atropellar transeuntes, y sin chocarnos con los objetos que van apareciendo para no perder vida del coche. LA rom inlcuye efectos sonoros.

SALUDOS.:awesome:

jduranmaster
23/10/2010, 19:20
Aqui os dejo la herramienta GB CartFlasher. Esta herramienta permite cargar en un cartucho de desarrollo un rom de GB.

Ahora que es mas que probable que vayamos a tener un nuevo cartucho de la mano de xzakox, es posible que esta herrmienta venga bien. Aunque habria que saber si antes es compatible con el cartucho que se desarrolle. En cualquier caso es una herramienta interesante. En principio la transferencia de roms al cartucho se podria realizar con cable serie a traves de los puertos com1, com2, com3 y tmb via usb.

Os dejo la herramienta y el manual de la misma.

SALUDOS.:awesome:

GameMaster
23/10/2010, 19:38
Que conste que este hilo de development con binarios sin código fuente queda feo xDDD

jduranmaster
23/10/2010, 19:39
cuando no hay fuentes, no los puedo subir.(...o sacarmelos de la manga) :D . (:Dademas siempre que yo posteo algo propio subo los binarios y los fuentes:D)

^OMAP-Cranck^
23/10/2010, 19:59
muy interesante la herramienta GB cartflasher. aunque en principio podriamos nosotros hacernos una similar. creo que el programador de cartuchos actual de xzakox incluye puesto usb. hace tiempo etuve tocando el java para hacer una aplicacion de transferencia de ficheros que permitiese hacer eso via usb. podria subirla para compartirla por aqui.

GameMaster
23/10/2010, 20:27
Ya, pero hay que buscar, necesitamos mas papilla hecha, ver como se hacen las cosas :)

jduranmaster
23/10/2010, 20:31
Ya, pero hay que buscar, necesitamos mas papilla hecha, ver como se hacen las cosas :)

tranqui que estoy preparando nuevas cosas. es solo cuestion de enganchar algun puente y que ademas tenga tiempo libre.

jduranmaster
23/10/2010, 20:52
Bueno finalmente aqui dejo una rom que creo ya se comento en algun otro hilo. Se trata del Freme Tunner para GBC. En principio solo se puede usar en GBColor ya que es la que tiene el puerto de infrarrojos. LA rom se puede utilizar para operar de forma sencilla un televisor. Cambiar de canal, controlar el volumen. Yo no puedo probarla para ver que tal va , asi que si alguno tiene cartucho flash de GB y puede subir algun video o fotillos usando la rom para controlar su tele estaria genial.

SALUDOS.:awesome:

^MiSaTo^
23/10/2010, 20:57
muy interesante la herramienta GB cartflasher. aunque en principio podriamos nosotros hacernos una similar. creo que el programador de cartuchos actual de xzakox incluye puesto usb. hace tiempo etuve tocando el java para hacer una aplicacion de transferencia de ficheros que permitiese hacer eso via usb. podria subirla para compartirla por aqui.

El cartucho de xzakox ya tiene un cartflasher... al menos yo lo tengo xD

EDIT: efectivamente: http://wiki.ladecadence.net/doku.php?id=software_de_programacion

^OMAP-Cranck^
23/10/2010, 23:09
gracias por el enlace. tiene hecho una capa de interfaz gráfica en java sobre codigo C. es muy intuitiva de usar.

xzakox
24/10/2010, 11:25
Efectivamente ;-)
Lo que hice fue partir del código del gbcartflasher que puso jduranmaster, que es GPL, y eliminar toda capa gráfica, y dejar un interrfaz de linea de comandos usando sólo las funciones POSIX. Luego sobre el programa en linea de comandos, le hice un interfaz en JAVA, cn lo que ahora el soft funciona en Linux, Windows, y MacOSX.
Además eliminé el antiguo soporte para puerto serie y dejé sólo el USB (mis programadores son sólo USB).

jduranmaster
24/10/2010, 17:16
Aqui os pongo una DEMO superCURRADA para GBC. La demo se titula: "Space Waste" del grupo Octarine. Sencillamente es genial. Muy buenos efectos gráficos combinados con una buena mezcla de sonidos. Estos son sus creadores:

Dalton (code)
Exocet (graphics)
Heatbeat (player)
Mr Death (music)

Es una demo que merece muchisimo la pena de verdad. Este grupo tiene otras demos también muy chulas como "PhantasyのMental Respirator":

http://www.youtube.com/watch?gl=JP&hl=ja&v=fUqIYZw3at4

Os dejo una par de capturas y las rom comprimida junto con el codigo fuente de la misma. Es todo ensamblador para el procesador de la GB pr lo que si quiereis recompilar y simplemente trastear con el fuente necesitais usar el RGBDS.

SALUDOS.:awesome:

PD: como ultimo apunte, a los que os guste el tema musical de GB podeis visitar el blog del forero "karawapo" sobre su grupo "pepino", el cual toca musica haciendo uso de GameBoys. Blog:::: http://www.pepinismo.net/

^OMAP-Cranck^
26/10/2010, 17:54
buena demo la de Space Waste. sobre todo esta muy cuidado el tema sonoro.

^OMAP-Cranck^
28/10/2010, 15:31
Piratas serían los juegos que metas xD El cartucho es un cartucho de desarrollo xD
Pero si, como comenté, salvo los que usen el RTC del MBC3 (algunos ponemon), funcionarian todos.

una pregunta, has usado para obtener el circuito de la foto algun tipo de software oficial de Xilinx, verdad? te lo pregunto porque cogi el diseño que hicistes y mediante JHDL volvi a sintetizarlo para hacer una simulación , lo que ocurre es que como no tengo los datos originales de tu simulación no puedo contrastar para ver si lo he hecho bien. te importaria postear una foto para ver como van las señales por la logica combinacional cuando le metes caña al invento???

gracias.

Basara Hei
28/10/2010, 16:32
que gran hilo es este. como se nota que tanto tiempo sin visitar el foro hace que me pierda cosas buenas como esta. Espero que salga ese nuevo cartucho para la gameboy xzkox.

jduranmaster
30/10/2010, 14:00
Hola famigos. Aqui os dejo una nueva rom para GB. Se trata de "WARWALK". O lo que es lo mismo "Wario andando". La rom esta desarrollada usando el RBGDK luego esta totalmente en ensamblador. Los tiles de los mapas asi como los tiles del mpersonaje estan realizados usando las herramientas GBMB y GBTD respectivmante. Es un ejemplo realizado por Harry Mulder y es muy completo.

Aqui os pongo para que veais el aspecto del codigo referente a los Tiles de WArio:




DB $00,$00,$00,$00,$03,$03,$07,$04
DB $0F,$08,$38,$3F,$7D,$42,$FB,$84
DB $FF,$FF,$FE,$9F,$9C,$EF,$5E,$77
DB $51,$7E,$42,$7F,$29,$3F,$38,$3F
DB $00,$00,$FE,$FE,$DB,$25,$BD,$42
DB $7F,$8A,$05,$FF,$FF,$00,$FF,$00
DB $FF,$FF,$FF,$FF,$FF,$9D,$FF,$96
DB $FA,$4D,$71,$BE,$E0,$FF,$F8,$FF
DB $00,$00,$00,$00,$80,$80,$C0,$40
DB $E0,$A0,$38,$F8,$7C,$84,$BE,$42
DB $FE,$FE,$FC,$74,$E8,$38,$F0,$30
DB $F8,$C8,$FC,$74,$E4,$3C,$74,$FC
DB $3F,$27,$67,$5C,$4F,$7A,$4F,$7C
DB $4F,$7C,$4B,$7E,$24,$3F,$3F,$3F
DB $1F,$1F,$1F,$1F,$0F,$0F,$07,$07
DB $01,$01,$01,$01,$01,$01,$00,$00
DB $FF,$EF,$FF,$3A,$FF,$1F,$F2,$1D
DB $FF,$1F,$D7,$38,$38,$EF,$FF,$CF
DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
DB $FF,$CD,$FF,$03,$FC,$FC,$00,$00
DB $E4,$BC,$C8,$F8,$3C,$F4,$FE,$52
DB $FE,$EA,$BE,$7A,$7C,$CC,$F8,$C8
DB $E0,$E0,$C0,$C0,$C0,$C0,$80,$80
DB $00,$00,$00,$00,$00,$00,$00,$00
DB $00,$00,$03,$03,$07,$04,$0F,$08
DB $38,$3F,$7D,$42,$FB,$84,$FF,$FF
DB $FE,$9F,$9C,$EF,$5E,$77,$51,$7E
DB $42,$7F,$29,$3F,$38,$3F,$3F,$27
DB $FE,$FE,$DB,$25,$BD,$42,$7F,$8A
DB $05,$FF,$FF,$00,$FF,$00,$FF,$FF
DB $FF,$FF,$FF,$9D,$FF,$96,$FA,$4D
DB $71,$BE,$E0,$FF,$F8,$FF,$FF,$EF
DB $00,$00,$80,$80,$C0,$40,$E0,$A0
DB $38,$F8,$7C,$84,$BE,$42,$FE,$FE
DB $FC,$74,$E8,$38,$F0,$30,$F8,$C8
DB $FC,$74,$E4,$3C,$74,$FC,$E4,$BC
DB $67,$5C,$4F,$7A,$4F,$7C,$4F,$7C
DB $4B,$7E,$24,$3F,$7F,$7F,$FF,$9F
DB $FF,$9F,$FF,$9F,$FF,$BF,$E0,$A0
DB $70,$50,$70,$70,$00,$00,$00,$00
DB $FF,$3A,$FF,$1F,$F2,$1D,$FF,$1F
DB $D7,$38,$38,$EF,$FF,$CF,$FF,$FF
DB $FF,$FF,$FF,$FF,$FF,$FF,$7F,$7F
DB $1F,$1C,$1F,$10,$1F,$1F,$00,$00
DB $C8,$F8,$3C,$F4,$FE,$52,$FE,$EA
DB $BE,$7A,$7C,$CC,$F8,$C8,$F0,$F0
DB $F0,$F0,$E0,$E0,$80,$80,$B0,$B0
DB $D0,$F0,$F0,$30,$C0,$C0,$00,$00
DB $00,$00,$03,$03,$07,$04,$0F,$08
DB $38,$3F,$7D,$42,$FB,$84,$FF,$FF
DB $FE,$9F,$9C,$EF,$5E,$77,$51,$7E
DB $42,$7F,$29,$3F,$38,$3F,$3F,$27
DB $FE,$FE,$DB,$25,$BD,$42,$7F,$8A
DB $05,$FF,$FF,$00,$FF,$00,$FF,$FF
DB $FF,$FF,$FF,$9D,$FF,$96,$FA,$4D
DB $71,$BE,$E0,$FF,$F8,$FF,$FF,$EF
DB $00,$00,$80,$80,$C0,$40,$E0,$A0
DB $38,$F8,$7C,$84,$BE,$42,$FE,$FE
DB $FC,$74,$E8,$38,$F0,$30,$F8,$C8
DB $FC,$74,$E4,$3C,$74,$FC,$E4,$BC
DB $67,$5C,$4F,$7A,$4F,$7C,$4F,$7C
DB $4B,$7E,$24,$3F,$3F,$3F,$1F,$1F
DB $0F,$0F,$07,$07,$07,$07,$0D,$0B
DB $0F,$08,$0F,$0C,$07,$07,$00,$00
DB $FF,$3A,$FF,$1F,$F2,$1D,$FF,$1F
DB $D7,$38,$38,$EF,$FF,$CF,$C7,$FF
DB $FB,$FF,$FF,$FC,$FE,$F9,$FC,$F3
DB $C9,$CF,$EE,$2E,$E0,$E0,$00,$00
DB $CF,$FA,$3F,$F1,$F7,$59,$F9,$EF
DB $BA,$7E,$7C,$CC,$F8,$C8,$E0,$E0
DB $C0,$40,$C0,$40,$40,$C0,$80,$80
DB $00,$00,$00,$00,$00,$00,$00,$00



y un poko del codigo fuente del programa principal.:




INCLUDE "GB4REAL.INC"
INCLUDE "GROUND.INC"
INCLUDE "BACK.INC"
INCLUDE "WARIO.INC"
INCLUDE "MEMORY1.ASM"
INCLUDE "TITLE.INC"


;*****************************************
;* *
;* VARIABLES *
;* *
;*****************************************



SECTION "Main Mem", BSS[$C000]

SpriteRAM: DS 160 ;* Reserve 160 bytes for sprites *

GrdHeight: DS 1 ;* Current height of ground *
WarioSpr: DS 1 ;* Current frame of Wario *
BackCnt: DS 1 ;* Counter to slow down background *





;*****************************************
;* *
;* MAIN *
;* *
;*****************************************




SECTION "Main", HOME

begin::

;* Init GB4Real *

call CleanUp
SetupSpriteHandler SpriteRAM, MANUAL


;* Init video settings *

ld a, %11100111
ldio [$40],a


;* Init Graphics *

call InitWindow

call InitWario

call InitTitle

call InitBackGround



;* MAIN LOOP *

...continua



como podeis ver el codigo fuente esta muy bien comentado y si habeis ido siguiendo el tuto de xzakox no deberias tener problemas en poder tocar el codigo y hacer cosas con el. os dejo tmb una par de capturas para que veais a Wario.

SALUDOS.:awesome:

PD: con el ejemplo que puso xzakox en su tuto para hacer mover a mario por un mapa no deneria ser muy complicado modificar esta rom para poder controlar a WArio nosotros mismos con el PAD de la GB.

jduranmaster
30/10/2010, 15:27
Hace un par de días colgue un video de YouTube de una demo para GBC titulada "Mental Respirator". Ahora os traigo la demo en si. (me ha costado un poco encontrarla). Lo único malo es que no incluye los sources. Aunque con el código fuente de la demo "Space Waste", es mas que suficiente para empezar a programar cosas chulas.

Os dejo un par de capturas y la demo, para probarla.

SALUDOS.:awesome:

jduranmaster
30/10/2010, 15:28
Aqui os dejo los ficheros.:D. Una vez más cabe destacar no solo los efectos gráficos que son buenisimos si tenemos encuenta que ademas se trata de GBC, sino la gran calidad de la composición musical que se ha desarrollado para la demo.

jduranmaster
31/10/2010, 12:57
Aqui os dejo otra magnifica demo para GB. se trata de Kirby XXL, en ella vemos aun kirby rebotar por la pantalla a la vez que aparecen varios mensajes de texto. Os incluyo el codigo fuente que una vez mas esta en ensamblador por lo que si vais a tocar cosas necesitais el RBGDK para compilarlo. Os pongo una par de capturas y el rar como de costumbre.

SALUDOS.:awesome:

PD: proximamente nuevas cosas con GBDK y gba-HAM.:awesome:

jduranmaster
31/10/2010, 18:14
Aqui os traigo el primer programa de ejemplo para la Gameboy haciendo uso del GBDK. Para los que no lo conozcais, el GBDK es el kit de desarrollo de GB que utiliza como lenguaje el C.

El ejemplo que os traigo es el más básico que se puede realizar usando este kit de desarrollo, aqui os pongo el código fuente:




/**
author: JDURANMASTER
version 1.0
name: helloGB.gb
*/

//includes
#include <gb/gb.h>
#include <stdio.h>

//programa principal
void main(){
//la funcion printf(.) es la misma de toda la vida.
//con incluir el stdio.h ya tenemos acceso a ella.
//el GBDK esta realiazdo de tal forma que usar printf(.)
//implica directamente sacar por pantalla de la GB el mensaje
//que hayamos pasado a la funcion como argumento.
printf("Tutorial GB\n");
printf("\n\n");
printf("ESTA ES MI PRIMERA\n");
printf(" ROM PARA GameBoy\n");
printf("JDURANMASTER - 2010 - GP32Spain\n");
printf("\nPress Start");

//con la funcion waitpad hacemos que el programa se quede
//esperando a que pulsemos el boton indicado como argumento.
waitpad(J_START);
//en este caso le decemos que se quede en ese punto hasta pulsar
//el boton start del pad de la Gameboy.

//las constantes que definen los botones del PAD de la gameboy son
//las siguientes:
//J_A: boton A del PAD de la GameBoy [DMG]
//J_B: boton B del PAD de la GameBoy [DMG]
//J_UP: boton UP de la cruceta del PAD de la GameBoy [DMG]
//J_LEFT: boton LEFT de la cruceta del PAD de la GameBoy [DMG]
//J_RIGTH: boton RIGTH de la cruceta del PAD de la GameBoy [DMG]
//J_DOWN: boton DOWN de la cruceta del PAD de la GameBoy [DMG]
//J_SELECT: boton SELECT del PAD de la GameBoy [DMG]
//J_START: boton START del PAD de la GameBoy [DMG]
printf("\n\n");
printf("\n^_^ + ^_^\n");
printf("(\_/)\n");
printf("(O.o)\n");
printf("(> <)\n");
printf("\n^_^ + ^_^\n");
}//fin de main.



Como os decia es muy simple, lo único que hace el programa es mostrar texto en pantalla y hace uso de la función waitPad para esperar a que pulsemos uno de los botones (en este caso el start pero podia haber sido cualquier otro) para mostrar mas texto.

En ediciones posteriores iremos al tema de la imagenes y como usando las herramientas GBMB y GBTD podemos crear mapas y los tiles de los personajes de un juego o demo (obviemente este codigo se generara en ensamblador porque las herramientas trabajan con el) y como podremos integrar este codigo generado en nuestro programa en C.

Os dejo un par de capturas,la rom y el codigo fuente.

Si quereis recompilarlo debeis tener instalado en vuestro sistema el GBDK y ejecutar la siguiente linea de comandos:




lcc -o helloGB.gb helloGB.c



SALUDOS.:awesome:

xzakox
31/10/2010, 19:57
Jejeje, al conejo le falta una oreja, porque en C, en el printf, para imprimir una barra invertida, tienes que usar la secuencia de escape "\\" ;-)

Ah, el GBTD y el GBMB también generan código en C preparado para el GBDK, no hace falta integrar ASM. Además el GBDK tiene unas funciones para cargar tiles, mapas y sprites.

jduranmaster
31/10/2010, 20:04
no me habia dado cuenta, pero si es cierto esa secuencia de escape es de C y de otros lenguajes.

jduranmaster
31/10/2010, 20:37
para los puristas:




/**
author: JDURANMASTER
version 1.0
name: helloGB.gb
*/

//includes
#include <gb/gb.h>
#include <stdio.h>

//programa principal
void main(){
//la funcion printf(.) es la misma de toda la vida.
//con incluir el stdio.h ya tenemos acceso a ella.
//el GBDK esta realiazdo de tal forma que usar printf(.)
//implica directamente sacar por pantalla de la GB el mensaje
//que hayamos pasado a la funcion como argumento.
printf("Tutorial GB\n");
printf("\n\n");
printf("ESTA ES MI PRIMERA\n");
printf(" ROM PARA GameBoy\n");
printf("JDURANMASTER - 2010 - GP32Spain\n");
printf("\nPress Start");

//con la funcion waitpad hacemos que el programa se quede
//esperando a que pulsemos el boton indicado como argumento.
waitpad(J_START);
//en este caso le decemos que se quede en ese punto hasta pulsar
//el boton start del pad de la Gameboy.

//las constantes que definen los botones del PAD de la gameboy son
//las siguientes:
//J_A: boton A del PAD de la GameBoy [DMG]
//J_B: boton B del PAD de la GameBoy [DMG]
//J_UP: boton UP de la cruceta del PAD de la GameBoy [DMG]
//J_LEFT: boton LEFT de la cruceta del PAD de la GameBoy [DMG]
//J_RIGTH: boton RIGTH de la cruceta del PAD de la GameBoy [DMG]
//J_DOWN: boton DOWN de la cruceta del PAD de la GameBoy [DMG]
//J_SELECT: boton SELECT del PAD de la GameBoy [DMG]
//J_START: boton START del PAD de la GameBoy [DMG]
printf("\n\n");
printf("\n^_^ + ^_^\n");
printf("(\\" "\\" "_/)\n");
printf("(O.o)\n");
printf("(> <)\n");
printf("\n^_^ + ^_^\n");
}//fin de main.



SALUDOS.:awesome:

jduranmaster
31/10/2010, 20:55
Aqui os dejo una rom muy wapa para GBA. Se titula: "SUPER MARIO : The Last GBA Quest - v2.0". Se trata de un clon de MArio que consta de 7 niveles bastante largos y de dificultad media. El detalle gráfico es muy bueno, y las melodias que acompañan tmb son muy buenas. La descripcion de los creadores es la siguiente:




A month after Mario Galaxy Adventures, Princess Peach had been captured by a mysterious bad guy.
Go Mario! Save Peach again!



En fin lo que sea con tal de vender el juego. Lo dicho es muy bueno y esta realizado usando el GBA-HAM SDK del que ya hablaremos mas adelante.

Lamentablemente no incluye codigo fuente pero silo encuentro por ahi lo subire para compartirlo con vosotros. Para que la rom sea compatible con el ezFlash IV le he pasado la herramienta GBAFIX. Aqui os dejo un par de capturas y la rom. Que la disfruteis.:awesome:

SALUDOS.:awesome:

GameMaster
31/10/2010, 23:58
Una pena que no tenga codigo fuente. Son ejemplos de estos juegos, de juegos completos, que valdria la pena ver todo su codigo fuente....

jduranmaster
01/11/2010, 10:34
una pena sobre todo despues de probarlo. yo lo estuve jugando anoche y todavia estoy flipao de lo bueno que es. aparte de algun error que he detectado en la colisiones (nada gordo) el juego es increible. esta realizado a modo de Super Mario Land de GB, de hecho aparecen bastantes enemigos de ese juego, y los niveles son sencillamente fantasticos. Ya os digo que si encuentro los fuentes, derecho que voy a subirlos aqui.

^OMAP-Cranck^
11/11/2010, 15:21
¿al final conseguiste hacerte con el codigo fuente del SUPER MARIO : The Last GBA Quest?

jduranmaster
11/11/2010, 21:49
¿al final conseguiste hacerte con el codigo fuente del SUPER MARIO : The Last GBA Quest?

lo tengo pedido al autor. a ver si lo suelta y os lo dejo por aqui.

saludos.

jduranmaster
20/11/2010, 21:38
Aqui os dejo una rom bastante currada en lo que a nivel se refiere. La rom es una demo de como realizar un motor de combates por turnos para un PRG. Lamentablemente no incluye codigo fuente. Aun asi merece la pena probarlo. LA rom en cuestion se titula "El tio sin Chorra". :D. Como decia es una demo en la que podemos interactuar en un combate completo.

saludos.:awesome:

PD: pronto subire el codigo fuente del Super Mario: The Last GBA Quest [si ya lo tengo!!!!!:awesome:]

jduranmaster
20/11/2010, 22:11
Aqui os dejo el codigo fuente del juego Super Mario: The Last GBA Quest. El juego esta realizado integramente usando el SDK HAM para GBA. Este SDK es muy completo y trae incorporado el soporte de algunas librerias muy interesantes como la "APEX Sound Studio" que incopora el soporte de audio en las roms, y otras por el estilo.

El problema lo podeis tener si intentais instalar el SDK HAM en Windows 7 para recompilar el juego [yo tengo una maquina virtual con Windows XP en el que va, asi que si teneis windows 7, puede ser una buena opcion para poder usar el SDK HAM]. Yo lo intente directamente sobre Windows 7 y no pude compilar con el pues los .exe del compilador, el enlazador y demas estaban realizados para windows de 32 bits y ni siquiera van aplicando modo de compatibilidad (lo cual es logico).

Todo esto lo digo porque por ejemplo el proyecto puede ser recompilado en Windows 7 usando otros SDK´s que he comentado por aqui, en concreto se puede recompilar (con algun esfuerzo y manejando .bat grandes) usando el devkitadv, la version que yo tengo de este es la ultima, es decir la r5-v3. Tambien se podria recompilar usando el devkitpro, pero con este ultimo no he probado [...no he tenido tiempo:D]. Ademas en el caso de recompilar con el devkitadv es necesario bajarse la libreria "APEX Sound Studio" (el SDK HAM la traia preincorporada) y enlazarla con el compilador del devkitadv. Si alguien tiene problemas en encontrar la libreria de Apex la puedo subir tamb por aqui.

Bueno pues aqui os dejo los fuentes, son 4 rar.

SALUDOS.:awesome:

GameMaster
21/11/2010, 22:30
Muchas grácias famigo!

jduranmaster
22/11/2010, 20:03
muchas de nadas!!!.:awesome:. como vereis aquellos que os habeis bajado el codigo, esta muy completo. Como decia en el post anterior sería mas facil de recompilar usando el SDK HAM.

saludos.

saucjedi
24/11/2010, 16:15
muchas de nadas!!!.:awesome:. como vereis aquellos que os habeis bajado el codigo, esta muy completo. Como decia en el post anterior sería mas facil de recompilar usando el SDK HAM.

saludos.

¿Pero para qué recompilarlo? Lo que molaría es portarlo a devkitPro, por modernizarlo y que estuviera al alcance de la mano de más gente (devkitPro es más sencillo de encontrar).

Yo perdí mi copia de HAM, el CD de backup donde lo tenía falleció en parte. Fue una de las pocas cosas que no pude recuperar y de las que más se fastidió.

EDITO:

Se me olvidaba: para los que trasteais con HAM:

http://theharbourfamily.com/jonathan/?page_id=89

Fenomenal libro que iba a publicarse y Nintendo lo vetó. Está completo con ejemplos y demás.

jduranmaster
24/11/2010, 19:29
Excelente página. Tiene muchas cosas wapas.:awesome:. Yo podría subir mi copia del SDK-HAM en un post si las reglas del foro lo permiten.

saludos.

^OMAP-Cranck^
26/11/2010, 22:43
gracias por subir los sources de ese pedazo de juego.

xzakox
28/11/2010, 02:16
Un pequeño update, he reescrito el MBC5 en VHDL, para que asi no se dependa de un fabricante en concreto (para lo que me he puesto a aprender VHDL xD).
Ahora mismo, casi las 3am, las simulaciones muestran un correcto funcionamiento :D
Asi que a ver en cuanto me lleguen los CPLD's y el JTAG que tengo en camino, ya con los bugs que iré cazando en las simulaciones, puedo meter uno en un cartucho y ver que pasa :D
http://ladecadence.net/trastero/mbc5sim1.png

Ahi se puede ver como meto ciertos datos en el bus de datos, luego selecciono la dirección 2000h (A13 a 1) y "escribo" en ella (not_wr abajo y arriba), y entonces el MBC5 selecciona el banco de ROM que le diga en el bus de datos... pero no se ve la selección hasta que accedo al banco 1 (A14 a 1, el banco 0 es fijo) y entonces se ve en las direcciones de selección de banco rom los datos que le meti en el bus al principio :D
Vamos, lo que viene siendo el funcionamiento normal de selección de bancos ROM, escribir en la dirección 2000h el banco que queremos mapear :D

otto_xd
28/11/2010, 02:59
Espectacular!!

xzakox
28/11/2010, 11:40
Acabo de actualizar la captura de arriba testeando todos los modos del MBC5, selección de banco ROM bajo, activación y desactivación de RAM externa, selección de banco de ROM alto, y selección de banco de RAM, todo funcionando :_D

otto_xd
28/11/2010, 12:27
Es una pasada, tanto el cacharro como todo lo que sabes!

xzakox
28/11/2010, 12:55
Y ale, el diseño de mi cartucho adaptado para cambiar el MBC5 original por el CPLD (el MBC5 tiene 32 pines, este 44).

http://ladecadence.net/trastero/cartucho-mbc5-cpld.png

Necesito que me llegen los CPLDs y el JTAG YA!!!
xDDDDD

PD: He añadido LEDs opcionales en el cartucho para +10 FACTOR MOLÓN xD

Segata Sanshiro
28/11/2010, 13:07
Wooo qué pasada :D Solo quedaría más bonito con joyas incrustadas xD ¿El enrutado (o como se diga) lo has hecho todo a mano?

xzakox
28/11/2010, 13:10
Wooo qué pasada :D Solo quedaría más bonito con joyas incrustadas xD ¿El enrutado (o como se diga) lo has hecho todo a mano?

Si... el autorouter suele hacer mierdas la verdad, ultimamente lo hago todo a mano, es incluso... relajante. xD

jduranmaster
28/11/2010, 15:40
un gran curro, espectacular!!!!. a ver si pronto tenemos cartucho.:awesome:



Necesito que me llegen los CPLDs y el JTAG YA!!!



si los has pedido en la pagina de Digilent te pueden tardar, aun recuerdo cuando me pille mi FPGA alli, me tardo como 2 semanas aunque supongo que depende de la zona en la que vivas.

otto_xd
28/11/2010, 15:53
Duda absurda, no se puede cambiar la memoria de salvado + pila por na flash??Me parecio verlo en algun cartucho :S

^OMAP-Cranck^
02/12/2010, 16:22
Gracias por tus esfuerzos famigo xzakox. Yo estuve probando a sintetizar el circuito que pusistes en la primera "foto" usando JHDL que para construir el circuito esta bastante bien así como para simular (aunque no es tan potente como un entorno completo de desarrollo VHDL como el ISE de Xilinx) pero para empezar a "jugar" con estas cosas no esta mal.

xzakox
02/12/2010, 21:48
Duda absurda, no se puede cambiar la memoria de salvado + pila por na flash??Me parecio verlo en algun cartucho :S

El problema es que la memoria flash requiere de comandos especiales para escribir/borrar, no es directo como en una ram, la lectura si, pero para escribir cada byte tienes que enviar ciertos comandos de desbloqueo. Asi que los juegos, que estan programados para acceder a una memoria ram normal, (escribir y listo), no funcionarian los guardados.
Lo que si se podria es cambiarlo por una FRAM (Ferromagnetic) que funcionan igual que una RAM, incluso de velocidad, pero no son volátiles. Problema, son carísimas xDDD
Ejemplo:
http://es.farnell.com/ramtron/fm28v100-tg/fram-1mb-128kx8-60ns-tsop32/dp/1688873
31 euros por chip :O
Comparados con los 3 euros +1 de la pila que sale con una ram normal...


Gracias por tus esfuerzos famigo xzakox. Yo estuve probando a sintetizar el circuito que pusistes en la primera "foto" usando JHDL que para construir el circuito esta bastante bien así como para simular (aunque no es tan potente como un entorno completo de desarrollo VHDL como el ISE de Xilinx) pero para empezar a "jugar" con estas cosas no esta mal.

Ahora mismo para probar en simulación, estoy usando de hecho el compilador de VHDL de GNU, el ghdl, claro, no genera salida para programar ninguna FPGA, pero si para simular con el mismo ghdl y ver los resultados en el gtkwave por ejemplo.
La captura que sale en mi blog es de este último.
Está bien para no tener que tener abierto el IDE de xilinx, que consume recursos por un tubo... edito en VIM y compilo con un makefile xD
Yo si quereis os voy pasando el fuente VHDL, sin problemas, como siempre todo va a ser software/hardware libre.


un gran curro, espectacular!!!!. a ver si pronto tenemos cartucho.:awesome:

si los has pedido en la pagina de Digilent te pueden tardar, aun recuerdo cuando me pille mi FPGA alli, me tardo como 2 semanas aunque supongo que depende de la zona en la que vivas.

No, compré las cosas en eBay jejeje. Por cierto mi última compra ha sido una DE-1 de Altera... buffff vaya vicio voy a pilar con esa bicha... hay cores pa ella de msx2, amiga, spectrum, megadrive... xD

jduranmaster
02/12/2010, 21:54
No, compré las cosas en eBay jejeje. Por cierto mi última compra ha sido una DE-1 de Altera... buffff vaya vicio voy a pilar con esa bicha... hay cores pa ella de msx2, amiga, spectrum, megadrive... xD

la DE-1 la tengo, pero la que pille en la pagina de Digilent es una Spartan III de Xilinx. Y los ipcores de estas maquinas que estan en alguna pagina de altera?

xzakox
02/12/2010, 22:07
la DE-1 la tengo, pero la que pille en la pagina de Digilent es una Spartan III de Xilinx. Y los ipcores de estas maquinas que estan en alguna pagina de altera?

No, andan por ahi por internet, por ejemplo, MSX (el core del onechipmsx adaptado), aqui (traducido del ruso):
http://translate.google.es/translate?u=http%3A%2F%2Fwww.caro.su%2Fmsx%2Focm_d e1.htm&sl=ru&tl=en&hl=&ie=UTF-8

El de amiga, es el core del minimig adaptado, hay que registrarse en este yahoo groups:
http://gamesource.groups.yahoo.com/group/minimigtg68/
Está en la sección files y tal.

Spectrum:
http://mikestirling.co.uk/2010/11/zx-spectrum-on-altera-de1-source-code/

PC XT:
http://zet.aluzina.org/index.php/Zet_processor

MegaDrive:
http://code.google.com/p/fpgagen/

Y seguro que hay más cosas.... :-)

^OMAP-Cranck^
02/12/2010, 22:28
¡¡¡Que bien. Gracias.!!!

xzakox
06/12/2010, 10:28
Un proyecto buenísimo:

http://vimeo.com/15058374

jduranmaster
06/12/2010, 11:06
:awesome:¡¡¡BUENISIMO!!!:awesome:

LSDJ..... y como molan los sensores que se han currado para detectar cuando los skatters pasan con la tabla.

Segata Sanshiro
06/12/2010, 13:16
Y ale, el diseño de mi cartucho adaptado para cambiar el MBC5 original por el CPLD (el MBC5 tiene 32 pines, este 44).

Por cierto, una cosilla sobre el FT232 del programador... ¿qué ventajas/inconvenientes tiene usar el FT232+microcontrolador, frente a usar solo un mcu que ya "tenga" USB (como el Atmega8u2) y alguna librería como LUFA?

xzakox
06/12/2010, 13:49
Por cierto, una cosilla sobre el FT232 del programador... ¿qué ventajas/inconvenientes tiene usar el FT232+microcontrolador, frente a usar solo un mcu que ya "tenga" USB (como el Atmega8u2) y alguna librería como LUFA?

Ninguna xD
Bueno, en el momento esto viene de un diseño más antiguo, asi que fué más por disponibilidad que otra cosa, había drivers para todas las plataformas, libreria sencilla para la aplicación de lado del PC, etc, y las librerias USB libres para AVR no estaban como ahora.
De hecho para un futuro diseño la idea es rehacer todo el firm usando un micro con USB integrao, tirar de libusb con mensajes USB reales (nada de emulacion serie-usb), y asi prescindir del ftdi, que aunque es muy buen integrado, vale como 5 euros.
Eso si, haría falta algo más cañero que el 8u2, no en potencia, pero si en pines de i/o :-)

Segata Sanshiro
06/12/2010, 15:09
Claro, es que cuesta 5 eurazos cada uno xDD Y sin embargo algún AT90USBx no pasaría de 4€, aunque no sé si tendría suficientes pines. Hay también un tal MCP2200 que parece hacer lo mismo que el FT232 pero por menos de 2€.

Pregunto porque quería hacer un programador/lector USB de memorias flash, y estaba viendo si era más fácil usar un conversor serie/USB o un micro con USB y las librerías ésas (que tienen muy buena pinta).

^OMAP-Cranck^
06/12/2010, 20:01
Un video genial xzakox. No sabia que con el lsdj se podian hacer cosas tan flipantes.:D

Takun
07/12/2010, 19:04
Hola a todos. Soy nuevo en la comunidad y navegando por los secciones me encuentro con este fantastico hilo. GameBoy Advance es una de mis consolas favoritas.

Pero tengo una duda: ¿los programas hombrew que haceis en este hilo son compatibles con el emulador de GBA de la GP2X?

jduranmaster
07/12/2010, 19:06
Pero tengo una duda: ¿los programas hombrew que haceis en este hilo son comptibles con el emulador de GBA de la GP2X?

la mayoria de homebrew hecho por nosotros o subido al hilo y realizado por otra gente es compatible con el emulador de GBA de GP2X y de Wiz asi que animate a probar cosas y bienvenido.:brindis:

xzakox
07/12/2010, 19:12
Claro, es que cuesta 5 eurazos cada uno xDD Y sin embargo algún AT90USBx no pasaría de 4€, aunque no sé si tendría suficientes pines. Hay también un tal MCP2200 que parece hacer lo mismo que el FT232 pero por menos de 2€.

Pregunto porque quería hacer un programador/lector USB de memorias flash, y estaba viendo si era más fácil usar un conversor serie/USB o un micro con USB y las librerías ésas (que tienen muy buena pinta).

Ah, hay una cosa en la que el FTDI brilla, la velocidad del serie, hasta 1Mbps. Yo lo he usado a 625000bps en un diseño sin problema, otras soluciones no suelen llegar a tales velocidades.

Takun
07/12/2010, 19:15
la mayoria de homebrew hecho por nosotros o subido al hilo y realizado por otra gente es compatible con el emulador de GBA de GP2X y de Wiz asi que animate a probar cosas y bienvenido.:brindis:

Gracias. La verdad es que no queda mucha gente que haga cosillas para la GBA.

tanuquillo
07/12/2010, 19:18
la gba y gb es la mejor portatil que ha existido y existira nunca.
por que aunque haya mas potentes se basan en emuladores.
y la game gear... eso es un mundo a parte. de portatil tenia poco.
yo siempre llevo encima una gba micro con 2 gigas de roms tanto de gba como de gb y gbc usando el goombla y creeme que no lo cambio por nada. es la consola perfecta. pequeña con gran autonomia de bateria y juegos adictivos.

Takun
07/12/2010, 19:42
Como he dicho la GBA es una de mis consolas favoritas. Espero aprender muchas cosas en este hilo. gracias.

jduranmaster
07/12/2010, 19:55
Aprenderas mas cosas si pruebas por ti mismo.:brindis:

xzakox
08/12/2010, 13:56
Bueno, dia de fiesta, I heard you like wires....

http://ladecadence.net/trastero/mbc5clone-1.jpg

Vamos a soldar...

http://ladecadence.net/trastero/mbc5-clone2.jpg

Un descansito y seguimos...
Listo:

http://ladecadence.net/trastero/mbc5-clone3.jpg

Detalle:

http://ladecadence.net/trastero/mbc5-clone5.jpg

Vamos a ver... este cartucho tenia grabao el SuperKidFigher, un juego Homebrew que usa el MBC1, 4Mbit.... a ver...

http://ladecadence.net/trastero/mbc5-clone6.jpg

http://ladecadence.net/trastero/mbc5-clone7.jpg

Parece que chuta.... seguimos....

http://ladecadence.net/trastero/mbc5-clone8.jpg

Pues si... :D :D :D :D

Bueno, esto es sólo la primera prueba, ya que de momento no he probao las escrituras en RAM, pero el banking está funcionando.
Buf, el tema es que no puedo probar más hasta mañana porque me dejé el programador en el LAB del curro... asi que mañana os cuento más cuando pruebe con el zelda DX o algo asi de lo más cañero.
Bueno, voy a hacer unas cosillas... fap fap fap
xDDD

JoJo_ReloadeD
08/12/2010, 14:02
:rever::rever::rever::rever::rever::rever::rever:: rever::rever::rever::rever::rever::rever::rever::r ever::rever::rever::rever::rever:

Lee-san
08/12/2010, 14:06
Por que lo hiciste desmontando un pokemon oro?!! xDDDD
Y que fue lo que hiciste, un cartucho flash?

xzakox
08/12/2010, 14:15
Por que lo hiciste desmontando un pokemon oro?!! xDDDD
Y que fue lo que hiciste, un cartucho flash?

Fue un cartucho petao que me donaron hace tiempo, de todas maneras, es sólo la carcasa.

El cartucho flash, ya lo hice hace tiempo, de hecho si te fijas en la PCB, sale mi nombre y mi web :)
El tema es que para hacer el cartucho flash, hacía falta obtener el chip MBC5 de nintendo, un chip que realiza el banking de memoria para poder tener cartuchos más grandes de 32KB (ya que el bus del z80 sólo permite 64KB, y para la ROM del cartucho se reservan 32KB), asi que habia que conseguir cartuchos originales de GBColor y quitarles este chip para ponerlos en mi cartucho.
Asi que me propuse clonar este chip, usando lógica programable.
Por ingenieria inversa, y basándome en la documentación existente (emuladores etc), pues esquematizé el funcionamiento del MBC5, y lo re-implementé en VHDL. Asi lo pude sintetizar en un CPLD de xilinx, el que sale en las fotos, y cambiar el MBC5 original de mis cartuchos, por este clon, tengo que hacer todo el rollo de los cables, porque el patillaje es un poco distinto, el MBC5 es de 32 pines, y el CPLD más pequeño, es de 44.
Asi que aqui lo teneis rulando, en cuanto haga más pruebas, pediré unas placas con el nuevo diseño, para poder soldar el clon directamente en la placa.
Y ale, solo quedaría cambiar el chip de gestión de la pila, pero ese es uno comercial, podria conseguirlo, y si no, de esos hay muchos similares :-)

jduranmaster
08/12/2010, 14:22
que bueno tio. mega curro que te has pegado. no veas que ganas de tener uno rulando para jugar los juegos de GB.

Takun
08/12/2010, 14:25
Vaya monstruo estas hecho xzakox. :rever: . ¿Vas a realizar una tirada de estos cartuchos?. Por cierto me encanta esa gameboy color con led azul.

xzakox
08/12/2010, 14:39
Si, claro, una vez esté seguro de que esto funciona correctamente, haré una tirada
de hecho voy a ir pidiendo placas con el diseño nuevo, para ir haciendo pruebas.

Segata Sanshiro
08/12/2010, 14:48
Qué currameeeeeen!! Entonces, a pesar de que ya había algún intento, el diseño que has metido en el CPLD es tuyo, ¿no? Para que luego digan que en España no hay I+D xDDD ¿Cómo haces para programarlo, se puede hacer una vez está ya soldado en el cartucho?

jduranmaster
08/12/2010, 14:50
¿al usar la CPLD el programador también cambiara?

xzakox
08/12/2010, 15:10
Qué currameeeeeen!! Entonces, a pesar de que ya había algún intento, el diseño que has metido en el CPLD es tuyo, ¿no? Para que luego digan que en España no hay I+D xDDD ¿Cómo haces para programarlo, se puede hacer una vez está ya soldado en el cartucho?

Si, el diseño es integramente mio. Hay algún proyecto, pero el único que parecia funcionar, el tio sólo te pasa el archivo de configuración, no el fuente, además es para un CPLD mucho más grande.
Para programarlo, pues soldé unos cablecitos a los pines del CPLD que llevan las señales del JTAG y ale xDD, luego los quité.


¿al usar la CPLD el programador también cambiara?

Nop, como funciona igual que un MBC5 original, no tengo que cambiar nada más.

^OMAP-Cranck^
09/12/2010, 21:20
:awesome:¡¡¡Eres una crack xzakox!!!:awesome:

¿Llegastes a probar el cartucho con el programador que tenias en el curro?

xzakox
09/12/2010, 21:39
Estoy haciendo pruebas ahora mismo xDD

chipan
09/12/2010, 22:03
mmmmm ¡pitanza de la buena! ya nos dirás. Joer que **** amo eres xzakox

xzakox
12/12/2010, 11:53
Bueno, un pequeño extra que le estoy añadiendo a mi MBC5 que lo voy a llamar MBC5++ xD
Tenia 3 pines libres del CPLD que estoy usando, después de implementar todo lo necesario del MBC5. Pues en mi nuevo diseño del cartucho, voy a meterle un par de LEDs. Estos LEDs irán conectados a un pin del CPLD, asi, usando escrituras al MBC5 como se haría para cambiar de bancos, podremos apagar y encender los LEDs.
Bueno, imaginaros esto en el escenario con un chiptuners como el DMusta1ne (XD), con el LSDJ y los leds de la parte de atr'as de la GameBoy (el cartucho), parpadeando al tempo de la música. Puede molar, ¿verdad? :-)

Pues nada, he implementado el diseño, y he hecho una prueba de ejemplo, antes he grabao un video, un pequeño programa cronómetro, que cada segundo apaga o enciende el LED.

Ale:
http://www.vimeo.com/17726336

DMusta1ne
12/12/2010, 14:16
¡Genial xzakox! Me encanta la idea de las luces, más ahora, que con la dingoo joia estoy dándole más caña al lsdj =)

Estaremos atentos y a ver si le decimos algo al Role model para que haga ese pequeo cambio en el lsdj ;)

jduranmaster
12/12/2010, 16:23
Gran idea la de los leds. Ganas de tener el cartucho aumentando.

Takun
12/12/2010, 16:36
¿Esos leds tendrán alguna utilidad en los juegos normales que carguemos en el futuro cartucho o solo podrán ser utilizados al 100% con el LSDJ.?

Por cierto ya que hay gente que le mola el tema musical con GB. ¿de donde puedo bajar la ultima versión del LSDJ?

jduranmaster
12/12/2010, 16:54
Por cierto ya que hay gente que le mola el tema musical con GB. ¿de donde puedo bajar la ultima versión del LSDJ?

http://wiki.littlesounddj.com/FrontPage

http://www.littlesounddj.com/lsd/latest/

chipan
12/12/2010, 23:02
Entonces parece que el MBC5 funciona ¿no?

chipan
14/12/2010, 07:20
Bueno, un pequeño extra que le estoy añadiendo a mi MBC5 que lo voy a llamar MBC5++ xD
Tenia 3 pines libres del CPLD que estoy usando, después de implementar todo lo necesario del MBC5. Pues en mi nuevo diseño del cartucho, voy a meterle un par de LEDs. Estos LEDs irán conectados a un pin del CPLD, asi, usando escrituras al MBC5 como se haría para cambiar de bancos, podremos apagar y encender los LEDs.
Bueno, imaginaros esto en el escenario con un chiptuners como el DMusta1ne (XD), con el LSDJ y los leds de la parte de atr'as de la GameBoy (el cartucho), parpadeando al tempo de la música. Puede molar, ¿verdad? :-)

Pues nada, he implementado el diseño, y he hecho una prueba de ejemplo, antes he grabao un video, un pequeño programa cronómetro, que cada segundo apaga o enciende el LED.

Ale:
http://www.vimeo.com/17726336
¿Y lo que (creo que) habias comentado de implementar el RTC en tu clon del mbc5 y demás, en que ha quedado?

xzakox
14/12/2010, 08:06
Uf, tiempo al tiempo xD

3L_S4N70
16/12/2010, 10:06
Bua macho, me paso un par de semanas apartado del foro por temas del proyecto y tal, y al volver me encuentro con el MBC5++!!! Anonadado me hallo. Buen trabajo xzakox.

Takun
22/12/2010, 13:09
Hola amigos. Os hago una pregunta sobre una duda que tengo. Tengo una GB Camera desde hace algún tiempo y una GBA SP rodando por casa, y me preguntaba si existe alguna forma de con la GB Camera enchufada a la GBA SP pasar las fotos realizadas a un PC.

Gracias.

jduranmaster
23/12/2010, 08:32
TEngo entendido que existe un cable para conectar la GameBoy a traves del puerto parelelo de impresora, pero me suena que era compatible con Win98/95, ademas todo el invento funcionaba con un emulador de la GB Printer que corria en el PC. Lo que no se es si existe algo similar para GBA.

Takun
23/12/2010, 15:01
Tengo entendido que existe un cable para conectar la GameBoy a traves del puerto parelelo de impresora, pero me suena que era compatible con Win98/95, ademas todo el invento funcionaba con un emulador de la GB Printer que corria en el PC. Lo que no se es si existe algo similar para GBA.

Gracias. El caso es que me suena que existe un cable similar para la GameBoy Advance y lo mismo hay algún esquema donde se indica como fabricarlo o algo. A ver si alguien puede aclararme esto.

jduranmaster
24/12/2010, 12:29
Aqui os dejo una demo titulada "FAREWELL". Se trata de una implementación de un motor tipo "DOOM" con gráficos de Wolfenstein 3D. En ela demo podemos recorrer un mapa entero matando "comunistas-Nazis" (hay fotos de stalin por las parades y los soldados son nazis asi que.....). Lamentablemente no hay codigo fuente de esta maravilla, pero aun asi merece mucho la pena el probarlo. Es necesario pasar la herramienta GBAFIX a la ROM para poder jugarla en flashcart de GBA, aunque si la probais en un emu como el VisualBoy advance no hace falta.

SALUDOS.:awesome:

jduranmaster
24/12/2010, 13:23
Como Takun preguntaba hace un par de dias sobre la posibilidad de descargar fotos realizadas con la GameBoy Camera en PC aqui os dejo un .rar en el que se encuentra el emulador de la GB Printer realizado por M. Eyre. Dentro del .rar hay un esquema para la realización del cable GAMElink-to-LPT (al puerto de impresora xDD) para conectar al GameBoy al PC y descargar las fotos realizadas para luego poder salvarlas en el formato conveniente.

El esquema es el siguiente:

http://www.devrs.com/gb/files/gb2pp7.gif

Como decia en otro de los post no se si existe algo similar realizado para GBA, aunque lo suyo es que fuese mediante USB porque el LPT esta un poco muerto, sin embargo se podria intentar algo parecido para GBA.

También dejo una par de aplicaciones que nos permiten una vez pasados los ficheros de la GB CAmera al PC, convertir dichos ficheros a imagenes en formato PCX y de ahi con cualquier otro programa de edición de imagenes pasarlo a otros formatos.

SALUDOS.:awesome:

^OMAP-Cranck^
24/12/2010, 20:22
Gracias por las aportaciones. :awesome:. Saludos.

jduranmaster
24/12/2010, 22:19
No hay de que. Si puedes prueba la rom de FAREWELL a ver si funciona bien en flashcart.


saludos.

Solo
30/12/2010, 22:00
Bueno, un pequeño extra que le estoy añadiendo a mi MBC5 que lo voy a llamar MBC5++ xD
Tenia 3 pines libres del CPLD que estoy usando, después de implementar todo lo necesario del MBC5. Pues en mi nuevo diseño del cartucho, voy a meterle un par de LEDs. Estos LEDs irán conectados a un pin del CPLD, asi, usando escrituras al MBC5 como se haría para cambiar de bancos, podremos apagar y encender los LEDs.
Bueno, imaginaros esto en el escenario con un chiptuners como el DMusta1ne (XD), con el LSDJ y los leds de la parte de atr'as de la GameBoy (el cartucho), parpadeando al tempo de la música. Puede molar, ¿verdad? :-)

Pues nada, he implementado el diseño, y he hecho una prueba de ejemplo, antes he grabao un video, un pequeño programa cronómetro, que cada segundo apaga o enciende el LED.

Ale:
http://www.vimeo.com/17726336

Que bien que vayas avanzando con el desarrollo del nuevo cartucho xzakox. ¿Que otros usos a parte de los que comentas crees que se les podria dar a esos LEDS? ¿solo servirian para animar la fiesta teniendo el LSDJ?

animo.:awesome:

xzakox
30/12/2010, 22:16
Bueno, servirian para lo que querais, es simplemente programarlos jejeje.

^OMAP-Cranck^
06/01/2011, 20:16
Hola famigos, tengo una preguntita. HAce tiempo se habló de un port de Another World para GBA, el cual me baje y he jugado hasta la saciedad. :awesome:. Mi pregunta es: ¿alguien sabe si existe algún port del Flashback original para GBA?

:awesome: saludos y gracias. :awesome:

jduranmaster
08/01/2011, 19:13
Hola famigos, tengo una preguntita. HAce tiempo se habló de un port de Another World para GBA, el cual me baje y he jugado hasta la saciedad. :awesome:. Mi pregunta es: ¿alguien sabe si existe algún port del Flashback original para GBA?

:awesome: saludos y gracias. :awesome:

pues que yo sepa no hay port de flashback. y es una pena porque es un juegazo. Además viendo lo bien que va el port de Another World seguro que el de Flashback también tiraría.

^OMAP-Cranck^
11/01/2011, 22:12
No hay de que. Si puedes prueba la rom de FAREWELL a ver si funciona bien en flashcart.


saludos.

Pues probe esta ROM en el flashcart y tiene algun error porque cuando arranca y empiezas a moverte por el escenario, depués de cargarte al primer nazi se cuelga, cosa que no sucede si la juegas desde un emulador como el VisualBoy Advance.


pues que yo sepa no hay port de flashback. y es una pena porque es un juegazo. Además viendo lo bien que va el port de Another World seguro que el de Flashback también tiraría.

Una lastima, seguire quemando el port de Another World.

tSuKiYoMi
17/01/2011, 15:23
Una preguntilla: ¿¿¿¿todas las roms homebrew que haceis y subis por aqui tiran en el GPSP de la WIZ????

jduranmaster
18/01/2011, 18:43
Una preguntilla: ¿¿¿¿todas las roms homebrew que haceis y subis por aqui tiran en el GPSP de la WIZ????

la mayoria si. hay otras que a pesar de usar la herramienta GBAFIX para formatear bien la cabecera de la ROM generada no van en el GPSP de Wiz , pero si van en un flashcart o en el VisualBoy advance. Obviamente es un problema del emulador.

tSuKiYoMi
22/01/2011, 20:35
OK. EStube probando algunas y efectivamente hay unas pocas que no terminan de ir en el emulador de la Wiz, mientras que si funcionan en un flashcart de gba o en los emus de PC. Eso es un aspecto que se podría mejorar tmb en la nueva versión del emulador gpsp que se haga para Wiz.

[<_-_Ukyo_-_>]
22/01/2011, 22:17
Una preguntilla: ¿¿¿¿todas las roms homebrew que haceis y subis por aqui tiran en el GPSP de la WIZ????

A mi la mayoria me funcionan en el GPSP de WIZ. Estaría bastante bien que la nueva versión del emu para Wiz solventase ese problema con las roms homebrew, sobre todo para aquellas/os que no tengan una GBA+flashcart.

Sven
22/01/2011, 22:33
;1195011']A mi la mayoria me funcionan en el GPSP de WIZ. Estaría bastante bien que la nueva versión del emu para Wiz solventase ese problema con las roms homebrew, sobre todo para aquellas/os que no tengan una GBA+flashcart.

No es debido a que les faltan nosequé header a los homebrew. No hay un programita para eso, gbata?

http://ezflash.sosuke.com/viewtopic.php?f=9&t=14980

[<_-_Ukyo_-_>]
22/01/2011, 22:36
No. Casi todas las roms que se suben por lo visto ya llevan la cabecera formateada con el gbafix,y las que no ya probe yo a usar la herramienta gbafix para intentar hacerlas funcionar en el emu de Wiz, pero seguian sin ir.

Como comentaba jduranmaster un par de post más arriba yo también creo que debe de ser problema del emulador de Wiz, porque las roms funcionan en los emuladores de PC y en los flashcart.

GameMaster
22/01/2011, 23:27
Si funcionan en las consolas con flashcart, es porque los emus no emulan todo al 100%.

tSuKiYoMi
23/01/2011, 11:46
Si funcionan en las consolas con flashcart, es porque los emus no emulan todo al 100%.

Vamos, lo que habiamos comentado en los post anteriores, pero mas resumidito. :brindis:. Seria bueno tener un gpsp que pudiese tirar todo el homebrew al 100%.

tSuKiYoMi
26/01/2011, 11:43
Una preguntilla fuckmigos!!!: ¿Sabeis donde se pueden pillar baterias para una GBA SP? ¿en HG las tienen o estan tan descatalogadas que es imposible encontras una?

Meldinov
26/01/2011, 13:15
tambien el vale una bateria de nintendo ds original.
La mia aun tira bastante bien, loq eu si me interesarai, es un adaptador para auriculares :P

tSuKiYoMi
26/01/2011, 13:19
tambien el vale una bateria de nintendo ds original.
La mia aun tira bastante bien, loq eu si me interesarai, es un adaptador para auriculares :P

LA mia original de GBA también esta bien, lo único es que queria una de repuesto porque nunca se sabe.

Ok pues si le vale una de la DS es fantastico porque puedo pillarla facilmente. Gracias.

jduranmaster
01/02/2011, 14:02
No es debido a que les faltan nosequé header a los homebrew. No hay un programita para eso, gbata?

http://ezflash.sosuke.com/viewtopic.php?f=9&t=14980

Se puede usar de forma indistinta tanto el GBAFIX como el GBATA, ya que realizan la misma función. Como te decian más arriba es un problema del emulador de Wiz, que no es 100% compatible con el homebrew

Takun
05/02/2011, 10:39
En el caso de diseñar gráficos para un juego de GameBoy, ¿Que herramientas y/o tutoriales me podeis recomendar para el diseño de mapas, personajes y demás?

xzakox
05/02/2011, 12:20
Para gameboy, de lo mejor que hay son el GBTD (Gameboy Tile Designer) y el GBMB (Gameboy Map Builder), ambos se pueden usar para crear tiles y mapas con esos tiles, y exportarlos a varios entornos de programación, cabeceras para el GBDK, datos ASM para el RGBDS, etc.
Están muy bien.

En mi tutorial de programación comento un poco como usarlos, pero muy por encima:
http://wiki.ladecadence.net/doku.php?id=tutorial_de_ensamblador#hola_sprites
Al final de ese ejemplo.

Takun
05/02/2011, 12:37
Al intentar entrar en el enlace que me has puesto me dice esto:


Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/xzakox/public_html/wiki/inc/html.php on line 272

jduranmaster
06/02/2011, 19:16
Hola fuckmigos!!!. Aqui os dejo un video de mi emulador de GBA escrito en JAVA. El emulador permite jugar tanto roms de GameBoy como roms de GameBoy Advance. Para cargar los juegos de gameboy diseñe y escribi un componente gráfico swing especial a tal efecto, sin embargo debido a la complejidad para realizar el mismo objeto en el caso de la emulación de GBA opté porque en este caso la emulación fuese a pantalla completa con muy buenos resultados. El emulador soporta prácticamente todos los tipos de mappers en el caso de GB y también soporta la mayoria de juegos del catálogo de GBA incluso roms homebrew.



http://www.youtube.com/watch?v=YoUpflJMM10&feature=plcp

Debido a la herramienta con la que he grabado el video no se aprecian los efectos sonoros. Y otro efecto extraño aparece cuando esta grabando la emulación de la GBA a pantalla completa ya que reduce su tamaño.

Algunas roms de gameboy (solo me pasa con dos de todas las que he probado) sufren algunos problemas gráficos tal y como puede observarse en el video en el caso del Shadow Warriors pero la mayoria de roms tiran sin problemas de ninguna clase. Por otro no he notado problemas graves en la emulación de juegos de GBA. Ahora mismo el emulador tal cual está terminado al 100% pero quedan resolver algunos flecos como integrar la emulación de GBA en un componente gráfico SWING como pasa en el caso de la emulación de gameboy y poder cambiar entre pantalla completa y normal. El proyecto es algo viejo (lo terminé en alla por el 2008 y no lo he vuelto a tocar) pero ahora que tengo más tiempo y he retomado la mejora del emu de gba para Wiz pienso dejarlo finiquitado del todo. También tengo pensado separar la emulación de gameboy para obtener un emulador solo de este sistema.

Bueno pues hasta aqui el programa de hoy. Proximamente más.

SALUDOS. :awesome:

Takun
06/02/2011, 20:13
Tiene muy buena pinta. Y para ser Java no va nada mal la emulación de GameBoy y GameBoy Advance.

jduranmaster
06/02/2011, 20:23
Tiene muy buena pinta. Y para ser Java no va nada mal la emulación de GameBoy y GameBoy Advance.

Gracias. La verdad es que el rendimiento y velocidad son buenos y no me sufre cuelgues ni nada por el estilo. Aqui dejo el video también subido a vimeo (emepce a subirlo los dos al mismo tiempo y el de youtube tardó menos :D)



http://www.vimeo.com/19626232

GameMaster
06/02/2011, 20:32
Mola la barra lateral verde y los menus.
En que emulador o dependencias te has baseado ?

jduranmaster
06/02/2011, 20:38
Para la emulación de gba lo que hice fue un port de la última versión estable del VBA en java (hablo de la ultima versión estable de hace algo más de dos años), y para la emulación de gb empece tomando como base la parte de emulación que incorporaba el VBA pero luego fuí metiendole nuevos añadidos.

GameMaster
06/02/2011, 20:50
Tienes alguna pagina donde se tengas todos los proyectos de tu firma reunidos ?

jduranmaster
06/02/2011, 21:00
Que va tio. Estoy en ello. Hace tiempo tenia pensado subir todo a sourceforge pero la pereza me lo impidió. Ahora estoy buscando un hosting para ir almacenandolo todo.

GameMaster
06/02/2011, 21:10
Si necesitas una carpetita en el mio avisa.

[<_-_Ukyo_-_>]
06/02/2011, 21:52
Tiene muy buena pinta el emulador. A ver si algún dia liberas el código y los subes por aqui.:awesome:

xzakox
07/02/2011, 08:14
jduranmaster, que pasada, enhorabuena.
Sabes lo que lo convertiría en definitivo no? Si le añades temas de debugging :-)
Vista del código, breakpoints, busquedas, vista de los registros de la cpu, memoria, tiles, sprites, registros especiales.
Rollo BGB o NoCa$h :-)
Ya se que es un currazo, pero por pedir... xDDD

jduranmaster
07/02/2011, 08:32
jduranmaster, que pasada, enhorabuena.
Sabes lo que lo convertiría en definitivo no? Si le añades temas de debugging :-)
Vista del código, breakpoints, busquedas, vista de los registros de la cpu, memoria, tiles, sprites, registros especiales.
Rollo BGB o NoCa$h :-)
Ya se que es un currazo, pero por pedir... xDDD

Gracias. En esos añadidos que comentas ya habia pensado, lo que pasa es que como hacia bastante que no lo tocaba no habia tenido tiempo de mirarlo. Por cierto conoceis algun programa decente freeware que me permita grabar un video con sonido del escritorio y no me haga la chapuza que se ve en el video que he dejado cuando se graba la emulación a pantalla completa de GBA???

saludos.