Merge remote-tracking branch 'origin/disasm'

This commit is contained in:
Joshua Bell 2018-12-14 20:10:45 -08:00
parent 9c1169d7bf
commit d632a7e999
8 changed files with 563 additions and 479 deletions

View File

@ -26,9 +26,9 @@ DA_MAX_SIZE := DA_IO_BUFFER - DA_LOAD_ADDRESS
;; Quit routine signature/data ;; Quit routine signature/data
quit_routine_signature := $D3FF copied_to_ramcard_flag := $D3FF
quit_string_1 := $D3EE ramcard_prefix := $D3EE
quit_string_2 := $D3AD desktop_orig_prefix := $D3AD
;;; ============================================================ ;;; ============================================================
;;; Direct Calls (from main memory) ;;; Direct Calls (from main memory)

View File

@ -15,9 +15,9 @@
entry_copied_flags := $D395 entry_copied_flags := $D395
;; Quit routine signature/data ;; Quit routine signature/data
quit_routine_signature := $D3FF ; $00 at start, $C0 mid copy, $80 done copied_to_ramcard_flag := $D3FF ; $00 at start, $C0 mid copy, $80 done
quit_string_1 := $D3EE ramcard_prefix := $D3EE
quit_string_2 := $D3AD desktop_orig_prefix := $D3AD
;;; ============================================================ ;;; ============================================================
.proc copy_desktop_to_ramcard .proc copy_desktop_to_ramcard
@ -202,7 +202,7 @@ match: sta $D3AC
lda ROMIN2 lda ROMIN2
ldx #0 ldx #0
jsr set_quit_routine_signature jsr set_copied_to_ramcard_flag
;; Point $8 at $C100 ;; Point $8 at $C100
lda #0 lda #0
@ -285,13 +285,13 @@ found_slot:
bne :- bne :-
ldx #$C0 ldx #$C0
jsr set_quit_routine_signature jsr set_copied_to_ramcard_flag
addr_call set_quit_string_1, path0 addr_call set_ramcard_prefix, path0
jsr check_desktop2_on_device jsr check_desktop2_on_device
bcs :+ bcs :+
ldx #$80 ldx #$80
jsr set_quit_routine_signature jsr set_copied_to_ramcard_flag
jsr copy_2005_to_quit_string_2 jsr copy_2005_to_desktop_orig_prefix
jmp fail jmp fail
: lda BUTN1 : lda BUTN1
@ -322,7 +322,7 @@ str_slash_desktop:
jmp fail_copy jmp fail_copy
: dec buffer : dec buffer
ldx #$80 ldx #$80
jsr set_quit_routine_signature jsr set_copied_to_ramcard_flag
ldy buffer ldy buffer
: lda buffer,y : lda buffer,y
@ -379,7 +379,7 @@ fail2: lda copy_flag
sta path0 sta path0
MLI_CALL SET_PREFIX, set_prefix_params MLI_CALL SET_PREFIX, set_prefix_params
: jsr write_desktop1 : jsr write_desktop1
jsr copy_2005_to_quit_string_2 jsr copy_2005_to_desktop_orig_prefix
lda #$00 lda #$00
sta RAMWORKS_BANK ; ??? sta RAMWORKS_BANK ; ???
@ -392,17 +392,17 @@ fail2: lda copy_flag
;;; ============================================================ ;;; ============================================================
.proc set_quit_routine_signature .proc set_copied_to_ramcard_flag
lda LCBANK2 lda LCBANK2
lda LCBANK2 lda LCBANK2
stx quit_routine_signature stx copied_to_ramcard_flag
lda ROMIN2 lda ROMIN2
rts rts
.endproc .endproc
.proc set_quit_string_1 .proc set_ramcard_prefix
ptr := $6 ptr := $6
target := quit_string_1 target := ramcard_prefix
stax ptr stax ptr
lda LCBANK2 lda LCBANK2
@ -418,9 +418,9 @@ fail2: lda copy_flag
rts rts
.endproc .endproc
.proc set_quit_string_2 .proc set_desktop_orig_prefix
ptr := $6 ptr := $6
target := quit_string_2 target := desktop_orig_prefix
stax ptr stax ptr
lda LCBANK2 lda LCBANK2
@ -880,8 +880,8 @@ start: MLI_CALL OPEN, open_params
;;; ============================================================ ;;; ============================================================
.proc copy_2005_to_quit_string_2 .proc copy_2005_to_desktop_orig_prefix
addr_call set_quit_string_2, L2005 addr_call set_desktop_orig_prefix, L2005
rts rts
.endproc .endproc
@ -929,6 +929,7 @@ prodos_loader_blocks:
;; $ 2 - 24 * 16-byte data entries ;; $ 2 - 24 * 16-byte data entries
;; $0 - label (length-prefixed, 15 bytes) ;; $0 - label (length-prefixed, 15 bytes)
;; $F - active_flag (other flags, i.e. download on ... ?) ;; $F - active_flag (other flags, i.e. download on ... ?)
;; bit 6 = "down loaded" flag ???
;; $182 - 24 * 64-byte pathname ;; $182 - 24 * 64-byte pathname
;; $782 - EOF ;; $782 - EOF
@ -942,7 +943,7 @@ prodos_loader_blocks:
jsr HOME jsr HOME
lda LCBANK2 lda LCBANK2
lda LCBANK2 lda LCBANK2
lda quit_routine_signature lda copied_to_ramcard_flag
pha pha
lda ROMIN2 lda ROMIN2
pla pla
@ -1876,8 +1877,8 @@ L38D6: lda L324A,y
lda LCBANK2 lda LCBANK2
lda LCBANK2 lda LCBANK2
ldy quit_string_1 ldy ramcard_prefix
: lda quit_string_1,y : lda ramcard_prefix,y
sta L320A,y sta L320A,y
dey dey
bpl :- bpl :-

View File

@ -2958,12 +2958,12 @@ str_info_blocks:
str_colon: str_colon:
PASCAL_STRING ": " PASCAL_STRING ": "
LB22D: DEFINE_POINT 160,59 file_count_pos3: DEFINE_POINT 160,59
LB231: DEFINE_POINT 145,59 file_count_pos4: DEFINE_POINT 145,59
LB235: DEFINE_POINT 200,59 files_pos: DEFINE_POINT 200,59
LB239: DEFINE_POINT 185,59 files_pos2: DEFINE_POINT 185,59
LB23D: DEFINE_POINT 205,59 file_count_pos: DEFINE_POINT 205,59
LB241: DEFINE_POINT 195,59 file_count_pos2: DEFINE_POINT 195,59
str_format_disk: PASCAL_STRING "Format a Disk ..." str_format_disk: PASCAL_STRING "Format a Disk ..."
str_select_format: PASCAL_STRING "Select the location where the disk is to be formatted" str_select_format: PASCAL_STRING "Select the location where the disk is to be formatted"

File diff suppressed because it is too large Load Diff

View File

@ -294,7 +294,10 @@ watch_cursor:
.byte px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000)
.byte 5, 5 .byte 5, 5
LD343: .word 0 num_selector_list_items:
.byte 0
LD344: .byte 0
buf_filename2: .res 16, 0 buf_filename2: .res 16, 0
buf_win_path: .res 43, 0 buf_win_path: .res 43, 0
@ -874,8 +877,15 @@ selector_menu_addr:
.addr selector_menu .addr selector_menu
;; Buffer for Run List entries ;; Buffer for Run List entries
max_run_list_entries = 8
;; Names
run_list_entries: run_list_entries:
.res 640, 0 .res max_run_list_entries * 16, 0
;; Paths
run_list_paths:
.res max_run_list_entries * 64, 0
;;; ============================================================ ;;; ============================================================
;;; Window & Icon State ;;; Window & Icon State
@ -932,7 +942,9 @@ path_buf4:
.res 65, 0 .res 65, 0
path_buf3: path_buf3:
.res 65, 0 .res 65, 0
LE04B: .res 16, 0 filename_buf:
.res 16, 0
LE05B: .byte $00 LE05B: .byte $00
LE05C: .byte $00 LE05C: .byte $00
LE05D: .byte $00 LE05D: .byte $00
@ -1021,14 +1033,10 @@ disable: .byte 0
LE26F: .byte $00 LE26F: .byte $00
LE270: .byte $04 ; number of items in startup menu? check_menu:
DEFINE_MENU 4
.byte $00 DEFINE_MENU_ITEM str_all
.byte $00,$00,$00,$00,$00,$00,$00,$00 DEFINE_MENU_SEPARATOR
.addr str_all
LE27C: DEFINE_MENU_SEPARATOR
DEFINE_MENU_ITEM sd0s DEFINE_MENU_ITEM sd0s
DEFINE_MENU_ITEM sd1s DEFINE_MENU_ITEM sd1s
DEFINE_MENU_ITEM sd2s DEFINE_MENU_ITEM sd2s
@ -1098,14 +1106,9 @@ selector_menu:
DEFINE_MENU_ITEM label_del DEFINE_MENU_ITEM label_del
DEFINE_MENU_ITEM label_run, '0', '0' DEFINE_MENU_ITEM label_run, '0', '0'
DEFINE_MENU_SEPARATOR DEFINE_MENU_SEPARATOR
DEFINE_MENU_ITEM run_list_entries + 0 * $10, '1', '1' .repeat max_run_list_entries, i
DEFINE_MENU_ITEM run_list_entries + 1 * $10, '2', '2' DEFINE_MENU_ITEM run_list_entries + i * $10, .string(i+1), .string(i+1)
DEFINE_MENU_ITEM run_list_entries + 2 * $10, '3', '3' .endrepeat
DEFINE_MENU_ITEM run_list_entries + 3 * $10, '4', '4'
DEFINE_MENU_ITEM run_list_entries + 4 * $10, '5', '5'
DEFINE_MENU_ITEM run_list_entries + 5 * $10, '6', '6'
DEFINE_MENU_ITEM run_list_entries + 6 * $10, '7', '7'
DEFINE_MENU_ITEM run_list_entries + 7 * $10, '8', '8'
label_add: label_add:
PASCAL_STRING "Add an Entry ..." PASCAL_STRING "Add an Entry ..."

View File

@ -21,10 +21,10 @@ L9016: rts
L9017: lda $0C00 L9017: lda $0C00
clc clc
adc $0C01 adc $0C01
sta LD343 sta num_selector_list_items
lda #$00 lda #$00
sta LD343+1 sta LD344
jsr get_quit_routine_signature jsr get_copied_to_ramcard_flag
cmp #$80 cmp #$80
bne L9015 bne L9015
jsr JUMP_TABLE_REDRAW_ALL jsr JUMP_TABLE_REDRAW_ALL
@ -307,7 +307,7 @@ L9282: lda L938D
cmp #$C0 cmp #$C0
beq L92F0 beq L92F0
sta L938A sta L938A
jsr get_quit_routine_signature jsr get_copied_to_ramcard_flag
beq L92F0 beq L92F0
lda L938A lda L938A
beq L92CE beq L92CE
@ -474,7 +474,7 @@ L9471: cmp #$10
ldx #$00 ldx #$00
lda #$73 lda #$73
bne L947F bne L947F
L947B: ldax #$00DC L947B: ldax #220
L947F: clc L947F: clc
adc #$0A adc #$0A
sta dialog_label_pos sta dialog_label_pos
@ -736,32 +736,32 @@ L97A0: pha
bne L97B2 bne L97B2
addr_jump L97B6, $0069 addr_jump L97B6, $0069
L97B2: ldax #$00D2 L97B2: ldax #210
L97B6: clc L97B6: clc
adc #$09 adc #9
sta rect_D877 sta rect_D877
txa txa
adc #$00 adc #0
sta rect_D877+1 sta rect_D877+1
pla pla
cmp #$08 cmp #8
bcc L97D4 bcc L97D4
cmp #$10 cmp #16
bcs L97D1 bcs L97D1
sec sec
sbc #$08 sbc #8
jmp L97D4 jmp L97D4
L97D1: sec L97D1: sec
sbc #$10 sbc #16
L97D4: asl a L97D4: asl a
asl a asl a
asl a asl a
clc clc
adc #$18 adc #24
sta rect_D877+2 sta rect_D877+2
lda #$00 lda #0
adc #$00 adc #0
sta rect_D877+3 sta rect_D877+3
add16 rect_D877, #106, rect_D877+4 add16 rect_D877, #106, rect_D877+4
add16 rect_D877+2, #7, rect_D877+6 add16 rect_D877+2, #7, rect_D877+6
@ -808,13 +808,13 @@ L985E: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
MGTK_RELAY_CALL MGTK::PaintRect, rect_D6F8 MGTK_RELAY_CALL MGTK::PaintRect, rect_D6F8
MGTK_RELAY_CALL MGTK::SetPenMode, penXOR MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
MGTK_RELAY_CALL MGTK::PaintRect, rect_D6F8 MGTK_RELAY_CALL MGTK::PaintRect, rect_D6F8
return #$00 return #0
L9885: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR L9885: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
MGTK_RELAY_CALL MGTK::PaintRect, rect_D700 MGTK_RELAY_CALL MGTK::PaintRect, rect_D700
MGTK_RELAY_CALL MGTK::SetPenMode, penXOR MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
MGTK_RELAY_CALL MGTK::PaintRect, rect_D700 MGTK_RELAY_CALL MGTK::PaintRect, rect_D700
return #$01 return #1
L98AC: lda L938B L98AC: lda L938B
ora L938C ora L938C
@ -1252,7 +1252,7 @@ L9C09: sta warning_dialog_num
DEFINE_WRITE_PARAMS write_params, $C00, $800 DEFINE_WRITE_PARAMS write_params, $C00, $800
DEFINE_CLOSE_PARAMS flush_close_params DEFINE_CLOSE_PARAMS flush_close_params
L9C26: addr_call copy_quit_string_2, $1C00 L9C26: addr_call copy_desktop_orig_prefix, $1C00
inc $1C00 inc $1C00
ldx $1C00 ldx $1C00
lda #'/' lda #'/'
@ -1439,11 +1439,11 @@ params: .addr 0
;;; ============================================================ ;;; ============================================================
.proc get_quit_routine_signature .proc get_copied_to_ramcard_flag
sta ALTZPOFF sta ALTZPOFF
lda LCBANK2 lda LCBANK2
lda LCBANK2 lda LCBANK2
lda quit_routine_signature lda copied_to_ramcard_flag
tax tax
sta ALTZPON sta ALTZPON
lda LCBANK1 lda LCBANK1
@ -1452,14 +1452,14 @@ params: .addr 0
rts rts
.endproc .endproc
.proc copy_quit_string_1 .proc copy_ramcard_prefix
stax @addr stax @addr
sta ALTZPOFF sta ALTZPOFF
lda LCBANK2 lda LCBANK2
lda LCBANK2 lda LCBANK2
ldx quit_string_1 ldx ramcard_prefix
: lda quit_string_1,x : lda ramcard_prefix,x
@addr := *+1 @addr := *+1
sta dummy1234,x sta dummy1234,x
dex dex
@ -1471,14 +1471,14 @@ params: .addr 0
rts rts
.endproc .endproc
.proc copy_quit_string_2 .proc copy_desktop_orig_prefix
stax @addr stax @addr
sta ALTZPOFF sta ALTZPOFF
lda LCBANK2 lda LCBANK2
lda LCBANK2 lda LCBANK2
ldx quit_string_2 ldx desktop_orig_prefix
: lda quit_string_2,x : lda desktop_orig_prefix,x
@addr := *+1 @addr := *+1
sta dummy1234,x sta dummy1234,x
dex dex
@ -1500,7 +1500,7 @@ L9E61: jsr L9E74
rts rts
L9E74: sta L9EBF L9E74: sta L9EBF
addr_call copy_quit_string_1, L9EC1 addr_call copy_ramcard_prefix, L9EC1
lda L9EBF lda L9EBF
jsr L9BE2 jsr L9BE2
stax $06 stax $06

