Nuevo proyecto para CPC

Aquí solo proyectos que incluyan el código fuente

Moderador: Fundadores

Reglas del Foro
Si no se incluyen los fuentes, se debe usar el foro de proyectos de software generales
Avatar de Usuario
derdhal
USUARIO BANEADO
USUARIO BANEADO
Mensajes: 721
Registrado: 23 Jun 2013, 20:33
Ubicación: Valencia

Re: Nuevo proyecto para CPC

Mensaje por derdhal »

Bubu escribió:Ondiá, eso sisnifica que el Amstrad toma 16KB de la RAM para el vidrio, mientras que el Spectrum tomaba 6.75KB. Entóns, que si elijo el modo Modo 1: 320x200 pixeles y 4 colores p.ej., sisnifica que cada píxel de esos 320x200 píxeles tiene 4 colores, y como 4 colores viene dado por 2 bits, y un byte son 8 bits, tendríamos que:

1 byte = AABBCCDD

Cada byte de la RAM daría para 4 píxeles, ¿nor?

La verdad es que el sistema ideal para pintar, el del Spectrum es una paranoia, pero claro, el Spectrum solo tenía 48KB de RAM, y 48KB - 6.75KB = 41.25 KB para pogramar. En el Amstrad 64KB - 16KB = 48KB para pogramar.
Y en tiendo que si el byte es AABBCCDD, cada 2 bits es un número entre 0 y 3 para seleccionar uno de los N colores de la paleta de colores, ¿nor?
Exacto. En el Modo 1, cada byte de memoria son 4 pixeles de la pantalla. En el Modo 2, 1 byte son 8 pixeles y en el Modo 0, 1 byte son 2 pixeles. Desconozco el Spectrum, así que no sé comparar si es mejor o peor.

También es correcto lo de los 2 bits para seleccionar el color en la paleta... Lo que pasa es que si fuera así sería demasiado sencillo, jejeje... En realidad va así:

Modo 2, 640×200, 2 colores (cada byte de la memoria de video representa 8 pixeles):
bit 7: pixel 0
bit 6: pixel 1
bit 5: pixel 2
bit 4: pixel 3
bit 3: pixel 4
bit 2: pixel 5
bit 1: pixel 6
bit 0: pixel 7

Modo 1, 320×200, 4 colores (cada byte de la memoria de video representa 4 pixeles):
bit 7: pixel 0 (bit 1)
bit 6: pixel 1 (bit 1)
bit 5: pixel 2 (bit 1)
bit 4: pixel 3 (bit 1)
bit 3: pixel 4 (bit 0)
bit 2: pixel 5 (bit 0)
bit 1: pixel 6 (bit 0)
bit 0: pixel 7 (bit 0)

Modo 0, 160×200 píxeles con 16 colores (cada byte de la memoria de video representa 2 pixeles):
bit 7: pixel 0 (bit 0)
bit 6: pixel 1 (bit 0)
bit 5: pixel 0 (bit 2)
bit 4: pixel 1 (bit 2)
bit 3: pixel 0 (bit 1)
bit 2: pixel 1 (bit 1)
bit 1: pixel 0 (bit 3)
bit 0: pixel 1 (bit 3)
(tócate los cojones mariloli)

Y luego viene cuando nos enteramos de que la memoria de vídeo no es lineal en el Amstrad. Los 3 modos tienen 200 lineas, y cada linea son 80 bytes (lo que nos da los 160, 320 y 640 pixeles según el modo). Si empezamos en C000 y rellenamos los 80 primeros bytes, vemos como se colorea la primera linea... pero si seguimos rellenando los 80 siguientes bytes, se nos queda cara de bobo cuando vemos que la segunda linea no se rellena... se salta unas cuantas y rellena la linea 8... y si rellenamos los siguientes 80, se pinta la linea 16... y así sucesivamente.

Este modo de rellenar la pantalla nos resultará familiar a los que cargábamos desde cinta... que veiamos como la pantalla de carga se iba dibujando de esta manera...
Avatar de Usuario
derdhal
USUARIO BANEADO
USUARIO BANEADO
Mensajes: 721
Registrado: 23 Jun 2013, 20:33
Ubicación: Valencia

Re: Nuevo proyecto para CPC

Mensaje por derdhal »

DIARIO DE A BORDO. ENTRADA #3

Querido diario,
Hoy hemos hecho grandes avances.
Hemos añadido colisiones con los enemigos, se restan vidas cuando te toca algún enemigo. También hemos añadido "tesoros" (u objetos a recoger) repartidos por la pantalla.
Y hemos añadido un sistema de aceleración para el personaje. Si se mantiene la tecla de dirección apretada, el muñequito aumenta la velocidad de avance. Se puede observar este efecto al acercarse al enemigo de abajo y cuando se huye del enemigo de arriba.

[BBvideo 560,340][/BBvideo]

Creo que ya tengo programado lo básico. Ahora me tengo que poner en serio ya con el juego.

Un saludo
Avatar de Usuario
flopping
Fundador
Fundador
Mensajes: 9974
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Been thanked: 124 times
Contactar:

Re: Nuevo proyecto para CPC

Mensaje por flopping »

UFFFF, esto esta cogiendo color y pinta muy pero que muy bien, danos mas, mas, mas, jajajajaja...
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

Mi juego, que puedes descargar desde aqui
Avatar de Usuario
Mikes España - Com. Valenciana
Moderador
Moderador
Mensajes: 3405
Registrado: 08 Nov 2013, 14:15
Ubicación: Benaguasil (València)
Has thanked: 2 times
Been thanked: 145 times

Re: Nuevo proyecto para CPC

Mensaje por Mikes »

Me interesa sobre todo de qué irá el juego. Qué objetivo le piensas meter? De momento se parece al Bomberman :)
"Mikes solo hay uno"
Mi 'Paraeta'
Avatar de Usuario
Sinclair
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3101
Registrado: 04 Jul 2013, 23:42

Re: Nuevo proyecto para CPC

Mensaje por Sinclair »

Con iniciativas así nuestras maquinitas de 8 bits cada día estan más vivas :)
Imagen
Avatar de Usuario
derdhal
USUARIO BANEADO
USUARIO BANEADO
Mensajes: 721
Registrado: 23 Jun 2013, 20:33
Ubicación: Valencia

Re: Nuevo proyecto para CPC

Mensaje por derdhal »

Mikes escribió:Me interesa sobre todo de qué irá el juego. Qué objetivo le piensas meter? De momento se parece al Bomberman :)
Pues quiero hacer un arcade de habilidad/puzle. Estoy dudando en ambientación de fantasía o de ciencia ficción... creo que va ganando la ciencia ficción, básicamente porque me será más fácil hacer los sprites de ciencia ficción que de fantasía, pero se admiten opiniones!!

Cada nivel será una pantalla estática, del rollo de la demo del video, en la que la salida estará cerrada y tienes que recoger unos tesoros/items repartidos por la pantalla para abrir la puerta y escapar por ella y pasar de nivel, esquivando a los enemigos. No tengo pensado que hayan disparos.

Básicamente eso. Para ser mi primer juego en Amstrad no me atrevo con algo más complicado... =)
Avatar de Usuario
jrodriguezv
Demonio tercer orden
Demonio tercer orden
Mensajes: 545
Registrado: 03 Abr 2013, 13:03
Ubicación: Madrid

Re: Nuevo proyecto para CPC

Mensaje por jrodriguezv »

A mi me tienes enganchado al diario y estoy deseando poder ojear el código.
Avatar de Usuario
Bubu
Demonio segundo orden
Demonio segundo orden
Mensajes: 1125
Registrado: 02 May 2013, 20:35

Re: Nuevo proyecto para CPC

Mensaje por Bubu »

derdhal escribió:
En el Modo 1, cada byte de memoria son 4 pixeles de la pantalla.

