⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.h

📁 是一款 基于 Windows 2K 操作系统中
💻 H
字号:
// Program.h: interface for the CProgram class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PROGRAM_H__EDCB6961_6B47_11D7_88FA_009027E67595__INCLUDED_)
#define AFX_PROGRAM_H__EDCB6961_6B47_11D7_88FA_009027E67595__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef  ON 
#define  ON                        1
#endif
#ifndef  OFF
#define  OFF                       0
#endif
#ifndef  TRUE 
#define  TRUE                      1
#endif
#ifndef  FALSE
#define  FALSE                     0
#endif

#define  MAXBUFFER                 0x4000       //16K
#define  BUF1KBYTES                0x400        //1k
#define  LPT8                      0x378
#define  LPT9                      0x379
#define  LPTA                      0x37a
#define  DECODE_ERASE_CHIP         0x08
#define  DECODE_WRITE              0x07
#define  DECODE_READ               0x03
#define  DECODE_READ_SIGNATURE     0x00
#define  DECODE_FREE               0x01          /*free state*/
#define  BIT(n)                    (1L<<n)

#define  LATCH0                    0
#define  LATCH1                    1
#define  LATCH2                    2
#define  LATCH3                    3
#define  LATCH4                    4
#define  STATEGATE0                0
#define  STATEGATE1                1
#define  STATEGATE2                2
#define  STATEGATE3                3
#define  STATEGATE4                4

#define  WM100028PINS               0
#define  WM100040PINS               1
#define  WG200040PINS               2
#define  WG200064PINS               3
#define  WM_STEPIT (WM_USER  + 0x0708)  // user-defined message. 

class CProgram  
{
	/* Store each latch data out */
	BYTE  DataLatch[5];
	/* store ctrl status */
	BYTE  ControlState;
	/* Store last states of latch */
	BYTE  DataLatchEnable;
	WORD  AddressBuffer;
	BYTE  DecodeBuffer;	

	BYTE  bWhichChip;            //select WM1000 40p or 28p	
	WORD  wFlashSize;            //8192

private:
	/*Control Function*/
	void  Tvia_ControlTempDataLatch(BYTE bONorOFF);
	void  Tvia_ControlOutputControlLatch(BYTE bONorOFF);
	void  Tvia_ControlInputControlLatch(BYTE bONorOFF);
	void  Tvia_ControlDataLatchOut(BYTE bONorOFF, int WhichLatch);
	void  Tvia_ControlDataLatchIn(BYTE bONorOFF, int WhichLatch);
	/*Operation Function*/
	void  Tvia_WriteDataLatch(BYTE WhichLatch, BYTE bData);
	void  Tvia_SendData(BYTE bData);
	void  Tvia_SendDecCode(BYTE bDecode);
	void  Tvia_SendAddr(WORD wAddr);
	void  Tvia_SetPGZ(BYTE bONorOFF);
	void  Tvia_SetRST(BYTE bONorOFF);
	BYTE  Tvia_Read3StateGate(BYTE WhichGate);
	BYTE  Tvia_ReadData(void);
	BYTE  Tvia_IsBusy(void);
	void  Tvia_ClearAllLatch(void);
	/*I/O Function*/
    void  asm_outp(WORD wPortAddr, BYTE bData);
	BYTE  asm_inp(WORD wPortAddr);
	BYTE  Tvia_In(WORD wAddr);
	void  Tvia_Out(WORD wAddr, BYTE bData);
	BYTE  Tvia_EraseFlash(void);	
	
public:
	CProgram();
	virtual ~CProgram();
	BYTE  Tvia_ReadChipID(BYTE bChipID[]);
    WORD  Tvia_ReadDataFromFlash8K(BYTE DataBuffer[]);
	BYTE  Tvia_WriteDataIntoFlash8K(WORD TmpFileSize, BYTE DataBuffer[]);
	void  Tvia_InitBurner(void);
	void  UpdataStatus(BYTE bChipType, WORD wRomSize);
};


#endif // !defined(AFX_PROGRAM_H__EDCB6961_6B47_11D7_88FA_009027E67595__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -