uxn/examples/mouse.usm

41 lines
532 B
Plaintext

( mouse )
:dev/r fff8 ( std read port )
:dev/w fff9 ( std write port )
|0100 @RESET
,02 ,dev/r STR ( set dev/read mouse#02 )
,01 ,dev/w STR ( set dev/write screen#01 )
BRK
|c000 @FRAME
( get mouse button, or break )
,04 IOR
,01 NEQ
BRK?
( paint a white pixel )
,01 ,01
,getmouse JSR
,putpixel JSR
BRK
@getmouse
,00 IOR2 ( get mouse x )
,02 IOR2 ( get mouse y )
RTS
@putpixel
IOW2 ( y short )
IOW2 ( x short )
IOW ( color byte )
IOW ( redraw byte )
RTS
|d000 @ERROR BRK
|FFFA .RESET .FRAME .ERROR