Programación para MegaDrive. Pruebas sobre sistema real.

Hola a todos,

Hace poco me ha picado el gusanillo de hacer algo para MD pero me ha surgido la siguiente duda.

Si bien se sabe que al final de la compilación podemos probar el juego en un emulador tipo kega o simil ¿Se podría probar en el sistema real?

A través quizas de cartucho flash? Digo por que es posible que haya alguna diferencia entre la emulación y el sistema real, como posibles errores que se den en uno y en otro no.

Saludos!
KeiDash escribió:Hola a todos,

Hace pocome ha picado el gusanillo de hacer algo para MD perome ha surgido la siguiente duda.

Si bien se sabe que al final de la compilación podemos probar el juego en umulador tipo kega o simil ¿Se podría probar en el sistema real?

A través quizas de cartucho flash? Digo por que es posible que haya alguna diferencia entre la emulación y el sistema real, como posibles errores que se den en uno y en otro no.

Saludos!


Imagino que una vez con la rom en el formato que gustes (.md, .bin, etc...) con checksum correcto deberia poder usarse tanto en un emu con en una consola via Everdrive original o chinorris, ya que así he probado yo protos de algunos juegos.
@KeiDash

Si es codigo pequeño, puedes subir la rom por el puerto de mando directo a la memoria de la MD, lo que necesitas puerto paralelo, no se si hay algun diseño para usb

http://devster.monkeeh.com/sega/lakabajo/

Lo que pasa q si no estas muy puesto en electronica puede complicarse, mejor un flashcart de 20 euros de aliexpress, q ademas te da mas verstilidad que los 64k internos


Otra opcion es que si tienes megacd grabes la rom en un CD y la lanzes de ahi, pero creo q es ms recomendable el flashcart por facilidad y costes
@KeiDash
La mayoría de emuladores no se comportan exáctamente igual que la consola original y eso puede dar lugar a errores si haces un juego solo probándolo con emuladores... Con un flashcart se podría probar sin problema, compilas la rom y testeas en la consola.
@KeiDash

Siempre se ha de probar en hardware real. Sin embargo, si usas un buen emulador, como Blastem, puedes ir desarrollando en emulador, y probar de tanto en tanto en el hardware real con una flashcart.
Yo la verdad q siempre pruebo en Kega fusion, sinceramente, a menos que fuera a programar algo raro, que llevara al limite o explore cosillas indocumentadas, creo q con el emulador basta

Luego cada tanto una prueba en flashcart no mata a ningun gatito
@theelf
Pues precísamente Kega Fusion es de los que tienen problemas más relevantes.... Yo recomendaría Regen o Exodus.
SieKensou escribió:@theelf
Pues precísamente Kega Fusion es de los que tienen problemas más relevantes.... Yo recomendaría Regen o Exodus.


Sinceramente llevo unos 20 años programando para la mega, y estos ultimos 20 probando en Kega Fusion (antes probaba en kgen que es lo mismo al final) y sinceramente, asi de memoria nunca me he encontrado con algo que programe se comporte distinto en hardware real
Lo interesante sería tener un hardware para poder depurar en la propia Mega Drive, aunque no creo que con la versión "retail" esto se pueda hacer de manera sencilla.
@theelf

Mas que comportamientos diferentes, lo que si que me he encontrado bastante son cosas que petan en la mega real y no en el Kega Fusion. El Kega es bastante tragaldabas, se come lo que le eches sin petar.
Y hay que probar en todos los modelos de megadrives, que luego salen errores gráficos.
@kusfo79
Eso ya es error de programacion, si no manejas bien los limites puede pasar

Admito suelo ser bastante conservador en mi codigos de ahi no me pase seguramente
@theelf

A mi, el 90% de las veces que me ha pasado eso es por no tener biel controlado el boundary de un array o algo. En Kega Fusion la ram se inicializa a 0, con lo que igual no pasa "nada", pero en una máquina real, eso da un crash, al tener valores aleatorios la ram.

@krusher
Existe el UMDK, pero no lo he llegado a probar nunca:
https://hackaday.io/project/1507-usb-megadrive-devkit

@FFantasy6
El problema suele estar en algunas revisiones "éxoticas", pero por suerte la mega es bastante "estandard"
Interesantes respuestas, cada una aportando un bloque de información a la pregunta :D

Todo esto es porque no me fio de la funcionalidad de un emulador al 100%. Actualmente estoy desarrollnado un juego para Dreamcast y la diferencia entre el emulador y la consola real en ciertos aspectos es muy diferente (control de tiempos y acceso assets en disco por ejemplo)

Acabo de mandar a pedir por AliExprs..un flash cart de MD por 22€ que tiene buena pinta, incluso dispone de almacenado para guardar partidas, en cuanto a características, son las mismas que las del Everdrive v3 de Kirzz. Espero que funcione bien durante un largo periodo de tiempo.
@KeiDash
No compares un emulador de DC con uno de Megadrive

La MD es muy simple, con que estudies bien la arquitectura y buenas practicas, podes.programar sin siquiera probarlo que va a correr bien
KeiDash escribió:
Acabo de mandar a pedir por AliExprs..un flash cart de MD por 22€ que tiene buena pinta, incluso dispone de almacenado para guardar partidas, en cuanto a características, son las mismas que las del Everdrive v3 de Kirzz. Espero que funcione bien durante un largo periodo de tiempo.


Es el flashcard que hemos comprado muchos en este foro y estamos encantados con él. El mio tiene 15-16 meses ya.
@Calculinho pues eso es bueno saberlo, desconozco la calidad así que espero que dure tanto como para sacarle partido.

@theelf si es cierto, la comparativa no es buena, pero creo que si me darías la razón en que al final, como el hardware real no hay nada. Por la cantidad de emuladores que hay de MD, es porque ha surgido realmente mi duda.

Por ejemplo, reproducir audio, puede que no suene exactamente igual en emu que en real, o exista un ligero retardo en la carga del mismo frente al sistema real o en emulador.
@KeiDash

La prueba en hardware real tambien tenes que agarrarla con pinzas. Especialmente el apartado sonoro, ha habido varias revisiones de megadrive

No solo sonara diferente una MD1 de una MD2, Genesis 3, CDX...etc (todas originales), si no incluso dentro de la misma revision hay sub revisiones, lease una VA6 de una VA7

Hay bugs menores como que la Genesis 3 corrigio un opcode del 68k (TAS) que en esa maquina funciona como deveria, pero en todas las anteriores no, o que hay dos tipos de controles, 3 y 6 botones y no son iguales a nivel programacion... alguno mas q no me viene a la cabeza

Mi conclusion es basicamente usar buenas practicas de programacion, y leerse un poco los documentos tecnicos para saber las exepciones. Luego ya en general creo el emulador no deveria dar diferencias


Coincido con kusfo79 en cuanto a que hay diferencias de comportamiento del emulador, en mi caso, como comente soy conservador, suelo por ejemplo, limpiar la ram en el inicio de mis codigos
Pues interesantes respuestas queme habéis dado! Si señor, así me hago una idea.

Por cierto, he visto que para MD se puede programar en C o en Basic. Alguien me puede indicar si hay alguna diferencia muy grande entre ellos (no diferencias de lenguaje)?
@KeiDash

Yo no he tocado el Basic de Mega, pero creo que dicen que la librería de C es un poco más completa. A ver que dice @theelf que el tiene experiencia en ello.
@kusfo79
@KeiDash

Supongo que cuando hablamos de basic nos referimos a BEX, y en C a SGDK

Efectivamente como dice kusfo la libreria C es mas completa, y mas actualizada. BEX hace tiempo q no tiene actualizaciones nuevas, tiene algunos bugs, y le faltan comandos, especialmente en apartado sonoro

Dicho esto, yo me quedo con BEX solo por algunas razones personales, como que me gusta el editor y que funciona en windows 95+ [+risas]

Tecnicamente me gusta basic, disfruto de este lenguaje, jamas he disfrutado con C, y si algo me falta, o uso librerias externas, o programo en asm


Sinceramente, para cualquiera con conocimientos de programacion, le dara igual un compilador u otro para cualquier proyecto, es algo mas de preferencias personales
@theelf seria genial poder programar con el basic del spectrum !!!
jordigahan escribió:@theelf seria genial poder programar con el basic del spectrum !!!


Poder... puedes.. lo que necesitaras es un compilador luego

No recuerdo ya el.basic de la.spectrum, era el de vieja escuela.no?


100 soy una.espectrum
110 goto 100
theelf escribió:100 soy una.espectrum


Petition online, baneo ya.
FFantasy6 escribió:
theelf escribió:100 soy una.espectrum


Petition online, baneo ya.


Pero no era una spectrum española?
theelf escribió:
jordigahan escribió:@theelf seria genial poder programar con el basic del spectrum !!!


Poder... puedes.. lo que necesitaras es un compilador luego

No recuerdo ya el.basic de la.spectrum, era el de vieja escuela.no?


100 soy una.espectrum
110 goto 100


Syntax error XD
25 respuestas