MicrOS
registerfunctions.h
Go to the documentation of this file.
1 #ifndef REGISTERFUNCTIONS_H
2 #define REGISTERFUNCTIONS_H
3 
4 #include <stdint.h>
5 
6 #define VGA_VRAM (unsigned char*)0xC00A0000
7 #define VGA_VRAM_2 (unsigned char*)0xC00B8000
8 
9 #define miscPort 0x3c2
10 #define crtcIndexPort 0x3d4
11 #define crtcDataPort 0x3d5
12 #define crtcIndexPortText 0x3b4
13 #define crtcDataPortText 0x3b5
14 #define sequencerIndexPort 0x3c4
15 #define sequencerDataPort 0x3c5
16 #define graphicsControllerIndexPort 0x3ce
17 #define graphicsControllerDataPort 0x3cf
18 #define attributeControllerIndexPort 0x3c0
19 #define attributeControllerReadPort 0x3c1
20 #define attributeControllerWritePort 0x3c0
21 #define attributeControllerResetPort 0x3da
22 
23 #define peekb(S, O) *(unsigned char *)(16uL * (S) + (O))
24 #define pokeb(S, O, V) *(unsigned char *)(16uL * (S) + (O)) = (V)
25 #define pokew(S, O, V) *(unsigned short *)(16uL * (S) + (O)) = (V)
26 
27 #define bit_get(p,m) ((p) & (m))
28 #define bit_set(p,m) ((p) |= (m))
29 #define bit_clear(p,m) ((p) &= ~(m))
30 #define bit_flip(p,m) ((p) ^= (m))
31 #define bit_write(p,m,v) ((v) ? bit_set(p,m) : bit_clear(p,m))
32 
33 void writeRegisters(uint8_t *registers);
34 void writeRegistersText(uint8_t *registers);
35 void readRegisters(unsigned char *regs);
36 
37 void setFont(uint8_t *buf, uint8_t font_height);
38 void set_plane(unsigned p);
39 void set_vga_palette(unsigned char* palette);
40 
41 static inline int32_t _abs(int32_t _x)
42 {
43  return (_x < 0) ? _x * (-1) : _x;
44 }
45 
46 #endif
void writeRegisters(uint8_t *registers)
Definition: registerfunctions.c:35
void set_plane(unsigned p)
Definition: registerfunctions.c:228
void setFont(uint8_t *buf, uint8_t font_height)
Definition: registerfunctions.c:169
void readRegisters(unsigned char *regs)
Definition: registerfunctions.c:127
void writeRegistersText(uint8_t *registers)
Definition: registerfunctions.c:81
static int32_t _abs(int32_t _x)
Definition: registerfunctions.h:41
void set_vga_palette(unsigned char *palette)
Definition: registerfunctions.c:242
unsigned int registers[NUMREGS]
Definition: gdb_stub.c:127