View File

@ -1847,10 +1847,12 @@ L62C7: .byte 0
;;; ============================================================ ;;; ============================================================
L62DE: ldax #$0F5A L62DE: lda #'Z'
L62E2: sta L63C2,x ldx #15
: sta L63C2,x
dex dex
bpl L62E2 bpl :-
lda #$00 lda #$00
sta L63BF sta L63BF
sta L63BE sta L63BE
@ -1902,10 +1904,13 @@ L634B: lda L63C0
lda ($06),y lda ($06),y
ora #$80 ora #$80
sta ($06),y sta ($06),y
ldax #$0F5A
L635D: sta L63C2,x lda #'Z'
ldx #15
: sta L63C2,x
dex dex
bpl L635D bpl :-
ldx L63BF ldx L63BF
lda L63C0 lda L63C0
sta L63D2,x sta L63D2,x

View File

@ -118,6 +118,8 @@ ST_VOLUME_DIRECTORY := $0F
;;; Errors ;;; Errors
;;; ============================================================ ;;; ============================================================
ERR_DEVICE_NOT_CONNECTED := $28
ERR_WRITE_PROTECTED := $2B
ERR_INVALID_REFERENCE := $43 ERR_INVALID_REFERENCE := $43
ERR_PATH_NOT_FOUND := $44 ERR_PATH_NOT_FOUND := $44
ERR_VOL_NOT_FOUND := $45 ERR_VOL_NOT_FOUND := $45