Interesado en empezar con Megadrive

Viendo tanto hilo tecnico me han entrado ganas de meterme a toquetear codigo en Megadrive (mis grandes respetos para toda la scene del foro y a en particular @theelf , edito: no me queria olvidar de @gasega68k !, disfruto mucho leyendo sus descripciones tecnicas).

El caso es que me gustaria saber la opinion de algun experto en este sistema:
-ide de desarrollo? Entiendo que existe posibilidad de picar C, Asm y Basic. Me da mucha pereza Basic y casi prefiero entrar en C y Asm , ¿es correcto, como lo veis para ir empezando con un lenguaje que luego soporte mejor control del hardware? Por ejemplo, @Theelf he visto varias demos tuyas, destacando el gran curro que lleva, que utils usas (codigo, debugger, tracker para musica/fx)?

-¿buen canal de informacion técnica de funcionamiento de la Mega existe, incluyendo transaccion DMA detallada con algun ejemplo?
@neohroot

Buenas, personalmente programo el 90% en basic, usando basiegaxorz, y el otro 10% es ASM que meto dentro de codigo basic en BEX tambien

No uso otro compiladores, exepto para codigo antiguo que este en compiladoes propietarios


Sobre el software, uso basicamente BEX como compilador, Paint Shop Pro 6 para edicion de imagenes, Imagenesis/RetroGraphicsToolkit para graficos, windows 98 en el portatil, winXP en el de mesa

De sonido tengo un driver que programe yo en asm, y para la musica nada, xq soy malisimo, pero alguna vez que inclui algun modulo, fue con VGM music maker

De debuggers, nunca uso, suelo probar directo en Kega Fusion, y a lo mucho, en una megadrive radica de esas de atgames que tiene targeta SD, no tengo nigun flashcart, ni suelo conectar la megadrive la verdad, exepto cosa muy puntual


Sobre doc tecnicos, tiro por google y foros, como sega16 o spritesmind, pero siempre tengo los de Charles MacDonald a mano, aunque en general, como ya me los se de memoria, no los consulto nunca

https://emudocs.org/?page=Genesis
vaya muchas por toda la info, ya estoy estudiando.
Respecto al código he visto que lo que más se mueve por la scene habla de C (sgdk), seguido de ASM, entiendo que asm es bastante tedioso, acostumbrado a crear software para PICs a bajo nivel lo confirmo, aunque en mi caso es un método de programar que me gusta bastante, pues está nivelado más a lo "bare metal" con el uC/uP, pero para cualquier método simple (por ejemplo crear una maquina de estados) lleva mas líneas.

He visto tus tutos de Basic, y también en foros gente que dice que no es tan potente como C o ASM. Esto lo puedes confirmar?, entiendo que basic es mas fácil, pero C es C, es mas complicado pero mas extendido.

Y por último, yo ando con un MAC y se que SGDK existe un fork para OS X. Los entendidos del tema conocen mas utilidades para OSx? si tengo que tirar de Parallels, conocéis alguna ISO ligera de windows 7?
@neohroot

Buenas jefe

Todo depende que quieras hacer, scene? demos? practicas? un juego completo?


Sinceramente, todo codigo que escribas, al final el compilador lo traducira a ensamblador, asi q mejor directamente escribe en este lenguaje si queres el mejor rendimiento

Asi q si no escribes en esamblador, todo dependera del compilador,lo que quieras hacer, lo bueno que seas haciendolo, y del tiempo que puedas dedicarle a las cosas


Por ejemplo, esto lo escribi en un rato en basic...

http://www.akihabara-online.com/Megadrive/Ejemplos/nave_ej.zip

Tres planos, algun efecto, sprite funcional, musica, sonido si presionas el C...

Creo q mas q preocuparse por temas de rendimiento, al menos al principio, programes en lo que te sea mas comodo, util y ameno para ti



Sobre windows, si vas a usarlo en una VM supongo tira de XP, con 1Gb de espacio de disco, tienes un XP plenamente funcional con todos los compiladores

Ademas del compilador, creo q lo importante es te fijes si tenes para OSX nativo el RetroGraphicsToolkit, que es de lo mejor para editar los graficos
@theelf

Pues ahora mismo ando muy pillado de tiempo.
Lo que empecé a hacer es ver tus tutos (muy buen curro [oki] ).
Empecé a notar que me faltaba conocimiento de base del funcionamiento general de la Megadrive y decidí tocar al en ASM para familiarizarme un poco.
Como ejemplo de inicio he empezado a interpretar el header de las roms, que incluye los vectores de reset e interrupciones, el tema del TMSS, la inicialización del 68k con el VDP (borrado de CRAM y RAM), e incialización del Z80.
Para ello me he estudio parte del Genesis Technical Overview, mapeos de memoria, ASM 68K, diagrama de bloques y esquemáticos (si me he pasado [facepalm] ) de la máquina..... Y aquí sigo, tratando de hacerme una idea, estudiando documentación y deseando empezar a picar, dentro del poquito tiempo que tengo ahora mismo para esto [buuuaaaa] .

Respecto al MAC, al final he optado por instalar compilador y utilidades bajo Parallels WinXP y va de fábula, tanto velocidad como espacio de la máquina virtual (mucho mejor que con Win7 que venía usando). Gracias por la indicación pues no había caído en lo útil que sigue siendo a día de hoy WinXP.

El Retro-Graphics-Toolkit lo tengo que compilar en OSx, ya te contaré cuando lo tenga funcionando.

Por cierto, ¿no tendrás por ahí el código de nave_ej.zip, si es que me lo puedes pasar? me gustaría trastearlo.
Edito: ¿Alguien sabe como se comunican el Z80 y el 68K mediante el bus de datos? por más que miro el esquema de la megadrive modelo 1, solo veo una línea de datos (ZD0) que llega al arbitrador de buses.... ¿es serie?
@neohroot

Sobre el codigo, el tema q para esas fechas estaba en japon, asi q lo escribi en mi PC alli, hasta octubre q regrese no puedo buscarlo en el PC. Estuve revisando el pendrive q suelo cargar por si lo habia copiado pero nada

Que parte te interesa? puedo volver a escribir los efectos
6 respuestas