/***************************************************************************
**
**    $Header:   D:/EPSLDV1/SRC/LOG/DIAGNOST.H__   1.8   20 Jun 1996 09:30:08   ZJRD  $
**
**    $Log:   D:/EPSLDV1/SRC/LOG/DIAGNOST.H__  $
** 
**    Rev 1.8   20 Jun 1996 09:30:08   ZJRD
** EasyPack/SLD Version 1.20a
** 
**    Rev 1.6   10 Jun 1996 10:24:46   ZJRD
** EasyPack/SLD Version 1.20
** 
**    Rev 1.4   29 May 1996 09:37:20   ZJRD
** No change.
** 
**    Rev 1.3   16 May 1996 09:01:56   ZJRD
** No change.
** 
**    Rev 1.2   10 May 1996 09:16:48   ZJRD
** No change.
** 
**    Rev 1.1   02 May 1996 10:31:10   ZJRD
** EasyPack/SLD Version 1.92
** 
**    Rev 1.1   18 Apr 1996 12:56:26   Shirley
** EasyPack/SLD Version 1.91
** 
**    Rev 1.0   12 Apr 1996 10:35:56   Shirley
** Initial revision.
** 
****************************************************************************/
// diagnost.h : header file
//
//john chow 96.3
/////////////////////////////////////////////////////////////////////////////
// CDiagnosticBox dialog
#ifndef _DIAGNOST_
#define _DIAGNOST_ 
#include "resource.h"
#include "abitype.h"
#include "abiextfn.h"

STATUS AbiDiagnostic(unsigned char uchOption);

class CDiagnosticBox : public CDialog
{
// Construction
public:
	CDiagnosticBox(CWnd* pParent = NULL);	// standard constructor

//member
public:
   BOOL m_BHasSaved;
// Dialog Data
	//{{AFX_DATA(CDiagnosticBox)
	enum { IDD = IDD_DIAGNOSTICBOX };
	CButton	m_buttonEmulationRam;
	CButton	m_buttonCheckTraceRam;
	CButton	m_buttonCheckSpoonRam;
	CButton	m_buttonCheckPIOCTC;
	CButton	m_buttonCheckMapRam;
	CButton	m_buttonCheckEventDataRam;
	CButton	m_buttonCheckEventAddrRam;
	CButton	m_buttonDetail;
	CButton	m_buttonDiagnostic;
	CButton	m_buttonCheckAll;
	CString	m_POIResult;
	CString	m_MAPRAMResult;
	CString	m_EVENTADDRResult;
	CString	m_EVENTDATARAMResult;
	CString	m_SPOONRAMResult;
	CString	m_EMULATIONRAMResult;
	CString	m_TRACERAMResult;
	//}}AFX_DATA

// Implementation
private:
    void DecideDiagnosticButtonStatus();
    void DecideDetailButtonStatus();
protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support

	// Generated message map functions
	//{{AFX_MSG(CDiagnosticBox)
	afx_msg void OnButtonDiagnostic();
	afx_msg void OnCheckAll();
	afx_msg void OnCheckPioctc();
	afx_msg void OnCheckEventaddrram();
	afx_msg void OnCheckEventdataram();
	afx_msg void OnCheckMapram();
	afx_msg void OnCheckSpoonram();
	afx_msg void OnCheckTraceram();
	afx_msg void OnEmulationram();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
#endif
//support for shell window's command                  
extern void ShowLine(char *);
extern int TestKey(WORD);
extern void DiagnosticCmd(int nArgc, char* pszArgv[]);
extern void	SaveAllConfig(void);//save all HW settings supported by Chris
extern void	RestoreAllConfig(void);
