| void V9_SetPort( |
| ) __PRESERVES(b, d, e, h, iyl, iyh) |
Set port value.
| port u8 | Port address (V9990 is plug to ports 60h~6Fh). |
| value u8 | Value to write to the port. |
| u8 V9_GetPort( |
| ) __PRESERVES(b, d, e, h, l, iyl, iyh) |
Get port value.
| port u8 | Port address (V9990 is plug to ports 60h~6Fh). |
Value read from the givem port.
| void V9_SetRegister( |
| ) __PRESERVES(b, c, d, e, h, iyl, iyh) |
Set register value. This function as no effect if register is read-only.
| reg u8 | V9990 register number. |
| val u8 | Value to write to the register. |
| void V9_SetRegister16( |
| ) __PRESERVES(b, h, l, iyl, iyh) |
Set register value. This function as no effect if register is read-only.
| reg u8 | V9990 register number (LSB will be write to this register and MSB to the next). |
| val u16 | 16-bits value to write to the registers. |
| u8 V9_GetRegister( |
| ) __PRESERVES(b, c, d, e, h, l, iyl, iyh) |
Get register value.
| reg u8 | V9990 register number. |
Value read from the register (FFh is returned if register is write only).
| inline void V9_SetFlag( |
| ) |
Helper function to change some bits in a given register. The function get a register value, apply a mask, 'or' the new value, than set the register.
| reg u8 | V9990 register number. |
| mask u8 | Bits to be cleared. |
| flag u8 | Bits to be set. |
| void V9_SetWriteAddress( |
| ) __PRESERVES(b, iyl, iyh) |
Initialize VRAM address for writing.
| addr u32 | Address to be setup for write access. |
| void V9_SetReadAddress( |
| ) __PRESERVES(b, iyl, iyh) |
Initialize VRAM address for reading.
| addr u32 | Address to be setup for read access. |
| void V9_FillVRAM_CurrentAddr( |
| ) |
Fill VRAM with 8-bits value from the previously setup write VRAM address. V9_SetWriteAddress have to be called first.
| value u8 | 8-bits value to be set. |
| count u16 | Size of the filled space in VRAM. |
| void V9_FillVRAM16_CurrentAddr( |
| ) |
Fill VRAM with 16-bits value from the previously setup write VRAM address. V9_SetWriteAddress have to be called first.
| value u16 | 16-bits value to be set. |
| count u16 | Size of the filled space in VRAM (size in bytes is 'count * 2'). |
| void V9_WriteVRAM_CurrentAddr( |
| ) |
Copy data from RAM buffer to the previously setup write VRAM address. V9_SetWriteAddress have to be called first.
| src const u8* | Pointer to the source data buffer to be copied in VRAM. |
| count u16 | Size of the data to be copied in VRAM. |
| void V9_ReadVRAM_CurrentAddr( |
| ) |
Copy data from the previously setup read VRAM address to a RAM buffer. V9_SetReadAddress have to be called first.
| dst | Pointer to the destination data buffer. |
| count u16 | Size of the data to be copied in VRAM. |
| void V9_Poke_CurrentAddr( |
| ) __PRESERVES(b, c, d, e, h, l, iyl, iyh) |
Write a 8-bits value to the previously setup write VRAM address. V9_SetWriteAddress have to be called first.
| val u8 | The value to be write. |
| void V9_Poke16_CurrentAddr( |
| ) __PRESERVES(b, c, d, e, iyl, iyh) |
Write a 16-bits value to the previously setup write VRAM address. V9_SetWriteAddress have to be called first.
| val u16 | The value to be write. |
Read a 8-bits value from the previously setup write VRAM address. V9_SetReadAddress have to be called first.
The value at the given address.
Read a 16-bits value from the previously setup write VRAM address. V9_SetReadAddress have to be called first.
The value at the given address.
| inline void V9_FillVRAM( |
| ) |
Fill VRAM with 8-bits value start to a given VRAM address.
| addr u32 | Destinaton VRAM address. |
| value u8 | 8-bits value to be set. |
| count u16 | Size of the filled space in VRAM. |
| inline void V9_FillVRAM16( |
| ) |
Fill VRAM with 16-bits value start to the given VRAM address.
| addr u32 | Destination VRAM address. |
| value u16 | 16-bits value to be set. |
| count u16 | Size of the filled space in VRAM (size in bytes is 'count * 2'). |
| inline void V9_WriteVRAM( |
| ) |
Copy data from a RAM buffer to the given VRAM address.
| addr u32 | Destination VRAM address. |
| src const u8* | Pointer to the source data buffer to be copied in VRAM. |
| count u16 | Size of the data to be copied in VRAM. |
| inline void V9_ReadVRAM( |
| ) |
Copy data from a given VRAM address to a RAM buffer.
| dst | Source VRAM address. |
| dst | Pointer to the destination data buffer. |
| count u16 | Size of the data to be copied in VRAM. |
| inline void V9_Poke( |
| ) |
Write a 8-bits value to the given VRAM address.
| addr u32 | Destination VRAM address. |
| val u8 | The value to be write. |
| inline void V9_Poke16( |
| ) |
Write a 16-bits value to the given VRAM address.
| addr u32 | Destination VRAM address. |
| val u16 | The value to be write. |
| inline u8 V9_Peek( |
| ) |
Read a 8-bits value from at the given VRAM address.
| addr u32 | Source VRAM address. |
The value at the given address.
| inline u16 V9_Peek16( |
| ) |
Read a 16-bits value from at the given VRAM address.
| addr u32 | Source VRAM address. |
The value at the given address.
| void V9_SetScreenMode( |
| ) |
Set the current screen mode.
| mode u8 | Screen mode ID (see <V9_SCREEN_MODE>). |
| inline void V9_SetBPP( |
| ) |
Set bitmap bit-per-pixel value.
| bpp u8 | New bits per pixel to set. Can be: <V9_R06_BPP_2>, <V9_R06_BPP_4>, <V9_R06_BPP_8> or <V9_R06_BPP_16>. |
| void V9_SetColorMode( |
| ) |
Set bitmap color mode.
| mode u8 | New color mode to set. Can be any of the bitmap modes of <V9_COLOR_MODE> enum. |
Get bit number per pixel.
Current bits per pixel. Can be: <V9_R06_BPP_2>, <V9_R06_BPP_4>, <V9_R06_BPP_8> or <V9_R06_BPP_16>.
| inline void V9_SetImageSpaceWidth( |
| ) |
Set number of pixels in X direction of image space.
| width u8 | New image space width to set. Can be: <V9_R06_WIDH_256>, <V9_R06_WIDH_512>, <V9_R06_WIDH_1024> or <V9_R06_WIDH_2048>. |
Get number of pixels in X direction of image space.
Current image space width. Can be: <V9_R06_WIDH_256>, <V9_R06_WIDH_512>, <V9_R06_WIDH_1024> or <V9_R06_WIDH_2048>.
| inline void V9_SetDisplayEnable( |
| ) |
Enalbe or disable the screen display.
| enable bool | TRUE to enable or FALSE to disable. |
| inline void V9_SetBackgroundColor( |
| ) |
Set background color.
| color u8 | New background color. |
Get background color.
Current background color.
| inline void V9_SetAdjustOffset( |
| ) |
Adjustment of the display location on the screen.
| offset u8 | Screen display position offset (MSB 4-bits: vertical offset, LSB 4-bits: horizontal offset). |
| inline void V9_SetAdjustOffsetXY( |
| ) |
Adjustment of the display location on the screen.
| x i8 | Horizontal screen display position offset [-7:+8]. |
| y i8 | Vertical screen display position offset [-7:+8]. |
| inline void V9_SetLayerPriority( |
| ) |
Set layer priority for P1 mode.
| x u8 | X coordinate where priority apply (2-bits value x 64 pixel). |
| y u8 | Y coordinate where priority apply (2-bits value x 64 pixel). |
Get status port value.
Value of the status port (include various flags about frame rendering events).
Is vertical non-display period.
FALSE if not in vertical non-display period.
Is horizontal non-display period.
FALSE if not in horizontal non-display period.
Check if command data transfer ready.
FALSE if command data transfer not ready.
Check if a command is in process.
TRUE if command still running.
Check if a no command is in process.
TRUE if command finished.
Check if render is in the second field period during interlace.
FALSE if not in the second field period during interlace.
| inline void V9_SetInterrupt( |
| ) |
Set interruption flags.
| flags u8 | Can be a combination of <V9_INT_VBLANK>, <V9_INT_HBLANK> or <V9_INT_CMDEND>. |
Disable all interruptions.
| inline void V9_SetVBlankInterrupt( |
| ) |
Set vertical blank interruption.
| enable bool | TRUE to enable or FALSE to disable. |
| inline void V9_SetHBlankInterrupt( |
| ) |
Set horizontal blank interruption.
| enable bool | TRUE to enable or FALSE to disable. |
| inline void V9_SetCmdEndInterrupt( |
| ) |
Set command end interruption.
| enable bool | TRUE to enable or FALSE to disable. |
| inline void V9_SetInterruptLine( |
| ) |
Specification of vertical position where display position interrupt occurs.
| line u16 | Line where h-blank interruption will occur (Specified by means of line No. with the display start line as "0"). |
Set line interrupt on every line.
| inline void V9_SetInterruptX( |
| ) |
Specification of horizontal position where display position interrupt occurs.
| x u8 | Horizontal position where h-blank interruption will occur (Specified by unit of 64 master clock with the display start position as "0"). |
| void V9_SetScrollingX( |
| ) |
Set horizontal scrolling value.
| x u16 | Scrolling value (between 0 and image space width-1). |
| void V9_SetScrollingY( |
| ) |
Set vertical scrolling value.
| y u16 | Scrolling value (between 0 and image space height-1). |
| inline void V9_SetScrolling( |
| ) |
Set horizontal and vertical scrolling values.
| x u16 | Scrolling value (between 0 and image space width-1). |
| y u16 | Scrolling value (between 0 and image space height-1). |
| void V9_SetScrollingBX( |
| ) |
Set horizontal scrolling value for layer B (P1 mode only).
| x u16 | Scrolling value (between 0 and image space width-1). |
| void V9_SetScrollingBY( |
| ) |
Set vertical scrolling value for layer B (P1 mode only).
| y u16 | Scrolling value (between 0 and image space height-1). |
| inline void V9_SetScrollingB( |
| ) |
Set horizontal and vertical scrolling values for layer B (P1 mode only).
| x u16 | Scrolling value (between 0 and image space width-1). |
| y u16 | Scrolling value (between 0 and image space height-1). |
| inline void V9_SetCursorEnable( |
| ) |
Enable/disable all cursor display.
| enable bool | TRUE to enable or FALSE to disable. |
| void V9_SetCursorAttribute( |
| ) |
Set the given cursor atribute (for bitmap modes).
| id u8 | Cursor index (0 or 1). |
| x u16 | Cursor X coordinate (from 0 to 1023 regardless of the screen mode). |
| y u16 | Cursor Y coordinate (from 0 to 511 regardless of the screen mode). |
| color u8 | Cursor color (2 bits: 0 to 3). |
| void V9_SetCursorDisplay( |
| ) |
Display/hide the given cursor
| id u8 | Cursor index (0 or 1). |
| enable bool | TRUE to display or FALSE to hide. |
| inline void V9_SetCursorPattern( |
| ) |
Set the given cursor pattern.
| id u8 | Cursor index (0 or 1). |
| data const u8* | 128 bytes pattern buffer (32 x 32 binary data, 4 bytes per line). |
| inline void V9_SetCursorPalette( |
| ) |
Set cursor palette offset.
| offset u8 | Palette offset (4 bits: 0 to 15). |
| inline void V9_SetSpriteEnable( |
| ) |
Enable/disable all sprites display.
| enable bool | TRUE to enable or FALSE to disable. |
| inline void V9_SetSpritePatternAddr( |
| ) |
Set sprite patterns VRAM address.
| addr u8 | Sprite pattern table address in VRAM. P1 mode: V9_P1_SGT_00000 to V9_P1_SGT_38000 with 8000 step P2 mode: V9_P2_SGT_00000 to V9_P2_SGT_78000 with 8000 step |
| inline void V9_SetSpritePaletteOffset( |
| ) |
Set sprite palette offset.
| offset u8 | Palette offset (4 bits: 0 to 15). |
| inline void V9_SetSpriteP1( |
| ) |
Set sprite attribute for P1 mode.
| id u8 | Sprite index (0 to 124). |
| attr const struct V9_Sprite* | Pointer to sprite structure. |
| inline void V9_SetSpritePatternP1( |
| ) |
Set sprite pattern for P1 mode.
| id u8 | Sprite index (0 to 124). |
| pat u8 | Pattern index (0 to 255). |
| inline void V9_SetSpritePositionP1( |
| ) |
Set sprite position for P1 mode.
| id u8 | Sprite index (0 to 124). |
| x u8 | Sprite X coordinate. |
| y u8 | Sprite Y coordinate. |
| inline void V9_SetSpriteInfoP1( |
| ) |
Set sprite additionnal information for P1 mode.
| id u8 | Sprite index (0 to 124). |
| info u8 | Sprite additionnal information. |
7 6 5 4 3 2 1 0
SC5 SC4 PR1 PR0 - - X9 X8
│ │ │ │ └───┴── X-coordinate (bits 8:9)
│ │ │ └────────────────── Disable flag (0: Enable, 1: Disable)
│ │ └────────────────────── Priority flag (0: Front, 1: Between layers)
└───┴────────────────────────── Color palette base (0-3)
Can be any combination of: <V9_SPAT_INFO_ENABLE> or <V9_SPAT_INFO_DISABLE> + <V9_SPAT_INFO_PRIO_FRONT> or <V9_SPAT_INFO_PRIO_BETWEEN> + <V9_SPAT_INFO_PALETTE>
| inline void V9_SetSpriteDisableP1( |
| ) |
Set sprite disable flag for P1 mode.
| id u8 | Sprite index (0 to 124). |
| disable bool | Is sprite display is disable? |
| inline void V9_SetSpritePriorityP1( |
| ) |
Set sprite priority for P1 mode.
| id u8 | Sprite index (0 to 124). |
| prio u8 | Priority flag (0: Front, 1: Between layers). |
| inline void V9_SetSpritePaletteP1( |
| ) |
Set sprite palette for P1 mode.
| id u8 | Sprite index (0 to 124). |
| info | Sprite additionnal information. |
| inline void V9_SetSpriteP2( |
| ) |
Set sprite attribute for P2 mode.
| id u8 | Sprite index (0 to 124). |
| attr const struct V9_Sprite* | Pointer to sprite structure. |
| inline void V9_SetSpritePatternP2( |
| ) |
Set sprite pattern for P2 mode.
| id u8 | Sprite index (0 to 124). |
| pat u8 | Pattern index (0 to 255). |
| inline void V9_SetSpritePositionP2( |
| ) |
Set sprite position for P2 mode.
| id u8 | Sprite index (0 to 124). |
| x u8 | Sprite X coordinate. |
| y u8 | Sprite Y coordinate. |
| inline void V9_SetSpriteInfoP2( |
| ) |
Set sprite additionnal information for P2 mode.
| id u8 | Sprite index (0 to 124). |
| info u8 | Sprite additionnal information. |
7 6 5 4 3 2 1 0
SC5 SC4 PR1 PR0 - - X9 X8
│ │ │ │ └───┴── X-coordinate (bits 8:9)
│ │ │ └────────────────── Disable flag (0: Enable, 1: Disable)
│ │ └────────────────────── Priority flag (0: Front, 1: Between layers)
└───┴────────────────────────── Color palette base (0-3)
Can be any combination of: <V9_SPAT_INFO_ENABLE> or <V9_SPAT_INFO_DISABLE> + <V9_SPAT_INFO_PRIO_FRONT> or <V9_SPAT_INFO_PRIO_BETWEEN> + <V9_SPAT_INFO_PALETTE>
| inline void V9_SetSpriteDisableP2( |
| ) |
Set sprite disable flag for P2 mode.
| id u8 | Sprite index (0 to 124). |
| disable bool | Is sprite display is disable? |
| inline void V9_SetSpritePriorityP2( |
| ) |
Set sprite priority for P2 mode.
| id u8 | Sprite index (0 to 124). |
| prio u8 | Priority flag (0: Front, 1: Between layers). |
| inline void V9_SetSpritePaletteP2( |
| ) |
Set sprite palette for P2 mode.
| id u8 | Sprite index (0 to 124). |
| info | Sprite additionnal information. |
| void V9_SetPaletteEntry( |
| ) __PRESERVES(h, l, iyl, iyh) |
Set the color of a given palette entry.
| index u8 | Index of the palette entry (0-63). |
| color u16 | 16 bits color value. Format: [Ys:1|green:5|red:5|blue:5] |
| inline void V9_SetPalette( |
| ) |
Set the colors of a given palette entries.
| first u8 | Index of the first entry to set (0-63). |
| num u8 | Numer of entries to set (1-64). |
| table const u16* | 16 bits color table. Format: [Ys:1|green:5|red:5|blue:5] |
| inline void V9_SetPaletteAll( |
| ) |
Set the colors of all the palette 64 entries.
| table const u16* | 16 bits color table. Format: [Ys:1|green:5|red:5|blue:5] |
| inline void V9_SelectPaletteP1( |
| ) |
Set the P1 mode palette offset.
| a u8 | Layer A palette index (2 bits). |
| b u8 | Layer B palette index (2 bits). |
| inline void V9_SelectPaletteP2( |
| ) |
Set the P2 mode palette offset.
| a u8 | Palette index (2 bits). |
| inline void V9_SelectPaletteBP2( |
| ) |
Set the BP2 mode palette offset (R#13 PLTO5-2).
| a u8 | Palette index (4 bits). |
| inline void V9_SelectPaletteBP4( |
| ) |
Set the BP4 mode palette offset (R#13 PLTO5-4).
| a u8 | Palette index (2 bits). |
| inline void V9_SetCommandSX( |
| ) |
Set source X-coordinate.
| sx u16 | Specified with the X-coordinate of the image coordinate space (by pixels) and rolling to "0" occurs when a larger value than the image size is used for setting. (When in P1 mode, layer "A" is selected at SX9=0 and layer "B" at SX9=1.) |
| inline void V9_SetCommandSY( |
| ) |
Set source Y-coordinate.
| sy u16 | Specified with the Y-coordinate of the image coordinate space (by pixels) and rolling to "0" occurs when a larger value than the image size is used for setting. |
| inline void V9_SetCommandSA( |
| ) |
Set source VRAM address.
| sa u32 | Specified with the address on the VRAM map (by bytes). |
| inline void V9_SetCommandDX( |
| ) |
Set destination X-coordinate.
| dx u16 | Specified with the X-coordinate of the image coordinate space (by pixels) and rolling to "0" occurs when a larger value than the image size is used for setting. (When in P1 mode, layer "A" is selected at DX9=0 and layer "B" at DX9=1.) |
| inline void V9_SetCommandDY( |
| ) |
Set destination Y-coordinate.
| dy u16 | Specified with the Y-coordinate of the image coordinate space (by pixels) and rolling to "0" occurs when a larger value than the image size is used for setting. |
| inline void V9_SetCommandDA( |
| ) |
Set destination VRAM address.
| da u32 | Specified with the address on the VRAM map (by bytes). |
| inline void V9_SetCommandNX( |
| ) |
Set the number of pixels in X direction.
| nx u16 | The number of pixels in X direction of the image coordinate space is specified and rolling to "0" occurs when the specified range exceeds the image size. (Maximum value is 2048 pixels when all "0".) |
| inline void V9_SetCommandNY( |
| ) |
Set the number of pixels in Y direction.
| ny u16 | The number of pixels in Y direction of the image coordinate space is specified and rolling to "0" occurs when the specified range exceeds the image size. (Maximum value is 4096 pixels when all "0".) |
| inline void V9_SetCommandMJ( |
| ) |
Set the length of the longer side of the rectangle.
| mj u16 | The length of the longer side of the rectangle whose diagonal line is the same as the drawn line is specified by pixels. When the specified range exceeds the image size, rolling to "0" occurs. |
| inline void V9_SetCommandMI( |
| ) |
Set the length of the shorter side of the rectangle.
| mi u16 | The length of the shorter side of the rectangle whose diagonal line is the same as the drawn line is specified by pixels. When the specified range exceeds the image size, rolling to "0" occurs. |
| inline void V9_SetCommandNA( |
| ) |
Set the number of bytes.
| na u32 | The number of bytes on the VRAM map is specified and rolling to address "0" occurs when the specified range exceeds the VRAM capacity. (Maximum value is 512K bytes when all "0".) Note) 256 bytes when NA bit 7-0 are all "0". |
| inline void V9_SetCommandArgument( |
| ) |
Set command argument.
| arg u8 | Argument. 7 6 5 4 3 2 1 0 0 0 0 0 DIY DIX NEQ MAJ │ │ │ └── In the line inclination specification for LINE, X is the longer side and Y the shorter side at "0" while Y is the longer side and X the shorter side at "1". │ │ └────── In the border color specification for SEARCH, "0" is for specified color detection and "1" is for non-specified color detection. └───┴────────── The transfer direction (plus direction at "0" and minus direction at "1") from the base coordinates is specified. With BMXL and BMLX, however, the linear address specified side is fixed to "plus" and with BMLL, both X and Y are specified to the same direction. |
| inline void V9_SetCommandLogicalOp( |
| ) |
Set command logical operation.
| lop u8 | Logical operation. 7 6 5 4 3 2 1 0 0 0 0 TP L11 L10 L01 L00 │ │ │ │ └── WC value for the bit with SC=0 and DC=0. │ │ │ └────── WC value for the bit with SC=0 and DC=1. │ │ └────────── WC value for the bit with SC=1 and DC=0. │ └────────────── WC value for the bit with SC=1 and DC=1. └────────────────── When this bit is "1", the data with SC as all "0" (by pixel for the X/Y-coordinates and by byte for the linear address) is not transferred. |
| inline void V9_SetCommandWriteMask( |
| ) |
Set command write mask.
| wm u16 | Write mask. |
| inline void V9_SetCommandFC( |
| ) |
Set color code of font data "1".
| fc u16 | Forground color. |
| inline void V9_SetCommandBC( |
| ) |
Set color code of font data "0".
| bc u16 | Background color. |
| inline void V9_ExecCommand( |
| ) |
Set operation code.
| op u8 | Operation code. V9_CMD_STOP, V9_CMD_LMMC, V9_CMD_LMMV, V9_CMD_LMCM, V9_CMD_LMMM, V9_CMD_CMMC, V9_CMD_CMMM, V9_CMD_BMXL, V9_CMD_BMLX, V9_CMD_BMLL, V9_CMD_LINE, V9_CMD_SEARCH, V9_CMD_POINT, V9_CMD_PSET, V9_CMD_ADVANCE |
Set search command border coordinate.
Command border coordinate.
Command being executed is stopped.
Data is transferred from CPU to VRAM rectangle area. Note: Infinished function; don't use it.
| src | Source buffer in RAM. |
| dx | Destination X-coordinate. |
| dy | Destination Y-coordinate. |
| nx | Number of pixels in X direction. |
| ny | Number of pixels in Y direction. |
| arg | Command argument. inline void V9_CommandLMMC(const u8* src, u16 dx, u16 dy, u16 nx, u16 ny, u8 arg) { V9_SetCommandDX(dx); V9_SetCommandDY(dy); V9_SetCommandNX(nx); V9_SetCommandNY(ny); V9_SetCommandArgument(arg); V9_ExecCommand(V9_CMD_LMMC); } |
| inline void V9_CommandLMMV( |
| ) |
VRAM rectangle area is painted out.
| dx u16 | Destination X-coordinate. |
| dy u16 | Destination Y-coordinate. |
| nx u16 | Number of pixels in X direction. |
| ny u16 | Number of pixels in Y direction. |
| arg u8 | Command argument. |
| fc u16 | Forground color. |
VRAM rectangle area data is transferred to CPU. Note: Infinished function; don't use it.
| sx | Source X-coordinate. |
| sy | Source Y-coordinate. |
| dx | Destination X-coordinate. |
| dy | Destination Y-coordinate. |
| nx | Number of pixels in X direction. |
| ny | Number of pixels in Y direction. |
| arg | Command argument. |
| dest | Destination buffer in RAM. inline void V9_CommandLMCM(u16 sx, u16 sy, u16 nx, u16 ny, u8 arg, u8* dest) { V9_SetCommandSX(sx); V9_SetCommandSY(sy); V9_SetCommandNX(nx); V9_SetCommandNY(ny); V9_SetCommandArgument(arg); V9_ExecCommand(V9_CMD_LMCM); } |
| inline void V9_CommandLMMM( |
| ) |
Rectangle area data is transferred from VRAM to VRAM.
| sx u16 | Source X-coordinate. |
| sy u16 | Source Y-coordinate. |
| dx u16 | Destination X-coordinate. |
| dy u16 | Destination Y-coordinate. |
| nx u16 | Number of pixels in X direction. |
| ny u16 | Number of pixels in Y direction. |
| arg u8 | Command argument. |
| inline void V9_CommandCMMC( |
| ) |
CPU character data is color-developed and transferred to VRAM rectangle area.
| dx u16 | Destination X-coordinate. |
| dy u16 | Destination Y-coordinate. |
| nx u16 | Number of pixels in X direction. |
| ny u16 | Number of pixels in Y direction. |
| arg u8 | Command argument. |
| fc u16 | Forground color. |
| bc u16 | Background color. |
| inline void V9_CommandCMMM( |
| ) |
VRAM character data is color-developed and transferred to VRAM rectangle area.
| sa u32 | Source address. |
| dx u16 | Destination X-coordinate. |
| dy u16 | Destination Y-coordinate. |
| nx u16 | Number of pixels in X direction. |
| ny u16 | Number of pixels in Y direction. |
| arg u8 | Command argument. |
| fc u16 | Forground color. |
| bc u16 | Background color. |
| inline void V9_CommandBMXL( |
| ) |
Data on VRAM linear address is transferred to VRAM rectangle area.
| sa u32 | Source address. |
| dx u16 | Destination X-coordinate. |
| dy u16 | Destination Y-coordinate. |
| nx u16 | Number of pixels in X direction. |
| ny u16 | Number of pixels in Y direction. |
| arg u8 | Command argument. |
| inline void V9_CommandBMLX( |
| ) |
VRAM rectangle area data is transferred onto VRAM linear address.
| sx u16 | Source X-coordinate. |
| sy u16 | Source Y-coordinate. |
| da u32 | Destination address. |
| nx u16 | Number of pixels in X direction. |
| ny u16 | Number of pixels in Y direction. |
| arg u8 | Command argument. |
| inline void V9_CommandBMLL( |
| ) |
Data on VRAM linear address is transferred onto VRAM linear address.
| sa u32 | Source address. |
| da u32 | Destination address. |
| na u32 | Number of bytes. |
| arg u8 | Command argument. |
| inline void V9_CommandLINE( |
| ) |
Straight line is drawn on X/Y-coordinates.
| dx u16 | Destination X-coordinate. |
| dy u16 | Destination Y-coordinate. |
| mj u16 | Shorter side of the rectangle. |
| mi u16 | Longer side of the rectangle. |
| arg u8 | Command argument. |
| fc u16 | Forground color. |
| inline void V9_CommandSEARCH( |
| ) |
Border color coordinates on X/Y space are detected.
| sx u16 | Source X-coordinate. |
| sy u16 | Source Y-coordinate. |
| arg u8 | Command argument. |
| fc u16 | Forground color. |
| inline void V9_CommandPOINT( |
| ) |
Color code of specified point on X/Y-coordinates is read out.
| sx u16 | Source X-coordinate. |
| sy u16 | Source Y-coordinate. |
| inline void V9_CommandPSET( |
| ) |
Drawing is executed at drawing point on X/Y-coordinates.
| dx u16 | Destination X-coordinate. |
| dy u16 | Destination Y-coordinate. |
| fc u16 | Forground color. |
| shift u8 | Pointer shift. |
| inline void V9_CommandADVANCE( |
| ) |
Drawing point on X/Y-coordinates is shifted.
| dx u16 | Destination X-coordinate. |
| dy u16 | Destination Y-coordinate. |
| shift u8 | Pointer shift. |
Detecting the presence of a V9990 card
TRUE if V9990 video chip is detected.
Clear the whole 512 KB of VRAM with zero
Wait for current command completion
| inline u32 V9_CellAddrP1A( |
| ) |
Get address fo the given X/Y cell coordiante for player A of P1 mode.
| x u8 | Cell X-coordinate. |
| y u8 | Cell Y-coordinate. |
VRAM address of the given cell.
| inline u32 V9_CellAddrP1B( |
| ) |
Get address fo the given X/Y cell coordiante for player B of P1 mode.
| x u8 | Cell X-coordinate. |
| y u8 | Cell Y-coordinate. |
VRAM address of the given cell.
| inline u32 V9_CellAddrP2( |
| ) |
Get address fo the given X/Y cell coordiante for P2 mode.
| x u8 | Cell X-coordinate. |
| y u8 | Cell Y-coordinate. |
VRAM address of the given cell.