Modo 1, 320×200, 4 colores (cada byte de la memoria de video representa 4 pixeles):
bit 7: pixel 0 (bit 1)
bit 6: pixel 1 (bit 1)
bit 5: pixel 2 (bit 1)
bit 4: pixel 3 (bit 1)
bit 3: pixel 4 (bit 0)
bit 2: pixel 5 (bit 0)
bit 1: pixel 6 (bit 0)
bit 0: pixel 7 (bit 0)
Aquí hay algo raro, si 1 byte son 4 píxeles en el modo 1, jiji.

derdhal escribió: Desconozco el Spectrum, así que no sé comparar si es mejor o peor.
A mí me gusta más el del Amstrad, aunque claro, ocupa más RAM, y teniendo en cuén que el Spectrum tiene 16KB menos de RAM que el Amstrad, eso no se podía permitir.
En el Spectrum la resolución es 256x192, donde se puede seleccionar sólo 2 colores por cada 8x8, de ahí a que tenga el defecto llamado "Attribute clash". Al tener sólo 2 colores, eso viene dado por un único bit por píxel por lo que se ahorra mucha memoria. Un cuadrado de 8x8 píxeles consumirá 8x8 bits, uséase, 8 bytes.
derdhal escribió: Y luego viene cuando nos enteramos de que la memoria de vídeo no es lineal en el Amstrad. Los 3 modos tienen 200 lineas, y cada linea son 80 bytes (lo que nos da los 160, 320 y 640 pixeles según el modo). Si empezamos en C000 y rellenamos los 80 primeros bytes, vemos como se colorea la primera linea... pero si seguimos rellenando los 80 siguientes bytes, se nos queda cara de bobo cuando vemos que la segunda linea no se rellena... se salta unas cuantas y rellena la linea 8... y si rellenamos los siguientes 80, se pinta la linea 16... y así sucesivamente.

Este modo de rellenar la pantalla nos resultará familiar a los que cargábamos desde cinta... que veiamos como la pantalla de carga se iba dibujando de esta manera...
Exácticamente como en el Spectrum, que primero se rellena 1 línea y aluego 8 líneas más abajo, y otras 8 más abajo, y así pa cá tercio de la pantalla. La razón de esto es la ULA, un chip específico para el Spectrum. ¿Qué chip usa el Amstrad?
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!
Avatar de Usuario
derdhal
USUARIO BANEADO
USUARIO BANEADO
Mensajes: 721
Registrado: 23 Jun 2013, 20:33
Ubicación: Valencia

Re: Nuevo proyecto para CPC

Mensaje por derdhal »

Bubu escribió:
derdhal escribió:
En el Modo 1, cada byte de memoria son 4 pixeles de la pantalla.

Modo 1, 320×200, 4 colores (cada byte de la memoria de video representa 4 pixeles):
bit 7: pixel 0 (bit 1)
bit 6: pixel 1 (bit 1)
bit 5: pixel 2 (bit 1)
bit 4: pixel 3 (bit 1)
bit 3: pixel 4 (bit 0)
bit 2: pixel 5 (bit 0)
bit 1: pixel 6 (bit 0)
bit 0: pixel 7 (bit 0)
Aquí hay algo raro, si 1 byte son 4 píxeles en el modo 1, jiji.
Es el copy&paste... =)

bit 7: pixel 0 (bit 1)
bit 6: pixel 1 (bit 1)
bit 5: pixel 2 (bit 1)
bit 4: pixel 3 (bit 1)
bit 3: pixel 0 (bit 0)
bit 2: pixel 1 (bit 0)
bit 1: pixel 2 (bit 0)
bit 0: pixel 3 (bit 0)
Avatar de Usuario
Bubu
Demonio segundo orden
Demonio segundo orden
Mensajes: 1125
Registrado: 02 May 2013, 20:35

Re: Nuevo proyecto para CPC

Mensaje por Bubu »

jjAjAjAjAjAA, bendito y maldito (simultáneamente) Copy&Paste, AjAjAJ
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!
Responder

Volver a “Proyectos de software abiertos”