185 lines
5.8 KiB
Plaintext
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} :)
|