diff --git a/macos/CMakeLists.txt b/macos/CMakeLists.txt index 77ea7cc..2e0b971 100644 --- a/macos/CMakeLists.txt +++ b/macos/CMakeLists.txt @@ -4,7 +4,7 @@ set(CMAKE_CXX_FLAGS "-std=c++11 -stdlib=libc++ -Wall -g") add_definitions(-I ${CMAKE_SOURCE_DIR}/) -set(MACOS_SRC traps.c) +set(MACOS_SRC traps.c sysequ.c) add_library(MACOS_LIB ${MACOS_SRC}) \ No newline at end of file diff --git a/macos/sysequ.c b/macos/sysequ.c new file mode 100644 index 0000000..90aa081 --- /dev/null +++ b/macos/sysequ.c @@ -0,0 +1,296 @@ + +#include // null +#include + + const char *GlobalName(uint32_t address) + { + switch(address) + { + case 0x0008: return "BusErrVct"; + case 0x0100: return "MonkeyLives"; + case 0x0102: return "ScrVRes"; + case 0x0104: return "ScrHRes"; + case 0x0106: return "ScreenRow"; + case 0x0108: return "MemTop"; + case 0x010C: return "BufPtr"; + case 0x0110: return "StkLowPt"; + case 0x0114: return "HeapEnd"; + case 0x0118: return "TheZone"; + case 0x011C: return "UTableBase"; + case 0x012C: return "DskVerify"; + case 0x012D: return "LoadTrap"; + case 0x012E: return "MmInOK"; + case 0x012F: return "CPUFlag"; + case 0x0130: return "ApplLimit"; + case 0x0142: return "DskErr"; + case 0x0144: return "SysEvtMask"; + case 0x0146: return "SysEvtBuf"; + case 0x014A: return "EventQueue"; + case 0x0154: return "EvtBufCnt"; + case 0x0156: return "RndSeed"; + case 0x015A: return "SysVersion"; + case 0x015C: return "SEvtEnb"; + case 0x015D: return "DSWndUpdate"; + case 0x015F: return "IntFlag"; + case 0x0160: return "VBLQueue"; + case 0x016A: return "Ticks"; + case 0x016E: return "MBTicks"; + case 0x0172: return "MBState"; + case 0x0174: return "KeyMapLM"; + case 0x017C: return "KeypadMap"; + case 0x0184: return "KeyLast"; + case 0x0186: return "KeyTime"; + case 0x018A: return "KeyRepTime"; + case 0x018E: return "KeyThresh"; + case 0x0190: return "KeyRepThresh"; + case 0x0192: return "Lvl1DT"; + case 0x01B2: return "Lvl2DT"; + case 0x01D2: return "UnitNtryCnt"; + case 0x01D4: return "VIA"; + case 0x01D8: return "SCCRd"; + case 0x01DC: return "SCCWr"; + case 0x01E0: return "IWM"; + case 0x01E4: return "GetParam"; + //case 0x01E4: return "Scratch20"; + //case 0x01F8: return "SPValid"; + case 0x01F8: return "SysParam"; + case 0x01F9: return "SPATalkA"; + case 0x01FA: return "SPATalkB"; + case 0x01FB: return "SPConfig"; + case 0x01FC: return "SPPortA"; + case 0x01FE: return "SPPortB"; + case 0x0200: return "SPAlarm"; + case 0x0204: return "SPFont"; + case 0x0206: return "SPKbd"; + case 0x0207: return "SPPrint"; + case 0x0208: return "SPVolCtl"; + case 0x0209: return "SPClikCaret"; + case 0x020A: return "SPMisc1"; + case 0x020B: return "PCDeskPat"; + //case 0x020B: return "SPMisc2"; + case 0x020C: return "TimeLM"; + case 0x0210: return "BootDrive"; + case 0x0214: return "SFSaveDisk"; + case 0x0216: return "HiKeyLast"; + //case 0x0216: return "KbdVars"; + case 0x0218: return "KbdLast"; + case 0x021A: return "JKybdTask"; + case 0x021E: return "KbdType"; + case 0x021F: return "AlarmState"; + case 0x0220: return "MemErr"; + case 0x0260: return "SdVolume"; + case 0x0262: return "SoundPtr"; + case 0x0266: return "SoundBase"; + case 0x026A: return "SoundVBL"; + case 0x027A: return "SoundDCE"; + case 0x027E: return "SoundActive"; + case 0x027F: return "SoundLevel"; + case 0x0280: return "CurPitch"; + case 0x0286: return "SwitcherTPtr"; + case 0x028E: return "ROM85"; + case 0x0290: return "PortAUse"; + case 0x0291: return "PortBUse"; + case 0x029A: return "JGNEFilter"; + case 0x029E: return "Key1Trans"; + case 0x02A2: return "Key2Trans"; + case 0x02A6: return "SysZone"; + case 0x02AA: return "ApplZone"; + case 0x02AE: return "ROMBase"; + case 0x02B2: return "RAMBase"; + case 0x02B6: return "ExpandMem"; + case 0x02BA: return "DSAlertTab"; + case 0x02BE: return "ExtStsDT"; + case 0x02CE: return "SCCASts"; + case 0x02CF: return "SCCBSts"; + case 0x02D0: return "SerialVars"; + case 0x02D8: return "ABusVars"; + case 0x02DC: return "ABusDCE"; + case 0x02F0: return "DoubleTime"; + case 0x02F4: return "CaretTime"; + case 0x02F8: return "ScrDmpEnb"; + case 0x02F9: return "ScrDmpType"; + case 0x02FA: return "TagData"; + case 0x02FC: return "BufTgFNum"; + case 0x0300: return "BufTgFFlg"; + case 0x0302: return "BufTgFBkNum"; + case 0x0304: return "BufTgDate"; + case 0x0308: return "DrvQHdr"; + case 0x0312: return "PWMBuf2"; + case 0x0316: return "HpChk"; + case 0x031A: return "Lo3Bytes"; + //case 0x031A: return "MaskBC"; + //case 0x031A: return "MaskHandle"; + //case 0x031A: return "MaskPtr"; + case 0x031E: return "MinStack"; + case 0x0322: return "DefltStack"; + case 0x0326: return "MMDefFlags"; + case 0x0328: return "GZRootHnd"; + case 0x032C: return "GZRootPtr"; + case 0x0330: return "GZMoveHnd"; + case 0x0334: return "DSDrawProc"; + case 0x0338: return "EjectNotify"; + case 0x033C: return "IAZNotify"; + case 0x0398: return "CurDirStore"; + case 0x03F8: return "DSAlertRect"; + case 0x0824: return "ScrnBase"; + case 0x0828: return "MTemp"; + case 0x082C: return "RawMouse"; + case 0x0830: return "Mouse"; + case 0x0834: return "CrsrPin"; + case 0x083C: return "CrsrRect"; + case 0x0844: return "TheCrsr"; + case 0x0888: return "CrsrAddr"; + case 0x088C: return "CrsrSave"; + //case 0x088C: return "JAllocCrsr"; + //case 0x088C: return "NewCrsrJTbl"; + case 0x0890: return "JSetCCrsr"; + case 0x0894: return "JOpcodeProc"; + case 0x0898: return "CrsrBase"; + case 0x089C: return "CrsrDevice"; + case 0x08A0: return "SrcDevice"; + case 0x08A4: return "MainDevice"; + case 0x08A8: return "DeviceList"; + case 0x08AC: return "CrsrRow"; + case 0x08B0: return "QDColors"; + case 0x08CC: return "CrsrVis"; + case 0x08CD: return "CrsrBusy"; + case 0x08CE: return "CrsrNew"; + case 0x08CF: return "CrsrCouple"; + case 0x08D0: return "CrsrState"; + case 0x08D2: return "CrsrObscure"; + case 0x08D3: return "CrsrScale"; + case 0x08D6: return "MouseMask"; + case 0x08DA: return "MouseOffset"; + case 0x08DE: return "JournalFlag"; + case 0x08E8: return "JournalRef"; + case 0x08EC: return "CrsrThresh"; + case 0x08EE: return "JCrsrTask"; + case 0x08F2: return "WWExist"; + case 0x08F3: return "QDExist"; + case 0x08F4: return "JFetch"; + case 0x08F8: return "JStash"; + case 0x08FC: return "JIODone"; + case 0x0900: return "CurApRefNum"; + case 0x0902: return "LaunchFlag"; + case 0x0904: return "CurrentA5"; + case 0x0908: return "CurStackBase"; + case 0x0910: return "CurApName"; + case 0x0930: return "SaveSegHandle"; + case 0x0934: return "CurJTOffset"; + case 0x0936: return "CurPageOption"; + case 0x0938: return "HiliteMode"; + case 0x093A: return "LoaderPBlock"; + //case 0x0960: return "ScrapInfo"; + //case 0x0960: return "ScrapSize"; + case 0x0960: return "ScrapVars"; + case 0x0964: return "ScrapHandle"; + case 0x0968: return "ScrapCount"; + case 0x096A: return "ScrapState"; + case 0x096C: return "ScrapName"; + case 0x0970: return "ScrapTag"; + case 0x0980: return "ScrapEnd"; + case 0x09D6: return "WindowList"; + case 0x09DC: return "PaintWhite"; + case 0x09DE: return "WMgrPort"; + case 0x09EE: return "GrayRgn"; + case 0x09F6: return "DragHook"; + case 0x09FA: return "Scratch8"; + case 0x0A02: return "OneOne"; + case 0x0A06: return "MinusOne"; + case 0x0A3C: return "DeskPattern"; + case 0x0A50: return "TopMapHndl"; + case 0x0A54: return "SysMapHndl"; + case 0x0A58: return "SysMap"; + case 0x0A5A: return "CurMap"; + case 0x0A5C: return "ResReadOnly"; + case 0x0A5E: return "ResLoad"; + case 0x0A60: return "ResErr"; + case 0x0A64: return "CurActivate"; + case 0x0A68: return "CurDeactive"; + case 0x0A6C: return "DeskHook"; + case 0x0A70: return "TEDoText"; + case 0x0A74: return "TERecal"; + case 0x0A84: return "GhostWindow"; + //case 0x0A8C: return "RestProc"; + case 0x0A8C: return "ResumeProc"; + case 0x0AB0: return "TEScrpLength"; + case 0x0AB4: return "TEScrpHandle"; + case 0x0AD8: return "SysResName"; + case 0x0AF0: return "DSErrCode"; + case 0x0AF2: return "ResErrProc"; + case 0x0AF6: return "TEWdBreak"; + case 0x0B04: return "KeyMVars"; + case 0x0B06: return "ROMMapHndl"; + case 0x0B9E: return "RomMapInsert"; + case 0x0B9F: return "TmpResLoad"; + case 0x0BA0: return "IntlSpec"; + case 0x0BA5: return "WordRedraw"; + case 0x0BAA: return "MBarHeight"; + case 0x0BAC: return "TESysJust"; + case 0x0BAE: return "HiHeapMark"; + case 0x0BB2: return "SegHiEnable"; + case 0x0BB4: return "CommToolboxGlobals"; + case 0x0C00: return "SCSIBase"; + case 0x0C04: return "SCSIDMA"; + case 0x0C08: return "SCSIHsk"; + case 0x0C0C: return "SCSIGlobals"; + case 0x0C10: return "RGBBlack"; + case 0x0C16: return "RGBWhite"; + case 0x0C20: return "RowBits"; + case 0x0C22: return "ColLines"; + case 0x0C24: return "ScreenBytes"; + case 0x0C2C: return "NMIFlag"; + case 0x0C2D: return "VidType"; + case 0x0C2E: return "VidMode"; + case 0x0C2F: return "SCSIPoll"; + case 0x0C30: return "SEVarBase"; + case 0x0CB0: return "MMUFlags"; + case 0x0CB1: return "MMUType"; + case 0x0CB2: return "MMU32bit"; + case 0x0CB3: return "MMUFluff"; + case 0x0CB4: return "MMUTbl"; + case 0x0CB8: return "MMUTblSize"; + case 0x0CBC: return "SInfoPtr"; + case 0x0CC0: return "ASCBase"; + case 0x0CC4: return "SMGlobals"; + case 0x0CC8: return "TheGDevice"; + case 0x0CCC: return "CQDGlobals"; + case 0x0CF8: return "ADBBase"; + case 0x0CFC: return "WarmStart"; + case 0x0D00: return "TimeDBRA"; + case 0x0D02: return "TimeSCCDB"; + case 0x0D04: return "SlotQDT"; + case 0x0D08: return "SlotPrTbl"; + case 0x0D0C: return "SlotVBLQ"; + case 0x0D10: return "ScrnVBLPtr"; + case 0x0D14: return "SlotTICKS"; + case 0x0D20: return "TableSeed"; + case 0x0D24: return "SRsrcTblPtr"; + case 0x0D28: return "JVBLTask"; + case 0x0D2C: return "WMgrCPort"; + case 0x0D30: return "VertRRate"; + case 0x0D60: return "ChunkyDepth"; + case 0x0D62: return "CrsrPtr"; + case 0x0D66: return "PortList"; + case 0x0D6A: return "MickeyBytes"; + case 0x0D6E: return "QDErrLM"; + case 0x0D70: return "VIA2DT"; + case 0x0D90: return "SInitFlags"; + //case 0x0D92: return "DTQFlags"; + case 0x0D92: return "DTQueue"; + case 0x0D94: return "DTskQHdr"; + case 0x0D98: return "DTskQTail"; + case 0x0D9C: return "JDTInstall"; + case 0x0DA0: return "HiliteRGB"; + case 0x0DA6: return "TimeSCSIDB"; + case 0x0DA8: return "DSCtrAdj"; + case 0x0DAC: return "IconTLAddr"; + case 0x0DB0: return "VideoInfoOK"; + case 0x0DB4: return "EndSRTPtr"; + case 0x0DB8: return "SDMJmpTblPtr"; + case 0x0DBC: return "JSwapMMU"; + case 0x0DC0: return "SdmBusErr"; + case 0x0DC4: return "LastTxGDevice"; + default: return NULL; + } +} diff --git a/macos/sysequ.h b/macos/sysequ.h index f36e6bd..6b9b44c 100644 --- a/macos/sysequ.h +++ b/macos/sysequ.h @@ -14,10 +14,19 @@ Created: Sunday, January 6, 1991 at 10:07 PM #ifndef __macos_sysequ__ #define __macos_sysequ__ +#ifdef __cplusplus +extern "C" { +#endif +const char *GlobalName(uint32_t address); +#ifdef __cplusplus +} +#endif + #ifdef __cplusplus namespace MacOS { #endif + enum { PCDeskPat = 0x20B, /*[GLOBAL VAR] desktop pat, top bit only! others are in use*/