compudanzas/src/tutorial_de_uxn.gmo

185 lines
5.8 KiB
Plaintext

# tutorial de uxn
lang=es en->{uxn tutorial}
una guía introductoria y pausada para programar la computadora varvara basada en el núcleo {uxn}.
> El ecosistema de Uxn es un espacio de juego y exploración de computación personal, creado para desarrollar y utilizar pequeñas herramientas y juegos y programable en su propio lenguaje ensamblador.
=> https://100r.co/site/uxn.html 100R - uxn
también puedes conseguir una versión "offline" de este material y apoyar nuestros proyectos, con el libro {introducción a programación uxn}.
esta es una traducción del {uxn tutorial} a cargo de Traducciones Alfanumérico, con una revisión exhaustiva por parte de Roboe.
=> //tralfanum.archipielago.uno/ Traducciones Alfanumérico
=> https://virgulilla.com Roboe
en nuestra página de {traducciones} puedes encontrar cómo colaborar con el proyecto.
# comunidad
para dudas, comentarios, y hacer comunidad, tenemos una sala de xmpp:
```
xmpp:uxñ@salas.archipielago.uno
```
# día 1
en esta primera sección del tutorial vamos a hablar de los aspectos básicos de la computadora uxn llamada varvara, su paradigma de programación, su arquitectura y por qué podrías querer aprender a programar en ella.
también vamos a saltar directo a nuestros primeros programas simples para demostrar conceptos fundamentales que desarrollaremos en los días siguientes.
{tutorial de uxn día 1}
# día 2
en esta sección vamos a empezar a explorar los aspectos visuales de la computadora varvara: ¡hablamos sobre los aspectos fundamentales del dispositivo de pantalla para que podamos empezar a dibujar en ella!
también discutiremos el trabajo con cortos (2 bytes) además de los números de un solo byte en uxntal.
{tutorial de uxn día 2}
# día 3
aquí introducimos el uso del dispositivo controlador en la computadora varvara: esto nos permite agregar interactividad a nuestros programas y empezar a implementar control de flujo en uxntal.
también hablamos de instrucciones lógicas y de manipulación de la pila en uxntal.
{tutorial de uxn día 3}
# día 4
aquí hablamos del bucle de animación del ordenador varvara, a través de su vector de dispositivo de pantalla.
también hablamos del uso de la memoria del programa como un espacio para datos usando "variables".
{tutorial de uxn día 4}
# día 5
aquí introducimos el dispositivo de ratón varvara para explorar más posibles interacciones y cubrimos los elementos restantes de uxntal y uxn: la pila de retorno, el modo de retorno y el modo de retención.
también discutimos posibles estructuras para crear bucles y programas más complejos utilizando estos recursos.
{tutorial de uxn día 5}
# día 6
aquí hablamos de cómo podemos integrar todo lo que hemos cubierto para crear subrutinas y programas más complejos para el ordenador varvara.
basamos nuestra discusión en una recreación del clásico juego pong.
además de utilizar estrategias y fragmentos de código anteriores, cubrimos estrategias para dibujar y controlar sprites de varios tiles y para comprobar las colisiones.
{tutorial de uxn día 6}
# día 7
aquí hablamos de los dispositivos del ordenador varvara que aún no hemos cubierto: audio, archivo y fechahora o "datetime".
este debería ser un final ligero y tranquilo de nuestro recorrido, ya que tiene que ver menos con la lógica de programación y más con las convenciones de entrada y salida en estos dispositivos.
{tutorial de uxn día 7}
# apéndices
## apéndice a: repetir un tile dentro de un rectángulo
aquí generalizaremos un procedimiento similar en una subrutina dibuja-tiles que dibuje un rectángulo relleno con un tile dado.
{tutorial de uxn apéndice a}
# índice tentativo
este índice está aquí y ahora como referencia de la estructura general del tutorial.
## día 1: aspectos básicos
* ¿por qué uxn?
* notación {postfix}
* arquitectura de la computadora uxn
* instalación y toolchain
* un hola mundo muy básico
* etiquetas, macros y runas
* un hola mundo mejorado
* imprimir un dígito
instrucciones nuevas: LIT, DEO, ADD, SUB
=> https://git.sr.ht/~rabbits/uxn/ uxn repo
## día 2: la pantalla
* modo corto
* colores del sistema
* dibujar píxeles
* sprites: formato chr, nasu
* dibujar sprites sprites
* operaciones en la pila
* practica: reoetición manual de un sprite
instructiones nuevas: DEI, MUL, DIV, SWP, OVR, ROT, DUP, POP
modo nuevo: modo corto
=> https://wiki.xxiivv.com/site/nasu.html nasu
## día 3: interactividad con el teclado
* vector de controlador
* control de flujo: condicionales, saltos relativos y absolutos
* runas para direcciones
* botón y tecla
* máscaras bitwise
* práctica: mover/cambiar sprite con el teclado
instrucciones nuevas: EQU, NEQ, JCN, JMP, AND, ORA, EOR, SFT
## día 4: bucles y animación
* control de flujo: repetición de un sprite
* vector de pantalla
* variables: página cero, relativas, absolutas
* offsets en direcciones
* timing de animación
* práctica: sprite animado
instrucciones nuevas: LTH, GTH, STZ, STR, STA, LDZ, LDR, LDA
## día 5: interactividad con el mouse
* dispositivo y vector del mouse
* Pila de retorno y modo
* subrutinas: parametros, llamada y retorno
* práctica: sprite como puntero
* práctica: herramienta de dibujo simple
instrucciones nuevas: STH, JSR
modo nuevo: modo de retorno
## día 6: audio
* el dispositivo de audio
* samples como sprites de audio
* adsr
* pitch
* práctica: pequeño instrumento musical
## día 7: modo de retención y otros dispositivos
* modo de retención
* re-escribiendo código con modo de retención
* dispositivo de archivo: guardando y cargando un estado simple
* dispositivo de fecha y hora: leyendo fecha y hora
* práctica: visualización de fecha y hora
modo nuevo: modo de retención
## día 8: tiempo de demo
* comparte lo que has creado :)
# apoyo
si este tutorial te ha sido de ayuda, considera compartirlo y brindarle tu {apoyo} :)