mirror of
https://github.com/mi57730/a2d.git
synced 2024-11-26 02:49:18 +00:00
Identify REDRAW_ALL entry point
This commit is contained in:
parent
ce7926b257
commit
4227be7825
@ -8,6 +8,10 @@
|
|||||||
A2D := $4000
|
A2D := $4000
|
||||||
|
|
||||||
UNKNOWN_CALL := $8E00
|
UNKNOWN_CALL := $8E00
|
||||||
|
;; MLI-style call (call, addr)
|
||||||
|
;; Bounces to $93BC
|
||||||
|
;; References jump table at 939E
|
||||||
|
|
||||||
|
|
||||||
;; These must be called from main memory (RAMRDON/RAMWRTON)
|
;; These must be called from main memory (RAMRDON/RAMWRTON)
|
||||||
JUMP_TABLE_03 := $4003 ; ???
|
JUMP_TABLE_03 := $4003 ; ???
|
||||||
@ -16,7 +20,7 @@ JUMP_TABLE_09 := $4009 ; ???
|
|||||||
JUMP_TABLE_0C := $400C ; ??? (made "items/in disk/..." redraw oddly)
|
JUMP_TABLE_0C := $400C ; ??? (made "items/in disk/..." redraw oddly)
|
||||||
JUMP_TABLE_0F := $400F ; ???
|
JUMP_TABLE_0F := $400F ; ???
|
||||||
JUMP_TABLE_12 := $4012 ; ???
|
JUMP_TABLE_12 := $4012 ; ???
|
||||||
JUMP_TABLE_15 := $4015 ; ???
|
JUMP_TABLE_REDRAW_ALL := $4015 ; Redraw all windows (e.g. after a drag)
|
||||||
JUMP_TABLE_18 := $4018 ; ???
|
JUMP_TABLE_18 := $4018 ; ???
|
||||||
JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection
|
JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection
|
||||||
JUMP_TABLE_MLI := $4021 ; ProDOS MLI call (Y=call, X,A=params addr)
|
JUMP_TABLE_MLI := $4021 ; ProDOS MLI call (Y=call, X,A=params addr)
|
||||||
|
@ -79,12 +79,11 @@ call_init:
|
|||||||
|
|
||||||
;; Used after a drag-and-drop is completed;
|
;; Used after a drag-and-drop is completed;
|
||||||
;; redraws the window.
|
;; redraws the window.
|
||||||
.proc call_4015_main
|
.proc redraw_screen_and_window
|
||||||
|
|
||||||
zp_stash := $20
|
zp_stash := $20
|
||||||
|
|
||||||
;; Call jump table entry $4015 in main memory, by
|
;; Copying trampoline routine to the ZP.
|
||||||
;; copying a trampoline routine to the ZP.
|
|
||||||
|
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
@ -121,7 +120,7 @@ skip: lda #0
|
|||||||
.proc routine
|
.proc routine
|
||||||
sta RAMRDOFF
|
sta RAMRDOFF
|
||||||
sta RAMWRTOFF
|
sta RAMWRTOFF
|
||||||
jsr JUMP_TABLE_15
|
jsr JUMP_TABLE_REDRAW_ALL
|
||||||
sta RAMRDON
|
sta RAMRDON
|
||||||
sta RAMWRTON
|
sta RAMWRTON
|
||||||
rts
|
rts
|
||||||
@ -925,7 +924,7 @@ loop: lda routine,x
|
|||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
A2D_CALL A2D_DRAG_WINDOW, drag_params
|
A2D_CALL A2D_DRAG_WINDOW, drag_params
|
||||||
lda ROMIN2
|
lda ROMIN2
|
||||||
jsr call_4015_main ; redraws window
|
jsr redraw_screen_and_window
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
@ -78,12 +78,13 @@ stash_stack: .byte 0
|
|||||||
window_id = $33
|
window_id = $33
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
;;; Redraw the screen (all windows) after a drag
|
||||||
|
|
||||||
.proc call_4015_main
|
.proc redraw_screen
|
||||||
|
|
||||||
dest := $20
|
dest := $20
|
||||||
|
|
||||||
;; copy following "call 4015" routine to $20 and call it
|
;; copy following routine to $20 and call it
|
||||||
ldx #sizeof_routine
|
ldx #sizeof_routine
|
||||||
loop: lda routine,x
|
loop: lda routine,x
|
||||||
sta dest,x
|
sta dest,x
|
||||||
@ -109,7 +110,7 @@ skip: lda #0
|
|||||||
.proc routine
|
.proc routine
|
||||||
sta RAMRDOFF
|
sta RAMRDOFF
|
||||||
sta RAMWRTOFF
|
sta RAMWRTOFF
|
||||||
jsr JUMP_TABLE_15
|
jsr JUMP_TABLE_REDRAW_ALL
|
||||||
sta RAMRDON
|
sta RAMRDON
|
||||||
sta RAMWRTON
|
sta RAMWRTON
|
||||||
rts
|
rts
|
||||||
@ -762,7 +763,7 @@ check_title:
|
|||||||
sta drag_window_params::id
|
sta drag_window_params::id
|
||||||
A2D_CALL A2D_DRAG_WINDOW, drag_window_params
|
A2D_CALL A2D_DRAG_WINDOW, drag_window_params
|
||||||
ldx #$23
|
ldx #$23
|
||||||
jsr call_4015_main
|
jsr redraw_screen
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;; on key press - exit if Escape
|
;; on key press - exit if Escape
|
||||||
|
@ -476,7 +476,7 @@ end: rts
|
|||||||
ldx font_size_count
|
ldx font_size_count
|
||||||
sta RAMWRTOFF
|
sta RAMWRTOFF
|
||||||
loop: lda font_width_table - 1,x
|
loop: lda font_width_table - 1,x
|
||||||
sta call_jt15+2,x
|
sta font_width_backup - 1,x
|
||||||
dex
|
dex
|
||||||
bne loop
|
bne loop
|
||||||
sta RAMWRTON
|
sta RAMWRTON
|
||||||
@ -563,7 +563,7 @@ title: jsr on_title_bar_click
|
|||||||
;;; This is dead code (no resize handle!) and may be buggy
|
;;; This is dead code (no resize handle!) and may be buggy
|
||||||
.proc on_resize_click
|
.proc on_resize_click
|
||||||
A2D_CALL A2D_DRAG_RESIZE, resize_drag_params
|
A2D_CALL A2D_DRAG_RESIZE, resize_drag_params
|
||||||
jsr call_jt15 ; call $4015 on main
|
jsr redraw_screen
|
||||||
jsr calc_window_size
|
jsr calc_window_size
|
||||||
|
|
||||||
max_width := default_width
|
max_width := default_width
|
||||||
@ -1344,10 +1344,10 @@ loop: clc
|
|||||||
rts
|
rts
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
.proc call_jt15
|
.proc redraw_screen
|
||||||
lda #<JUMP_TABLE_15
|
lda #<JUMP_TABLE_REDRAW_ALL
|
||||||
sta call_main_addr ; self-modified
|
sta call_main_addr
|
||||||
lda #>JUMP_TABLE_15
|
lda #>JUMP_TABLE_REDRAW_ALL
|
||||||
sta call_main_addr+1
|
sta call_main_addr+1
|
||||||
jsr call_main_trampoline
|
jsr call_main_trampoline
|
||||||
rts
|
rts
|
||||||
|
@ -245,3 +245,9 @@ RANGE { START $a95d; END $a95d; TYPE ByteTable; };
|
|||||||
RANGE { START $a95e; END $a95f; TYPE AddrTable; };
|
RANGE { START $a95e; END $a95f; TYPE AddrTable; };
|
||||||
RANGE { START $bff8; END $bff8; TYPE ByteTable; };
|
RANGE { START $bff8; END $bff8; TYPE ByteTable; };
|
||||||
RANGE { START $bff9; END $bffa; TYPE AddrTable; };
|
RANGE { START $bff9; END $bffa; TYPE AddrTable; };
|
||||||
|
|
||||||
|
RANGE { START $403B; END $4041; TYPE Code; };
|
||||||
|
RANGE { START $407F; END $40E4; TYPE Code; };
|
||||||
|
|
||||||
|
RANGE { START $40E5; END $431f; TYPE ByteTable; };
|
||||||
|
RANGE { START $44A1; END $4DAE; TYPE ByteTable; };
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.org $2000
|
.org $2000
|
||||||
; da65 V2.16 - Git f5e9b401
|
; da65 V2.16 - Git f5e9b401
|
||||||
; Created: 2017-09-17 12:00:53
|
; Created: 2017-09-17 15:06:29
|
||||||
; Input file: orig/DESKTOP2_s0_loader
|
; Input file: orig/DESKTOP2_s0_loader
|
||||||
; Page: 1
|
; Page: 1
|
||||||
|
|
||||||
|
2405
desktop/s1_aux1.s
2405
desktop/s1_aux1.s
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
.org $D000
|
.org $D000
|
||||||
; da65 V2.16 - Git f5e9b401
|
; da65 V2.16 - Git f5e9b401
|
||||||
; Created: 2017-09-17 12:00:53
|
; Created: 2017-09-17 15:06:29
|
||||||
; Input file: orig/DESKTOP2_s2_aux2
|
; Input file: orig/DESKTOP2_s2_aux2
|
||||||
; Page: 1
|
; Page: 1
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.org $FB00
|
.org $FB00
|
||||||
; da65 V2.16 - Git f5e9b401
|
; da65 V2.16 - Git f5e9b401
|
||||||
; Created: 2017-09-17 12:00:53
|
; Created: 2017-09-17 15:06:29
|
||||||
; Input file: orig/DESKTOP2_s3_aux3
|
; Input file: orig/DESKTOP2_s3_aux3
|
||||||
; Page: 1
|
; Page: 1
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.org $4000
|
.org $4000
|
||||||
; da65 V2.16 - Git f5e9b401
|
; da65 V2.16 - Git f5e9b401
|
||||||
; Created: 2017-09-17 12:00:53
|
; Created: 2017-09-17 15:06:29
|
||||||
; Input file: orig/DESKTOP2_s4_main1
|
; Input file: orig/DESKTOP2_s4_main1
|
||||||
; Page: 1
|
; Page: 1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user