Pues tal como dice el titulo, he programado la animacion del Nyan Cat para funcionar en PCs clasicos:
Funciona en cualquier PC con 300kb de memoria libre y tarjeta CGA.
Mas info y descargas aqui:
http://www.360k.es/?p=328
Nyan Cat para PCs clasicos
- mcleod_ideafix
- Amiga 2500
- Mensajes: 5316
- Registrado: 06 Oct 2009, 04:12
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Vectrex
- Primera consola: TV Games/Pong Clone
- Ubicación: Jerez de la Frontera
- Gracias dadas: 12 veces
- Gracias recibidas: 54 veces
- Contactar:
Re: Nyan Cat para PCs clasicos
¿Y el sonido? ¿Es una Sound Blaster o es el beeper usando PWM?
EDITO: ya he leído la descripción, que es con el beeper
EDITO: ya he leído la descripción, que es con el beeper

Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista
- JoJo
- Amiga 1200
- Mensajes: 1067
- Registrado: 03 Feb 2008, 22:45
- Sistema Favorito: PC
- primer_sistema: PC
- consola_favorita: Nintendo SNES
- Primera consola: (Otro)
- Gracias dadas: 29 veces
- Gracias recibidas: 87 veces
Re: Nyan Cat para PCs clasicos
mcleod_ideafix escribió:¿Y el sonido? ¿Es una Sound Blaster o es el beeper usando PWM?
EDITO: ya he leído la descripción, que es con el beeper
Sep, el beeper con el audio muestreado a 8khz

