Difference between revisions of "Video (PC8801)"

From Data Crystal
Jump to: navigation, search
m
(Background/foreground component toggle)
Line 18: Line 18:
 
|-
 
|-
 
|0x52
 
|0x52
|
+
|Background Color
|
+
|Sets the background color of the screen. The color is an RGB composite.
 +
If bit 3 (mask 0x8) = blue on
 +
if bit 4 (mask 0x10) = green on
 +
If bit 5 (mask 0x20) = red on
 
|-
 
|-
 
|0x53
 
|0x53
Line 26: Line 29:
 
|-
 
|-
 
|0x54
 
|0x54
|
+
|Toggle Background/Foreground color components
|
+
|Toggles background and foreground color components on and off
 +
if 8-color mode {
 +
  if bit 7 (mask 0x80) set, target is background color, else foreground
 +
 
 +
  if bit 6 (mask 0x40) toggle green component {
 +
    GREEN ON if bits 1,2,3 (0x7) set, else OFF
 +
  }
 +
  else toggle red and/or blue {
 +
    BLUE ON if bit 1,2,3 set, else OFF
 +
    RED ON if value written / 8 sets bits 1,2,3, else OFF
 +
  }
 +
}
 +
else if monochrome mode, set foreground color {
 +
  BLUE ON if bit 1 set (mask 0x1)
 +
  RED ON if bit 2 set (mask 0x2)
 +
  GREEN ON if bit 3 set (mask 0x4)
 +
}
 
|-
 
|-
 
|0x55-0x5b
 
|0x55-0x5b

Revision as of 18:15, 4 March 2016

Port Name Function
0x30
0x34
0x35
0x52 Background Color Sets the background color of the screen. The color is an RGB composite.

If bit 3 (mask 0x8) = blue on if bit 4 (mask 0x10) = green on If bit 5 (mask 0x20) = red on

0x53
0x54 Toggle Background/Foreground color components Toggles background and foreground color components on and off

if 8-color mode {

 if bit 7 (mask 0x80) set, target is background color, else foreground
 if bit 6 (mask 0x40) toggle green component {
   GREEN ON if bits 1,2,3 (0x7) set, else OFF
 }
 else toggle red and/or blue {
   BLUE ON if bit 1,2,3 set, else OFF
   RED ON if value written / 8 sets bits 1,2,3, else OFF
 }

} else if monochrome mode, set foreground color {

 BLUE ON if bit 1 set (mask 0x1)
 RED ON if bit 2 set (mask 0x2)
 GREEN ON if bit 3 set (mask 0x4)

}

0x55-0x5b Palette Write Writes to the palette. The index written to is the difference between the port number and 0x54.
0x5c-0x5f