Bases para crear una libreria de sprites para C64

Chit chat general. Habla con los MojonTwins y con los amigos de los MojonTwins. Reza a Vah-ka. Delinque. Aviso: está PROHIBIDO tirarse peos fuerte. Si les cortas el pescuezo, vale.

Moderador: na_th_an

Avatar de Usuario
josepzin
Mensajes: 32
Registrado: Mar, 18 May 2010, 20:26
Ubicación: Carthagonova
Contactar:

Bases para crear una libreria de sprites para C64

Mensajepor josepzin » Mar, 18 May 2010, 21:14

Siempre estoy metiendo cania con las versiones de los juegos para Commodore 64, obviamente siempre lo he hecho en broma.

Y tambien esta la intencion de ponerme yo a hacer algun desarrollo en C64, pero siempre se viene postergando esperando "el momento", a este paso el momento nunca llegara, asi que de a poco quiero ir haciendo cosas y quizas algun dia pueda hacer algo decente, pero lo importante es empezar.

Si algo bueno tiene Spectrum (si, algunas cosas buenas tiene :P) es que hay varias librerias graficas para controlar sprites (incluida la vuestra Fourspriter), y aunque suene increible en C64 no he visto por ningun sitio nada parecido... :(

Mi idea seria hacer unas mini librerias basicas para poder gestionar sprites, y pensando (o dejando volar la imaginacion) en el futuro, seria muy interesante si esta minilib tuviera alguna similitud con librerias como splib2 o lo que usais vosotros, para poder portar algun juego (ciertamente, esto esta en el mundo de la fantasia todavia).

Y aunque esto no fuera posible, siempre seria muy interesante contar con los consejos de "gente experimentada" para poder sentar las bases de esta libreria...

En el foro de Commodore Manía hay un poco de movimiento, asi que quizás de a poco y entre varios de alli podamos hacer algo.

Espero que se haya entendido mas o menos mi intencion. No tengo preguntas concretas todavia sobre nada, pero quizas seria interesante tener una primer impresion vuestra sobre esto que planteo.

PD: Me olvidaba presentarme!! Me llamo Troy Maclure y quizas me habeis visto en otras paginas web como CEZ, Retroinvaders, blogs... :P
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Bases para crear una libreria de sprites para C64

Mensajepor na_th_an » Mié, 19 May 2010, 10:06

En realidad lo que abriría la caja de pandora para el C64 sería una biblioteca que pudiese usarse directamente desde un compilador cruzado de C para C64.

Los requerimientos son terriblemente sencillos. Lo mismo que ofrecen splib2, cpcrslib (por software) o la msxlib de utopian (por hardware):

1.- Definir un tile (en 1 bpp o 2 bpp-ladrillar).
2.- Pintar un tile (carácter) en el grid que representa la pantalla. Esto cubre definir el(los) color(es) de dicha casilla, su modo (1bpp o 2bpp ladrillar) y qué tile contiene.
3.- Definir un sprite (tamaño, color y bitmap)
4.- Modificar un sprite (cambiar el bitmap -animación-, color, o la posición -movimiento-).
5.- Leer teclado/joystick.
6.- Hacer sonar el SID, aunque sea para reproducir SFX.

Con eso y un bizcocho, sería "fácil" (que no directo, NUNCA es directo) portar juegos. Y crearlos específicamente también, por supuesto.
Como diría Rorshach: "Urm..."
Avatar de Usuario
josepzin
Mensajes: 32
Registrado: Mar, 18 May 2010, 20:26
Ubicación: Carthagonova
Contactar:

Re: Bases para crear una libreria de sprites para C64

Mensajepor josepzin » Mié, 19 May 2010, 13:44

Gracias nathan. A medida que vayamos avanzando sobre el tema podre hacer preguntas mas concretas.

A que te refieres con 1 bpp o 2 bpp? (bpp)
Avatar de Usuario
Wood
Mensajes: 494
Registrado: Mié, 19 May 2010, 13:52

Re: Bases para crear una libreria de sprites para C64

Mensajepor Wood » Mié, 19 May 2010, 13:55

na_th_an escribió:En realidad lo que abriría la caja de pandora para el C64 sería una biblioteca que pudiese usarse directamente desde un compilador cruzado de C para C64.

Los requerimientos son terriblemente sencillos. Lo mismo que ofrecen splib2, cpcrslib (por software) o la msxlib de utopian (por hardware):

1.- Definir un tile (en 1 bpp o 2 bpp-ladrillar).
2.- Pintar un tile (carácter) en el grid que representa la pantalla. Esto cubre definir el(los) color(es) de dicha casilla, su modo (1bpp o 2bpp ladrillar) y qué tile contiene.
3.- Definir un sprite (tamaño, color y bitmap)
4.- Modificar un sprite (cambiar el bitmap -animación-, color, o la posición -movimiento-).
5.- Leer teclado/joystick.
6.- Hacer sonar el SID, aunque sea para reproducir SFX.

Con eso y un bizcocho, sería "fácil" (que no directo, NUNCA es directo) portar juegos. Y crearlos específicamente también, por supuesto.


Yo ya tengo casi todo eso hecho(desde 2008) como una libreria para CC65, lo que falta es leer el teclado/joystick e la parte del sonido. Leer el Joystick es muy sencillo. Pensé que seria necesario mas cosas por eso lo he dejado porque no he tenido mucho tiempo.
Avatar de Usuario
Wood
Mensajes: 494
Registrado: Mié, 19 May 2010, 13:52

Re: Bases para crear una libreria de sprites para C64

Mensajepor Wood » Mié, 19 May 2010, 13:56

josepzin escribió:Gracias nathan. A medida que vayamos avanzando sobre el tema podre hacer preguntas mas concretas.

A que te refieres con 1 bpp o 2 bpp? (bpp)


1 bit per pixel = hires

2 bits per pixel = multicolor (pixel ladrillos)
Avatar de Usuario
josepzin
Mensajes: 32
Registrado: Mar, 18 May 2010, 20:26
Ubicación: Carthagonova
Contactar:

Re: Bases para crear una libreria de sprites para C64

Mensajepor josepzin » Mié, 19 May 2010, 14:03

Nos vamos cruzando en los fotos jeje

Con tu experiencia con el Nanako seguro que esas librerias estan muy bien.
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Bases para crear una libreria de sprites para C64

Mensajepor na_th_an » Mié, 19 May 2010, 15:23

Pues sí. Y aunque no tenga soporte de sonido aún, bien podrían estar para ir empezando a hacer cosas. ¿Dices que son directamente usables desde cc65? ¿Podrías poner unas sencillas instrucciones de cómo se compilaría y ejecutaría en el emulador un programa sencillo?
Como diría Rorshach: "Urm..."
Avatar de Usuario
Wood
Mensajes: 494
Registrado: Mié, 19 May 2010, 13:52

Re: Bases para crear una libreria de sprites para C64

Mensajepor Wood » Mié, 19 May 2010, 15:35

Yo tengo un programilla de ejemplo del uso de la libreria.

Dejame añadir un par de cosas a la libreria y ya te daré mas información.
He visto que tengo la rutina de tiles pero solo para modo tile. Necesito programar una para modo bitmap.

las funcciones que hay por ahora son

Código: Seleccionar todo

void init_irq(void);
void bitmap_mode(void);
void tile_mode(void);
void hires_mode(void);
void multicolor_mode(void);
void __fastcall__ set_vicBank(unsigned char bank);
void __fastcall__ set_bitmapPos(unsigned char pos);
void __fastcall__ set_charmemPos(unsigned char pos);
void __fastcall__ set_screenPos(unsigned char pos);
void __fastcall__ set_background(unsigned char cor);
void __fastcall__ set_border(unsigned char cor);
void __fastcall__ set_multicolor1(unsigned char cor);
void __fastcall__ set_multicolor2(unsigned char cor);
void __fastcall__ c64_PrintTile(unsigned char x, unsigned char y, unsigned char TileNum);
void __fastcall__ c64_CreateSpr(struct sprite *);
void __fastcall__ c64_SprMc(unsigned char mc1, unsigned char mc2);
void __fastcall__ c64_SprOnOff (struct sprite *);
void __fastcall__ c64_OnOff (struct sprite *);
void c64_SprEnable (struct sprite *);
void c64_SprColor (struct sprite *);
void c64_SprXexpand (struct sprite *);
void c64_SprYexpand (struct sprite *);
void c64_SprPattern (struct sprite *);
void c64_SprMcm (struct sprite *);
void __fastcall__ c64_MoveSpr(struct sprite *spr);
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Bases para crear una libreria de sprites para C64

Mensajepor na_th_an » Mié, 19 May 2010, 15:53

Genial :) Con eso ya se puede ir haciendo un Phantomas para la panera :D :) ;)
Como diría Rorshach: "Urm..."
Avatar de Usuario
angel
Mensajes: 23212
Registrado: Vie, 09 Ene 2009, 13:04
Ubicación: Torreznolandia
Contactar:

Re: Bases para crear una libreria de sprites para C64

Mensajepor angel » Mié, 19 May 2010, 16:10

Genial chicos! ;-)
(_\_) (_|_) (_/_) (_|_) ILLO KE HEHEHEHEHEHEEEHEHEHEH!

¡Activa tu rainbow pechónico!

Volver a “General”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado