Página 4 de 5

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 8:27 pm
por susso
Correcto! Lo puedes simplificar mas.

LD A,$FF
LD ($4000),A

O bien:

LD HL,$4000
LD (HL),$FF

Uno es más rápido que otro, no tengamos en cuenta ahora la velocidad.
Intenta compilar en casa y ver los resultados.

Te prepararé otro.

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 8:32 pm
por Alxinho
Coño he acertado! Me merezco una galleta!

El ejercicio que me hace falta es imprimir sprite de 3x3 carácteres, espero que no falte mucho :mrgreen:

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 8:37 pm
por susso
Si que falta si, por la disposición en tercios de la pantalla y la disposición de 8 líneas de baja resolución.
¿Y se moverá pixel a pixel o cada 8?

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 8:45 pm
por Alxinho
De momento me conformo en 8x8 jajaja...

Lo de la disposición de la pantalla cómo toca los que te dije, ya vi lo del cálculo de coordenadas, pero poco a poco.

Por cierto, tienes algún juego o programa hecho? Blog? Web?

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 8:54 pm
por climacus
Alxinho escribió:No he llegado a casa pero no me puedo aguantar xD

Creo que sería:

Código: Seleccionar todo

LD ($4000),$ff
¿?

P.D:Acabo de leer Climacus en el curso que no se puede operar directamente con los registros shadow, sólo intercambiarlos por los normales, no sé si lo habré entendido mal por eso.
Ejemplo de uso de los registros alternativos:

Código: Seleccionar todo

LD HL,$4000 ; inicio de la pantalla
EXX ;cambiamos a registros alternativos
LD HL,$5800 ;inicio de los atributos
LD (HL),7 ; ponemos tinta negra y papel blanco
EXX ;cambiamos juego de registros
LD (HL),$FF ; pintamos la ralla superior del carácter 
Como ves, los registros de los dos juegos se usan igual, pero no puedes usar los dos a la vez

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 9:04 pm
por Alxinho
Sí, pero según el curso de SRomero las instrucciones de asm sólo se pueden usar sobre los registros normales, no sirve LD A',$ff, necesitas conmutar primero el registro shadow al normal y operar sobre él.

Al menos eso es lo que he entendido :lol:

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 9:12 pm
por susso
Las 3 preguntas No, no y no xD todavia..

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 9:15 pm
por susso
Siguiente reto: usando el anterior ejercicio...pasmo y notepad++
Compila y ejecuta en emulador.
Parece una tontería pero no lo es.

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 9:25 pm
por susso
En realidad haciendo un LD a A después del EXX lo estas haciendo al A' anterior. ¿Lo coges?

Re: Menuda Optimización

Publicado: Vie Mar 27, 2015 9:46 pm
por Alxinho
Lo tengo que compilar en ZxBasic integrando asm porque no podré hacer un juego en CM al completo. A ver si funciona...

Re: Menuda Optimización

Publicado: Sab Mar 28, 2015 9:36 am
por climacus
Alxinho escribió:Sí, pero según el curso de SRomero las instrucciones de asm sólo se pueden usar sobre los registros normales, no sirve LD A',$ff, necesitas conmutar primero el registro shadow al normal y operar sobre él.

Al menos eso es lo que he entendido :lol:
No puedes hacer algo así como

Código: Seleccionar todo


LD A,$FF
LD A',$0

LD(HL),A
LD(DE),A'

ya que estarías usando A y A' a la vez y eso es lo que no se puede hacer.

Lo correcto sería:

Código: Seleccionar todo


LD A,$FF
EX AF,AF' ;cambio al alternativo
LD A,0
LD (DE),A

EX AF,AF' ;vuelvo al original
LD (HL),A

De todas formas, no te comas la cabeza con esto. Simplemente hay dos juegos de registros HL,BC,DE y AF que puedes utilizar indistintamente siempre que sólo uses un juego a la vez

Menuda Optimización

Publicado: Sab Mar 28, 2015 9:43 am
por susso
Tienes una caja al sol y otra a la sombra dentro de casa, puedes meter la pelota en la caja al sol pero no en la que esta dentro de la casa.
¿Cómo meto algo en la caja que esta a la sombra? Cambiándolas, ahora la caja que estaba a la sombra es la que esta al sol y la otra a la sombra.
La caja que esta ahora al sol esta vacía puedes meter ahí los patines, y sabes que la caja que esta a la sombra contiene la pelota, pero no puedes acceder a ella hasta que la vuelvas a cambiar.

Re: Menuda Optimización

Publicado: Sab Mar 28, 2015 10:06 am
por climacus
susso escribió:Tienes una caja al sol y otra a la sombra dentro de casa, puedes meter la pelota en la caja al sol pero no en la que esta dentro de la casa.
¿Cómo meto algo en la caja que esta a la sombra? Cambiándolas, ahora la caja que estaba a la sombra es la que esta al sol y la otra a la sombra.
La caja que esta ahora al sol esta vacía puedes meter ahí los patines, y sabes que la caja que esta a la sombra contiene la pelota, pero no puedes acceder a ella hasta que la vuelvas a cambiar.
Interesante...

Re: Menuda Optimización

Publicado: Sab Mar 28, 2015 10:18 am
por susso
Es para Alxinho, mas gráfico imposible [emoji28]

Re: Menuda Optimización

Publicado: Sab Mar 28, 2015 10:30 am
por climacus
susso escribió:Es para Alxinho, mas gráfico imposible [emoji28]
Por eso lo decía.
Es un buen ejemplo!!!