Toqueteando las tripas del OCS en ASM. Nivel -1

Avatar de Usuario
Chema
Mensajes: 2205
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1716 veces
Agradecimiento recibido: 564 veces
Contactar:

Re: Toqueteando las tripas del OCS en ASM. Nivel -1

Mensajepor Chema » 02 Ago 2019 09:58

Último mensaje de la página anterior:

Bueno, he estado ahogado con temas del trabajo y no he podido hacer nada :( Además, ahora Llega esa época en el año en la que uno disfruta lo que puede con la familia y eso deja poco tiempo libre para vicios :)

Prometo hacer lo posible para seguir aprendiendo cosillas de programación con el Amiga. De hecho ya tengo ideas de qué cosas quiero probar estos días... a ver si se logra.

Mlake, no dejes de avanzar con este hilo, que está quedando genial. Ya van 8 páginas ¡y lo que falta!

Tengo muchas ganas de que llegues al modo de línea del blitter.

Avatar de Usuario
Mlake
Mensajes: 73
Registrado: 27 Mar 2019 19:54
Agradecido : 34 veces
Agradecimiento recibido: 162 veces

Re: Toqueteando las tripas del OCS en ASM. Nivel -1

Mensajepor Mlake » 07 Ago 2019 14:54

Chema escribió:Bueno, he estado ahogado con temas del trabajo y no he podido hacer nada :( Además, ahora Llega esa época en el año en la que uno disfruta lo que puede con la familia y eso deja poco tiempo libre para vicios :)

Prometo hacer lo posible para seguir aprendiendo cosillas de programación con el Amiga. De hecho ya tengo ideas de qué cosas quiero probar estos días... a ver si se logra.

Mlake, no dejes de avanzar con este hilo, que está quedando genial. Ya van 8 páginas ¡y lo que falta!

Tengo muchas ganas de que llegues al modo de línea del blitter.


Ahora mismo ando un poco liado y como no hay nadie en el hilo que esté haciendo cosillas o tenga dudas, puedo tomarmelo con calma.
A ver si le puedo dar un empujon.

Sobre el modo linea, comento lo mismo que le dije a Skynet.
Yo no entiendo de matematicas. Lo que hacemos en el hilo se tiene que poder resolver contando con los dedos. Lo demas se me escapa.
No soy informatico, electronico ni nada de eso. Para mi el Amiga es una "maquina de hacer demos".

