Karoshi MSX Community
05 de Julio de 2021, 10:45:22 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2
  Imprimir  
Autor Tema: Desarrollo en SDCC  (Leído 12842 veces)
0 Usuarios y 1 Visitante están viendo este tema.
aorante
Karoshi Maniac
****
Mensajes: 451


nuTella Power!


WWW Email
« : 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, 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!!!  Cheesy) 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!

En línea

--------------------------------- ------ ----- --- -- -
aorante/303bcn
http://aorante.blogspot.com
http://twitter.com/#!/aorante
http://303bcn.wordpress.com/
--------------------------------- ------ ----- --- -- -
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #1 : 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.
En línea
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #2 : 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 Smiley jejejje
Nada .. bienvenido al lado de la fuerza!! Smiley 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.

En línea

MSX4EVER2GETHER
www.nerlaska.com
aorante
Karoshi Maniac
****
Mensajes: 451


nuTella Power!


WWW Email
« Respuesta #3 : 06 de Febrero de 2010, 12:27:04 pm »

Que pasada!!!
No me esperaba una contestación tan rápida!!!  Cheesy

@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.
En línea

--------------------------------- ------ ----- --- -- -
aorante/303bcn
http://aorante.blogspot.com
http://twitter.com/#!/aorante
http://303bcn.wordpress.com/
--------------------------------- ------ ----- --- -- -
andrear1979
Karoshi Newbie
*
Mensajes: 13



WWW Email
« Respuesta #4 : 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.
« Última modificación: 07 de Febrero de 2010, 01:53:04 am por andrear1979 » En línea

"... all toghether, good bad and mean, shall last forever in the Software Bin"
SapphiRe_MSX
Visitante
« Respuesta #5 : 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?
En línea
aorante
Karoshi Maniac
****
Mensajes: 451


nuTella Power!


WWW Email
« Respuesta #6 : 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. Wink
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 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.


En línea

--------------------------------- ------ ----- --- -- -
aorante/303bcn
http://aorante.blogspot.com
http://twitter.com/#!/aorante
http://303bcn.wordpress.com/
--------------------------------- ------ ----- --- -- -
SapphiRe_MSX
Visitante
« Respuesta #7 : 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
En línea
aorante
Karoshi Maniac
****
Mensajes: 451


nuTella Power!


WWW Email
« Respuesta #8 : 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.  Wink
Saludos!
En línea

--------------------------------- ------ ----- --- -- -
aorante/303bcn
http://aorante.blogspot.com
http://twitter.com/#!/aorante
http://303bcn.wordpress.com/
--------------------------------- ------ ----- --- -- -
SapphiRe_MSX
Visitante
« Respuesta #9 : 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.
En línea
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #10 : 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;
}
En línea

MSX4EVER2GETHER
www.nerlaska.com
aorante
Karoshi Maniac
****
Mensajes: 451


nuTella Power!


WWW Email
« Respuesta #11 : 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!!!  Tongue
Estoy mas ilusionado que un niño en vísperas de reyes!!! MandamelooooOOOOoo!!!  Cheesy

En línea

--------------------------------- ------ ----- --- -- -
aorante/303bcn
http://aorante.blogspot.com
http://twitter.com/#!/aorante
http://303bcn.wordpress.com/
--------------------------------- ------ ----- --- -- -
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #12 : 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 Cheesy
En línea

MSX4EVER2GETHER
www.nerlaska.com
aorante
Karoshi Maniac
****
Mensajes: 451


nuTella Power!


WWW Email
« Respuesta #13 : 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!
En línea

--------------------------------- ------ ----- --- -- -
aorante/303bcn
http://aorante.blogspot.com
http://twitter.com/#!/aorante
http://303bcn.wordpress.com/
--------------------------------- ------ ----- --- -- -
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #14 : 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 Smiley) el email .. has mirado en el spam de tu cuenta?
Saludos!
En línea

MSX4EVER2GETHER
www.nerlaska.com
Páginas: [1] 2
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!