He usado solo Ensamblador, ni uso las rutinas de la rom(Kernal). No hay librerias, he creado todas las rutinas de raíz. Espero poder usarlas en otros proyectos.josepzin escribió:¿¿Siii?? Pensé que estaba hecho con caracteres redefinidos, que es lo normal.WoodMaster escribió:- Esta en modo bitmap multicolor(la pantalla ocupa 10K, 8 de bitmap, mas dos paginas de atributos de 1k cada), por eso tenemos mas colores(3 libres por cada celda de 4x8 pixels ladrillo, y el color negro comun a toda pantalla), la mayoria de juegos c64 usa el modo 'tiles/chars' que es muy economico(1k solamente, o 2k con pagina de atributos) pero tambien con mas restricciones en lo que se refiere a colores(3 fijos por celda y 1 libre de los 8 primeros colores de la paleta(con rasters se puede usar mas colores, por exemplo los juegos Creatures I & II, y Mayhem in Monsterland, etc).
Si, claro! Cosas sobre la programación! ¿Qué has usado? ¿Ensamblador? ¿Librerías?WoodMaster escribió:Quereis saber algo mas?
Nanako in CJMC (Amstrad CPC)
- WoodMaster
- 32 bits

- Mensajes: 697
- Registrado: 13 Jul 2007 15:31
- Ubicación: Fi algharb alandalus
Re: Nanako in CJMC (Amstrad CPC)
- josepzin
- 128 bits

- Mensajes: 2238
- Registrado: 25 Oct 2005 18:03
- Ubicación: Carthagonova
- Contactar:
Re: Nanako in CJMC (Amstrad CPC)
Me imagino que habrás hecho unas librerías para mover sprites y bloques gráficos como sprites. ¿hiciste algo para tener mas de 8 sprites en pantalla? ¿piensas liberar el codigo?WoodMaster escribió:He usado solo Ensamblador, ni uso las rutinas de la rom(Kernal). No hay librerias, he creado todas las rutinas de raíz. Espero poder usarlas en otros proyectos.josepzin escribió:Si, claro! Cosas sobre la programación! ¿Qué has usado? ¿Ensamblador? ¿Librerías?
- WoodMaster
- 32 bits

- Mensajes: 697
- Registrado: 13 Jul 2007 15:31
- Ubicación: Fi algharb alandalus
Re: Nanako in CJMC (Amstrad CPC)
Nada de especial, el juego no ha necesitado de un sprite multiplexer, uso solamente 7 sprites, talvez aun voy a usar ese ultimo que me queda pero no sé depiende del tiempo que tenga. (En otro juego que estoy programando reutilizo sprites(no es verdadero multiplexer), porque necesito mas de 8 en la pantalla)josepzin escribió:Me imagino que habrás hecho unas librerías para mover sprites y bloques gráficos como sprites. ¿hiciste algo para tener mas de 8 sprites en pantalla? ¿piensas liberar el codigo?WoodMaster escribió:He usado solo Ensamblador, ni uso las rutinas de la rom(Kernal). No hay librerias, he creado todas las rutinas de raíz. Espero poder usarlas en otros proyectos.josepzin escribió:Si, claro! Cosas sobre la programación! ¿Qué has usado? ¿Ensamblador? ¿Librerías?
las rutinas que he programado de utilidad para otros juegos son de impresion de bloques. El movimiento de sprites es simple el peor ha sido que tenemos una resolucion de 320 pixels y como sabemos eso na cabe en un registo de 8 bits (el c64 no tiene registos de 16bits), he tenido que jugar con el MSB de los sprites.
Yo he empezado a programar hace tiempo una libreria(rutinas assembler) para usar en C (C65) para C64, mueve sprites, pinta bloques etc. Pero necesito terminarla.
El codigo de nanako esta altamente ininteligible, uso codigo que se modifica a si mismo, y otras cosas para optimizacion, tendre que limpiarlo, organizarlo y incluir comentario si lo publico.
- josepzin
- 128 bits

- Mensajes: 2238
- Registrado: 25 Oct 2005 18:03
- Ubicación: Carthagonova
- Contactar:
Re: Nanako in CJMC (Amstrad CPC)
Das miedo...WoodMaster escribió:El codigo de nanako esta altamente ininteligible, uso codigo que se modifica a si mismo, y otras cosas para optimizacion, tendre que limpiarlo, organizarlo y incluir comentario si lo publico.
Me resulta increíble que no haya nada ya hecho para C64 :OWoodMaster escribió:josepzin escribió: Yo he empezado a programar hace tiempo una libreria(rutinas assembler) para usar en C (C65) para C64, mueve sprites, pinta bloques etc. Pero necesito terminarla.
- WoodMaster
- 32 bits

- Mensajes: 697
- Registrado: 13 Jul 2007 15:31
- Ubicación: Fi algharb alandalus
Re: Nanako in CJMC (Amstrad CPC)
Hay librerias sip, pero no especificas para juegos. Esa que yo he empezado a programar sigue mas o menos esas que hay para spectrum (splib o algo), msx, cpc, para que sea mas facil para algunos que posiblemente quieran programar el c64 (hint hint -> na_th_an , etc)josepzin escribió:Das miedo...WoodMaster escribió:El codigo de nanako esta altamente ininteligible, uso codigo que se modifica a si mismo, y otras cosas para optimizacion, tendre que limpiarlo, organizarlo y incluir comentario si lo publico.
Incluso yo he tenido problemas cuando no he tocado en nanako por algunos meses, NO me puedo olvidar de comentar el código (siempre digo esto pero raramente lo hago)
Me resulta increíble que no haya nada ya hecho para C64 :OWoodMaster escribió:josepzin escribió: Yo he empezado a programar hace tiempo una libreria(rutinas assembler) para usar en C (C65) para C64, mueve sprites, pinta bloques etc. Pero necesito terminarla.
Las rutinas que tengo implementadas en esa libreria 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);- Ivanzx
- 256 bits

