/* SparcSoftcardOps.h created by Sherman of March 30, 1988 11:10:48 pm PST */

/* from SparcSoftcardOps.mob */

#include "standard.h"

typedef struct SoftcardPresent←self {
	BOOL present;
	} Return←SoftcardPresent;

extern Return←SoftcardPresent SparcSoftcardOps←SoftcardPresent();

extern void SparcSoftcardOps←InitializeCPandIOPMaps();

extern void SparcSoftcardOps←InsertSoftcardPhyscialMemory();
	/* void (*reclaim)();
		CARD16 real; */

extern void SparcSoftcardOps←InitializeSoftcard();
	/* void (*reclaim)();
		CARD16 real; */

extern void SparcSoftcardOps←ResetSoftcard();

extern void SparcSoftcardOps←SparcReset();

extern void SparcSoftcardOps←SparcResetAndStart();

extern void SparcSoftcardOps←SparcCacheDisable();

extern void SparcSoftcardOps←SparcCacheEnable();

extern void SparcSoftcardOps←SparcCacheFlushAndEnable();

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 {
	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;
	} SparcSoftcardOps←VMSpace;

typedef struct Flags←self {
	BOOLEAN readOnly;
	BOOLEAN referenced;
	BOOLEAN dirty;
	BOOLEAN nonCachable;
	BOOLEAN interrupt;
	} SparcSoftcardOps←Flags;

typedef struct MapEntry←self {
	SparcSoftcardOps←Flags flags;
	SparcSoftcardOps←VMSpace vMSpace;
	CARD32 virtualAddressByte;
	CARD32 realAddressByte;
	} SparcSoftcardOps←MapEntry;

extern void SparcSoftcardOps←WriteMapEntry();
	/* SparcSoftcardOps←MapEntry mapEntry; */

typedef struct PeekPokePeekRestore←self {
	BYTE lowByte;
	} Return←PeekPokePeekRestore;

extern Return←PeekPokePeekRestore SparcSoftcardOps←PeekPokePeekRestore();
	/* CARD32 address0; */
	/* CARD16 content; */
	/* CARD32 address1; */

extern void SparcSoftcardOps←ControlBitWrite();
	/* CARD32 address; */
	/* SparcSoftcard←Polarity polarity; */
	/* BOOL value; */

typedef struct ControlBitRead←self {
	BOOL value;
	} Return←ControlBitRead;

extern Return←ControlBitRead SparcSoftcardOps←ControlBitRead();
	/* CARD32 address; */
	/* SparcSoftcard←Polarity polarity; */