forked from sejo/compudanzas
removed outline, replaced with topics to cover
This commit is contained in:
parent
d16a9dc40f
commit
da300d3b52
|
@ -4,7 +4,7 @@ a beginner's guide for programming the varvara computer based on the {uxn} core,
|
|||
|
||||
=> https://wiki.xxiivv.com/site/uxn.html uxn technical documentation
|
||||
|
||||
the tutorial is divided in 8 days (or sections), as it can be followed along with a workshop.
|
||||
the tutorial is divided in days as it can be followed along with a workshop.
|
||||
|
||||
(as of today, this is a work in progress)
|
||||
|
||||
|
@ -73,6 +73,8 @@ irc channel: #uxn on irc.esper.net
|
|||
|
||||
this is a summary of the uxn instructions covered in each day of the tutorial.
|
||||
|
||||
short mode is covered on day 2, and return and keep mode are covered on day 5.
|
||||
|
||||
## day 1
|
||||
|
||||
* ADD: take the top two elements from the stack, add them, and push down the result ( a b -- a+b )
|
||||
|
@ -124,100 +126,17 @@ this is a summary of the uxn instructions covered in each day of the tutorial.
|
|||
* JSR: unconditionally jump to the address in the working stack, pushing down into the return stack the address of the next instruction in memory
|
||||
* STH: take a value from the working stack and push it down into the return stack. in return mode, do the opposite.
|
||||
|
||||
# to cover
|
||||
|
||||
# draft outline
|
||||
|
||||
this outline is here and now as a reference of the overall structure of the tutorial.
|
||||
|
||||
changes are expected to happen.
|
||||
|
||||
## day 1: the basics
|
||||
|
||||
* why uxn?
|
||||
* {postfix} notation
|
||||
* uxn computer architecture
|
||||
* installation and toolchain
|
||||
* a very basic hello world
|
||||
* labels, macros, and runes
|
||||
* an improved hello world
|
||||
* print a digit
|
||||
|
||||
new instructions: LIT, DEO, ADD, SUB
|
||||
|
||||
=> https://git.sr.ht/~rabbits/uxn/ uxn repo
|
||||
|
||||
## day 2: the screen
|
||||
|
||||
* short mode
|
||||
* system colors
|
||||
* draw pixels
|
||||
* sprites: chr format, nasu
|
||||
* draw sprites
|
||||
* stack operations
|
||||
* practice: manual repetition of sprite
|
||||
|
||||
new instructions: DEI, MUL, DIV, SWP, OVR, ROT, DUP, POP
|
||||
|
||||
new mode: short mode
|
||||
|
||||
=> https://wiki.xxiivv.com/site/nasu.html nasu
|
||||
|
||||
## day 3: interactivity with the keyboard
|
||||
|
||||
* controller vector
|
||||
* flow control: conditionals, relative and absolute jumps
|
||||
* runes for addresses
|
||||
* button and key
|
||||
* bitwise masks
|
||||
* practice: move/change sprite with keyboard
|
||||
|
||||
new instructions: EQU, NEQ, JCN, JMP, AND, ORA, EOR, SFT
|
||||
|
||||
## day 4: loops and animation
|
||||
|
||||
* flow control: repetition of a sprite
|
||||
* screen vector
|
||||
* variables: zero page, relative, absolute
|
||||
* offsets in addresses
|
||||
* animation timing
|
||||
* practice: animated sprite
|
||||
|
||||
new instructions: LTH, GTH, STZ, STR, STA, LDZ, LDR, LDA
|
||||
|
||||
## day 5: interactivity with mouse
|
||||
|
||||
* mouse device and vector
|
||||
* return stack and mode
|
||||
* subroutines: parameters, calling, returning
|
||||
* practice: sprite as pointer
|
||||
* practice: simple drawing tool
|
||||
|
||||
new instructions: STH, JSR
|
||||
|
||||
new mode: return mode
|
||||
|
||||
## day 6: audio
|
||||
these are topics and examples that have still to be covered in the remaining days of the tutorial:
|
||||
|
||||
* higher level drawing routines: multi-tile sprites, point inside a rectangle, rectangle intersecting rectangle
|
||||
* the audio device
|
||||
* samples as audio sprites
|
||||
* adsr
|
||||
* pitch
|
||||
* practice: small music instrument
|
||||
|
||||
## day 7: keep mode and other devices
|
||||
|
||||
* keep mode
|
||||
* re-writing code with keep mode
|
||||
* file device: saving and loading a simple state
|
||||
* datetime device: reading the date and time
|
||||
* practice: visualization of time
|
||||
|
||||
new mode: keep mode
|
||||
|
||||
## day 8: demo time
|
||||
|
||||
* share what you created :)
|
||||
|
||||
# support
|
||||
|
||||
if you found this tutorial to be helpful, consider sharing it and giving it your {support} :)
|
||||
|
|
Loading…
Reference in New Issue