- Mensajes: 4316
- Registrado: 20 Nov 2005 00:50
- Ubicación: Frankfurt, Germany
- Contactar:
Re: Nanako in CJMC (Amstrad CPC)
Pues que yo recuerde la version Spectrum no tenia ninguna pega de movimiento, y se jugaba perfectamente, de hecho tengo que reconocer que al principio no pillaba la mecanica del juego y me parecia muy dificil, pero cuando se la pillé me enganchó totalmente, creo que es lo mismo que le ha pasado a Gandulf 
- na_th_an
- 256 bits

- Mensajes: 11874
- Registrado: 22 Abr 2005 13:25
- Contactar:
Re: Nanako in CJMC (Amstrad CPC)
Eso me parece realmente... ¿sexy?WoodMaster escribió:[...]Esa que yo he empezado a programar sigue mas o menos esas que hay para spectrum (splib o algo), msx, cpc, para que sea mas facil para algunos que posiblemente quieran programar el c64 (hint hint -> na_th_an , etc)
Las rutinas que tengo implementadas en esa libreria 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);
- MFM
- 16 bits

- Mensajes: 283
- Registrado: 17 Ene 2009 05:48
Re: Nanako in CJMC (Amstrad CPC)
Sí, no lo dudo. Pero el movimiento era de 8 en 8 pixels y de entrada este tipo de juegos me chirrían. Además, era una época en que por motivos que sabeis seguramente no le dí la oportunidad que el juego merecía.Ivanzx escribió:Pues que yo recuerde la version Spectrum no tenia ninguna pega de movimiento, y se jugaba perfectamente
Un saludo,
MFM Gandulf
MFM Gandulf
- WoodMaster
- 32 bits

- Mensajes: 697
- Registrado: 13 Jul 2007 15:31
- Ubicación: Fi algharb alandalus
Re: Nanako in CJMC (Amstrad CPC)
Solo le falta las tetas.... juasna_th_an escribió:Eso me parece realmente... ¿sexy?WoodMaster escribió:[...]Esa que yo he empezado a programar sigue mas o menos esas que hay para spectrum (splib o algo), msx, cpc, para que sea mas facil para algunos que posiblemente quieran programar el c64 (hint hint -> na_th_an , etc)
Las rutinas que tengo implementadas en esa libreria 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);La cosa es entenderse con el cc65 y usar la biblioteca, y empezar a hacer pinitos
Mira na_than, dime qué rutinas (más) usas de esas librerias de spectrum y cpc. Asi seria mas facil para avanzar y tenermos algo usable pronto(relativamente) para hacer pinitos.
- na_th_an
- 256 bits