El modo linea es menos intuitivo que la leche, los registros (modulos, punteros, etc....) cambian totalmente su funcion.
Octantes, Bresenham.... todo eso es chino para mi. :(

http://www.winnicki.net/amiga/memmap/LineMode.html

Avatar de Usuario
kikems
Mensajes: 3208
Registrado: 30 May 2013 19:23
Agradecido : 893 veces
Agradecimiento recibido: 1232 veces

Re: Toqueteando las tripas del OCS en ASM. Nivel -1

Mensajepor kikems » 07 Ago 2019 17:27

Mlake escribió:
Ahora mismo ando un poco liado y como no hay nadie en el hilo que esté haciendo cosillas o tenga dudas, puedo tomarmelo con calma.
A ver si le puedo dar un empujon.

Sobre el modo linea, comento lo mismo que le dije a Skynet.
Yo no entiendo de matematicas. Lo que hacemos en el hilo se tiene que poder resolver contando con los dedos. Lo demas se me escapa.
No soy informatico, electronico ni nada de eso. Para mi el Amiga es una "maquina de hacer demos".

El modo linea es menos intuitivo que la leche, los registros (modulos, punteros, etc....) cambian totalmente su funcion.
Octantes, Bresenham.... todo eso es chino para mi. :(

http://www.winnicki.net/amiga/memmap/LineMode.html


No te pienses eso, muchos somos los que os seguimos en la sombra, no paréis.

Avatar de Usuario
Mlake
Mensajes: 73
Registrado: 27 Mar 2019 19:54
Agradecido : 34 veces
Agradecimiento recibido: 162 veces

Re: Toqueteando las tripas del OCS en ASM. Nivel -1

Mensajepor Mlake » 07 Ago 2019 20:48

kikems escribió:
No te pienses eso, muchos somos los que os seguimos en la sombra, no paréis.


De eso no tengo dudas,solo hay que ver los agradecimientos y los animos.

A lo que iba es que no parece que haya nadie que le corra prisa para presentar algo en el Evoke. xD

Avatar de Usuario
kikems
Mensajes: 3208
Registrado: 30 May 2013 19:23
Agradecido : 893 veces
Agradecimiento recibido: 1232 veces

Re: Toqueteando las tripas del OCS en ASM. Nivel -1

Mensajepor kikems » 09 Ago 2019 13:46

Mlake escribió:
kikems escribió:
No te pienses eso, muchos somos los que os seguimos en la sombra, no paréis.


De eso no tengo dudas,solo hay que ver los agradecimientos y los animos.

A lo que iba es que no parece que haya nadie que le corra prisa para presentar algo en el Evoke. xD


Para la Evoke no creo, pero yo tengo esperanzas de que alguno lo intente para Capacitor.

Avatar de Usuario
Mlake
Mensajes: 73
Registrado: 27 Mar 2019 19:54
Agradecido : 34 veces
Agradecimiento recibido: 162 veces

Re: Toqueteando las tripas del OCS en ASM. Nivel -1

Mensajepor Mlake » 10 Ago 2019 02:22

CAP 6e Final de A=D

En el capitulo anterior vimos como funcionaba el descending mode. Basicamente es hacer el blit al reves, empezamos en el ultimo word y terminamos en el primero.
Esto nos permitia (entre otras cosas) shiftear a la izquierda, asi que decidimos hacer un scrolltext.
La parte del movimiento la apañamos en el cap anterior, ahora solo nos queda empezar a escribir.


¿Cual va a ser el plan?

Imagen


Una vez tenemos en movimiento el bitmap, solo tenemos que blitear los caracteres en el extremo derecho.
Si nuestra pantalla tiene 320pix (40bytes) apuntamos pantalla+38 (el ultimo word/16pix)


Como dijimos al inicio, lo suyo es hacer el fondo mas ancho que el monitor:

En lugar del DDF (data fetching) a $38/$D0, podriamos subir a $38/$D8 (16pixel mas ancho por el lado derecho), pero tendriamos que estar atentos porque los modulos cambian (el bitmap ya no tendria 320pix sino 336, dos bytes mas).

Asi quedaria oculto todo el trabajo de pegar las letras (de la misma forma que escondiamos el fondo cuando "scrolleabamos" los playfields en capitulos anteriores).



De todos modos, dijimos que lo dejariamos todo a la vista para ir aprendiendo.

Imagen


¿Como seria el "loop" del programa?

Leemos el string, bliteamos la letra, shifteamos 16 veces (el ancho de la fuente), leemos string, pegamos otra letra , 16 shifts y todo el rato lo mismo......

Ya que sabemos el truco, podemos quitar la morralla de fondo que usabamos como guia.
Tambien podemos apreciar como se van bliteando los carateres.



Imagen

¿Se entiende la idea?





¿Como declaramos el string?

String: dc.b "BLABLABLA",0

En memoria se quedaran almacenados los ASCII codes de cada letra y el 0 nos sirve como marca para el final.

Lo demas es igual que el ejemplo anterior de tilemaps, leemos el byte del mapa (string) y bliteamos el tile correspondiente (caracter).



Si hemos pillado la idea, solo es cuestion de empezar a toquetear.

Imagen


Aqui lo hemos reutilizado con algo de color via copper, podeis hacer el scroll sobre el fondo directamente, o en un buffer aparte y cambiar el puntero de los bitplanes (BPLxPTH/L) en la linea necesaria. Si eliger esta opcion, puedes hacer que esa linea sea "dinamica" para que el texto suba y baje (como haciamos con las rasterbars).....

Podeis hacerle el efecto "agua" o deformar las letras con BPLCON1....

Todo es cosa de revisar capitulos anteriores y echarle imaginacion. xD
Adjuntos
Scrolltext.zip
(3.04 KiB) Descargado 2 veces


Volver a “Software & OS Amiga”

¿Quién está conectado?

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