Karoshi MSX Community

Desarrollo MSX => Desarrollo (Español/Spanish) => Mensaje iniciado por: aorante en 06 de Febrero de 2010, 12:48:10 am



Título: Desarrollo en SDCC
Publicado por: aorante en 06 de Febrero de 2010, 12:48:10 am
Hola a todos!

He empezado un proyecto de un editor de los registros del PSG, con la idea de aprender.
Estoy publicando todo los pasos en un blog:psged.blogspot.com (http://psged.blogspot.com/), con la intención de compartir la experiencia.

Quiero desarrollarlo usando C, ya que usar únicamente Assembler, es demasiado duro para mi.

Tuve la fortuna de conocer a Nerlaska en la pasada RU y me hablo del SDCC. He visto su doc para hacer ROMs y he conseguido hacer el "Hello World" siguiendo el artículo de Avelino Herrera.
Hoy me he leído todos los temas de este foro, donde salia la palabra SDCC (un montón y en todos estaba Nerlaska!!!  :D) y pensaba que la cosa seria más sencilla pero me encuentro un poco perdido por que no he encontrado apenas información y ninguna lib de apoyo para este entorno de programación.
Si que he visto que para Hitech-C hay la GFX Lib de Jannone, pero ¿saveis si hay algo parecido para SDCC?

Gracias!



Título: Re: Desarrollo en SDCC
Publicado por: pitpan en 06 de Febrero de 2010, 07:30:58 am
Aparentemente, SDCC funciona muy bien. No sé qué tal es en cuanto a optimización, creo que en algún lugar lei que generaba un código más compacto y eficiente HI-TECH C, pero éste es de pago, aunque circule por Internet.

Por mi parte, decirte que si lo que pretendes es aprender, lo haría al revés: empápate del ensamblador, que no es tan difícil como parece, comprende bien cómo se accede al hardware, y después, si quieres, pásate al C, que es mucho más cómodo para desarrollar la lógica del programa.

Tu proyecto tiene básicamente un interfaz (VDP) y acceso al audio (PSG). No sé si has visto cómo funciona el editor del Caruso (lo tienes como aplicación de Karoshi), pero no anda muy lejos de lo que tú pretendes, aunque el mío sea infinitamente más feo. Tu editor, si no lo he entendido mal, trabaja volcando 12 bytes cada vez al PSG... eso te generará canciones enormes.

En cualquier caso, me alegra que te hayas activado. Si necesitas cualquier ayuda, ya sabes dónde andamos. Y ya que te he visto fuerte con el tema gráfico, igual te planteo alguna cosilla, que también necesito reactivarme.


Título: Re: Desarrollo en SDCC
Publicado por: nerlaska en 06 de Febrero de 2010, 11:19:34 am
Hombre .. en el otro thread no te habia reconocido .. pero luego atando cabos y viendo tu blog .. he recordado :) jejejje
Nada .. bienvenido al lado de la fuerza!! :) del SDCC pocos encontrarás que hayan hecho cosas .. pero alguno hay.
En fin  .. me alegro que hayas empezado con lo del SDCC .. como te decia en el otro thread .. si quieres te paso el SDK para MSXDOS2.x que tiene para manipular el VDP de los MSX1, 2, 2+, el GFX9000, el PSG, SCC, MSXAudio, MSXMusic y en general un montón de cosas. Lo que necesites .. lo tratamos por el foro, por email .. como más gustes.
Como ya te dije en la RU .. ningún problema en echarte una mano y que puedas acabar haciendo cositas para el MSX.



Título: Re: Desarrollo en SDCC
Publicado por: aorante en 06 de Febrero de 2010, 12:27:04 pm
Que pasada!!!
No me esperaba una contestación tan rápida!!!  :D

@pitpan, tu desarrollaste el Caruso? Personalmente me parece muy bueno, y justamente la interfaz me pareció de las más cuidadas que he visto.
Yo he programado algo en Assembler, para apoyar algunos programillas que hice en basic. Más que nada para acelerar temas gráficos. El hardware de los MSX1, conozco como se accede al VDP y el PSG pero donde tengo que aplicarme es en el tema del mapeo de la memoria y las interrupciones.
El proyecto es simplemente para juguetear con el PSG y aunque podría estar bien lo de guardar los valores de los registros en cada paso, lo unico que hace es disparar los que tiene editados, aunque se cambien mientras se tocan. Si después de terminar lo que tengo en mente al usarlo veo que esta chulo, lo mismo me curro otra versión con más funcionalidades y una pantalla para el secuenciador, que permita más patrones.
Yo encantado de poder ayudar en cuestiones gráficas.

@nerlaska.
La verdad es que agradezco mucho tu ayuda. Me he animado a ponerme en serio con este proyecto gracias a la charla que tuvimos en la RU. Eso de que tenga soporte para SCC me pone los dientes largos. Me gusta mucho el resultado que se consigue con este chip tan simple. Nos ponemos en contacto por mail.


Título: Re: Desarrollo en SDCC
Publicado por: andrear1979 en 07 de Febrero de 2010, 01:49:59 am
(excuse me, I cannot write in Spanish)

Hola aorante, welcome in the "SDCC appreciation club".
I sometimes develop in SDCC for MSX but at a beginner level
I will keep following your blog, good luck for your project.

Andrea



(a rough Google translation follows)

Aorante Hola, bienvenido en el "club de apreciación SDCC".
A veces desarrollo en SDCC para MSX, pero a un nivel de principiante
Seguiré tu blog, buena suerte para tu proyecto.


Título: Re: Desarrollo en SDCC
Publicado por: SapphiRe_MSX en 07 de Febrero de 2010, 02:34:10 pm
El hardware de los MSX1, conozco como se accede al VDP y el PSG pero donde tengo que aplicarme es en el tema del mapeo de la memoria y las interrupciones.

Bueno, por lo que he leído de tu proyecto, quieres que sea una ROM de 32K, por lo que (a priori) no vas a necesitar nada relacionado con el mapeo de memoria, ya que dispondrías de los 16k superiores de RAM para tí solito (vale, salvo en los pocos modelos que tienen 8k). Si necesitas más memoria RAM... bueno, ya habría que buscarla (si hay), pero no pienses en ese tema hasta que veas que es necesario.

Con respecto a las interrupciones, no hay mucho misterio. En el subforo de snippets podrás encontrar uno bastante sencillo que te permite engancharte en la rutina de interrupciones y pasar (algo) de la BIOS. Todo depende de lo que vayas a necesitar, pero básicamente con ese snippet ya tendrías bastante resuelto. Ahora, también puedes pasar de engancharte en las interrupciones y dejar que sea la propia BIOS la que las gestione, con lo cual no tendrías que preocuparte de ellas lo más mínimo. Sincronizas con HALT y asunto arreglado.

Eso sí, creo que te falta algo fundamental: acceso a disco/cassette. La aplicación resultaría mucho más útil si tienes la posibilidad de grabar lo que vayas generando (o cargarlo para seguir editando). ¿Cómo tienes pensado resolver el tema?


Título: Re: Desarrollo en SDCC
Publicado por: aorante en 07 de Febrero de 2010, 03:14:52 pm
Thanks Andrea for your comments.
I am interested in publishing the blog in English so that more people can use my experience, but my English is very poor (I'm using a translator). I have to solve my problem of language. ;)
I have seen your site, specifically, your project INERTIA and your editor sprites. I appreciate your help. 

---

Gracias SapphiRe por tu ayuda.
Creo que lei parte del subforo que comentas. ¿Puede ser el relacionado con la visualización de más de 5 sprites por línea?
Con respecto a lo del acceso a ficheros, es algo que justamente me interesa mucho. La idea es que este proyecto me sirva como experiencia para hacer un tracker para el módulo de Yamaha SG01/05 que incorpora los CX5M, y necesito aprender como funciona el tema. He visto en la web de Konamito, unos tutoriales de Assembler de Ramones, que tocan temas bastante concretos como el  acceso a disco desde la ROM (http://www.konamito.com/tutorial-ensamblador-ii-%E2%80%93-acceso-al-disco-desde-la-rom/) y la programación del teclado, joystick y ratón, que también me interesan mucho. No me los he leído todavía, pero parecen que están bastante bien.




Título: Re: Desarrollo en SDCC
Publicado por: SapphiRe_MSX en 07 de Febrero de 2010, 06:47:18 pm
Creo que lei parte del subforo que comentas. ¿Puede ser el relacionado con la visualización de más de 5 sprites por línea?

Pues no, para nada. Me refería a la forma de enganchar el programa en los ganchos que, a tal efecto, dispone la BIOS en RAM. Mira en http://karoshi.auic.es/index.php?topic=212.0


Título: Re: Desarrollo en SDCC
Publicado por: aorante en 10 de Febrero de 2010, 02:14:02 pm
Gracias SapphiRe!
Lo miraré detenidamente. Es básico para poder reproducir la secuencia.
Quiero esta semana empezar a programar.  Ya te contaré que tal me va.  ;)
Saludos!


Título: Re: Desarrollo en SDCC
Publicado por: SapphiRe_MSX en 10 de Febrero de 2010, 02:37:42 pm
No tiene mucho misterio, la verdad. De todas formas, para una aplicación quizá te sea más conveniente que la BIOS haga todo su trabajo y realizar sincronizaciones con HALT, con lo que no necesitarías ni enganchar tu propia rutina de gestión de interrupciones.


Título: Re: Desarrollo en SDCC
Publicado por: nerlaska en 10 de Febrero de 2010, 03:17:08 pm
Eso con el SDK que te he pasado .. mirate dentro de samples el isr.c

Código:
void MyHook (void) interrupt
{
  static _inHook = 0;

  ISR_ENTER();

  Log ("%d", _inHook++);

  ISR_LEAVE();
}

///////////////////////////////////////////////////////////////////////////

int main (char *argv[], int argc)
{
  ISR_Init ((void *)MyHook);
 
  Log ("Press SPACE to stop...");
  while (!PPI_IsKeyPressed (KEY_SPACE))
  {
  }
 
  ISR_Exit ();

  return 0;
}


Título: Re: Desarrollo en SDCC
Publicado por: aorante en 12 de Febrero de 2010, 07:06:45 pm
Perdona Nerlaska, pero te mande un mail y no he recibido contestacion, por lo que no tengo tu SDK!!!  :P
Estoy mas ilusionado que un niño en vísperas de reyes!!! MandamelooooOOOOoo!!!  :D



Título: Re: Desarrollo en SDCC
Publicado por: nerlaska en 13 de Febrero de 2010, 10:57:19 am
Hola .. si que te lo envié .. nada más recibir tu email .. que raro .. voy a mirar otra vez.
SI si .. aquí lo tengo .. enviado el 06/02 .. sábado .. y te incluia el SDK.
Te lo reenvío de nuevo que seguro que debo estar perdido en tu emails con virus o algo :D


Título: Re: Desarrollo en SDCC
Publicado por: aorante en 13 de Febrero de 2010, 05:20:59 pm
Hola nerlaska!
Te he reenviado mi correo ya que no he recibido nada. He usado la dirección mail que me diste en la RU.
Saludos!


Título: Re: Desarrollo en SDCC
Publicado por: nerlaska en 13 de Febrero de 2010, 08:23:31 pm
Correcto, correcto .. si yo si leo tus emails .. vamos, me llegan.
Te he vuelto a reenviar (por 3a. vez :)) el email .. has mirado en el spam de tu cuenta?
Saludos!


Título: Re: Desarrollo en SDCC
Publicado por: nerlaska en 13 de Febrero de 2010, 08:27:50 pm
Vale .. jejeje .. el problema no es tuyo .. sino mío .. me esta devolviendo los emails que te paso .. no se si por algún límite de tamaño en tu cuenta de email.
A ver si descubro los males.


Título: Re: Desarrollo en SDCC
Publicado por: aorante en 15 de Febrero de 2010, 12:38:11 pm
Lo tengo!!!  :D

Gracias!


Título: Re:Desarrollo en SDCC
Publicado por: AlexFonewn en 13 de Abril de 2018, 08:37:48 am
Hola, muy tarde pero me apunto esto para seguirlo.


Título: Re:Desarrollo en SDCC
Publicado por: Fubukimaru en 17 de Abril de 2018, 07:19:37 pm
Hola Alex,

No vas tan tarde. Aorante está sacando ahora templates y librerías para SDCC.

https://github.com/mvac7

Entre lo que tiene, tiene unas plantillas para hacer Hello World de diferentes tamaños de ROM :)


Título: Re:Desarrollo en SDCC
Publicado por: aorante en 03 de Mayo de 2018, 04:51:48 pm
Hola!

Lo  dicho por Fubu.
Aun me falta subir a Git bastante material.
Voy poco a poco... ;)

Para cualquier duda, podemos utilizar estos foros, así queda una base de conocimientos que puede ser útil para otros en el futuro...

Salu2!