- Mensajes: 11874
- Registrado: 22 Abr 2005 13:25
- Contactar:
Re: Nanako in CJMC (Amstrad CPC)
En realidad necesito poco. Básicamente necesito:
1.- Rutinas para definir tiles desde el código. Para definir la información de un tile de 4x8 u 8x8, dependiendo del modo, vaya.
2.- Rutinas para pintar un tile o un grupo de tiles (en buffers rectangulares) en la pantalla. Rutinas para capturar un tile o un grupo de tiles desde la pantalla.
3.- Rutinas para definir sprites y moverlos.
4.- Rutinas para cargar una canción y reproducirla.
5.- Rutinas para reproducir efectos de sonido.
6.- Rutinas para leer el teclado o los joysticks.
Y en realidad poco más
En realidad lo que más necesito es tiempo. Todo eso de arriba lo tengo ya para MSX gracias a Utopian y aún no he tenido tiempo de ponerme a experimentar
1.- Rutinas para definir tiles desde el código. Para definir la información de un tile de 4x8 u 8x8, dependiendo del modo, vaya.
2.- Rutinas para pintar un tile o un grupo de tiles (en buffers rectangulares) en la pantalla. Rutinas para capturar un tile o un grupo de tiles desde la pantalla.
3.- Rutinas para definir sprites y moverlos.
4.- Rutinas para cargar una canción y reproducirla.
5.- Rutinas para reproducir efectos de sonido.
6.- Rutinas para leer el teclado o los joysticks.
Y en realidad poco más
En realidad lo que más necesito es tiempo. Todo eso de arriba lo tengo ya para MSX gracias a Utopian y aún no he tenido tiempo de ponerme a experimentar
- josepzin
- 128 bits

- Mensajes: 2238
- Registrado: 25 Oct 2005 18:03
- Ubicación: Carthagonova
- Contactar:
Re: Nanako in CJMC (Amstrad CPC)
"Esto puede ser el comienzo de una gran amistad" (Commodore64 <--> Spectrum/MSX/CPC)WoodMaster escribió:Mira na_than, dime qué rutinas (más) usas de esas librerias de spectrum y cpc. Asi seria mas facil para avanzar y tenermos algo usable pronto(relativamente) para hacer pinitos.
- WoodMaster
- 32 bits

- Mensajes: 697
- Registrado: 13 Jul 2007 15:31
- Ubicación: Fi algharb alandalus
Re: Nanako in CJMC (Amstrad CPC)
El problem es el compilador C que es otro y ademas si necesitas tener alguna rutina inline en assembler, no es Z80josepzin escribió:"Esto puede ser el comienzo de una gran amistad" (Commodore64 <--> Spectrum/MSX/CPC)WoodMaster escribió:Mira na_than, dime qué rutinas (más) usas de esas librerias de spectrum y cpc. Asi seria mas facil para avanzar y tenermos algo usable pronto(relativamente) para hacer pinitos.
- NeilParsons
- 128 bits

- Mensajes: 1725
- Registrado: 23 Oct 2006 13:21
- Ubicación: Al borde del estrecho y a un paso de Gibraltar
- Contactar:
Re: Nanako in CJMC (Amstrad CPC)
82% según Retro Gamer. ¿Dónde está el champán para celebrarlo?
http://programbytes48k.wordpress.com/20 ... tro-gamer/
http://www.mojontwins.com/2009/07/20/nc ... etrogamer/

http://programbytes48k.wordpress.com/20 ... tro-gamer/
http://www.mojontwins.com/2009/07/20/nc ... etrogamer/
They tried to make me go to rehab
but I said, no no no.
but I said, no no no.
- pagantipaco
- 128 bits

- Mensajes: 2922
- Registrado: 03 Oct 2006 11:41
- Ubicación: Madrid
- Contactar:
Re: Nanako in CJMC (Amstrad CPC)
Pues yo espero que sí lo celebren... qué buena nota, ¡enhorabuena! sobretodo porque pienso que ser elegido para una reseña ya es todo un logro y un 82% es un notable alto de los buenos
Espero que sigais con esa calidad 
Un saludo.
Paco.
Paco.