regs/src/prodos_types.h

262 lines
12 KiB
C

#pragma once
/** @copyright 2018 Sean Kasun */
static const struct {
uint32_t mask, id;
const char *ext;
const char *desc;
} fileTypes[] = {
{0x0000ff, 0x000000, "unk", "Unknown"},
{0x0000ff, 0x000001, "bad", "Bad Block File"},
{0x0000ff, 0x000002, "pcd", "Apple /// Pascal Code"},
{0x0000ff, 0x000003, "ptx", "Apple /// Pascal Text"},
{0x0000ff, 0x000004, "txt", "Text File"},
{0x0000ff, 0x000005, "pda", "Apple /// Pascal Data"},
{0x0000ff, 0x000006, "bin", "Binary File"},
{0x0000ff, 0x000007, "fnt", "Apple /// Font"},
{0xffffff, 0x400008, "fot", "Packed HiRes"},
{0xffffff, 0x400108, "fot", "Packed Double HiRes"},
{0xffffff, 0x800108, "fot", "Printographer Packed HiRes"},
{0xffffff, 0x800208, "fot", "Printographer Packed Double HiRes"},
{0x0000ff, 0x000008, "fot", "Hires Graphics"},
{0x0000ff, 0x000009, "ba3", "Apple /// Basic Program"},
{0x0000ff, 0x00000a, "da3", "Apple /// Basic Data"},
{0x0000ff, 0x00000b, "wpf", "Word Processor File"},
{0x0000ff, 0x00000c, "sos", "Apple /// SOS System File"},
{0x0000ff, 0x00000f, "dir", "Directory"},
{0x0000ff, 0x000010, "rpd", "Apple /// RPS Data"},
{0x0000ff, 0x000011, "rpi", "Apple /// RPS Index"},
{0x0000ff, 0x000012, "afd", "Apple /// AppleFile Discard"},
{0x0000ff, 0x000013, "afm", "Apple /// AppleFile Model"},
{0x0000ff, 0x000014, "afr", "Apple /// AppleFile Report"},
{0x0000ff, 0x000015, "scl", "Apple /// Screen Library"},
{0xffffff, 0x000116, "pfs", "PFS File"},
{0xffffff, 0x000216, "pfs", "PFS Word Processing"},
{0xffffff, 0x000316, "pfs", "PFS Graphing"},
{0xffffff, 0x000416, "pfs", "PFS Planning"},
{0xffffff, 0x001616, "pfs", "PFS Internal Data"},
{0x0000ff, 0x000016, "pfs", "PFS Document"},
{0x0000ff, 0x000019, "adb", "AppleWorks Database"},
{0x0000ff, 0x00001a, "awp", "AppleWorks Word Processing"},
{0x0000ff, 0x00001b, "asp", "AppleWorks Spreadsheet"},
{0x0000ff, 0x000020, "tdm", "Desktop Manager File"},
{0x0000ff, 0x000021, "ips", "Instant Pascal Source"},
{0x0000ff, 0x000022, "upv", "UCSD Pascal Volume"},
{0x0000ff, 0x000029, "3sd", "Apple /// SOS Directory"},
{0x0000ff, 0x00002a, "8sc", "Source Code"},
{0xffffff, 0x80012b, "8ob", "GBBS Pro Object Code"},
{0x0000ff, 0x00002b, "8ob", "Object Code"},
{0xffffff, 0x80032c, "8ic", "APEX Program File"},
{0x0000ff, 0x00002c, "8ic", "Interpreted Code"},
{0x0000ff, 0x00002d, "8ld", "Language Data"},
{0xffffff, 0x80012e, "p8c", "Davex 8 Command"},
{0xffffff, 0x80022e, "ptp", "Point-To-Point Driver"},
{0xffffff, 0x80032e, "ptp", "Point-To-Point Code"},
{0x0000ff, 0x00002e, "p8c", "ProDOS 8 Code Module"},
{0xffffff, 0x800141, "ocr", "InWords Font Table"},
{0x0000ff, 0x000041, "orc", "ORC Data"},
{0x0000ff, 0x000042, "ftd", "File Type Definitions"},
{0xffffff, 0x544550, "gwp", "TeachText File"},
{0xffffff, 0x800150, "gwp", "DeluxeWrite File"},
{0xffffff, 0x801050, "gwp", "AppleWorks GS Word Processing"},
{0x0000ff, 0x000050, "gwp", "Apple IIgs Word Processing"},
{0xffffff, 0x801051, "gss", "AppleWorks GS Spreadsheet"},
{0x0000ff, 0x000051, "gss", "Apple IIgs Spreadsheet"},
{0xffffff, 0x800152, "gdb", "GTV"},
{0xffffff, 0x801052, "gdb", "AppleWorks GS Database"},
{0xffffff, 0x801152, "gdb", "AppleWorks GS Template"},
{0xffffff, 0x801352, "gdb", "GSAS"},
{0x0000ff, 0x000052, "gdb", "Apple IIgs Database"},
{0xffffff, 0x800253, "drw", "Graphics Disk Labeller"},
{0xffffff, 0x801053, "drw", "AppleWorks GS Drawing"},
{0x0000ff, 0x000053, "drw", "Drawing File"},
{0xffffff, 0x800254, "gdp", "GraphicWriter"},
{0xffffff, 0x801054, "gdp", "AppleWorks GS Desktop Publishing"},
{0xffffff, 0xdd3e54, "gdp", "Medley"},
{0x0000ff, 0x000054, "gdp", "Apple IIgs Desktop Publishing"},
{0xffffff, 0x000155, "hmd", "HyperCard GS"},
{0xffffff, 0x800155, "hmd", "Tutor-Tech"},
{0xffffff, 0x800255, "hmd", "HyperStudio"},
{0xffffff, 0x800355, "hmd", "Nexus"},
{0x0000ff, 0x000055, "hmd", "Hypermedia"},
{0xffffff, 0x800156, "edu", "Tutor-Tech Scores"},
{0x0000ff, 0x000056, "edu", "Educational Data"},
{0xffffff, 0x800357, "stn", "Music Writer"},
{0x0000ff, 0x000057, "stn", "Stationery"},
{0xffffff, 0x800258, "hlp", "Davex 8 Help"},
{0x0000ff, 0x000058, "hlp", "Help File"},
{0xffffff, 0x801059, "com", "AppleWorks GS Communications"},
{0x0000ff, 0x000059, "com", "Communications"},
{0xffffff, 0x00025a, "cfg", "Battery RAM"},
{0xffffff, 0x00035a, "cfg", "AutoLaunch"},
{0xffffff, 0x00055a, "cfg", "GSBug"},
{0xffffff, 0x80015a, "cfg", "Master Tracks Jr."},
{0xffffff, 0x80025a, "cfg", "GraphicWriter"},
{0xffffff, 0x80035a, "cfg", "Z-Link"},
{0xffffff, 0x80045a, "cfg", "JumpStart"},
{0xffffff, 0x80055a, "cfg", "Davex 8"},
{0xffffff, 0x80065a, "cfg", "Nifty List"},
{0xffffff, 0x80075a, "cfg", "GTV Videodisc"},
{0xffffff, 0x80085a, "cfg", "GTV Workshop"},
{0xffffff, 0x80095a, "ptp", "Point-To-Point Config"},
{0xffffff, 0x800a5a, "cfg", "ORCA Disassembler"},
{0xffffff, 0x800b5a, "cfg", "SnowTerm"},
{0xffffff, 0x800c5a, "cfg", "My Word!"},
{0xffffff, 0x800d5a, "cfg", "Chipmunk"},
{0xffffff, 0x80105a, "cfg", "AppleWorks GS Config"},
{0xffffff, 0x80115a, "cfg", "SDA Shell"},
{0xffffff, 0x80125a, "cfg", "SDE Editor"},
{0xffffff, 0x80135a, "cfg", "SDE Ruler"},
{0xffffff, 0x80145a, "cfg", "Nexus"},
{0xffffff, 0x80155a, "cfg", "DesignMaster"},
{0xffffff, 0x801c5a, "cfg", "Platinum Paint"},
{0xffffff, 0x801e5a, "cfg", "Allison"},
{0xffffff, 0x80215a, "cfg", "GSAS Accounting"},
{0x0000ff, 0x00005a, "cfg", "Configuration File"},
{0xffffff, 0x80015b, "anm", "Cartooners Movie"},
{0xffffff, 0x80025b, "anm", "Cartooners Actors"},
{0xffffff, 0x80055b, "anm", "Arcade King Super"},
{0x0000ff, 0x00005b, "anm", "Animation File"},
{0xffffff, 0x80015c, "mum", "GTV Playlist"},
{0x0000ff, 0x00005c, "mum", "Multimedia"},
{0xffffff, 0x80015d, "ent", "Solitaire"},
{0xffffff, 0x80025d, "ent", "BattleFront Scene"},
{0xffffff, 0x80035d, "ent", "BattleFront Game"},
{0xffffff, 0x80065d, "ent", "Blackjack Tutor"},
{0x0000ff, 0x00005d, "ent", "Entertainment"},
{0xffffff, 0x00015e, "dvu", "Resource File"},
{0xffffff, 0x80015e, "dvu", "ORCA Disassembler Template"},
{0xffffff, 0x80035e, "dvu", "DesignMaster"},
{0x0000ff, 0x00005e, "dvu", "Development Utility Document"},
{0x0000ff, 0x000060, "pre", "PC Pre-Boot"},
{0x0000ff, 0x000066, "ncf", "ProDOS File Navigator Command"},
{0x0000ff, 0x00006b, "bio", "PC BIOS"},
{0x0000ff, 0x00006d, "dvr", "PC Driver"},
{0x0000ff, 0x00006e, "pre", "PC Pre-Boot"},
{0x0000ff, 0x00006f, "hdv", "PC Volume"},
{0x0000ff, 0x0000a0, "wp_", "WordPerfect"},
{0x0000ff, 0x0000ab, "gsb", "Apple IIgs Basic Program"},
{0x0000ff, 0x0000ac, "tdf", "Apple IIgs Basic TDF"},
{0x0000ff, 0x0000ad, "bdf", "Apple IIgs Basic Data"},
{0xffffff, 0x0001b0, "src", "APW Text"},
{0xffffff, 0x0003b0, "src", "APW 65816 Assembly Source"},
{0xffffff, 0x0005b0, "src", "ORCA Pascal Source"},
{0xffffff, 0x0006b0, "src", "APW Command File"},
{0xffffff, 0x0008b0, "src", "ORCA C Source"},
{0xffffff, 0x0009b0, "src", "APW Linker Command File"},
{0xffffff, 0x000ab0, "src", "APW C Source"},
{0xffffff, 0x000cb0, "src", "ORCA Desktop Command File"},
{0xffffff, 0x0015b0, "src", "APW Rez Source"},
{0xffffff, 0x001eb0, "src", "TML Pascal Source"},
{0xffffff, 0x0116b0, "src", "ORCA Disassembler Script"},
{0xffffff, 0x0503b0, "src", "SDE Assembler Source"},
{0xffffff, 0x0506b0, "src", "SDE Command Script"},
{0xffffff, 0x0719b0, "src", "PostScript"},
{0x0000ff, 0x0000b0, "src", "Apple IIgs Source Code"},
{0x0000ff, 0x0000b1, "obj", "Apple IIgs Object Code"},
{0x0000ff, 0x0000b2, "lib", "Apple IIgs Library"},
{0x0000ff, 0x0000b3, "s16", "Apple IIgs Program"},
{0x0000ff, 0x0000b4, "rtl", "Apple IIgs Runtime Library"},
{0x0000ff, 0x0000b5, "exe", "Apple IIgs Shell Script"},
{0x0000ff, 0x0000b6, "pif", "Permanent Initialization File"},
{0x0000ff, 0x0000b7, "tif", "Temporary Initialization File"},
{0x0000ff, 0x0000b8, "nda", "New Desk Accessory"},
{0x0000ff, 0x0000b9, "cda", "Classic Desk Accessory"},
{0x0000ff, 0x0000ba, "tol", "Apple IIgs Tool"},
{0xffffff, 0x7f01bb, "drv", "GTV Videodisc Serial Driver"},
{0xffffff, 0x7f02bb, "drv", "GTV Videodisc Game Port Driver"},
{0x0000ff, 0x0000bb, "drv", "Apple IIgs Device Driver"},
{0xffffff, 0x4001bc, "ldf", "Nifty List Module"},
{0xffffff, 0x4002bc, "ldf", "Super Info Module"},
{0xffffff, 0x4004bc, "ldf", "Twilight File"},
{0x0000ff, 0x0000bc, "ldf", "Generic Load File"},
{0x0000ff, 0x0000bd, "fst", "Apple IIgs File System Translator"},
{0x0000ff, 0x0000bf, "doc", "Apple IIgs Document"},
{0xffffff, 0x0000c0, "pnt", "PaintWorks Packed Picture"},
{0xffffff, 0x0001c0, "pnt", "Packed Super HiRes Graphics"},
{0xffffff, 0x0002c0, "pnt", "Preferred Format Picture"},
{0xffffff, 0x0003c0, "pnt", "Packed QuickDraw II PICT File"},
{0xffffff, 0x8001c0, "pnt", "GTV Background Image"},
{0x0000ff, 0x0000c0, "pnt", "Apple IIgs Packed Super HiRes"},
{0xffffff, 0x0000c1, "pic", "Super HiRes Screen"},
{0xffffff, 0x0001c1, "pic", "QuickDraw PICT File"},
{0xffffff, 0x0002c1, "pic", "Super HiRes 3200 Colors"},
{0xffffff, 0x8001c1, "pic", "Allison Raw Image"},
{0xffffff, 0x8002c1, "pic", "ThunderScan Image"},
{0x0000ff, 0x0000c1, "pic", "Apple IIgs Super HiRes Graphics"},
{0x0000ff, 0x0000c2, "ani", "PaintWorks Animation"},
{0x0000ff, 0x0000c3, "pal", "PaintWorks Palette"},
{0xffffff, 0x8000c5, "oog", "Draw Plus"},
{0xffffff, 0xc000c5, "oog", "DYOH Architecture"},
{0xffffff, 0xc001c5, "oog", "DYOH Predrawn"},
{0xffffff, 0xc002c5, "oog", "DYOH Custom"},
{0xffffff, 0xc003c5, "oog", "DYOH Clipboard"},
{0xffffff, 0xc004c5, "oog", "Reserved"},
{0xffffff, 0xc005c5, "oog", "Reserved"},
{0xffffff, 0xc006c6, "oog", "DYOH Landscape"},
{0x0000ff, 0x0000c6, "oog", "Object-Oriented Graphics"},
{0xffffff, 0x8001c6, "scr", "Davex 8 Script"},
{0x0000ff, 0x0000c6, "scr", "Script"},
{0x0000ff, 0x0000c7, "cdv", "Apple IIgs Control Panel"},
{0xffffff, 0x0000c8, "fon", "QuickDraw II Font"},
{0x0000ff, 0x0000c8, "fon", "QuickDraw font"},
{0x0000ff, 0x0000c9, "fnd", "Finder Data"},
{0x0000ff, 0x0000ca, "icn", "Apple IIgs Icon"},
{0xffffff, 0x0000d5, "mus", "Music Construction Set"},
{0xffffff, 0x0001d5, "mus", "MIDI Synth"},
{0xffffff, 0x0007d5, "mus", "SoundSmith"},
{0xffffff, 0x8002d5, "mus", "Diversi-Tune"},
{0xffffff, 0x8003d5, "mus", "Master Tracks Jr."},
{0xffffff, 0x8004d5, "mus", "Music Writer"},
{0xffffff, 0x8005d5, "mus", "Arcade King Super"},
{0x0000ff, 0x0000d5, "mus", "Music File"},
{0xffffff, 0x0000d6, "ins", "Music Construction Set Instrument"},
{0xffffff, 0x0001d6, "ins", "MIDI Synth Instrument"},
{0xffffff, 0x8002d6, "ins", "Diversi-Tune Instrument"},
{0x0000ff, 0x0000d6, "ins", "Instrument File"},
{0xffffff, 0x0000d7, "mdi", "MIDI Standard"},
{0x0000ff, 0x0000d7, "mdi", "MIDI File"},
{0xffffff, 0x0000d8, "snd", "AIFF Sound"},
{0xffffff, 0x0001d8, "snd", "AIFF-C Sound"},
{0xffffff, 0x0002d8, "snd", "ASIF Instrument"},
{0xffffff, 0x0003d8, "snd", "Sound Resource"},
{0xffffff, 0x0004d8, "snd", "MIDI Synth Wave Data"},
{0xffffff, 0x8001d8, "snd", "HyperStudio Sound"},
{0xffffff, 0x8002d8, "snd", "Arcade King Super"},
{0x0000ff, 0x0000d8, "snd", "Sound File"},
{0x0000ff, 0x0000db, "dbm", "DB Master Document"},
{0xffffff, 0x0000e0, "lbr", "ALU"},
{0xffffff, 0x0001e0, "lbr", "AppleSingle"},
{0xffffff, 0x0002e0, "lbr", "AppleDouble Header"},
{0xffffff, 0x0003e0, "lbr", "AppleDouble Data"},
{0xffffff, 0x8000e0, "lbr", "Binary II"},
{0xffffff, 0x8001e0, "lbr", "AppleLink ACU"},
{0xffffff, 0x8002e0, "lbr", "ShrinkIt"},
{0xffffff, 0x8004e0, "lbr", "Davex Archived Volume"},
{0xffffff, 0x8006e0, "lbr", "EZ Backup Saveset"},
{0xffffff, 0x8007e0, "lbr", "ELS DOS 3.3 Volume"},
{0x0000ff, 0x0000e0, "lbr", "Archived Files"},
{0x0000ff, 0x0000e2, "atk", "AppleTalk Data"},
{0x0000ff, 0x0000ee, "r16", "EDASM 816 Relocatable Code"},
{0x0000ff, 0x0000ef, "par", "Pascal Area"},
{0x0000ff, 0x0000f0, "cmd", "ProDOS Command"},
{0x0000ff, 0x0000f1, "ovl", "User Defined 1"},
{0x0000ff, 0x0000f2, "ud2", "User Defined 2"},
{0x0000ff, 0x0000f3, "ud3", "User Defined 3"},
{0x0000ff, 0x0000f4, "ud4", "User Defined 4"},
{0x0000ff, 0x0000f5, "bat", "User Defined 5"},
{0x0000ff, 0x0000f6, "ud6", "User Defined 6"},
{0x0000ff, 0x0000f7, "ud7", "User Defined 7"},
{0x0000ff, 0x0000f8, "prg", "User Defined 8"},
{0x0000ff, 0x0000f9, "p16", "Apple IIgs System File"},
{0x0000ff, 0x0000fa, "int", "Integer BASIC Program"},
{0x0000ff, 0x0000fb, "ivr", "Integer BASIC Variables"},
{0x0000ff, 0x0000fc, "bas", "Applesoft BASIC Program"},
{0x0000ff, 0x0000fd, "var", "Applesoft BASIC Variables"},
{0x0000ff, 0x0000fe, "rel", "EDASM Relocatable Code"},
{0x0000ff, 0x0000ff, "sys", "ProDOS System File"}
};
#define numTypes (sizeof(fileTypes) / sizeof(fileTypes[0]))