DeskTop Seg 1: DESKTOP jump table

This commit is contained in:
Joshua Bell 2017-10-05 18:36:20 -07:00
parent 5c24d5d114
commit 947140f8c8

View File

@ -6926,6 +6926,7 @@ L7CB6: .byte 0
L7CB7: .byte 0 L7CB7: .byte 0
L7CB8: .byte 0 L7CB8: .byte 0
L7CB9: .byte 0 L7CB9: .byte 0
L7CBA: lda L7CB6 L7CBA: lda L7CB6
sec sec
sbc L7CB8 sbc L7CB8
@ -7736,7 +7737,7 @@ L836A: jsr L70B7
lda $CC lda $CC
bne L8380 bne L8380
lda #$09 lda #$09
bit set_input_params_modifiers bit set_input_params::modifiers
bpl L837A bpl L837A
lda #$41 lda #$41
L837A: cmp $CB L837A: cmp $CB
@ -7744,12 +7745,11 @@ L837A: cmp $CB
clc clc
rts rts
L8380: inc set_input_params_unk L8380: inc set_input_params::unk
clc clc
lda #$08 lda #$08
.byte $2C L8388 := *+2
.byte $50 bit set_input_params::modifiers
L8388: .byte $83
bpl L838D bpl L838D
lda #$40 lda #$40
L838D: adc L769B L838D: adc L769B
@ -8137,7 +8137,7 @@ L8672: pha
L867B: lda online_params_buffer L867B: lda online_params_buffer
beq L8672 beq L8672
jsr L8388 jsr L8388 ; ??? This is the middle of an instruction?
jsr LD05E jsr LD05E
ldy L8738 ldy L8738
sta $D464,y sta $D464,y
@ -8235,17 +8235,24 @@ L8737: rts
L8738: .byte $04 L8738: .byte $04
L8739: .byte $00,$00,$00,$00 L8739: .byte $00,$00,$00,$00
;; Desktop icon placements?
.word 500, 16 .word 500, 16
.word 500, 41 .word 500, 41
.word 500, 66 .word 500, 66
.word 500, 91 .word 500, 91
.word 500, 116 .word 500, 116
.byte $B8,$01,$10,$00,$B8,$01,$29,$00 .word 440, 16
.byte $B8,$01,$42,$00,$B8,$01,$5B,$00 .word 440, 41
.byte $B8,$01,$74,$00,$B8,$01,$8D,$00 .word 440, 66
.byte $90,$01,$10,$00,$90,$01,$29,$00 .word 440, 91
.byte $90,$01,$42,$00 .word 440, 116
.word 440, 141
.word 400, 16
.word 400, 41
.word 400, 66
.proc online_params .proc online_params
count: .byte 2 count: .byte 2
@ -8278,7 +8285,7 @@ online_params_buffer:
;;; Font ;;; Font
font_table: font_table:
.byte $00,$7F .byte $00,$7F ; ??
glyph_height: glyph_height:
.byte 9 .byte 9
@ -8727,13 +8734,22 @@ set_fill_mode_params5:
.byte $05,$06,$07 .byte $05,$06,$07
L939E: .byte $00 ;; DESKTOP command jump table
L939F: .byte $00,$19,$94,$54,$94,$C0,$94,$08 L939E: .addr 0
.byte $95,$A2,$95,$92,$96,$D2,$96,$5B .addr L9419
.byte $97,$7D,$97,$F7,$97,$BE,$9E,$A6 .addr L9454
.byte $A2,$FB,$9E .addr L94C0
.byte $8F .addr L9508
.byte $95 .addr L95A2
.addr L9692
.addr L96D2
.addr L975B
.addr L977D
.addr L97F7
.addr L9EBE
.addr LA2A6
.addr L9EFB
.addr L958F
.macro DESKTOP_DIRECT_CALL op, addr, label .macro DESKTOP_DIRECT_CALL op, addr, label
jsr DESKTOP_DIRECT jsr DESKTOP_DIRECT
@ -8743,38 +8759,46 @@ L939F: .byte $00,$19,$94,$54,$94,$C0,$94,$08
;; DESKTOP entry point (after jump) ;; DESKTOP entry point (after jump)
DESKTOP_DIRECT: DESKTOP_DIRECT:
;; Stash return value from stack, adjust by 3
;; (command byte, params addr)
pla pla
sta L9413 sta call_params
clc clc
adc #$03 adc #<3
tax tax
pla pla
sta L9414 sta call_params+1
adc #$00 adc #>3
pha pha
txa txa
pha pha
ldx #$00
L93CF: lda $06,x ;; Save $06..$09 on the stack
ldx #0
: lda $06,x
pha pha
inx inx
cpx #$04 cpx #4
bne L93CF bne :-
lda L9413
;; Point ($06) at call command
lda call_params
clc clc
adc #$01 adc #<1
sta $06 sta $06
lda L9414 lda call_params+1
adc #$00 adc #>1
sta $07 sta $07
ldy #$00
ldy #0
lda ($06),y lda ($06),y
asl a asl a
tax tax
lda L939E,x lda L939E,x
sta L9404 sta dispatch + 1
lda L939F,x lda L939E+1,x
sta L9405 sta dispatch + 2
iny iny
lda ($06),y lda ($06),y
tax tax
@ -8782,9 +8806,10 @@ L93CF: lda $06,x
lda ($06),y lda ($06),y
sta $07 sta $07
stx $06 stx $06
L9404 := * + 1
L9405 := * + 2 dispatch:
jsr $0000 jsr $0000
tay tay
ldx #$03 ldx #$03
L9409: pla L9409: pla
@ -8795,14 +8820,16 @@ L9409: pla
tya tya
rts rts
L9413: .byte 0 call_params: .addr 0
L9414: .byte 0
.proc set_pos_params2 .proc set_pos_params2
xcoord: .word 0 xcoord: .word 0
ycoord: .word 0 ycoord: .word 0
.endproc .endproc
;;; ==================================================
L9419:
ldy #$00 ldy #$00
lda ($06),y lda ($06),y
ldx L8E95 ldx L8E95
@ -8893,6 +8920,9 @@ L949D: ldx L9016
lda #$00 lda #$00
rts rts
;;; ==================================================
L94C0:
ldx L8E95 ldx L8E95
beq L94D2 beq L94D2
dex dex
@ -8933,6 +8963,9 @@ L9502: jsr L9F98
lda #$00 lda #$00
rts rts
;;; ==================================================
L9508:
ldy #$00 ldy #$00
ldx L8E95 ldx L8E95
beq L951A beq L951A
@ -8996,6 +9029,9 @@ L9584: lda #$00
L958C: lda #$00 L958C: lda #$00
rts rts
;;; ==================================================
L958F:
ldy #$00 ldy #$00
lda ($06),y lda ($06),y
asl a asl a
@ -9006,6 +9042,9 @@ L958C: lda #$00
sta $07 sta $07
jmp LA39D jmp LA39D
;;; ==================================================
L95A2:
jmp L9625 jmp L9625
L95A5: L95A5:
@ -9064,10 +9103,14 @@ L9681: sta L95A5
pha pha
jmp L967A jmp L967A
;;; ==================================================
L9692:
jmp L9697 jmp L9697
L9695: .byte 0 L9695: .byte 0
L9696: .byte 0 L9696: .byte 0
L9697: lda L8E95 L9697: lda L8E95
sta L9696 sta L9696
L969D: ldx L9696 L969D: ldx L9696
@ -9094,10 +9137,14 @@ L969D: ldx L9696
L96CF: lda #$00 L96CF: lda #$00
rts rts
;;; ==================================================
L96D2:
jmp L96D7 jmp L96D7
L96D5: .byte 0 L96D5: .byte 0
L96D6: .byte 0 L96D6: .byte 0
L96D7: lda L8E95 L96D7: lda L8E95
sta L96D6 sta L96D6
L96DD: ldx L96D6 L96DD: ldx L96D6
@ -9157,6 +9204,9 @@ L9750: lda #$00
sta L9017,x sta L9017,x
L9758: jmp L96DD L9758: jmp L96DD
;;; ==================================================
L975B:
ldx #$00 ldx #$00
txa txa
tay tay
@ -9178,6 +9228,9 @@ L976B: lda L9017,x
L977A: lda #$00 L977A: lda #$00
rts rts
;;; ==================================================
L977D:
jmp L9789 jmp L9789
.byte 0 .byte 0
@ -9189,6 +9242,7 @@ L977A: lda #$00
.byte 0 .byte 0
.byte 0 .byte 0
.byte 0 .byte 0
L9789: ldy #$03 L9789: ldy #$03
L978B: lda ($06),y L978B: lda ($06),y
sta set_pos_params2,y sta set_pos_params2,y
@ -9246,6 +9300,8 @@ L97E6: pla
.byte 0 .byte 0
L97F5: .byte 0 L97F5: .byte 0
L97F6: .byte 0 L97F6: .byte 0
L97F7:
ldy #$00 ldy #$00
lda ($06),y lda ($06),y
sta L982A sta L982A
@ -10006,6 +10062,9 @@ L9EB4: asl a
lda L8F15,y lda L8F15,y
rts rts
;;; ==================================================
L9EBE:
jmp L9EC3 jmp L9EC3
.byte 0 .byte 0
@ -10036,6 +10095,9 @@ L9EEA: ldy #$00
rts rts
;;; ==================================================
L9EFB:
jmp L9F07 jmp L9F07
L9EFE: .byte 0 L9EFE: .byte 0
@ -10418,6 +10480,10 @@ LA256: lsr a
LA2A4: .byte 0 LA2A4: .byte 0
LA2A5: .byte 0 LA2A5: .byte 0
;;; ==================================================
LA2A6:
jmp LA2AE jmp LA2AE
LA2A9: .byte 0 LA2A9: .byte 0