Emulador del procesador M6502 (Centipede) - El primer emulador hecho en Bennu!

Started by FreeYourMind, April 06, 2010, 10:11:56 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Buenas, tanta pregunta sobre bytes tenia su motivo :)

Os presento otro proyecto más que tengo entre manos, el primer emulador creado con Bennu, o mejor dicho, portado a Bennu, ya que fue inicialmente creado por Josek para DIV, y se encuentra incompleto.

Emulaba completamente el Procesador M6502, pero el Centipede lo tenia a medias, intentaré ponerlo a funcionar en Bennu, todavia me queda mucho trabajo de chino a pasar hexadecimales antes de poder mejorar el trabajo ya echo.


Info sobre el procesador M6502:

http://es.wikipedia.org/wiki/MOS_6502


Info sobre el juego emulado, Centipede (Arcade):

http://www.system16.com/hardware.php?id=762


Una fotica de lo que he hecho funcionar en div:


josebita

¡Muchas felicidades!

La verdad es que es interesante, cuando saque un rato miraré tu código a ver si soy capaz de entender cómo funciona.

PD: Me he tomado la libertad de cambiar el título de tu hilo. Ponía "echo en Bennu" :P

FreeYourMind


SplinterGU

antes que nada un karma! ahora viene el post...

ja! que impresionante! en bennu!!!

cuantos fps da?

josebita, que fuentes? hay fuentes?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Si, hombre, ahora es culpa mía de todos los analfabetos del mundo que no saben cuando falta una H y cuando HAY QUE USAR LA PRIMERA LETRA EN MAYÚSCULAS ;D

Aparte de eso, Free, tu nivel de frikismo ha subido +3 ¿un emulador en un lenguaje pseudointerpretado? que retorcido :D :D :D
Y encima funcionará y todo, karma up sólo por la idea :P
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

FreeYourMind


FreeYourMind

Despúes de 3 horas haciendo el chino pasando hexadecimales, ya he podido compilarlo en Bennu. Eso si, al iniciar la emulación peta por los cuatro costados, haciendo crash! Mañana buscaré los motivos, que ahora sólo veo hexadecimales.




FreeYourMind

Ya he arreglado lo del Crash, pero falta mucho camino por delante...


DCelso

yo en estas imágenes veo muchos textos y varios colores pero nada que se parezca a un screenshot del juego cienpiés :(.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Si te fijas, se puede ver el sprite del prota en una esquina :) Comparala con la imagen del Arcade.

Tambien ya se pueden ver los sprites de la rom:


FreeYourMind

Tengo un pequeño problema en Bennu, quiero controlar que el Usuario cargue las roms en el emulador, pero antes de poder hacerlo Bennu crasha por el mismo motivo, o sea, por no encontrar el fichero...

Pongo el ejemplo que me funciona en DIV:



rom = fopen("mi_rom", "r");

IF (rom == NULL)
    write(0, 20, 120, 0, "Error loading Rom! Cannot find the rom: mi_rom");
    return;
END


DCelso

Pues puede que sea por "r" prueba con O_READ .
http://wiki.bennugd.org/index.php?title=Fopen
http://wiki.bennugd.org/index.php?title=Readwrite_modes
También puede que sea porque el archivo en cuenstión mi_rom no esté en el mismo sitio en el que ejecutaste bennu, es decir,
si ejecutaste bgdi mijuego.dcb, entonces mi_rom debería estar donde está mijuego.dcb.
si ejecutaste bgdi dcb/mijuego.dcb, entonces mi_rom debería estar en el mismo sitio donde se encuentra el directorio "dcb".
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Muchas grácias, el O_READ ha resuelto el problema!  ;)

Sobre la ruta no hay problemas, uso la carpeta Roms.

folken

Asombroso, hacer un Emulador no es tarea sencilla, la verdad tienes mi admiracion, quisiera poder darte un Karma, pero por mi ignorancia no se como se hace eso, o si necesito subir de nivel en el foro para poder darlos. si me dices como hacerlo y si puedo con mi usuario, ya tienes 1 karma de mi parte. :)
Where reality ends, life begins!

Drumpi

Debajo de su nick verás una mano con el pulgar arriba y otra con el pulgar abajo, que suben y bajan el karma del individuo respectivamente ;)
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)