- mcleod_ideafix
- Amiga 2500
- Mensajes: 5316
- Registrado: 06 Oct 2009, 04:12
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Vectrex
- Primera consola: TV Games/Pong Clone
- Ubicación: Jerez de la Frontera
- Gracias dadas: 12 veces
- Gracias recibidas: 54 veces
- Contactar:
Re: Nyan Cat para PCs clasicos
Lástima que sólo haya 16KB en la CGA. De todas formas... ¿podría aumentarse artificialmente la resolución usando caracteres de bloque? Yo porque dibujando soy un negado, pero creo que se podría conseguir un dibujo de 80x50 usando dichos caracteres, si bien con la limitación de que dentro de un bloque de carácter sólo pueda haber dos colores.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista
- na_th_an
- Amiga 1200
- Mensajes: 1273
- Registrado: 10 Oct 2012, 11:17
- Sistema Favorito: (Otro)
- primer_sistema: Spectrum +2
- consola_favorita: Sony PlayStation 1
- Primera consola: Sega Master System
- Gracias dadas: 18 veces
- Gracias recibidas: 15 veces
Re: Nyan Cat para PCs clasicos
mcleod_ideafix escribió:Lástima que sólo haya 16KB en la CGA. De todas formas... ¿podría aumentarse artificialmente la resolución usando caracteres de bloque? Yo porque dibujando soy un negado, pero creo que se podría conseguir un dibujo de 80x50 usando dichos caracteres, si bien con la limitación de que dentro de un bloque de carácter sólo pueda haber dos colores.
A menos que redefinas el charset (y creo que en la CGA no se puede hacer en modo de texto), no existe un set de caracteres de bloque completos. Sólo hay mitades horizontales y mitades verticales. Se puede usar las mitades horizontales para tener 80x50 "píxels" en modo de texto de 80x25, usando dos colores por celda (convirtiendo cada celda de caracter en 2). El problema es que, aunque la "tinta" puede tomar cualquiera de los 16 colores, el "papel" sólo puede tomar los 8 primeros, ya que el bit 4 del papel indica parpadeo. En la VGA se podía cambiar este comportamiento para poder usar 16 colores en el "papel", pero desconozco si la CGA permitía hacer lo mismo.
EDITO: En efecto, la CGA permite desactivar el parpadeo:
Código: Seleccionar todo
mov ax,40H
mov es,ax
mov dx,es:[063H] ;get port address of the card
add dx,4
mov al,es:[065H] ;get current value of Mode Select Register
and al,0dfH ;mask value by 1101 1111 (to clear bit 5)
out dx,al ;disable blink
mov es:[065H],al ;save the new setting
En ese caso, sí, se podría tener un display de 80x50 en 16 colores usando el modo de texto y el caracter con ASCII 220 (o 223), y tocando solo los nibbles de los bytes de atributos. http://es.wikipedia.org/wiki/P%C3%A1gin ... 3digos_437
Última edición por na_th_an el 18 Sep 2013, 11:51, editado 1 vez en total.
- mcleod_ideafix
- Amiga 2500
- Mensajes: 5316
- Registrado: 06 Oct 2009, 04:12
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Vectrex
- Primera consola: TV Games/Pong Clone
- Ubicación: Jerez de la Frontera
- Gracias dadas: 12 veces
- Gracias recibidas: 54 veces
- Contactar:
Re: Nyan Cat para PCs clasicos
Ah! que solo hay mitades... Pensé que había el mismo conjunto de bloques que en el Spectrum...
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista
- antoniovillena
- Amiga 1200
- Mensajes: 2013
- Registrado: 16 Abr 2012, 21:22
- Gracias recibidas: 8 veces
Re: Nyan Cat para PCs clasicos
Se puede hacer un truco parecido para tener 160x100x16. Cambiando el registro de altura de celda para que valga 2 en lugar de 8 tendríamos 80x100 en lugar de 80x25. Por otro lado usamos los valores ASCII 221 y 222 para duplicar la resolución horizontal.
Fuente, la Wikipedia.
http://en.wikipedia.org/wiki/Color_Graphics_Adapter
Fuente, la Wikipedia.
http://en.wikipedia.org/wiki/Color_Graphics_Adapter
- JoJo
- Amiga 1200
- Mensajes: 1067
- Registrado: 03 Feb 2008, 22:45
- Sistema Favorito: PC
- primer_sistema: PC
- consola_favorita: Nintendo SNES
- Primera consola: (Otro)
- Gracias dadas: 29 veces
- Gracias recibidas: 87 veces
Re: Nyan Cat para PCs clasicos
Se puede hacer eso perfectamente que deciis, la gracia esta en 'dibujar' con los asciis. El charset no se puede reprogramar, pero si elegimos el ascii (y el color) adecuado para un grupo de pixeles, el resultado puede ser interesante:
En 40x25 (simulamos 320x200):
En 80x50 (simulamos 640x200):
Yo he decidido no hacer uso de ninguno de estos trucos porque lo que necesitaba era un gran framerate sin usar tiempo de cpu, ya que esta se esta dedicando al sonido. Hacerlo de otra manera hubiera requerido de muchos accesos a memoria de video y por tanto, ralentizando la animacion.
La idea es que funcione bien hasta en un 8088 a 4,77mhz
En 40x25 (simulamos 320x200):
En 80x50 (simulamos 640x200):
Yo he decidido no hacer uso de ninguno de estos trucos porque lo que necesitaba era un gran framerate sin usar tiempo de cpu, ya que esta se esta dedicando al sonido. Hacerlo de otra manera hubiera requerido de muchos accesos a memoria de video y por tanto, ralentizando la animacion.
La idea es que funcione bien hasta en un 8088 a 4,77mhz

- na_th_an
- Amiga 1200
- Mensajes: 1273
- Registrado: 10 Oct 2012, 11:17
- Sistema Favorito: (Otro)
- primer_sistema: Spectrum +2
- consola_favorita: Sony PlayStation 1
- Primera consola: Sega Master System
- Gracias dadas: 18 veces
- Gracias recibidas: 15 veces
Re: Nyan Cat para PCs clasicos
antoniovillena escribió:Se puede hacer un truco parecido para tener 160x100x16. Cambiando el registro de altura de celda para que valga 2 en lugar de 8 tendríamos 80x100 en lugar de 80x25. Por otro lado usamos los valores ASCII 221 y 222 para duplicar la resolución horizontal.
Fuente, la Wikipedia.
http://en.wikipedia.org/wiki/Color_Graphics_Adapter
Algo parecido hacía el emulador Spectrum de Pedro Gimeno. Usaba un modo de texto de 40 columnas con el registro programado a 1 pixel de altura, y redefinía el set de caracteres para tener cada ASCII representando al patrón binario correspondiente. Así tenía una pantalla gráfica muy parecida a la del Spectrum, y la emulación volaba. En VGA, desde luego, pero es una idea brillante.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados