/* SparcSoftcardOps.h created by Sherman of September 7, 1988 11:27:27 am PDT */ /* from SparcSoftcardOps.mob */ #include "standard.h" extern void SparcSoftcardOps_SparcReset(); extern void SparcSoftcardOps_SparcResetAndStart(); typedef struct TestSparcError_self { BOOLEAN error; } Return_TestSparcError; extern Return_TestSparcError SparcSoftcardOps_TestSparcError(); extern void SparcSoftcardOps_SparcCacheDisable(); extern void SparcSoftcardOps_SparcCacheEnable(); extern void SparcSoftcardOps_SetSparcToIOPInt(); extern void SparcSoftcardOps_ResetSparcToIOPInt(); extern void SparcSoftcardOps_SetSparcToMesaInt(); extern void SparcSoftcardOps_ResetSparcToMesaInt(); extern void SparcSoftcardOps_SetSparcToSparcInt(); extern void SparcSoftcardOps_ResetSparcToSparcInt(); extern void SparcSoftcardOps_SetIOPToSparcInt(); extern void SparcSoftcardOps_ResetIOPToSparcInt(); extern void SparcSoftcardOps_SetMesaToSparcInt(); extern void SparcSoftcardOps_ResetMesaToSparcInt(); extern void SparcSoftcardOps_SetSparcAbortInt(); extern void SparcSoftcardOps_ResetSparcAbortInt(); extern void SparcSoftcardOps_EnableInt(); extern void SparcSoftcardOps_DisableInt(); typedef enum { InterruptSource_mapInt=0, InterruptSource_nVersOnLine=1, InterruptSource_nSCCInt=2, InterruptSource_PrintVersEnd=3, InterruptSource_DispVertSync=4, InterruptSource_DispHorizSync=5, InterruptSource_PrintPageSync=6, InterruptSource_PrintLineSync=7, InterruptSource_nVersReady=8, InterruptSource_mapFault=9, InterruptSource_realTimeClock=10 } SparcSoftcardOps_InterruptSource; typedef enum { InterruptMode_activeLow=0, InterruptMode_activeHigh=1, InterruptMode_risingEdge=2, InterruptMode_fallingEdge=3 } SparcSoftcardOps_InterruptMode; typedef enum { InterruptNumber_interruptA=0, InterruptNumber_interruptB=1, InterruptNumber_interruptC=2 } SparcSoftcardOps_InterruptNumber; typedef enum { InterruptProcessor_cp=0, InterruptProcessor_iOP=1, InterruptProcessor_sparc=2, InterruptProcessor_none=3 } SparcSoftcardOps_InterruptProcessor; extern void SparcSoftcardOps_SetPeriphIntMode(); /* SparcSoftcardOps_InterruptSource interruptSource; */ /* SparcSoftcardOps_InterruptMode interruptMode; */ /* SparcSoftcardOps_InterruptNumber interruptNumber; */ /* SparcSoftcardOps_InterruptProcessor interruptProcessor; */ typedef struct ReadPeriphIntState_self { BOOLEAN intActive; } Return_ReadPeriphIntState; extern Return_ReadPeriphIntState SparcSoftcardOps_ReadPeriphIntState(); /* SparcSoftcardOps_InterruptNumber interruptNumber; */ extern void SparcSoftcardOps_ResetPeriphInt(); /* SparcSoftcardOps_InterruptNumber interruptNumber; */ typedef enum { DMAState_active=0, DMAState_inactive=1 } SparcSoftcardOps_DMAState; extern void SparcSoftcardOps_SetDMAState(); /* SparcSoftcardOps_DMAState dMAState; */ typedef enum { DMAMode_printer=0, DMAMode_display=1, DMAMode_versatecOneShot=2, DMAMode_versatecStream=3 } SparcSoftcardOps_DMAMode; extern void SparcSoftcardOps_SetDMAMode(); /* SparcSoftcardOps_DMAMode dMAMode; */ extern void SparcSoftcardOps_DMAAddressRegisterLoad(); /* CARD32 byteAddress; */ typedef enum { VersatecMode_print=0, VersatecMode_plot=1, VersatecMode_SPPPrint=2, VersatecMode_SPPPlot=3 } SparcSoftcardOps_VersatecMode; extern void SparcSoftcardOps_SetVersatecMode(); /* SparcSoftcardOps_VersatecMode versatecMode; */ typedef enum { VersatecRCommand_CLEAR=0, VersatecRCommand_RESET=1, VersatecRCommand_RLTER=2, VersatecRCommand_RFFED=3, VersatecRCommand_REOTR=4 } SparcSoftcardOps_VersatecRCommand; typedef struct SendVersatecRCommand_self { BOOLEAN ok; } Return_SendVersatecRCommand; extern Return_SendVersatecRCommand SparcSoftcardOps_SendVersatecRCommand(); /* SparcSoftcardOps_VersatecRCommand versatecRCommand; */ typedef struct VersatecOnLine_self { BOOLEAN onLine; } Return_VersatecOnLine; extern Return_VersatecOnLine SparcSoftcardOps_VersatecOnLine(); typedef struct VersatecReady_self { BOOLEAN ready; } Return_VersatecReady; extern Return_VersatecReady SparcSoftcardOps_VersatecReady(); typedef struct VersatecSendOneByte_self { BOOLEAN ok; } Return_VersatecSendOneByte; extern Return_VersatecSendOneByte SparcSoftcardOps_VersatecSendOneByte(); /* BYTE data; */ typedef struct VersatecSendBuffer_self { BOOLEAN ok; } Return_VersatecSendBuffer; extern Return_VersatecSendBuffer SparcSoftcardOps_VersatecSendBuffer(); /* CARD32 byteAddress; */ /* CARD32 byteSize; */ typedef enum { VMSpaceName_dMA=0, VMSpaceName_iOP=1, VMSpaceName_cP=2, VMSpaceName_sparcUserData=3, VMSpaceName_sparcUserProgram=4, VMSpaceName_sparcSuperData=5, VMSpaceName_sparcSuperProgram=6 } SparcSoftcardOps_VMSpaceName; typedef struct VMSpace_self { SparcSoftcardOps_VMSpaceName name; CARD32 task; /* _ 0 */ } SparcSoftcardOps_VMSpace; typedef struct Flags_self { BOOLEAN dirty; /* _ FALSE */ BOOLEAN referenced; /* _ FALSE */ BOOLEAN readOnly; /* _ FALSE */ BOOLEAN nonCachable; /* _ FALSE */ BOOLEAN interrupt; /* _ FALSE */ } SparcSoftcardOps_Flags; typedef struct MapEntry_self { SparcSoftcardOps_Flags flags; SparcSoftcardOps_VMSpace vMSpace; CARD32 virtualAddressByte; CARD32 realAddressByte; } SparcSoftcardOps_MapEntry; typedef struct MapEntryConcrete_self { BOOLEAN dirty:1; BOOLEAN referenced:1; BOOLEAN readOnly:1; BOOLEAN nonCachable:1; BOOLEAN interrupt:1; BYTE task:8; INT virtualPageHiHi:3; INT virtualPageHiLow:2; BOOL trash:1; INT realPage:13; } SparcSoftcardOps_MapEntryConcrete; extern void SparcSoftcardOps_WriteMapEntry(); /* SparcSoftcardOps_MapEntry mapEntry; */ typedef struct ReadMapEntry_self { SparcSoftcardOps_MapEntry oldMapEntry; } Return_ReadMapEntry; extern Return_ReadMapEntry SparcSoftcardOps_ReadMapEntry(); /* SparcSoftcardOps_MapEntry mapEntry; */ typedef BOOLEAN (SparcSoftcardOps_MemoryConfig[8]); typedef SparcSoftcardOps_MemoryConfig (*SparcSoftcardOps_MemoryConfigPointer); extern void SparcSoftcardOps_FindMemoryConfig(); /* SparcSoftcardOps_MemoryConfigPointer memoryConfigPointer; */ Êö˜J˜PJ˜J˜J˜J˜J˜J˜*J˜J˜2J˜˜$J˜J˜—J˜J˜?J˜J˜1J˜J˜0J˜J˜0J˜J˜2J˜J˜1J˜J˜3J˜J˜2J˜J˜4J˜J˜0J˜J˜2J˜J˜1J˜J˜3J˜J˜0J˜J˜2J˜J˜)J˜J˜*J˜˜J˜J˜J˜J˜J˜J˜ J˜ J˜ J˜J˜J˜ J˜#—J˜˜J˜J˜J˜J˜J˜!—J˜˜J˜J˜J˜J˜#—J˜˜J˜J˜J˜J˜J˜&—J˜˜0J˜7J˜3J˜7J˜=—J˜˜(J˜J˜—J˜˜GJ˜7—J˜˜.J˜7—J˜˜J˜J˜J˜—J˜˜+J˜)—J˜˜J˜J˜J˜J˜J˜—J˜˜*J˜'—J˜˜6J˜—J˜˜J˜J˜J˜J˜J˜ —J˜˜/J˜1—J˜˜J˜J˜J˜J˜J˜J˜$—J˜˜*J˜ J˜—J˜˜KJ˜9—J˜˜$J˜J˜—J˜J˜?J˜˜#J˜J˜—J˜J˜=J˜˜)J˜ J˜—J˜˜IJ˜—J˜˜(J˜ J˜—J˜˜GJ˜J˜—J˜˜J˜J˜J˜J˜J˜J˜J˜J˜—J˜˜J˜"J˜J˜—J˜˜J˜J˜!J˜J˜"J˜ J˜—J˜˜J˜J˜!J˜J˜J˜—J˜˜&J˜J˜J˜J˜J˜J˜ J˜J˜J˜ J˜J˜$—J˜˜-J˜)—J˜˜"J˜&J˜—J˜˜;J˜)—J˜J˜3J˜J˜NJ˜˜0J˜?—J˜J˜J˜—…—LH