uxn

Varvara Ordinator, written in ANSI C(SDL2)
git clone https://git.eamoncaddigan.net/uxn.git
Log | Files | Refs | README | LICENSE

commit 77e2f0eea9ab7bd5054a77abd8d183e7cc8a775e
parent fc88ab0421d76a23772792b5c088e2ed45823495
Author: neauoire <aliceffekt@gmail.com>
Date:   Fri,  2 Apr 2021 20:40:53 -0700

Started channel selector

Diffstat:
MREADME.md | 22++++------------------
Mbuild.sh | 2+-
Mprojects/examples/dev.audio.usm | 23+++++++++++++++--------
3 files changed, 20 insertions(+), 27 deletions(-)

diff --git a/README.md b/README.md @@ -22,14 +22,12 @@ To build the Uxn emulator, you must have [SDL2](https://wiki.libsdl.org/). Read more in the [Uxambly Guide](https://wiki.xxiivv.com/site/uxambly.html). ``` -( hello world ) - %RTN { JMP2r } ( devices ) |0100 ;Console { pad 8 char 1 byte 1 short 2 } -|0200 ,RESET JMP2 +|0200 ^RESET JMP |0204 ,ERROR JMP2 |0208 ,FRAME JMP2 @@ -63,21 +61,9 @@ RTN ## TODOs -### OS Boot Disk - -- Load external disk in disk2 - -### Assembler - -- Includes -- Defines -- Jump helpers -- Implement Peek/Pook to helpers -- Create a theme designer application -- DateTime device -- Document controller.player2 - -## Notes +- Shortcut to export/import disk state +- Implement Uxambly REPL +- Load disks at a different place than 0x0000. ## Palettes diff --git a/build.sh b/build.sh @@ -28,7 +28,7 @@ else fi echo "Assembling.." -./bin/assembler projects/examples/dev.audio.usm bin/boot.rom +./bin/assembler projects/software/noodle.usm bin/boot.rom echo "Running.." if [ "${2}" = '--cli' ]; diff --git a/projects/examples/dev.audio.usm b/projects/examples/dev.audio.usm @@ -36,7 +36,7 @@ @RESET - ( theme ) #f0fd =System.r #f0c3 =System.g #f032 =System.b + ( theme ) #e0fa =System.r #30fa =System.g #30fa =System.b ~Screen.width #0002 DIV2 #0080 SUB2 =frame.x1 ~Screen.height #0002 DIV2 #0038 SUB2 =frame.y1 @@ -48,6 +48,12 @@ ,draw-timeline JSR2 ,draw-controls JSR2 + + ~frame.x1 #0028 SUB2 ~frame.y2 #0010 ADD2 #06 ,ch1_txt ,draw-label JSR2 + ~frame.x1 #0028 SUB2 ~frame.y2 #0018 ADD2 #01 ,ch2_txt ,draw-label JSR2 + ~frame.x1 #0028 SUB2 ~frame.y2 #0020 ADD2 #01 ,ch3_txt ,draw-label JSR2 + ~frame.x1 #0028 SUB2 ~frame.y2 #0028 ADD2 #01 ,ch4_txt ,draw-label JSR2 + BRK @FRAME @@ -60,7 +66,6 @@ BRK ,draw-position JSR2 $skip - ~Mouse.state #00 EQU ,$click-end JNZ2 ~Mouse.x ~frame.x1 GTH2 ~Mouse.x ~frame.x2 LTH2 #0101 EQU2 @@ -98,7 +103,7 @@ BRK $skip #00 SWP ,notes ADD2 PEK2 #0c #03 MUL SUB =Audio.ch1pitch - #44 =Audio.ch1vol + #11 =Audio.ch1vol RTN @@ -148,7 +153,7 @@ RTN DUP STH #00 SWP #0e SWP SUB #0008 MUL2 ~frame.y1 ADD2 =Sprite.y OVR #00 SWP #0008 MUL2 ~frame.x1 ADD2 =Sprite.x ,note2_icn =Sprite.addr - #01 STHr #00 EQU SUB =Sprite.color + #02 STHr #00 EQU SUB =Sprite.color ( incr ) SWP #01 ADD SWP DUP2 LTH ^$notes-loop JNZ POP2 @@ -269,7 +274,6 @@ RTN @draw-controls ( -- ) - ~frame.x1 #0000 ADD2 ~frame.y2 #0008 ADD2 #01 ,ch1_txt ,draw-label JSR2 ~frame.x1 #0000 ADD2 ~frame.y2 #0010 ADD2 #01 ,env_txt ,draw-label JSR2 ~frame.x1 #0000 ADD2 ~frame.y2 #0020 ADD2 #00 ,draw-knob JSR2 @@ -299,7 +303,7 @@ RTN ,cursor_icn =Sprite.addr ~pointer.x =Sprite.x ~pointer.y =Sprite.y - #11 ~Mouse.state #00 NEQ ADD =Sprite.color + #12 ~Mouse.state #00 NEQ ADD =Sprite.color RTN @@ -364,8 +368,11 @@ RTN @note2_icn [ 0000 1c3e 3e3e 1c00 ] @head_icn [ 0018 1818 7e3c 1800 ] -@ch1_txt [ Channel1 00 ] -@env_txt [ Enveloppe 00 ] +@ch1_txt [ SQR1 00 ] +@ch2_txt [ SQR2 00 ] +@ch3_txt [ TRI3 00 ] +@ch4_txt [ WAV4 00 ] +@env_txt [ Envelope 00 ] @vol_txt [ Volume 00 ] @notes [