11#include " VGADriver.h"
22
33VideoGraphicsArray::VideoGraphicsArray () :
4- MiscPort (0x3c2 ),
5- CRTCIndexPort (0x3d4 ),
6- CRTCDataPort (0x3d5 ),
7- SequencerIndexPort (0x3c4 ),
8- SequencerDataPort (0x3c5 ),
9- GraphicsControllerIndexPort (0x3ce ),
10- GraphicsControllerDataPort (0x3cf ),
11- AttributeControllerIndexPort (0x3c0 ),
12- AttributeControllerReadPort (0x3c1 ),
13- AttributeControllerWritePort (0x3c0 ),
14- AttributeControllerResetPort (0x3da )
4+ miscPort (0x3c2 ),
5+ crtcIndexPort (0x3d4 ),
6+ crtcDataPort (0x3d5 ),
7+ sequencerIndexPort (0x3c4 ),
8+ sequencerDataPort (0x3c5 ),
9+ graphicsControllerIndexPort (0x3ce ),
10+ graphicsControllerDataPort (0x3cf ),
11+ attributeControllerIndexPort (0x3c0 ),
12+ attributeControllerReadPort (0x3c1 ),
13+ attributeControllerWritePort (0x3c0 ),
14+ attributeControllerResetPort (0x3da )
1515{
1616}
1717
@@ -21,61 +21,61 @@ VideoGraphicsArray::~VideoGraphicsArray()
2121
2222
2323
24- void VideoGraphicsArray::WriteToRegisters (uint8_t * registers)
24+ void VideoGraphicsArray::WriteRegisters (uint8_t * registers)
2525{
2626 // misc
27- MiscPort .WriteToPort (*(registers++));
27+ miscPort .WriteToPort (*(registers++));
2828
29- // Sequencer
29+ // sequencer
3030 for (uint8_t i = 0 ; i < 5 ; i++)
3131 {
32- SequencerIndexPort .WriteToPort (i);
33- SequencerDataPort .WriteToPort (*(registers++));
32+ sequencerIndexPort .WriteToPort (i);
33+ sequencerDataPort .WriteToPort (*(registers++));
3434 }
3535
3636 // cathode ray tube controller
37- CRTCIndexPort .WriteToPort (0x03 );
38- CRTCDataPort .WriteToPort (CRTCDataPort .ReadFromPort () | 0x80 );
39- CRTCIndexPort .WriteToPort (0x11 );
40- CRTCDataPort .WriteToPort (CRTCDataPort .ReadFromPort () & ~0x80 );
37+ crtcIndexPort .WriteToPort (0x03 );
38+ crtcDataPort .WriteToPort (crtcDataPort .ReadFromPort () | 0x80 );
39+ crtcIndexPort .WriteToPort (0x11 );
40+ crtcDataPort .WriteToPort (crtcDataPort .ReadFromPort () & ~0x80 );
4141
4242 registers[0x03 ] = registers[0x03 ] | 0x80 ;
4343 registers[0x11 ] = registers[0x11 ] & ~0x80 ;
4444
4545 for (uint8_t i = 0 ; i < 25 ; i++)
4646 {
47- CRTCIndexPort .WriteToPort (i);
48- CRTCDataPort .WriteToPort (*(registers++));
47+ crtcIndexPort .WriteToPort (i);
48+ crtcDataPort .WriteToPort (*(registers++));
4949 }
5050
5151 // graphics controller
5252 for (uint8_t i = 0 ; i < 9 ; i++)
5353 {
54- GraphicsControllerIndexPort .WriteToPort (i);
55- GraphicsControllerDataPort .WriteToPort (*(registers++));
54+ graphicsControllerIndexPort .WriteToPort (i);
55+ graphicsControllerDataPort .WriteToPort (*(registers++));
5656 }
5757
58- // Attribute controller
58+ // attribute controller
5959 for (uint8_t i = 0 ; i < 21 ; i++)
6060 {
61- AttributeControllerResetPort .ReadFromPort ();
62- AttributeControllerIndexPort .WriteToPort (i);
63- AttributeControllerWritePort .WriteToPort (*(registers++));
61+ attributeControllerResetPort .ReadFromPort ();
62+ attributeControllerIndexPort .WriteToPort (i);
63+ attributeControllerWritePort .WriteToPort (*(registers++));
6464 }
6565
66- AttributeControllerResetPort .ReadFromPort ();
67- AttributeControllerIndexPort .WriteToPort (0x20 );
66+ attributeControllerResetPort .ReadFromPort ();
67+ attributeControllerIndexPort .WriteToPort (0x20 );
6868
6969}
7070
71- bool VideoGraphicsArray::isModeSupported (uint32_t width, uint32_t height, uint32_t colordepth)
71+ bool VideoGraphicsArray::SupportsMode (uint32_t width, uint32_t height, uint32_t colordepth)
7272{
7373 return width == 320 && height == 200 && colordepth == 8 ;
7474}
7575
7676bool VideoGraphicsArray::SetMode (uint32_t width, uint32_t height, uint32_t colordepth)
7777{
78- if (!isModeSupported (width, height, colordepth))
78+ if (!SupportsMode (width, height, colordepth))
7979 return false ;
8080
8181 unsigned char g_320x200x256[] =
@@ -98,14 +98,15 @@ bool VideoGraphicsArray::SetMode(uint32_t width, uint32_t height, uint32_t color
9898 0x41 , 0x00 , 0x0F , 0x00 , 0x00
9999 };
100100
101- WriteToRegisters (g_320x200x256);
101+ WriteRegisters (g_320x200x256);
102102 return true ;
103103}
104104
105- uint8_t * VideoGraphicsArray::GetVGAFrameBuffer ()
105+
106+ uint8_t * VideoGraphicsArray::GetFrameBufferSegment ()
106107{
107- GraphicsControllerIndexPort .WriteToPort (0x06 );
108- uint8_t segmentNumber = GraphicsControllerDataPort .ReadFromPort () & (3 <<2 );
108+ graphicsControllerIndexPort .WriteToPort (0x06 );
109+ uint8_t segmentNumber = graphicsControllerDataPort .ReadFromPort () & (3 <<2 );
109110 switch (segmentNumber)
110111 {
111112 default :
@@ -118,18 +119,18 @@ uint8_t* VideoGraphicsArray::GetVGAFrameBuffer()
118119
119120void VideoGraphicsArray::PutPixel (uint32_t x, uint32_t y, uint8_t colorIndex)
120121{
121- uint8_t * pixelAddress = GetVGAFrameBuffer () + 320 *y + x;
122+ uint8_t * pixelAddress = GetFrameBufferSegment () + 320 *y + x;
122123 *pixelAddress = colorIndex;
123124}
124125
125- uint8_t VideoGraphicsArray::GetColorIndex (uint8_t Redr , uint8_t Green , uint8_t Blue )
126+ uint8_t VideoGraphicsArray::GetColorIndex (uint8_t r , uint8_t g , uint8_t b )
126127{
127- if (Redr == 0x00 , Green == 0x00 , Blue == 0xA8 )
128+ if (r == 0x00 , g == 0x00 , b == 0xA8 )
128129 return 0x01 ;
129130 return 0x00 ;
130131}
131132
132- void VideoGraphicsArray::PutPixelOnScreen (uint32_t x, uint32_t y, uint8_t r, uint8_t g, uint8_t b)
133+ void VideoGraphicsArray::PutPixel (uint32_t x, uint32_t y, uint8_t r, uint8_t g, uint8_t b)
133134{
134135 PutPixel (x,y, GetColorIndex (r,g,b));
135136}
0 commit comments