Hace una vida, recuerdo que cargaba las imágenes de forma que había un truco o algo para evitar que los típitos textos "Bytes: bla bla" machacaran la pantalla de carga...
¿Alguien tiene un micro tutorial para esto?
Original:

Conversión ZX:

Gracias!

Moderador: Sir Cilve Sinclair
Código: Seleccionar todo
10 LOAD ""SCREEN$: POKE VAL "23739", CODE "o"
na_th_an escribió:Yo uso ese POKE en todos lados. Funciona. Lo saqué de los cargadores de los juegos desprotegidos de Dinamic hace 20 años... Nunca me he planteado nada más. Nunca he restaurado el valor original tampoco. Y el mundo no ha explotado todavía
na_th_an escribió:A ver, a lo mejor a uno que tenga un TK-90 modificado con sintonizador del laser disc de la vecina y unos pedales para aumentar la velocidad del Z80 medio megahertzio y neones azules controlables con el Interface II a lo mejor le da problemas, pero joder, que se aguante
Código: Seleccionar todo
POKE 23739,111
Código: Seleccionar todo
POKE VAL "23739", CODE "o"
Código: Seleccionar todo
L15AF: DEFW L09F4 ; PRINT-OUT
DEFW L10A8 ; KEY-INPUT
DEFB $4B ; 'K'
DEFW L09F4 ; PRINT-OUT
DEFW L15C4 ; REPORT-J
DEFB $53 ; 'S'
DEFW L0F81 ; ADD-CHAR
DEFW L15C4 ; REPORT-J
DEFB $52 ; 'R'
DEFW L09F4 ; PRINT-OUT
DEFW L15C4 ; REPORT-J
DEFB $50 ; 'P'
DEFB $80 ; End Marker
na_th_an escribió:En realidad esCódigo: Seleccionar todo
POKE 23739,111
Pero así es como menos bytes ocupa en un cargador:Código: Seleccionar todo
POKE VAL "23739", CODE "o"
antoniovillena escribió:Para los que tengáis curiosidad:
Entre $5cb6 y $5cca se guarda la información de los canales, que por defecto es una copia de estos valores en ROM, pero que se puede modificar:Código: Seleccionar todo
L15AF: DEFW L09F4 ; PRINT-OUT
DEFW L10A8 ; KEY-INPUT
DEFB $4B ; 'K'
DEFW L09F4 ; PRINT-OUT
DEFW L15C4 ; REPORT-J
DEFB $53 ; 'S'
DEFW L0F81 ; ADD-CHAR
DEFW L15C4 ; REPORT-J
DEFB $52 ; 'R'
DEFW L09F4 ; PRINT-OUT
DEFW L15C4 ; REPORT-J
DEFB $50 ; 'P'
DEFB $80 ; End Marker
En concreto la dirección 23739 es $5cbb que se corresponde al byte bajo de la rutina PRINT-OUT del canal 'S' (screen o pantalla). Al hacer el poke transformamos la dirección de $09f4 a $096f, y como en la dirección $096f hay un ret, básicamente lo que le decimos al spectrum es que cada vez que tenga que escribir un byte en pantalla lo haga mediante una rutina vacía (sólo tiene un ret) en lugar de la rutina PRINT-OUT.
na_th_an escribió:En realidad esCódigo: Seleccionar todo
POKE 23739,111
Pero así es como menos bytes ocupa en un cargador:Código: Seleccionar todo
POKE VAL "23739", CODE "o"
wilco2009 escribió:na_th_an escribió:En realidad esCódigo: Seleccionar todo
POKE 23739,111
Pero así es como menos bytes ocupa en un cargador:Código: Seleccionar todo
POKE VAL "23739", CODE "o"
Esto me deja intrigado ya que desde el desconocimiento no parece muy lóigico y mirando la forma de codificación que tiene el Sinclair Basic he visto que los números los almacena duplicados, primero el valor tal y como se escribe como si fuera un texto("23739" = 5 bytes) más otros 5 bytes para el valor en coma flotante.
Me pregunto qué se había tomado Sir Clive para codificar esto de una manera tan poco eficaz, siendo que podía codificar y decodificar el número cada vez que editamos la línea. Teniendo en cuenta la economía que se usa en la máquina para casi todo, al menos esto llama la atención.
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados