diff --git a/desktop/desktop_aux.s b/desktop/desktop_aux.s index abf3913..4e26905 100644 --- a/desktop/desktop_aux.s +++ b/desktop/desktop_aux.s @@ -874,18 +874,9 @@ L9758: jmp L96DD ;;; ============================================================ ;;; GET_HIGHLIGHTED IMPL -;;; Copies first 20 highlighted icon numbers to ($06) +;;; Copies highlighted icon numbers to ($06) .proc GET_HIGHLIGHTED_IMPL - ldx #0 - txa - tay -: sta ($06),y - iny - inx - cpx #20 ; 20 items - bne :- - ldx #0 ldy #0 : lda highlight_list,x diff --git a/desktop/desktop_main.s b/desktop/desktop_main.s index 607583c..26a0b27 100644 --- a/desktop/desktop_main.s +++ b/desktop/desktop_main.s @@ -8824,6 +8824,9 @@ offset: .word 0 ;;; | 10 9 8 7 6 Trash | ;;; +-------------------------+ + trash_iconx = 506 + trash_icony = 160 + desktop_icon_coords_table: DEFINE_POINT 490,16 ; 1 DEFINE_POINT 490,45 ; 2 @@ -15201,8 +15204,14 @@ trash_name: PASCAL_STRING " Trash " stax ptr ldy #IconEntry::win_type copy #icon_entry_type_trash, (ptr),y + + ldy #IconEntry::iconx + copy16in #desktop_main::create_volume_icon::trash_iconx, (ptr),y + ldy #IconEntry::icony + copy16in #desktop_main::create_volume_icon::trash_icony, (ptr),y ldy #IconEntry::iconbits copy16in #trash_icon, (ptr),y + iny ldx #0 : lda trash_name,x diff --git a/desktop/desktop_res.s b/desktop/desktop_res.s index 9c1a7c4..e99c15a 100644 --- a/desktop/desktop_res.s +++ b/desktop/desktop_res.s @@ -1397,17 +1397,11 @@ date: .word 0 ;;; -------------------------------------------------- -icon_entries: - ;; Trash icon placed first, has these bytes... - .byte 0 ; id (overwritten) - .byte 0 ; state (overwritten) - .byte 0 ; win_type (overwritten) - .word 506, 160 ; iconx, icony - .byte 0 ; len (overwritten) - .res 17, 0 ; name (overwritten) PAD_TO $ED00 ;;; (there's enough room here for 127 files at 27 bytes each) +icon_entries: + .assert ($FB00 - *) >= 127 * .sizeof(IconEntry), error, "Not enough room for icons" ;;; ============================================================ diff --git a/macros.inc b/macros.inc index d3f603d..d9edc64 100644 --- a/macros.inc +++ b/macros.inc @@ -47,7 +47,7 @@ end: .macro PAD_TO addr .if (addr - *) >= 0 - .res addr - *, 0 + .res addr - * .else .error .sprintf("Padding offset %d", addr - *) .endif