OpenCores
URL https://opencores.org/ocsvn/scarm/scarm/trunk

Subversion Repositories scarm

[/] [scarm/] [trunk/] [src/] [SoC/] [LCDCtrl/] [scLCDCtrl.h] - Blame information for rev 10

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 zhong
// scLCDCtrl.h: interface for the scLCDCtrl class.
2
//
3
//////////////////////////////////////////////////////////////////////
4
 
5
#if !defined(AFX_SCLCDCTRL_H__F9C92034_3EBF_11D6_B9EA_000000000000__INCLUDED_)
6
#define AFX_SCLCDCTRL_H__F9C92034_3EBF_11D6_B9EA_000000000000__INCLUDED_
7
 
8
#if _MSC_VER > 1000
9
#pragma once
10
#endif // _MSC_VER > 1000
11
#define LCDCTRL_NUMREGS 8
12
#define LCDCTRL_NUMPALS 256
13
#define LCDCTRL_SCREENFILE "/tmp/swarm_screen"
14
#define LCDCTRL_UPDATEINTERVAL 25
15
 
16
#define R_LCDVER        0x0
17
#define R_LCDRESOLUTION 0x1
18
#define R_LCDCOLORDEPTH 0x2
19
#define R_LCDSTARTADDR  0x3
20
#define R_LCDRESERVED1  0x4
21
#define R_LCDPALINDEX   0x5
22
#define R_LCDPALDATA    0x6
23
#define R_LCDSTATUS     0x7
24
 
25
typedef struct LCDCTRLBTAG
26
{
27
  uint32_t addr: 32;      // IN - address, 0 to 5
28
  uint32_t data: 32;      // IN/OUT - 32 bits of data
29
  uint32_t interrupt: 1;  // OUT - has an interrupt happened?
30
  uint32_t r:1;           // IN - is a read happening?
31
  uint32_t w:1;           // IN - is a write happening?
32
} LCDCTRLBUS;
33
 
34
 
35
class scLCDCtrl
36
{
37
public:
38
        scLCDCtrl();
39
        virtual ~scLCDCtrl();
40
public:
41
  void Cycle(LCDCTRLBUS* bus);
42
  void Reset();
43
 
44
 private:
45
  uint32_t m_regs[LCDCTRL_NUMREGS];
46
  uint32_t m_pals[LCDCTRL_NUMPALS];
47
  FILE *fScreen;
48
  void UpdateScreen();
49
};
50
 
51
#endif // !defined(AFX_SCLCDCTRL_H__F9C92034_3EBF_11D6_B9EA_000000000000__INCLUDED_)

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.