diff --git a/src/tutorial_de_uxn_día_1.gmo b/src/tutorial_de_uxn_día_1.gmo index e3e0013..bccb285 100644 --- a/src/tutorial_de_uxn_día_1.gmo +++ b/src/tutorial_de_uxn_día_1.gmo @@ -25,10 +25,12 @@ personalmente, veo en ella las siguientes virtudes: * ámbito de práctica y experimentación de computación dentro de límites * ya portada a plataformas de computación actuales y de varios años de antigüedad -¡todos estos conceotos suenan genial para mí, y espero que para tí también! sin embargo, noto algunos aspectos que pueden hacerla parecer no tan asequible: +¡todos estos conceotos suenan genial para mí, y espero que para tí también! + +sin embargo, noto algunos aspectos que pueden hacerla parecer no tan asequible: * es programada en un lenguaje ensamblador, uxntal -* utiliza notación {postfix} (alias notación polaca inversa) / está inspirada en máquinas forth +* utiliza notación {postfix} (alias notación polaca inversa) y está inspirada en máquinas forth la idea de este tutorial es explorar estos dos aspectos y revelar cómo trabajan juntos para dar a uxn su poder con una complejidad relativamente baja. @@ -36,9 +38,9 @@ la idea de este tutorial es explorar estos dos aspectos y revelar cómo trabajan el núcleo uxn está inspirado por las máquinas forth en que utiliza la recombinación de componentes simples para lograr soluciones apropiadas, y en que es una máquina basada en pila. -esto implica que está principalmente basada en interacciones con una pila "push down", dónde las operaciines son indicadas mediante la llamada notación postfija. +esto implica que está principalmente basada en interacciones con una pila "push down", dónde las operaciones son indicadas mediante la llamada notación postfija. -> Notación Polaca Reversa (NPR), también conocida como notación postfija polaca o simplemente notación postfija, es una notación matemática en la que los operadores siguen a sus operandos [...] +> Notación Polaca Inversa (NPR), también conocida como notación postfija polaca o simplemente notación postfija, es una notación matemática en la que los operadores siguen a sus operandos [...] => https://es.wikipedia.org/wiki/Notaci%C3%B3n_polaca_inversa Notación Polaca Inversa - Wikipedia @@ -56,9 +58,9 @@ dónde, leyendo de izquierda a derecha: * el número 48 es empujado en la pila * + toma dos elementos de la parte superior de la pila, los suma, y empuja el resultado en la pila -el libro Starting Forth tiene algunas ilustraciones grandiosas sobre este proceso de suma: +el libro Starting Forth tiene algunas buenas ilustraciones sobre este proceso de suma: -=> https://www.forth.com/starting-forth/1-forth-stacks-dictionary/#The_Stack_Forth8217s_Workspace_for_Arithmetic The Stack: Forth’s Workspace for Arithmetic +=> https://www.forth.com/starting-forth/1-forth-stacks-dictionary/#The_Stack_Forth8217s_Workspace_for_Arithmetic The Stack: Forth’s Workspace for Arithmetic (Inglés) ## de infija a postfija @@ -107,7 +109,7 @@ las palabras binarias de 8 bits, también conocidas como bytes, son los elemento uxn puede manejar también palabras binarias de 16 bits (2 bytes), también conocidas como cortos, mediante la concatenación de dos bytes consecutivos. vamos a hablar más sobre esto en el segundo día de este tutorial. -los números en uxn son expresados utilizando el sistema hexadecimal (base 16), en el qhe cada dígito (nibble) va de 0 a 9 y luego de 'a' a 'f' (en minúscula). +los números en uxn son expresados utilizando el sistema hexadecimal (base 16), en el que cada dígito (nibble) va de 0 a 9 y luego de 'a' a 'f' (en minúscula). un byte necesita dos dígitos hexadecimales (nibbles) para ser expresado, y un corto necesita cuatro. @@ -411,7 +413,7 @@ si la dirección es de 2 bytes de longitud, es asumido que es una dirección de ## runa hex literal -hablemos de otra runa: #. +hablemos de otra runa: # éste caracter define un "hex literal": es básicamente un atajo para la instrucción LIT. @@ -620,4 +622,3 @@ en el {tutorial de uxn día 2} empezamos a explorar los aspectos visuales de la # apoyo si este tutorial te ha resultado de ayuda, considera compartirlo y brindarle tu {apoyo} :) - diff --git a/src/tutorial_de_uxn_día_2.gmo b/src/tutorial_de_uxn_día_2.gmo index 3cff6bd..bf1b484 100644 --- a/src/tutorial_de_uxn_día_2.gmo +++ b/src/tutorial_de_uxn_día_2.gmo @@ -6,9 +6,7 @@ en esta sección vamos a empezar a explorar los aspectos visuales de la computad también discutiremos el trabajo con el modo corto o "short" (2 bytes) junto a los de un sólo byte en uxntal. -si todavía no lo has hecho te recomiendo que leas las sección anterior: - -=> ./tutorial_de_uxn_día_1.gmi {tutorial de uxn día 1} +si todavía no lo has hecho te recomiendo que leas las sección anterior en el {tutorial de uxn día 1} # donde están tus cortos? @@ -70,6 +68,8 @@ ahora, si añadimos el sufijo '2' a la instrucción LIT, podríamos escribir en LIT2 02 30 ADD ( código ensamblado: a0 02 30 18 ) ``` +en lugar de empujar un byte, LIT2 está empujando el corto (dos bytes) que sigue en la memoria, hacia abajo en la pila. + podemos utilizar la runa hexadecimal literal (#) con un corto (cuatro nibbles) en lugar de un byte (dos nibbles), y funcionará como una abreviatura de LIT2: ``` diff --git a/src/tutorial_de_uxn_día_6.gmo b/src/tutorial_de_uxn_día_6.gmo index e407e78..e0fdad6 100644 --- a/src/tutorial_de_uxn_día_6.gmo +++ b/src/tutorial_de_uxn_día_6.gmo @@ -372,7 +372,7 @@ he dibujado el sprite usando el modo de mezcla 85 como indica nasu, pero lo camb construyamos una subrutina que dibuje las 6 fichas de la pala en el orden correspondiente. -podríamos escribirffff la subrutina recibiendo como argumentos la posición x e `y` de su esquina superior izquierda: +podríamos escribir la subrutina recibiendo como argumentos la posición x e `y` de su esquina superior izquierda: ``` @dibuja-pala ( x^ y^ -- ) diff --git a/src/tutorial_de_uxn_día_7.gmo b/src/tutorial_de_uxn_día_7.gmo index 286d55b..a2c7bdc 100644 --- a/src/tutorial_de_uxn_día_7.gmo +++ b/src/tutorial_de_uxn_día_7.gmo @@ -223,7 +223,7 @@ tal vez puedas usar estos valores como coordenadas para algunos sprites, o tal v o ¿qué tal dibujar sprites condicionalmente, y/o cambiar los colores del sistema dependiendo de la hora? :) -¡también puedes utilizar los valores de la fecha y la hora como semillas para generar alguna pseudo-aleatoriedad! +¡también puedes utilizar los valores de la fecha y la hora como semillas para generar algo de pseudo-aleatoriedad! por último, recuerda que para cronometrar eventos con más precisión que segundos puedes contar las veces que se ha disparado el vector pantalla.