mirror of
https://github.com/irmen/prog8.git
synced 2025-01-12 04:30:03 +00:00
fixed signature of mouse_get(): it returns the buttonstatus in A. Added convenience cx16.mouse_pos() routine.
This commit is contained in:
parent
53bf8c09fd
commit
c8bd57cd4d
@ -307,13 +307,25 @@ romsub $ff7d = primm()
|
|||||||
romsub $ff44 = macptr() clobbers(A,X,Y)
|
romsub $ff44 = macptr() clobbers(A,X,Y)
|
||||||
romsub $ff47 = enter_basic(ubyte cold_or_warm @Pc) clobbers(A,X,Y)
|
romsub $ff47 = enter_basic(ubyte cold_or_warm @Pc) clobbers(A,X,Y)
|
||||||
romsub $ff68 = mouse_config(ubyte shape @A, ubyte scale @X) clobbers (A, X, Y)
|
romsub $ff68 = mouse_config(ubyte shape @A, ubyte scale @X) clobbers (A, X, Y)
|
||||||
romsub $ff6b = mouse_get(ubyte zpdataptr @X) clobbers(A)
|
romsub $ff6b = mouse_get(ubyte zpdataptr @X) -> ubyte @A
|
||||||
romsub $ff71 = mouse_scan() clobbers(A, X, Y)
|
romsub $ff71 = mouse_scan() clobbers(A, X, Y)
|
||||||
romsub $ff53 = joystick_scan() clobbers(A, X, Y)
|
romsub $ff53 = joystick_scan() clobbers(A, X, Y)
|
||||||
romsub $ff56 = joystick_get(ubyte joynr @A) -> ubyte @A, ubyte @X, ubyte @Y
|
romsub $ff56 = joystick_get(ubyte joynr @A) -> ubyte @A, ubyte @X, ubyte @Y
|
||||||
romsub $ff4d = clock_set_date_time(uword yearmonth @R0, uword dayhours @R1, uword minsecs @R2, ubyte jiffies @R3) clobbers(A, X, Y)
|
romsub $ff4d = clock_set_date_time(uword yearmonth @R0, uword dayhours @R1, uword minsecs @R2, ubyte jiffies @R3) clobbers(A, X, Y)
|
||||||
romsub $ff50 = clock_get_date_time() clobbers(A, X, Y) -> uword @R0, uword @R1, uword @R2, ubyte @R3 ; result registers see clock_set_date_time()
|
romsub $ff50 = clock_get_date_time() clobbers(A, X, Y) -> uword @R0, uword @R1, uword @R2, ubyte @R3 ; result registers see clock_set_date_time()
|
||||||
|
|
||||||
|
asmsub mouse_pos() -> ubyte @A {
|
||||||
|
; -- short wrapper around mouse_get() kernal routine:
|
||||||
|
; -- gets the position of the mouse cursor in cx16.r0 and cx16.r1 (x/y coordinate), returns mouse button status.
|
||||||
|
%asm {{
|
||||||
|
phx
|
||||||
|
ldx #cx16.r0
|
||||||
|
jsr cx16.mouse_get
|
||||||
|
plx
|
||||||
|
rts
|
||||||
|
}}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
; It's not documented what registers are clobbered, so we assume the worst for all following kernal routines...:
|
; It's not documented what registers are clobbered, so we assume the worst for all following kernal routines...:
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
7.7
|
7.8-dev
|
||||||
|
@ -3,7 +3,9 @@ TODO
|
|||||||
|
|
||||||
For next release
|
For next release
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
...
|
- allow goto pointervar (goto $a000 already works...) then use this in cx16assem's run_file()
|
||||||
|
- allow "xxx" * constexpr (where constexpr is not a number literal, now gives expression error not same type)
|
||||||
|
- is * lower prio than bitwise & ? fix prios if so!
|
||||||
|
|
||||||
|
|
||||||
Need help with
|
Need help with
|
||||||
|
@ -2,45 +2,17 @@
|
|||||||
%zeropage basicsafe
|
%zeropage basicsafe
|
||||||
|
|
||||||
main {
|
main {
|
||||||
str s1 = "Irmen_"
|
|
||||||
str s2 = @"IRMEN_"
|
|
||||||
str s3 = sc:"IRMEN_"
|
|
||||||
str s4 = iso:"Käse, Straße"
|
|
||||||
|
|
||||||
sub start() {
|
sub start() {
|
||||||
txt.iso()
|
cx16.mouse_config(1, 0)
|
||||||
; txt.lowercase()
|
|
||||||
txt.nl()
|
|
||||||
txt.nl()
|
|
||||||
txt.nl()
|
|
||||||
txt.nl()
|
|
||||||
txt.nl()
|
|
||||||
txt.print(s1)
|
|
||||||
txt.nl()
|
|
||||||
txt.print(s2)
|
|
||||||
txt.nl()
|
|
||||||
txt.print(s3)
|
|
||||||
txt.nl()
|
|
||||||
txt.print(s4)
|
|
||||||
txt.nl()
|
|
||||||
|
|
||||||
sc(1, s1)
|
|
||||||
sc(2, s2)
|
|
||||||
sc(3, s3)
|
|
||||||
sc(4, s4)
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sc(ubyte row, str text) {
|
|
||||||
uword addr = 1024+row*40
|
|
||||||
ubyte ix = 0
|
|
||||||
ubyte ss
|
|
||||||
repeat {
|
repeat {
|
||||||
ss = text[ix]
|
ubyte mb = cx16.mouse_pos()
|
||||||
if not ss
|
txt.print_uw(cx16.r0)
|
||||||
return
|
txt.spc()
|
||||||
@(addr) = ss
|
txt.print_uw(cx16.r1)
|
||||||
addr++
|
txt.spc()
|
||||||
ix++
|
txt.print_ub(mb)
|
||||||
|
txt.nl()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user