📄 program.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 + -