diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index b3a7ae8..e1aa6f6 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -5,8 +5,9 @@ ### Enhancements * Current time shown on right side of menu bar, if system has a clock. (#7) -* Up to 13 volumes are shown on the desktop. (#20) -* Up to 12 Desk Accessories are shown in the menu. (#90) +* Up to 13 volumes are shown on the desktop (was 10). (#20) +* Up to 12 Desk Accessories are shown in the menu (was 8). (#90) +* Drag "unlimited" number of icons (was 20). (#18) * Menus allow click-to-drop, click-to-select interaction. (#104) * Add Special > Check Drive command to refresh a single drive. (#97) * Show Text File DA: Keyboard support. Escape quits, arrows scroll. (#4) diff --git a/desktop/desktop_aux.s b/desktop/desktop_aux.s index cd24c83..cfaf0d1 100644 --- a/desktop/desktop_aux.s +++ b/desktop/desktop_aux.s @@ -298,13 +298,12 @@ highlight_count: ; number of highlighted icons highlight_list: ; selected icons .res 127, 0 - max_draggable_items = 20 +;;; Polygon holding the composite outlines of all icons being dragged. +;;; Re-use the "save area" ($800-$1AFF) since menus won't show during +;;; this operation. -;;; Polygon holding the composite outlines of all icons -;;; being dragged. - -drag_outline_buffer: - .res max_draggable_items * (.sizeof(MGTK::Point) * 8 + 2), 0 + drag_outline_buffer := save_area_buffer + max_draggable_items = save_area_size / (.sizeof(MGTK::Point) * 8 + 2) ;;; ============================================================ diff --git a/desktop/desktop_res.s b/desktop/desktop_res.s index ec9d672..6d3706e 100644 --- a/desktop/desktop_res.s +++ b/desktop/desktop_res.s @@ -178,6 +178,9 @@ checkerboard_pattern3: .byte %10101010 .byte $FF +save_area_buffer := $800 +save_area_size = $1300 + ;; Copies of ROM bytes used for machine identification .proc startdesktop_params machine: .byte $06 ; ROM FBB3 ($06 = IIe or later) @@ -186,8 +189,8 @@ op_sys: .byte 0 ; 0=ProDOS slot_num: .byte 0 ; Mouse slot, 0 = search use_interrupts: .byte 0 ; 0=passive sysfontptr: .addr DEFAULT_FONT -savearea: .addr $0800 ; $0800 - $1AFF -savesize: .word $1300 +savearea: .addr save_area_buffer +savesize: .word save_area_size .endproc zp_use_flag0: