Added extra keyboard controls to Noodle

This commit is contained in:
neauoire 2021-03-20 11:37:01 -07:00
parent d9aa276b13
commit 0d6f81570b
8 changed files with 25 additions and 4 deletions

View File

@ -20,5 +20,5 @@ cc -std=c89 -DDEBUG -Wall -Wno-unknown-pragmas -Wpedantic -Wshadow -Wextra -Werr
# cc uxn.c emulator.c -std=c89 -Os -DNDEBUG -g0 -s -Wall -Wno-unknown-pragmas -L/usr/local/lib -lSDL2 -o bin/emulator
# run
./bin/assembler projects/software/nasu.usm bin/boot.rom
./bin/assembler projects/software/noodle.usm bin/boot.rom
./bin/emulator bin/boot.rom

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -6,6 +6,8 @@
arrows - move zoom
space - toogle zoom
backspace - blank canvas
m - toggle mirror mode
1-8 - select brush size
TODO
- Only draw-canvas when mouse has changed
@ -14,6 +16,7 @@
- Limit size
- Draw point inbetween
- Pixel cleanup brush
- Drag canvas content
BUGS
- If canvas is higher than 0, mouse picking fails
)
@ -29,7 +32,7 @@
;center { x 2 y 2 }
;toolbar { x1 2 y1 2 x2 2 y2 2 }
;cursor { x 2 y 2 x0 2 y0 2 size 1 patt 1 drag 1 }
;cursor { x 2 y 2 x0 2 y0 2 size 1 patt 1 drag 1 mirror 1 }
;zoom { active 1 x 2 y 2 }
;rect { x1 2 y1 2 x2 2 y2 2 }
;origin { x1 2 y1 2 x2 2 y2 2 }
@ -121,7 +124,13 @@ BRK
( in canvas )
,$no-touch-canvas ~Mouse.x CLN2r ~canvas.x1 GTH2 STH2r ~canvas.x2 LTH2 #0101 NEQ2 JMP2?
,$no-touch-canvas ~Mouse.y CLN2r ~canvas.y1 GTH2 STH2r ~canvas.y2 LTH2 #0101 NEQ2 JMP2?
~Mouse.x ~canvas.x1 SUB2 ~Mouse.y ~canvas.y1 SUB2 ,paint JSR2
,$no-mirror-mode ~cursor.mirror #00 EQU JMP2?
~Mouse.x ~canvas.x1 SUB2 ~canvas.w 8* SWP2 SUB2 ~Mouse.y ~canvas.y1 SUB2 ,paint JSR2
$no-mirror-mode
$no-touch-canvas
( background interface )
@ -166,7 +175,13 @@ BRK
( toggle zoom ) ~zoom.active #00 EQU =zoom.active ,redraw JSR2 $no-space
DUP #08 NEQ ,$no-backspace ROT JMP2?
( erase ) ,clear JSR2 $no-backspace
DUP #6d NEQ ,$no-mkey ROT JMP2?
( mirror ) ~cursor.mirror #00 EQU =cursor.mirror $no-mkey
DUP
DUP #30 GTH SWP #39 LTH #0101 NEQ2 ,$no-numkey ROT JMP2?
( size ) ~Keys #31 SUB =cursor.size ,draw-toolbar JSR2 $no-numkey
POP
( release ) #00 =Keys
$no-keys
@ -437,6 +452,12 @@ RTN
( draw new cursor )
,$outside-canvas ~Mouse.x CLN2r ~canvas.x1 GTH2 STH2r ~canvas.x2 LTH2 #0101 NEQ2 JMP2?
,$outside-canvas ~Mouse.y CLN2r ~canvas.y1 GTH2 STH2r ~canvas.y2 LTH2 #0101 NEQ2 JMP2?
( do not draw size in toolbar )
,$outside-canvas
~Mouse.x CLN2r ~toolbar.x1 GTH2 STH2r ~toolbar.x2 LTH2 #0101 EQU2
~Mouse.y CLN2r ~toolbar.y1 GTH2 STH2r ~toolbar.y2 LTH2 #0101 EQU2
#0101 EQU2 JMP2?
( do not draw size when holding alt )
,$outside-canvas ~Controller #02 EQU JMP2?
~cursor.x #0003 SUB2 =Sprite.x
~cursor.y #0003 SUB2 =Sprite.y
@ -613,7 +634,7 @@ RTN
@save_icn [ fe82 8282 848a f400 ]
@blank_icn [ 0000 0000 0000 0000 ]
@filepath [ projects/picture2a1a.bit 00 ]
@filepath [ projects/pictures/tima2a1a.bit 00 ]
@font_hex ( 0-F )
[
@ -641,4 +662,4 @@ RTN
|FF60 ;File { pad 8 name 2 length 2 load 2 save 2 }
|FFF0 .RESET .FRAME .ERROR ( vectors )
|FFF8 [ d0ef d03f d03f ] ( palette )
|FFF8 [ f07c f0e2 f0c2 ] ( palette )