Menuda Optimización

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Re: Menuda Optimización

Notapor susso el Vie Mar 27, 2015 9:27 pm

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.
susso
Jack The Nipper
 
Mensajes: 146
Registrado: Mar May 07, 2013 9:42 am

Re: Menuda Optimización

Notapor Alxinho el Vie Mar 27, 2015 9:32 pm

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:
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.
Avatar de Usuario
Alxinho
Freddy Hardest
 
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona

Re: Menuda Optimización

Notapor susso el Vie Mar 27, 2015 9:37 pm

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?
susso
Jack The Nipper
 
Mensajes: 146
Registrado: Mar May 07, 2013 9:42 am

Re: Menuda Optimización

Notapor Alxinho el Vie Mar 27, 2015 9:45 pm

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?
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.
Avatar de Usuario
Alxinho
Freddy Hardest
 
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona

Re: Menuda Optimización

Notapor climacus el Vie Mar 27, 2015 9:54 pm

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
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
Avatar de Usuario
climacus
Sabreman
 
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Re: Menuda Optimización

Notapor Alxinho el Vie Mar 27, 2015 10:04 pm

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:
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.
Avatar de Usuario
Alxinho
Freddy Hardest
 
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona

Re: Menuda Optimización

Notapor susso el Vie Mar 27, 2015 10:12 pm

Las 3 preguntas No, no y no xD todavia..
susso
Jack The Nipper
 
Mensajes: 146
Registrado: Mar May 07, 2013 9:42 am

Re: Menuda Optimización

Notapor susso el Vie Mar 27, 2015 10:15 pm

Siguiente reto: usando el anterior ejercicio...pasmo y notepad++
Compila y ejecuta en emulador.
Parece una tontería pero no lo es.
susso
Jack The Nipper
 
Mensajes: 146
Registrado: Mar May 07, 2013 9:42 am

Re: Menuda Optimización

Notapor susso el Vie Mar 27, 2015 10:25 pm

En realidad haciendo un LD a A después del EXX lo estas haciendo al A' anterior. ¿Lo coges?
susso
Jack The Nipper
 
Mensajes: 146
Registrado: Mar May 07, 2013 9:42 am

Re: Menuda Optimización

Notapor Alxinho el Vie Mar 27, 2015 10:46 pm

Lo tengo que compilar en ZxBasic integrando asm porque no podré hacer un juego en CM al completo. A ver si funciona...
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.
Avatar de Usuario
Alxinho
Freddy Hardest
 
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona

Re: Menuda Optimización

Notapor climacus el Sab Mar 28, 2015 10:36 am

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
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
Avatar de Usuario
climacus
Sabreman
 
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Menuda Optimización

Notapor susso el Sab Mar 28, 2015 10:43 am

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.
susso
Jack The Nipper
 
Mensajes: 146
Registrado: Mar May 07, 2013 9:42 am

Re: Menuda Optimización

Notapor climacus el Sab Mar 28, 2015 11:06 am

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...
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
Avatar de Usuario
climacus
Sabreman
 
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Re: Menuda Optimización

Notapor susso el Sab Mar 28, 2015 11:18 am

Es para Alxinho, mas gráfico imposible
susso
Jack The Nipper
 
Mensajes: 146
Registrado: Mar May 07, 2013 9:42 am

Re: Menuda Optimización

Notapor climacus el Sab Mar 28, 2015 11:30 am

susso escribió:Es para Alxinho, mas gráfico imposible


Por eso lo decía.
Es un buen ejemplo!!!
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
Avatar de Usuario
climacus
Sabreman
 
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

PrevioSiguiente

Volver a Programación y nuevos desarrollos

¿Quién está conectado?

Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 1 invitado