mirror of
https://git.sr.ht/~rabbits/uxn
synced 2024-11-26 15:53:01 +00:00
Started channel selector
This commit is contained in:
parent
fc88ab0421
commit
77e2f0eea9
3 changed files with 20 additions and 27 deletions
22
README.md
22
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).
|
Read more in the [Uxambly Guide](https://wiki.xxiivv.com/site/uxambly.html).
|
||||||
|
|
||||||
```
|
```
|
||||||
( hello world )
|
|
||||||
|
|
||||||
%RTN { JMP2r }
|
%RTN { JMP2r }
|
||||||
|
|
||||||
( devices )
|
( devices )
|
||||||
|
|
||||||
|0100 ;Console { pad 8 char 1 byte 1 short 2 }
|
|0100 ;Console { pad 8 char 1 byte 1 short 2 }
|
||||||
|0200 ,RESET JMP2
|
|0200 ^RESET JMP
|
||||||
|0204 ,ERROR JMP2
|
|0204 ,ERROR JMP2
|
||||||
|0208 ,FRAME JMP2
|
|0208 ,FRAME JMP2
|
||||||
|
|
||||||
|
@ -63,21 +61,9 @@ RTN
|
||||||
|
|
||||||
## TODOs
|
## TODOs
|
||||||
|
|
||||||
### OS Boot Disk
|
- Shortcut to export/import disk state
|
||||||
|
- Implement Uxambly REPL
|
||||||
- Load external disk in disk2
|
- Load disks at a different place than 0x0000.
|
||||||
|
|
||||||
### Assembler
|
|
||||||
|
|
||||||
- Includes
|
|
||||||
- Defines
|
|
||||||
- Jump helpers
|
|
||||||
- Implement Peek/Pook to helpers
|
|
||||||
- Create a theme designer application
|
|
||||||
- DateTime device
|
|
||||||
- Document controller.player2
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
## Palettes
|
## Palettes
|
||||||
|
|
||||||
|
|
2
build.sh
2
build.sh
|
@ -28,7 +28,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Assembling.."
|
echo "Assembling.."
|
||||||
./bin/assembler projects/examples/dev.audio.usm bin/boot.rom
|
./bin/assembler projects/software/noodle.usm bin/boot.rom
|
||||||
|
|
||||||
echo "Running.."
|
echo "Running.."
|
||||||
if [ "${2}" = '--cli' ];
|
if [ "${2}" = '--cli' ];
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
@RESET
|
@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.width #0002 DIV2 #0080 SUB2 =frame.x1
|
||||||
~Screen.height #0002 DIV2 #0038 SUB2 =frame.y1
|
~Screen.height #0002 DIV2 #0038 SUB2 =frame.y1
|
||||||
|
@ -48,6 +48,12 @@
|
||||||
,draw-timeline JSR2
|
,draw-timeline JSR2
|
||||||
,draw-controls 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
|
BRK
|
||||||
|
|
||||||
@FRAME
|
@FRAME
|
||||||
|
@ -60,7 +66,6 @@ BRK
|
||||||
,draw-position JSR2
|
,draw-position JSR2
|
||||||
$skip
|
$skip
|
||||||
|
|
||||||
|
|
||||||
~Mouse.state #00 EQU ,$click-end JNZ2
|
~Mouse.state #00 EQU ,$click-end JNZ2
|
||||||
|
|
||||||
~Mouse.x ~frame.x1 GTH2 ~Mouse.x ~frame.x2 LTH2 #0101 EQU2
|
~Mouse.x ~frame.x1 GTH2 ~Mouse.x ~frame.x2 LTH2 #0101 EQU2
|
||||||
|
@ -98,7 +103,7 @@ BRK
|
||||||
$skip
|
$skip
|
||||||
#00 SWP ,notes ADD2 PEK2
|
#00 SWP ,notes ADD2 PEK2
|
||||||
#0c #03 MUL SUB =Audio.ch1pitch
|
#0c #03 MUL SUB =Audio.ch1pitch
|
||||||
#44 =Audio.ch1vol
|
#11 =Audio.ch1vol
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
|
@ -148,7 +153,7 @@ RTN
|
||||||
DUP STH #00 SWP #0e SWP SUB #0008 MUL2 ~frame.y1 ADD2 =Sprite.y
|
DUP STH #00 SWP #0e SWP SUB #0008 MUL2 ~frame.y1 ADD2 =Sprite.y
|
||||||
OVR #00 SWP #0008 MUL2 ~frame.x1 ADD2 =Sprite.x
|
OVR #00 SWP #0008 MUL2 ~frame.x1 ADD2 =Sprite.x
|
||||||
,note2_icn =Sprite.addr
|
,note2_icn =Sprite.addr
|
||||||
#01 STHr #00 EQU SUB =Sprite.color
|
#02 STHr #00 EQU SUB =Sprite.color
|
||||||
( incr ) SWP #01 ADD SWP
|
( incr ) SWP #01 ADD SWP
|
||||||
DUP2 LTH ^$notes-loop JNZ
|
DUP2 LTH ^$notes-loop JNZ
|
||||||
POP2
|
POP2
|
||||||
|
@ -269,7 +274,6 @@ RTN
|
||||||
|
|
||||||
@draw-controls ( -- )
|
@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 #0010 ADD2 #01 ,env_txt ,draw-label JSR2
|
||||||
|
|
||||||
~frame.x1 #0000 ADD2 ~frame.y2 #0020 ADD2 #00 ,draw-knob JSR2
|
~frame.x1 #0000 ADD2 ~frame.y2 #0020 ADD2 #00 ,draw-knob JSR2
|
||||||
|
@ -299,7 +303,7 @@ RTN
|
||||||
,cursor_icn =Sprite.addr
|
,cursor_icn =Sprite.addr
|
||||||
~pointer.x =Sprite.x
|
~pointer.x =Sprite.x
|
||||||
~pointer.y =Sprite.y
|
~pointer.y =Sprite.y
|
||||||
#11 ~Mouse.state #00 NEQ ADD =Sprite.color
|
#12 ~Mouse.state #00 NEQ ADD =Sprite.color
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
|
@ -364,8 +368,11 @@ RTN
|
||||||
@note2_icn [ 0000 1c3e 3e3e 1c00 ]
|
@note2_icn [ 0000 1c3e 3e3e 1c00 ]
|
||||||
@head_icn [ 0018 1818 7e3c 1800 ]
|
@head_icn [ 0018 1818 7e3c 1800 ]
|
||||||
|
|
||||||
@ch1_txt [ Channel1 00 ]
|
@ch1_txt [ SQR1 00 ]
|
||||||
@env_txt [ Enveloppe 00 ]
|
@ch2_txt [ SQR2 00 ]
|
||||||
|
@ch3_txt [ TRI3 00 ]
|
||||||
|
@ch4_txt [ WAV4 00 ]
|
||||||
|
@env_txt [ Envelope 00 ]
|
||||||
@vol_txt [ Volume 00 ]
|
@vol_txt [ Volume 00 ]
|
||||||
|
|
||||||
@notes [
|
@notes [
|
||||||
|
|
Loading…
Reference in a new issue