type
    Library_t = unknown 34,
    IntVector_t = unknown 12,
    List_t = unknown 14,
    SoftIntList_t = unknown 16,

    ExecBase_t = struct {
	Library_t eb_LibNode;
	uint eb_SoftVer;
	uint eb_LowMemChkSum;
	*byte eb_ColdCapture;
	*byte eb_CoolCapture;
	*byte eb_WarmCapture;
	*byte eb_SysStkUpper;
	*byte eb_SysStkLower;
	ulong eb_MaxLocMem;
	*byte eb_DebugEntry;
	*byte eb_DebugData;
	*byte eb_AlertData;
	*byte eb_MaxExtMem;
	uint eb_ChkSum;
	[16]IntVector_t eb_IntVects;
	*Task_t eb_ThisTask;
	ulong eb_IdleCount;
	ulong eb_DispCount;
	uint eb_Quantum;
	uint eb_Elapsed;
	uint eb_SysFlags;
	byte eb_IDNestCnt;
	byte eb_TDNestCnt;
	uint eb_AttnFlags;
	uint eb_AttnResched;
	*byte eb_ResModules;
	*byte eb_TaskTrapCode;
	*byte eb_TaskExceptCode;
	*byte eb_TaskExitCode;
	ulong eb_TaskSigAlloc;
	ulong db_TaskTrapAlloc;
	List_t eb_MemList;
	List_t eb_ResourceList;
	List_t eb_DeviceList;
	List_t eb_IntrList;
	List_t eb_LibList;
	List_t eb_PortList;
	List_t eb_TaskReady;
	List_t eb_TaskWait;
	[5]SoftIntList_t eb_SoftInts;
	[4]ulong eb_LastAlert;
	byte eb_VBlankFrequency;
	byte eb_PowerSupplyFrequency;
	List_t eb_SemaphoreList;
	*byte eb_KickMemPtr;
	*byte eb_KickTagPtr;
	*byte eb_KickCheckSum;
	[10]byte eb_ExecBaseReserved;
	[20]byte eb_ExecBaseNewReserved;
    };

uint
    AFB_68010 = 0,
    AFB_68020 = 1,
    AFB_68881 = 4,

    AFF_68010 = 1 << 0,
    AFF_68020 = 1 << 1,
    AFF_68881 = 1 << 4,

    AFB_RESERVED8 = 8,
    AFB_RESERVED9 = 9;
