compudanzas/src/intro_to_uxn_programming.gmo

57 lines
2.4 KiB
Plaintext

# intro to uxn programming workshop
online workshop to learn the basics of {uxn} programming
# upcoming
=> https://withfriends.co/event/13004513/babycastles_academy_intro_to_uxn_programming Babycastles Academy: Intro to Uxn Programming
sunday, november 21, 12021, at 3pm UTC-5 (EST)
# description
Have you wondered how computers function under layers of abstraction? Are you curious about learning about assembly languages? Would you like to try fun challenges, while getting to know a permacomputing platform? Join us in learning about Uxn!
Uxn is a portable 8-bit virtual computer inspired by forth-machines, capable of running simple tools and games, and programmable in its own unique assembly language called Uxntal.
Uxn is at the core of Varvara computer, a platform for running small audio/visual applications. Varvara has been ported already to several years old and modern computing platforms, like the Gameboy Advance, Nintendo DS, the Playdate, and more.
In this workshop we'll introduce the basic concepts to start programming this computer: its architecture, the programming paradigms of Uxntal, and some low-level aspects that will allow us to create a simple drawing tool!
Pre-requisites: This workshop is best for those with some previous programming experience. However, no previous experience with assembly or low-level computing is needed.
We will use the learn-uxn website by metasyn, that requires a web browser with javascript enabled:
=> https://metasyn.github.io/learn-uxn learn-uxn
# outline
* what is uxn, varvara, uxntal?
* varvara computer architecture
* the stack and postfix notation
* setting system colors
* labels
* drawing a pixel
* designing a sprite
* drawing a sprite
* draw loop: on-screen vector
* reading the mouse
* a small conditional example
# resources
=> ./uxn_tutorial.gmi {uxn tutorial}
=> ./hexadecimal.gmi {hexadecimal}
## external
=> https://metasyn.github.io/learn-uxn/ learn-uxn by metasyn
=> https://wiki.xxiivv.com/site/uxn.html uxn technical documentation
=> https://wiki.xxiivv.com/site/uxntal_reference.html the uxntal opcode manual
=> https://wiki.xxiivv.com/site/uxntal_cheatsheet.html uxntal cheatsheet
=> https://git.sr.ht/~rabbits/uxn uxn repository
=> https://llllllll.co/t/uxn-virtual-computer/ llllllll forum
=> https://github.com/hundredrabbits/awesome-uxn awesome uxn: awesome things from the community
irc channel: #uxn on irc.esper.net
=> https://100r.co/site/nasu.html nasu spritesheet editor