#ifndef PV_MEMORYBASE_H
#define PV_MEMORYBASE_H TRUE
/*
**  $Filename: MemoryBase.h $
**  $Release: 1.02 $
**  $Revision: 37.346 $
**  $Date: 15 Sep 91 $
**
**  Structure definitions for Memory Base (see 'TheWizardCorner')
**
**  © 1991 Jorrit Tyberghein, included with PowerVisor
**	    All Rights Reserved
*/

#ifndef PV_PVMEMORY_H
#include "PVMemory.h"
#endif


#define TAG_BYTEASCII	1
#define TAG_WORDASCII	2
#define TAG_LONGASCII	3
#define TAG_ASCII	4
#define TAG_CODE	5
#define TAG_STRUCT	6

#define LONGMODE_BYTE	0
#define LONGMODE_LONG	1
#define LONGMODE_WORD	2
#define LONGMODE_ASCII	3

#define HEXUNASM_NO	0
#define HEXUNASM_YES	1


struct AutoClearList
	{
		struct AutoClearList *Next;
		PVBLOCK pointer;
	};

struct PVTag
	{
		APTR Address;
		ULONG Bytes;
		ULONG Type;
		ULONG Extra;
	};


struct MemoryBase
	{
		struct AutoClearList *AutoClearList;
		struct AutoClearList *LastAutoClear;
		UWORD NumAutoClear;
		UWORD MaxNumAutoClear;
		struct PVQuickBlock GlobalAutoClear;
		struct PVMemoryBlock CurrentTagList;
		ULONG NumCurrentTagList;
		struct PVMemoryBlock AllTags[16];
		ULONG PVQuickTressHold;
		APTR NextMemoryList;
		APTR NextSearch;
		ULONG RemainingBytes;
		PVBLOCK SearchString;
		UBYTE LongMode;
		UBYTE HexUnAsmMode;
		UBYTE pad0[9];
	};

#endif
