Nuevo proyecto para CPC
Moderador: Fundadores
Reglas del Foro
Si no se incluyen los fuentes, se debe usar el foro de proyectos de software generales
Si no se incluyen los fuentes, se debe usar el foro de proyectos de software generales
- Bubu
- Demonio segundo orden
- Mensajes: 1125
- Registrado: 02 May 2013, 20:35
Re: Nuevo proyecto para CPC
Im-presionante. Aunque yo uso el Spectrum 48KB, el cual no tiene AY (4 canales) sino un beeper, jiji, en el que el 1 sisnifica sonar y el 0 no, AjAJAJAJjajAja.
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!
-
Kyp
- Hermano de Lucifer
- Mensajes: 3401
- Registrado: 30 Sep 2013, 14:54
- Ubicación: Madrid
- Has thanked: 31 times
- Been thanked: 163 times
Re: Nuevo proyecto para CPC
No entiendo, ¿por qué tienes que rotar para incrementar?Bubu escribió:Todo lo contrario, con r roto hay que estar continuamente haciendo rotaciones del contenido con RRCA para incrementar. Una locura...
Supongamos que tienes que pintar una letra "A". En memoria tendrías:
fontaddr+0 ········
fontaddr+1 ··****··
fontaddr+2 ·**··**·
fontaddr+3 ·**··**·
fontaddr+4 ·******·
fontaddr+5 ·**··**·
fontaddr+6 ·**··**·
fontaddr+7 ········
Al copiar en pantalla quedaría:
scraddr+0000h ········
scraddr+0100h ··****··
scraddr+0200h ·**··**·
scraddr+0300h ·**··**·
scraddr+0400h ·******·
scraddr+0500h ·**··**·
scraddr+0600h ·**··**·
scraddr+0700h ········
No recuerdo la sintaxis del Z80 pero sería algo así como:
registro1 = fontaddr
registro2 = scraddr
contador = 8
mover (registro1) a (registro2)
incrementar registro1
incrementar sólo el byte alto del registro2 *****
decrementar contador
repetir mientras contador distinto de cero
***** si no hubiera ese salto de memoria esa instrucción sería sumar 32 a registro2. No se cuantos ciclos de reloj necesita la instrucción sumar 32 a un registro de 16 bit, seguro que más de uno, pero incrementar un registro de 8 bit solo necesita uno.
Supongo que lo de rotar lo dices por pintar en una coordenada X que no es múltiplo de 8. Pero eso da igual si hay o no salto. Sólo se evitaría rotar teniendo un byte por pixel pero con la resolución del Spectrum harían falta 60K de RAM solo para la pantalla, eso sí, tendríamos 256 colores sin colour-clash
![Sonrisa :)](./images/smilies/sc_jsmiley.gif)
- Bubu
- Demonio segundo orden
- Mensajes: 1125
- Registrado: 02 May 2013, 20:35
Re: Nuevo proyecto para CPC
Lógicamente en tu ejemplo de un único carácter no hay poblema, pero cuando usas sprites, gráficos, mapeados, etc, cá vez que pintas algo, como R está rota en 2 partes tiés que rotar uno de ellos pa pegarlo al otro trozo y saber el valor de R pa poder incrementarlo.Kyp escribió:
No entiendo, ¿por qué tienes que rotar para incrementar?
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!
-
Kyp
- Hermano de Lucifer
- Mensajes: 3401
- Registrado: 30 Sep 2013, 14:54
- Ubicación: Madrid
- Has thanked: 31 times
- Been thanked: 163 times
Re: Nuevo proyecto para CPC
El cálculo es algo más complicado sólo cuando tienes que pintar gráficos en una coordenada Y arbitraria. Pero para tiles o texto o cualquier otro gráfico cuya coordenada Y sea múltiplo de 8 es trivial.
En cualquier caso, sólo se complica el cálculo de la dirección inicial donde pintar, luego las demás son simplemente incrementos.
No pretendo defender el diseño del mapa de memoria de pantalla, sólo te explicaba por qué se hizo así. Supongo que pensando en optimizar el dibujado de texto. Ya sabes que el tito Sinclair no quería que el Spectrum fuera una máquina para jugar![Guiño ;)](./images/smilies/sc_jwink.gif)
En cualquier caso, sólo se complica el cálculo de la dirección inicial donde pintar, luego las demás son simplemente incrementos.
No pretendo defender el diseño del mapa de memoria de pantalla, sólo te explicaba por qué se hizo así. Supongo que pensando en optimizar el dibujado de texto. Ya sabes que el tito Sinclair no quería que el Spectrum fuera una máquina para jugar
![Guiño ;)](./images/smilies/sc_jwink.gif)
- Bubu
- Demonio segundo orden
- Mensajes: 1125
- Registrado: 02 May 2013, 20:35
Re: Nuevo proyecto para CPC
jijiji, nooooor, yo tampoco defiendo ni ataco nada, sólo te digo que la forma en la que está en el Spectrum la vídeomemoria organizada es un p* follón pa los desarrolladores. Yo estoy jarto de pogramar en Z80 para el Spectrum y es de locos. Si está así debe ser por un diseño hardware de la ULA. Como un gráfico ocupe más de 1 fila de alto, lo llevas jodío. Tú dices que se complica sólo al calcular la inicial, pero no, lo complicao es pa los siguientes incrementos. Que R viene roto, que no se puede incrementar fácilmente. Hay que extraer los 5 bits de R por separado, pegarlos, incrementarlos, y vuelta a despegar.
Pero bueno, cuando te hagas tú una rutina que reciba la fila, la columna el alto y el ancho de un gráfico para mostrar, verás lo que quiero decir.
Pero bueno, cuando te hagas tú una rutina que reciba la fila, la columna el alto y el ancho de un gráfico para mostrar, verás lo que quiero decir.
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!
-
Kyp
- Hermano de Lucifer
- Mensajes: 3401
- Registrado: 30 Sep 2013, 14:54
- Ubicación: Madrid
- Has thanked: 31 times
- Been thanked: 163 times
Re: Nuevo proyecto para CPC
Uf, el programar en ensamblador para el Spectrum lo dejé hace mucho y no tengo fuerzas para retomarlo ![Sonrisa :)](./images/smilies/sc_jsmiley.gif)
En la época del Amiga me lo pasé pipa programando para el 68000, ese si que era un procesador developer friendly, y el blitter ayudaba un montón. Ahora ya solo programo en C++, C# y un poco en Java. Me he negado a aprender el ensamblador de Intel.
Por ejemplo, el remake del Sabrewulf está hecho en C++ para Windows/DirectX. Ahí no tienes problemas con esas cosas![Sonrisa :)](./images/smilies/sc_jsmiley.gif)
![Sonrisa :)](./images/smilies/sc_jsmiley.gif)
En la época del Amiga me lo pasé pipa programando para el 68000, ese si que era un procesador developer friendly, y el blitter ayudaba un montón. Ahora ya solo programo en C++, C# y un poco en Java. Me he negado a aprender el ensamblador de Intel.
Por ejemplo, el remake del Sabrewulf está hecho en C++ para Windows/DirectX. Ahí no tienes problemas con esas cosas
![Sonrisa :)](./images/smilies/sc_jsmiley.gif)
- Bubu
- Demonio segundo orden
- Mensajes: 1125
- Registrado: 02 May 2013, 20:35
Re: Nuevo proyecto para CPC
Yo sí que me he negado a aprender C, y C++ y todo lo que sea C en general, AjAjAJAjAja, cuando llego a la parte de punteros, lo intento, pero qué va... no puidor. ¿puntero a void? ¿puntero a puntero? ¿puntero a función? ¿ein?
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!
-
Kyp
- Hermano de Lucifer
- Mensajes: 3401
- Registrado: 30 Sep 2013, 14:54
- Ubicación: Madrid
- Has thanked: 31 times
- Been thanked: 163 times
Re: Nuevo proyecto para CPC
![Riendo :))](./images/smilies/sc_jlaugh.gif)
![Riendo :))](./images/smilies/sc_jlaugh.gif)
![Riendo :))](./images/smilies/sc_jlaugh.gif)
![Riendo :))](./images/smilies/sc_jlaugh.gif)
Si es como en ASM... Un puntero es como el direccionamiento indirecto. Pero bueno, no te voy a convencer, cada loco con su tema
![Muy Feliz :D](./images/smilies/sc_jgrin.gif)
Para mi, después de programar en ensamblador el Motorola 68000 del Amiga, el de los Intel me parecía tan limitado... me tuve que pasar al C++ para poder soportar programar los PCs.
Y el C#, como lenguaje de programación es una delicia, si no fuera por que no es código nativo sino la KK esa de la máquina virtual... y el recolector de basura...
- derdhal
- USUARIO BANEADO
- Mensajes: 721
- Registrado: 23 Jun 2013, 20:33
- Ubicación: Valencia
Re: Nuevo proyecto para CPC
DIARIO DE A BORDO. ENTRADA #4
Querido diario,
Hoy hemos retomado el desarrollo tras el parón del fin de semana a causa de la RetroAlba.
Como ya teníamos prácticamente terminadas todas las rutinas básicas, hemos empezado a diseñar sprites y a darle al juego el aspecto que queremos que tenga.
[BBvideo 565,350][/BBvideo]
No se aprecian muy bien los enemigos, pero es por haberlo grabado con el movil. He intentado grabarlo con el CamStudio, que es el que uso para los gameplays de Retrojugones, pero grababa a saltos... La próxima vez lo intentaré con el fraps.
Un saludo
Querido diario,
Hoy hemos retomado el desarrollo tras el parón del fin de semana a causa de la RetroAlba.
Como ya teníamos prácticamente terminadas todas las rutinas básicas, hemos empezado a diseñar sprites y a darle al juego el aspecto que queremos que tenga.
[BBvideo 565,350][/BBvideo]
No se aprecian muy bien los enemigos, pero es por haberlo grabado con el movil. He intentado grabarlo con el CamStudio, que es el que uso para los gameplays de Retrojugones, pero grababa a saltos... La próxima vez lo intentaré con el fraps.
Un saludo
-
Mikes
- 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
Te está quedando muy chulo, si señor! Como siga progresando así voy a tener que reservar una copia ![Guiño ;)](./images/smilies/sc_jwink.gif)
![Guiño ;)](./images/smilies/sc_jwink.gif)