.org $FB00 .setcpu "65C02" ;;; To find: Hard disk, 5.25 floppy, 3.5 floppy, Trash .include "../desk.acc/a2d.inc" .include "../inc/prodos.inc" .addr type_table .addr type_icons .addr LFB11 .addr type_names type_table: .byte 8 .byte FT_TYPELESS, FT_SRC, FT_TEXT, FT_BINARY .byte FT_DIRECTORY, FT_SYSTEM, FT_BASIC, FT_BAD ;; ??? LFB11: .byte $60,$50,$50,$50,$20,$00,$10,$30,$10 type_names: .byte " ???" ;; Same order as icon list below .byte " ???", " SRC", " TXT", " BIN" .byte " DIR", " SYS", " BAS", " SYS" .byte " BAD" type_icons: .addr gen, src, txt, bin, dir, sys, bas, app .macro DEFICON addr, stride, left, top, width, height .addr addr .word stride, left, top, width, height .endmacro gen: DEFICON generic_icon, 4, 0, 0, 27, 17 src: txt: DEFICON text_icon, 4, 0, 0, 27, 17 bin: DEFICON binary_icon, 4, 0, 0, 27, 17 dir: DEFICON folder_icon, 4, 0, 0, 27, 17 sys: DEFICON sys_icon, 4, 0, 0, 27, 17 bas: DEFICON basic_icon, 4, 0, 0, 27, 17 app: DEFICON app_icon, 5, 0, 0, 34, 17 ;;; Generic generic_icon: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000) .byte px(%1000000),px(%0000000),PX(%0000001),px(%1100000) .byte px(%1000000),px(%0000000),PX(%0000001),px(%0110000) .byte px(%1000000),px(%0000000),PX(%0000001),px(%0011000) .byte px(%1000000),px(%0000000),PX(%0000001),PX(%0001100) .byte px(%1000000),px(%0000000),PX(%0000001),PX(%0000110) .byte px(%1000000),px(%0000000),PX(%0000001),PX(%0000011) .byte px(%1000000),px(%0000000),PX(%0000001),PX(%1111111) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) generic_mask: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1100000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1110000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111100) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111110) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) ;;; Text File text_icon: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000) .byte px(%1000000),px(%0000000),PX(%0000001),px(%1100000) .byte px(%1001100),px(%0111110),PX(%0111111),px(%0110000) .byte px(%1000000),px(%0000000),PX(%0000001),px(%0011000) .byte px(%1001111),px(%1100111),px(%1000001),PX(%0001100) .byte px(%1000000),px(%0000000),px(%0000001),px(%0000110) .byte px(%1001111),px(%0011110),px(%0110001),PX(%0000011) .byte px(%1000000),px(%0000000),PX(%0000001),PX(%1111111) .byte px(%1000000),px(%0000000),px(%0000000),px(%0000001) .byte px(%1001111),px(%1100110),px(%0111100),px(%1111001) .byte px(%1000000),px(%0000000),px(%0000000),px(%0000001) .byte px(%1001111),px(%0011110),px(%1111111),px(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1001111),px(%0011111),px(%1001111),px(%1100001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) text_mask: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1100000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1110000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111000) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111100) .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111110) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) ;;; Binary binary_icon: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000110),px(%0110000),px(%0000000) .byte px(%0000000),px(%0011000),px(%0001100),px(%0000000) .byte px(%0000000),px(%1100000),px(%0000011),px(%0000000) .byte px(%0000011),px(%0000000),px(%0000000),px(%1100000) .byte px(%0001100),px(%0011000),px(%0011000),px(%0011000) .byte px(%0110000),px(%0100100),px(%0101000),px(%0000110) .byte px(%1000000),px(%0100100),px(%0001000),px(%0000001) .byte px(%0110000),px(%0100100),px(%0001000),px(%0000110) .byte px(%0001100),px(%0011000),px(%0001000),px(%0011000) .byte px(%0000011),px(%0000000),px(%0000000),px(%1100000) .byte px(%0000000),px(%1100000),px(%0000011),px(%0000000) .byte px(%0000000),px(%0011000),px(%0001100),px(%0000000) .byte px(%0000000),px(%0000110),px(%0110000),px(%0000000) .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) binary_mask: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000111),px(%1110000),px(%0000000) .byte px(%0000000),PX(%0011111),px(%1111100),px(%0000000) .byte px(%0000000),PX(%1111111),PX(%1111111),px(%0000000) .byte px(%0000011),PX(%1111111),PX(%1111111),px(%1100000) .byte PX(%0001111),PX(%1111111),PX(%1111111),px(%1111000) .byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110) .byte PX(%0001111),PX(%1111111),PX(%1111111),px(%1111000) .byte px(%0000011),PX(%1111111),PX(%1111111),px(%1100000) .byte px(%0000000),PX(%1111111),PX(%1111111),px(%0000000) .byte px(%0000000),PX(%0011111),px(%1111100),px(%0000000) .byte px(%0000000),px(%0000111),px(%1110000),px(%0000000) .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) ;;; Folder folder_icon: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte PX(%0011111),px(%1111110),px(%0000000),px(%0000000) .byte px(%0100000),px(%0000001),px(%0000000),px(%0000000) .byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001) .byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110) folder_mask: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte PX(%0011111),px(%1111110),px(%0000000),px(%0000000) .byte PX(%0111111),PX(%1111111),px(%0000000),px(%0000000) .byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110) ;;; System (no .SYSTEM suffix) sys_icon: .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0110000),px(%0000000),px(%0000000),px(%0000110) .byte px(%0110011),px(%1111111),px(%1111111),px(%1100110) .byte px(%0110011),px(%0000000),px(%0010000),px(%1100110) .byte px(%0110011),px(%0000000),px(%0100000),px(%1100110) .byte px(%0110011),px(%0010000),px(%1000100),px(%1100110) .byte px(%0110011),px(%0100000),px(%0001000),px(%1100110) .byte px(%0110011),px(%1111111),px(%1111111),px(%1100110) .byte px(%0110000),px(%0000000),px(%0000000),px(%0000110) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%1111111),px(%1111111),px(%1111111),px(%1111111) .byte px(%1100000),px(%0000000),px(%0000000),px(%0000011) .byte px(%1100110),px(%0000000),px(%0000000),px(%0000011) .byte px(%1100000),px(%0000000),px(%0000000),px(%0000011) .byte px(%1111111),px(%1111111),px(%1111111),px(%1111111) .byte px(%1100000),px(%0000000),px(%0000000),px(%0000011) .byte px(%1111111),px(%1111111),px(%1111111),px(%1111111) sys_mask: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0001111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0011111),px(%1111111),px(%1111111),px(%1111100) .byte px(%0011111),px(%1111111),px(%1111111),px(%1111100) .byte px(%0011111),px(%1111111),px(%1111111),px(%1111100) .byte px(%0011111),px(%1111111),px(%1111111),px(%1111100) .byte px(%0011111),px(%1111111),px(%1111111),px(%1111100) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) ;;; Basic basic_icon: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000110),px(%0110000),px(%0000000) .byte px(%0000000),px(%0011000),px(%0001100),px(%0000000) .byte px(%0000000),px(%1100000),px(%0000011),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0111110),px(%0111000),px(%1111010),px(%0111100) .byte px(%0100010),px(%1000100),px(%1000010),px(%1000110) .byte px(%0111100),px(%1111100),px(%1111010),px(%1000000) .byte px(%0100010),px(%1000100),px(%0001010),px(%1000110) .byte px(%0111110),px(%1000100),px(%1111010),px(%0111100) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%1100000),px(%0000011),px(%0000000) .byte px(%0000000),px(%0011000),px(%0001100),px(%0000000) .byte px(%0000000),px(%0000110),px(%0110000),px(%0000000) .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) basic_mask: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000111),px(%1110000),px(%0000000) .byte px(%0000000),PX(%0011111),px(%1111100),px(%0000000) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111) .byte px(%0000000),PX(%0011111),px(%1111100),px(%0000000) .byte px(%0000000),px(%0000111),px(%1110000),px(%0000000) .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) ;;; System (with .SYSTEM suffix) app_icon: .byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%1100110),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000011),px(%0000001),px(%1000000),px(%0000000) .byte px(%0000000),px(%0001100),px(%0000000),px(%0110000),px(%0000000) .byte px(%0000000),px(%0110000),px(%0000000),px(%0001100),px(%0000000) .byte px(%0000001),px(%1000000),px(%0000000),px(%0000011),px(%0000000) .byte px(%0000110),px(%0000000),px(%0000000),px(%0000000),px(%1100000) .byte px(%0011000),px(%0000000),px(%0000001),px(%1111100),px(%0011000) .byte px(%1100000),px(%0000000),px(%0000110),px(%0000011),px(%0000110) .byte px(%0011000),px(%0000000),px(%0011000),px(%1110000),px(%1111000) .byte px(%0000110),px(%0000111),px(%1111111),px(%1111100),px(%0011110) .byte px(%0000001),px(%1000000),px(%0110000),px(%1100000),px(%0011110) .byte px(%0000000),px(%0110000),px(%0001110),px(%0000000),px(%0011110) .byte px(%0000000),px(%0001100),px(%0000001),PX(%1111111),px(%1111110) .byte px(%0000000),px(%0000011),px(%0000001),px(%1000000),px(%0011110) .byte px(%0000000),px(%0000000),px(%1100110),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000) app_mask: .byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%1111110),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000011),px(%1111111),px(%1000000),px(%0000000) .byte px(%0000000),px(%0001111),px(%1111111),px(%1110000),px(%0000000) .byte px(%0000000),px(%0111111),px(%1111111),px(%1111100),px(%0000000) .byte px(%0000001),px(%1111111),px(%1111111),px(%1111111),px(%0000000) .byte px(%0000111),px(%1111111),px(%1111111),px(%1111111),px(%1100000) .byte px(%0011111),px(%1111111),px(%1111111),px(%1111111),px(%1111000) .byte px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111110) .byte px(%0011111),px(%1111111),px(%1111111),px(%1111111),px(%1111100) .byte px(%0000111),px(%1111111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0000001),px(%1111111),px(%1111111),px(%1111111),px(%1111000) .byte px(%0000000),px(%0111111),px(%1111111),px(%1111100),px(%1111000) .byte px(%0000000),px(%0001111),px(%1111111),px(%1111000),px(%0000000) .byte px(%0000000),px(%0000011),px(%1111111),px(%1000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%1111110),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000) .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000) .res 70