diff --git a/desktop/desktop_aux.s b/desktop/desktop_aux.s index ab2e6bd..30e8205 100644 --- a/desktop/desktop_aux.s +++ b/desktop/desktop_aux.s @@ -43,6 +43,19 @@ graphics_mask: .byte px(%1111111),px(%1111111),px(%1111111),px(%1111111) .byte px(%1111111),px(%1111111),px(%1111111),px(%1111111) +cmd_file_icon: + .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) + .byte px(%0011111),px(%1111100),px(%0000000),px(%0000000) + .byte px(%0000000),px(%0111100),px(%0011001),px(%1001100) + .byte px(%0000000),px(%0111100),px(%0000110),px(%0110000) + .byte px(%0000000),px(%0111100),px(%0011001),px(%1001100) + .byte px(%0000000),px(%0111100),px(%0000110),px(%0110000) + .byte px(%0000000),px(%0111100),px(%0011001),px(%1001100) + .byte px(%0011111),px(%1111100),px(%0000000),px(%0000000) + .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000) + ;; shares top part of graphics_mask + + awp_icon: ; AppleWorks Word Processing .byte px(%0111111),px(%1111111),px(%1111100),px(%0000000) .byte px(%0100000),px(%0000000),px(%0001011),px(%0000000) @@ -78,6 +91,7 @@ asp_icon: ; AppleWorks Spreadsheet .byte px(%0100011),px(%1111111),px(%1111111),px(%1100010) .byte px(%0100000),px(%0000000),px(%0000000),px(%0000010) .byte px(%0111111),px(%1111111),px(%1111111),px(%1111110) + ;; shares generic_mask adb_icon: ; AppleWorks Database .byte px(%0111111),px(%1111111),px(%1111100),px(%0000000) @@ -96,6 +110,7 @@ adb_icon: ; AppleWorks Database .byte px(%0100111),px(%1110011),px(%1110011),px(%1110010) .byte px(%0100000),px(%0000000),px(%0000000),px(%0000010) .byte px(%0111111),px(%1111111),px(%1111111),px(%1111110) + ;; shares generic_mask iigs_file_icon: .byte px(%0111111),px(%1111111),px(%1111100),px(%0000000) @@ -114,6 +129,7 @@ iigs_file_icon: .byte px(%0100000),px(%0000000),px(%0000000),px(%0000010) .byte px(%0100000),px(%0000000),px(%0000000),px(%0000010) .byte px(%0111111),px(%1111111),px(%1111111),px(%1111110) + ;; shares generic_mask rel_file_icon: .byte px(%0000000),px(%0000001),px(%1000000),px(%0000000) @@ -131,6 +147,7 @@ rel_file_icon: .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) + ;; shares binary_mask PAD_TO $8800 diff --git a/desktop/desktop_res.s b/desktop/desktop_res.s index bcc0314..65b9b9f 100644 --- a/desktop/desktop_res.s +++ b/desktop/desktop_res.s @@ -1376,12 +1376,13 @@ icon_entries: .org $FB00 - num_file_types = 13 + num_file_types = 14 type_table: .byte FT_TYPELESS ; typeless .byte FT_SRC ; src .byte FT_REL ; rel + .byte FT_CMD ; command .byte FT_TEXT ; text .byte FT_BINARY ; binary .byte FT_DIRECTORY ; directory @@ -1397,6 +1398,7 @@ type_names_table: .byte " ???" ; typeless .byte " SRC" ; src .byte " REL" ; rel + .byte " CMD" ; rel .byte " TXT" ; text .byte " BIN" ; binary .byte " DIR" ; directory @@ -1420,6 +1422,7 @@ icon_type_table: .byte icon_entry_type_generic ; typeless .byte icon_entry_type_generic ; src .byte icon_entry_type_generic ; rel + .byte icon_entry_type_generic ; cmd .byte icon_entry_type_generic ; text .byte icon_entry_type_binary ; binary .byte icon_entry_type_dir ; directory @@ -1435,6 +1438,7 @@ type_icons_table: ; map into definitions below .addr gen ; typeless .addr src ; src .addr rel ; rel + .addr cmd ; cmd .addr txt ; text .addr bin ; binary .addr dir ; directory @@ -1459,6 +1463,7 @@ type_icons_table: ; map into definitions below gen: DEFICON generic_icon, 4, 27, 15, generic_mask src: DEFICON desktop_aux::iigs_file_icon, 4, 27, 15, generic_mask rel: DEFICON desktop_aux::rel_file_icon, 4, 27, 14, binary_mask +cmd: DEFICON desktop_aux::cmd_file_icon, 4, 27, 8, desktop_aux::graphics_mask txt: DEFICON text_icon, 4, 27, 15, generic_mask bin: DEFICON binary_icon, 4, 27, 14, binary_mask dir: DEFICON folder_icon, 4, 27, 11, folder_mask @@ -1528,6 +1533,7 @@ text_icon: .byte px(%0100111),px(%1101101),px(%1011101),px(%1110010) .byte px(%0100000),px(%0000000),px(%0000000),px(%0000010) .byte px(%0111111),px(%1111111),px(%1111111),px(%1111110) + ;; shares generic_mask ;;; Binary @@ -1711,3 +1717,6 @@ app_mask: .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) + + ;; Reserve $80 bytes for settings + PAD_TO $FF80 \ No newline at end of file diff --git a/inc/prodos.inc b/inc/prodos.inc index a4ffa19..328b695 100644 --- a/inc/prodos.inc +++ b/inc/prodos.inc @@ -92,18 +92,26 @@ DT_RAM = $F FT_TYPELESS = $00 FT_BAD = $01 -FT_TEXT = $04 -FT_BINARY = $06 -FT_GRAPHICS = $08 -FT_DIRECTORY = $0F -FT_ADB = $19 ; AppleWorks Database -FT_AWP = $1A ; AppleWorks Word Processing -FT_ASP = $1B ; AppleWorks Spreadsheet +FT_TEXT = $04 ; ASCII Text File * +FT_BINARY = $06 ; Generic Binary File * +FT_GRAPHICS = $08 ; Graphics File +FT_DIRECTORY = $0F ; Directory * +FT_ADB = $19 ; AppleWorks Database * +FT_AWP = $1A ; AppleWorks Word Processing * +FT_ASP = $1B ; AppleWorks Spreadsheet * FT_SRC = $B0 ; IIgs system type; re-used? FT_S16 = $B3 ; IIgs Application Program -FT_BASIC = $FC -FT_REL = $FE -FT_SYSTEM = $FF +FT_PAS = $EF ; Pascal Area * +FT_CMD = $F0 ; ProDOS Command File * +FT_INT = $FA ; Integer BASIC Program * +FT_IVR = $FB ; Integer BASIC Variable File * +FT_BASIC = $FC ; Applesoft BASIC Program * +FT_VAR = $FD ; Applesoft BASIC Variable File * +FT_REL = $FE ; EDASM/Contiki Relocatable File * +FT_SYSTEM = $FF ; ProDOS System File * + +;;; Types marked with * are known to BASIC.SYSTEM and have an +;;; associated three-letter abbreviation. ;;; ============================================================ ;;; Access