mirror of
https://github.com/mi57730/a2d.git
synced 2025-08-07 02:26:19 +00:00
MGTK: Add GetDeskPat/SetDeskPat commands
This commit is contained in:
19
MGTK.md
19
MGTK.md
@@ -902,6 +902,25 @@ Parameters:
|
|||||||
.byte activate 0=deactivate, 1=activate
|
.byte activate 0=deactivate, 1=activate
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
#### GetDeskPat ($4F)
|
||||||
|
Get address of desktop pattern.
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
```
|
||||||
|
.addr pattern (out) 8x8 pixel pattern
|
||||||
|
```
|
||||||
|
|
||||||
|
#### SetDeskPat ($50)
|
||||||
|
Set new desktop pattern. Note that this does NOT redraw anything.
|
||||||
|
Applications can show/hide a full-screen window to force a redraw.
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
```
|
||||||
|
.res 8 pattern 8x8 pixel pattern
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
# Creating Applications and DeskTop Desk Accessories
|
# Creating Applications and DeskTop Desk Accessories
|
||||||
|
|
||||||
### Application Use
|
### Application Use
|
||||||
|
@@ -2269,7 +2269,9 @@ volume:
|
|||||||
.proc erase_desktop_icon
|
.proc erase_desktop_icon
|
||||||
lda #0
|
lda #0
|
||||||
sta LA3B7
|
sta LA3B7
|
||||||
MGTK_CALL MGTK::SetPattern, checkerboard_pattern
|
|
||||||
|
MGTK_CALL MGTK::GetDeskPat, addr
|
||||||
|
MGTK_CALL MGTK::SetPattern, 0, addr
|
||||||
;; fall through
|
;; fall through
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
@@ -376,6 +376,8 @@ jump_table:
|
|||||||
;; Extra Calls
|
;; Extra Calls
|
||||||
.addr BitBltImpl ; $4D BitBlt
|
.addr BitBltImpl ; $4D BitBlt
|
||||||
.addr SetMenuSelectionImpl; $4E SetMenuSelection
|
.addr SetMenuSelectionImpl; $4E SetMenuSelection
|
||||||
|
.addr GetDeskPatImpl ; $4F GetDeskPat
|
||||||
|
.addr SetDeskPatImpl ; $50 SetDeskPat
|
||||||
|
|
||||||
;; Entry point param lengths
|
;; Entry point param lengths
|
||||||
;; (length, ZP destination, hide cursor flag)
|
;; (length, ZP destination, hide cursor flag)
|
||||||
@@ -493,6 +495,8 @@ param_lengths:
|
|||||||
;; Extra Calls
|
;; Extra Calls
|
||||||
PARAM_DEFN 16, $8A, 0 ; $4D BitBlt
|
PARAM_DEFN 16, $8A, 0 ; $4D BitBlt
|
||||||
PARAM_DEFN 2, $82, 0 ; $4E SetMenuSelection
|
PARAM_DEFN 2, $82, 0 ; $4E SetMenuSelection
|
||||||
|
PARAM_DEFN 0, $00, 0 ; $4F GetDeskPat
|
||||||
|
PARAM_DEFN 0, $00, 0 ; $50 SetDeskPat
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
;;; Pre-Shift Tables
|
;;; Pre-Shift Tables
|
||||||
@@ -4939,6 +4943,7 @@ bottom: .word screen_height-1
|
|||||||
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
|
||||||
|
desktop_pattern:
|
||||||
checkerboard_pattern:
|
checkerboard_pattern:
|
||||||
.byte %01010101
|
.byte %01010101
|
||||||
.byte %10101010
|
.byte %10101010
|
||||||
@@ -10300,10 +10305,31 @@ mouse_firmware_hi: ; e.g. if mouse is in slot 4, this is $C4
|
|||||||
mouse_operand: ; e.g. if mouse is in slot 4, this is $40
|
mouse_operand: ; e.g. if mouse is in slot 4, this is $40
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
.endproc ; mgtk
|
|
||||||
|
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
;;; GetDeskPat
|
||||||
|
|
||||||
|
.proc GetDeskPatImpl
|
||||||
|
ldax #desktop_pattern
|
||||||
|
jmp store_xa_at_params
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
;;; SetDeskPat
|
||||||
|
|
||||||
|
.proc SetDeskPatImpl
|
||||||
|
ldy #.sizeof(MGTK::Pattern)-1
|
||||||
|
: lda (params_addr),y
|
||||||
|
sta desktop_pattern,y
|
||||||
|
dey
|
||||||
|
bpl :-
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
.endproc ; mgtk
|
||||||
|
|
||||||
;; Room for future expansion
|
;; Room for future expansion
|
||||||
PAD_TO $8580
|
PAD_TO $8580
|
||||||
|
14
mgtk.inc
14
mgtk.inc
@@ -490,12 +490,22 @@ ActivateCtl = $4C ; Activate/deactivate scroll bar
|
|||||||
;;; .byte which_ctl ctl_*_scroll_bar
|
;;; .byte which_ctl ctl_*_scroll_bar
|
||||||
;;; .byte activate 0=deactivate, 1=activate
|
;;; .byte activate 0=deactivate, 1=activate
|
||||||
|
|
||||||
;;; $4D ???
|
;;; --------------------------------------------------
|
||||||
|
;;; Extra Calls
|
||||||
|
|
||||||
|
BitBlt = $4D
|
||||||
;;; (input length: 16 bytes)
|
;;; (input length: 16 bytes)
|
||||||
|
|
||||||
;;; $4E ???
|
SetMenuSelection = $4E
|
||||||
;;; (input length: 2 bytes)
|
;;; (input length: 2 bytes)
|
||||||
|
|
||||||
|
GetDeskPat = $4F
|
||||||
|
;;; .addr pattern (out) Address of desktop pattern
|
||||||
|
|
||||||
|
SetDeskPat = $50
|
||||||
|
;;; .res 8 pattern 8x8 pixel pattern to use for desktop
|
||||||
|
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
;;; Graphics Primitives Constants
|
;;; Graphics Primitives Constants
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user