Files

809 lines
123 KiB
HTML

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>vdp.h</title><link rel="stylesheet" type="text/css" href="../styles/main.css" /><script type="text/javascript" src="../styles/main.js"></script><script type="text/javascript">NDLoader.LoadJS("Content", "../styles/");</script></head>
<!-- Generated by Natural Docs, version 2.2 -->
<!-- saved from url=(0016)http://localhost -->
<body onload="NDLoader.OnLoad('Content');" class="NDPage NDContentPage">
<a name="VDP_MODE"></a><a name="Topic491"></a><div class="CTopic TEnumeration LC first">
<div class="CTitle">VDP_MODE</div>
<div class="CBody"><p>VDP display modes</p></div>
</div>
<a name="VDP_VERSION"></a><a name="Topic492"></a><div class="CTopic TEnumeration LC">
<div class="CTitle">VDP_VERSION</div>
<div class="CBody"><p>VDP version enumaration</p></div>
</div>
<a name="VRAM_SIZE"></a><a name="Topic493"></a><div class="CTopic TEnumeration LC">
<div class="CTitle">VRAM_SIZE</div>
<div class="CBody"><p>VRAM size enumaration</p></div>
</div>
<a name="VDP_BLINK_TIME"></a><a name="Topic494"></a><div class="CTopic TEnumeration LC">
<div class="CTitle">VDP_BLINK_TIME</div>
<div class="CBody"><p>Blink time enumaration</p></div>
</div>
<a name="Helper"></a><a name="Topic495"></a><div class="CTopic TGroup LC">
<div class="CTitle">Helper</div>
</div>
<a name="VDP_Initialize"></a><a name="Topic496"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_Initialize</div>
<div id="NDPrototype496" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">void</span> VDP_Initialize()</div></div>
<div class="CBody"><p>Initialize VDP module. [MSX1/2/2+/TR] Retreive BIOS initiale value.&nbsp; This function is called automatically when <a href="../index.html#File:vdp.h:VDP_SetMode" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,500);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_SetMode</a> is called if the macro VDP_AUTO_INIT equals 1.</p></div>
</div>
<a name="VDP_GetVersion"></a><a name="Topic497"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetVersion</div>
<div id="NDPrototype497" class="NDPrototype"><div class="PSection PPlainSection">u8 VDP_GetVersion() __NAKED</div></div>
<div class="CBody"><p>Get VDP version. [MSX1/2/2+/TR]</p><div class="CHeading">Return</div><p>VDP identifier (see <a href="../index.html#File:vdp.h:VDP_VERSION" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,492);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_VERSION</a>).</p></div>
</div>
<a name="VDP_ClearVRAM"></a><a name="Topic498"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_ClearVRAM</div>
<div id="NDPrototype498" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">void</span> VDP_ClearVRAM()</div></div>
<div class="CBody"><p>Clear the VRAM content. [MSX1/2/2+/TR]</p></div>
</div>
<a name="Screen_mode"></a><a name="Topic499"></a><div class="CTopic TGroup LC">
<div class="CTitle">Screen mode</div>
</div>
<a name="VDP_SetMode"></a><a name="Topic500"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetMode</div>
<div id="NDPrototype500" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetMode(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8&nbsp;</td><td class="PName last">mode</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set screen mode. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">mode<div class="CDLParameterType"><span class="SHKeyword">const</span> u8</div></td><td class="CDLDefinition"><p>The new screen mode to set (see <a href="../index.html#File:vdp.h:VDP_MODE" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,491);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_MODE</a> enumeration)</p></td></tr></table></div>
</div>
<a name="VDP_GetMode"></a><a name="Topic501"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetMode</div>
<div id="NDPrototype501" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> u8 VDP_GetMode()</div></div>
<div class="CBody"><p>Get current screen mode. [MSX1/2/2+/TR]</p><div class="CHeading">Return</div><p>Current screen mode</p></div>
</div>
<a name="VDP_IsBitmapMode"></a><a name="Topic502"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_IsBitmapMode</div>
<div id="NDPrototype502" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">bool</span> VDP_IsBitmapMode(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8&nbsp;</td><td class="PName last">mode</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Tell if the given screen mode is a bitmap mode (pattern/text mode otherwise). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">mode<div class="CDLParameterType"><span class="SHKeyword">const</span> u8</div></td><td class="CDLDefinition"><p>VDP mode to set (see <a href="../index.html#File:vdp.h:VDP_MODE" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,491);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_MODE</a> enumeration)</p></td></tr></table><div class="CHeading">Return</div><p>TRUE if the given screen mode is a bitmap mode, FALSE otherwise.</p></div>
</div>
<a name="VDP_IsPatternMode"></a><a name="Topic503"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_IsPatternMode</div>
<div id="NDPrototype503" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">bool</span> VDP_IsPatternMode(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8&nbsp;</td><td class="PName last">mode</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Tell if the given screen mode is a pattern/text mode (bitmap mode otherwise). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">mode<div class="CDLParameterType"><span class="SHKeyword">const</span> u8</div></td><td class="CDLDefinition"><p>VDP mode to set (see <a href="../index.html#File:vdp.h:VDP_MODE" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,491);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_MODE</a> enumeration)</p></td></tr></table><div class="CHeading">Return</div><p>TRUE if the given screen mode is a pattern/text mode, FALSE otherwise.</p></div>
</div>
<a name="VDP_SetModeFlag"></a><a name="Topic504"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetModeFlag</div>
<div id="NDPrototype504" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetModeFlag(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">flag</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set screen mode flag. [MSX1/2/2+/TR] VRAM tables address must be set to fit the new screen mode</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">flag<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Screen binary flag</p></td></tr></table></div>
</div>
<a name="Direct_access"></a><a name="Topic505"></a><div class="CTopic TGroup LC">
<div class="CTitle">Direct access</div>
</div>
<a name="VDP_RegWrite"></a><a name="Topic506"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_RegWrite</div>
<div id="NDPrototype506" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_RegWrite(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">reg,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value</td></tr></table></td><td class="PAfterParameters">) __PRESERVES(b, c, d, e, iyl, iyh)</td></tr></table></div></div>
<div class="CBody"><p>Set register value. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">reg<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Register number</p></td></tr><tr><td class="CDLEntry">value<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Value to set</p></td></tr></table></div>
</div>
<a name="VDP_RegWriteBak"></a><a name="Topic507"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_RegWriteBak</div>
<div id="NDPrototype507" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_RegWriteBak(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">reg,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value</td></tr></table></td><td class="PAfterParameters">) __PRESERVES(d, e, iyl, iyh)</td></tr></table></div></div>
<div class="CBody"><p>Set register value after backuping previous value. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">reg<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Register number</p></td></tr><tr><td class="CDLEntry">value<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Value to set</p></td></tr></table></div>
</div>
<a name="VDP_RegWriteBakMask"></a><a name="Topic508"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_RegWriteBakMask</div>
<div id="NDPrototype508" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_RegWriteBakMask(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">idx,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">mask,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set register value after backuping previous value using mask. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">reg</td><td class="CDLDefinition"><p>Register number</p></td></tr><tr><td class="CDLEntry">mask<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Previous value reset mask</p></td></tr><tr><td class="CDLEntry">flag</td><td class="CDLDefinition"><p>Value to set</p></td></tr></table></div>
</div>
<a name="VDP_ReadDefaultStatus"></a><a name="Topic509"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_ReadDefaultStatus</div>
<div id="NDPrototype509" class="NDPrototype"><div class="PSection PPlainSection">u8 VDP_ReadDefaultStatus() __PRESERVES(b, c, d, e, h, l, iyl, iyh)</div></div>
<div class="CBody"><p>Read default S#0 register. [MSX1/2/2+/TR]</p><div class="CHeading">Return</div><p>Status R#0 value</p></div>
</div>
<a name="VDP_ReadStatus"></a><a name="Topic510"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_ReadStatus</div>
<div id="NDPrototype510" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters">u8 VDP_ReadStatus(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">stat</td></tr></table></td><td class="PAfterParameters">) __PRESERVES(b, c, d, e, h, iyl, iyh)</td></tr></table></div></div>
<div class="CBody"><p>Read a given status register then reset status register to default (0). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">stat<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Status register number (0-9)</p></td></tr></table><div class="CHeading">Return</div><p>The given status register value</p></div>
</div>
<a name="VDP_WriteVRAM_16K"></a><a name="Topic511"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_WriteVRAM_16K</div>
<div id="NDPrototype511" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_WriteVRAM_16K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">src,</td></tr><tr><td class="first"></td><td class="PType">u16&nbsp;</td><td class="PName last">dest,</td></tr><tr><td class="first"></td><td class="PType">u16&nbsp;</td><td class="PName last">count</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Write data from RAM to VRAM. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Source data address in RAM</p></td></tr><tr><td class="CDLEntry">dest<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Destination address in VRAM (14 bits address for 16KB VRAM)</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Number of byte to copy in VRAM. Note: A count of 0 mean 65536</p></td></tr></table></div>
</div>
<a name="VDP_FillVRAM_16K"></a><a name="Topic512"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_FillVRAM_16K</div>
<div id="NDPrototype512" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_FillVRAM_16K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">dest,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">count</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Fill VRAM area with a given value. [MSX1/2/2+/TR] Use fast 16-bits loop (28 cc)</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">value<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Byte value to copy in VRAM</p></td></tr><tr><td class="CDLEntry">dest<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Destination address in VRAM (14 bits address form 16 KB VRAM)</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Number of byte to copy in VRAM. Note: A count of 0 mean 65536</p></td></tr></table></div>
</div>
<a name="VDP_FastFillVRAM_16K"></a><a name="Topic513"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_FastFillVRAM_16K</div>
<div id="NDPrototype513" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_FastFillVRAM_16K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">dest,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">count</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Fill VRAM area with a given value [MSX1/2/2+/TR] Use ultra fast 16-bits using 16 unrolled out loop (~14,9 cc)</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">value<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Byte value to copy in VRAM</p></td></tr><tr><td class="CDLEntry">dest<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Destination address in VRAM (14 bits address form 16 KB VRAM)</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Number of byte to copy in VRAM. Note: A count of 0 mean 65536</p></td></tr></table></div>
</div>
<a name="VDP_ReadVRAM_16K"></a><a name="Topic514"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_ReadVRAM_16K</div>
<div id="NDPrototype514" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_ReadVRAM_16K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u16&nbsp;</td><td class="PName last">src,</td></tr><tr><td class="PType first">u8*&nbsp;</td><td class="PName last">dest,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">count</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Read data from VRAM to RAM. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Source address in VRAM (14 bits address form 16KB VRAM)</p></td></tr><tr><td class="CDLEntry">dest<div class="CDLParameterType">u8*</div></td><td class="CDLDefinition"><p>Desitation data address in RAM</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Number of byte to copy from VRAM. Note: A count of 0 mean 65536</p></td></tr></table></div>
</div>
<a name="VDP_Poke_16K"></a><a name="Topic515"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_Poke_16K</div>
<div id="NDPrototype515" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_Poke_16K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">val,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">dest</td></tr></table></td><td class="PAfterParameters">) __PRESERVES(c, h, l, iyl, iyh)</td></tr></table></div></div>
<div class="CBody"><p>Write a value to VRAM. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">val<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Value to write in VRAM</p></td></tr><tr><td class="CDLEntry">dest<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Desitation address in VRAM (14 bits address form 16KB VRAM)</p></td></tr></table></div>
</div>
<a name="VDP_Peek_16K"></a><a name="Topic516"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_Peek_16K</div>
<div id="NDPrototype516" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters">u8 VDP_Peek_16K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u16&nbsp;</td><td class="PName last">src</td></tr></table></td><td class="PAfterParameters">) __PRESERVES(b, c, d, e, iyl, iyh)</td></tr></table></div></div>
<div class="CBody"><p>Read a value from VRAM. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Source address in VRAM (14 bits address form 16KB VRAM)</p></td></tr></table><div class="CHeading">Return</div><p>Value read in VRAM</p></div>
</div>
<a name="VDP_WriteVRAM_128K"></a><a name="Topic517"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_WriteVRAM_128K</div>
<div id="NDPrototype517" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_WriteVRAM_128K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">src,</td></tr><tr><td class="first"></td><td class="PType">u16&nbsp;</td><td class="PName last">destLow,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">destHigh,</td></tr><tr><td class="first"></td><td class="PType">u16&nbsp;</td><td class="PName last">count</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Write data from RAM to VRAM. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Source data address in RAM</p></td></tr><tr><td class="CDLEntry">destLow<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Destination address in VRAM (16 LSB of 17-bits VRAM address)</p></td></tr><tr><td class="CDLEntry">destHigh<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination address in VRAM (1 MSB of 17-bits VRAM address)</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Number of byte to copy in VRAM. Note: A count of 0 mean 65536</p></td></tr></table></div>
</div>
<a name="VDP_FillVRAM_128K"></a><a name="Topic518"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_FillVRAM_128K</div>
<div id="NDPrototype518" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_FillVRAM_128K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">destLow,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">destHigh,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">count</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Fill VRAM area with a given value. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">value<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Byte value to copy in VRAM</p></td></tr><tr><td class="CDLEntry">destLow<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Destination address in VRAM (16 LSB of 17-bits VRAM address)</p></td></tr><tr><td class="CDLEntry">destHigh<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination address in VRAM (1 MSB of 17-bits VRAM address)</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Number of byte to copy in VRAM. Note: A count of 0 mean 65536</p></td></tr></table></div>
</div>
<a name="VDP_ReadVRAM_128K"></a><a name="Topic519"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_ReadVRAM_128K</div>
<div id="NDPrototype519" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_ReadVRAM_128K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u16&nbsp;</td><td class="PName last">srcLow,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">srcHigh,</td></tr><tr><td class="PType first">u8*&nbsp;</td><td class="PName last">dest,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">count</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Read data from VRAM to RAM. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">srcLow<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Source address in VRAM (16 LSB of 17-bits VRAM address)</p></td></tr><tr><td class="CDLEntry">srcHigh<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Source address in VRAM (1 MSB of 17-bits VRAM address)</p></td></tr><tr><td class="CDLEntry">dest<div class="CDLParameterType">u8*</div></td><td class="CDLDefinition"><p>Desitation data address in RAM</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Number of byte to copy from VRAM. Note: A count of 0 mean 65536</p></td></tr></table></div>
</div>
<a name="VDP_Poke_128K"></a><a name="Topic520"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_Poke_128K</div>
<div id="NDPrototype520" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_Poke_128K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">val,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">destLow,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">destHigh</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Write a value to VRAM. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">val<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Value to write in VRAM</p></td></tr><tr><td class="CDLEntry">destLow<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Destination address in VRAM (16 LSB of 17-bits VRAM address)</p></td></tr><tr><td class="CDLEntry">destHigh<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination address in VRAM (1 MSB of 17-bits VRAM address)</p></td></tr></table></div>
</div>
<a name="VDP_Peek_128K"></a><a name="Topic521"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_Peek_128K</div>
<div id="NDPrototype521" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters">u8 VDP_Peek_128K(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u16&nbsp;</td><td class="PName last">srcLow,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">srcHigh</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Read a value from VRAM. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">srcLow<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Source address in VRAM (16 LSB of 17-bits VRAM address)</p></td></tr><tr><td class="CDLEntry">srcHigh<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Source address in VRAM (1 MSB of 17-bits VRAM address)</p></td></tr></table><div class="CHeading">Return</div><p>Value read in VRAM</p></div>
</div>
<a name="Display_setup"></a><a name="Topic522"></a><div class="CTopic TGroup LC">
<div class="CTitle">Display setup</div>
</div>
<a name="VDP_EnableDisplay"></a><a name="Topic523"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_EnableDisplay</div>
<div id="NDPrototype523" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_EnableDisplay(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first"><span class="SHKeyword">bool</span>&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enable/disable screen display (R#1). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType"><span class="SHKeyword">bool</span></div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_EnableVBlank"></a><a name="Topic524"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_EnableVBlank</div>
<div id="NDPrototype524" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_EnableVBlank(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first"><span class="SHKeyword">bool</span>&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enable/disable vertical interruption (R#1). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType"><span class="SHKeyword">bool</span></div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_SetColor"></a><a name="Topic525"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetColor</div>
<div id="NDPrototype525" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetColor(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">color</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set text and border default color (R#7). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">color<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Defaut color (Format: [TXT:4|BG:4])</p></td></tr></table></div>
</div>
<a name="VDP_SetBackdropColor"></a><a name="Topic526"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBackdropColor</div>
<div id="NDPrototype526" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBackdropColor(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">color</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set backdrop color (R#7). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">color<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Backdrop color</p></td></tr></table></div>
</div>
<a name="VDP_SetColor2"></a><a name="Topic527"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetColor2</div>
<div id="NDPrototype527" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetColor2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">bg,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">text</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set text and border default color (R#7). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">bg<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Background/border color (0~15)</p></td></tr><tr><td class="CDLEntry">text<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Text color (0~15)</p></td></tr></table></div>
</div>
<a name="VDP_EnableSprite"></a><a name="Topic528"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_EnableSprite</div>
<div id="NDPrototype528" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_EnableSprite(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enable/disable sprite rendering (R#8). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_DisableSprite"></a><a name="Topic529"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_DisableSprite</div>
<div id="NDPrototype529" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_DisableSprite()</div></div>
<div class="CBody"><p>Disable sprite rendering (see <a href="../index.html#File:vdp.h:VDP_EnableSprite" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,528);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_EnableSprite</a>). [MSX1/2/2+/TR]</p></div>
</div>
<a name="VDP_EnableTransparency"></a><a name="Topic530"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_EnableTransparency</div>
<div id="NDPrototype530" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_EnableTransparency(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enable/disable color 0 transparency (R#8). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_EnableHBlank"></a><a name="Topic531"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_EnableHBlank</div>
<div id="NDPrototype531" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_EnableHBlank(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first"><span class="SHKeyword">bool</span>&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enable/disable horizontal interruption (R#0). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType"><span class="SHKeyword">bool</span></div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_SetHBlankLine"></a><a name="Topic532"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetHBlankLine</div>
<div id="NDPrototype532" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetHBlankLine(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">line</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set the horizontal-blank interruption line (R#19). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">line<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Line number where the interruption will occure</p></td></tr></table></div>
</div>
<a name="VDP_SetVerticalOffset"></a><a name="Topic533"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetVerticalOffset</div>
<div id="NDPrototype533" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetVerticalOffset(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">offset</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set the vertical rendering offset (R#23). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">offset<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Number of lines of offset from the top of the screen</p></td></tr></table></div>
</div>
<a name="VDP_SetAdjustOffset"></a><a name="Topic534"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetAdjustOffset</div>
<div id="NDPrototype534" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetAdjustOffset(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">offset</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Adjustment of the display location on the screen (R#18). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">offset<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Screen display position offset (MSB 4-bits: vertical offset, LSB 4-bits: horizontal offset)</p></td></tr></table></div>
</div>
<a name="VDP_SetAdjustOffsetXY"></a><a name="Topic535"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetAdjustOffsetXY</div>
<div id="NDPrototype535" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetAdjustOffsetXY(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">i8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">i8&nbsp;</td><td class="PName last">y</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Adjustment of the display location on the screen (R#18). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">x<div class="CDLParameterType">i8</div></td><td class="CDLDefinition"><p>Horizontal screen display position offset [-7:+8]</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">i8</div></td><td class="CDLDefinition"><p>Vertical screen display position offset [-7:+8]</p></td></tr></table></div>
</div>
<a name="VDP_SetGrayScale"></a><a name="Topic536"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetGrayScale</div>
<div id="NDPrototype536" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetGrayScale(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first"><span class="SHKeyword">bool</span>&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enable/disable grayscale (R#8). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType"><span class="SHKeyword">bool</span></div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_FREQ"></a><a name="Topic537"></a><div class="CTopic TEnumeration LC">
<div class="CTitle">VDP_FREQ</div>
<div class="CBody"><p>VDP frequency flags</p></div>
</div>
<a name="VDP_SetFrequency"></a><a name="Topic538"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetFrequency</div>
<div id="NDPrototype538" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetFrequency(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">freq</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Change VDP frequency (R#9). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">freq<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Can be 50 (VDP_FREQ_50HZ) or 60 Hz (VDP_FREQ_60HZ)</p></td></tr></table></div>
</div>
<a name="VDP_GetFrequency"></a><a name="Topic539"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetFrequency</div>
<div id="NDPrototype539" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> u8 VDP_GetFrequency()</div></div>
<div class="CBody"><p>GEt VDP frequency (R#9). [MSX2/2+/TR]</p><div class="CHeading">Return</div><p>Can be 50 (VDP_FREQ_50HZ) or 60 Hz (VDP_FREQ_60HZ)</p></div>
</div>
<a name="VDP_LINE"></a><a name="Topic540"></a><div class="CTopic TEnumeration LC">
<div class="CTitle">VDP_LINE</div>
<div class="CBody"><p>VDP line flags</p></div>
</div>
<a name="VDP_SetLineCount"></a><a name="Topic541"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetLineCount</div>
<div id="NDPrototype541" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetLineCount(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">lines</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set line count for the current screen mode (R#9). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">lines<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Can be VDP_LINE_192 or VDP_LINE_212</p></td></tr></table></div>
</div>
<a name="VDP_SetPageAlternance"></a><a name="Topic542"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetPageAlternance</div>
<div id="NDPrototype542" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetPageAlternance(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first"><span class="SHKeyword">bool</span>&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enable automatic page switch on even/odd frames. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType"><span class="SHKeyword">bool</span></div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_SetInterlace"></a><a name="Topic543"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetInterlace</div>
<div id="NDPrototype543" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetInterlace(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first"><span class="SHKeyword">bool</span>&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enable or disable interlace mode. [MSX2/2+/TR] Needs <a href="../index.html#File:vdp.h:VDP_SetPageAlternance" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,542);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_SetPageAlternance</a> to be set to TRUE and <a href="../index.html#File:vdp.h:VDP_SetPage" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,574);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_SetPage</a> to a odd value.</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType"><span class="SHKeyword">bool</span></div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_FRAME"></a><a name="Topic544"></a><div class="CTopic TEnumeration LC">
<div class="CTitle">VDP_FRAME</div>
<div class="CBody"><p>VDP render modes</p></div>
</div>
<a name="VDP_SetFrameRender"></a><a name="Topic545"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetFrameRender</div>
<div id="NDPrototype545" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetFrameRender(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">mode</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set the frame render mode. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">mode<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Can be VDP_FRAME_STATIC, VDP_FRAME_ALTERNANCE or VDP_FRAME_INTERLACE</p></td></tr></table></div>
</div>
<a name="VDP_SetVRAMAddrMSB"></a><a name="Topic546"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetVRAMAddrMSB</div>
<div class="CBody"><p>Reset the VRAM address most-significant bits (R#14). [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_SetPalette"></a><a name="Topic547"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetPalette</div>
<div id="NDPrototype547" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetPalette(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">pal</td></tr></table></td><td class="PAfterParameters">) __FASTCALL __PRESERVES(d, e, iyl, iyh)</td></tr></table></div></div>
<div class="CBody"><p>Set a new color palette from index 1 to 15. [MSX2/2+/TR] If VDP_USE_PALETTE16 is set to TRUE, index 0 to 15 are used.</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">pal<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address of the palette in RAM; table of 15 (or 16) * 2 bytes Format: [0:5|green:3|0|red:3|0|blue:3]</p></td></tr></table></div>
</div>
<a name="VDP_SetPaletteEntry"></a><a name="Topic548"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetPaletteEntry</div>
<div id="NDPrototype548" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetPaletteEntry(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u16&nbsp;</td><td class="PName last">color</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set a given color entry in the palette. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Index of the palette entry (0-15)</p></td></tr><tr><td class="CDLEntry">color<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>16 bits color value (@see RGB16 macro) Format: [0:5|green:3|0|red:3|0|blue:3]</p></td></tr></table></div>
</div>
<a name="VDP_SetDefaultPalette"></a><a name="Topic549"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetDefaultPalette</div>
<div id="NDPrototype549" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">void</span> VDP_SetDefaultPalette()</div></div>
<div class="CBody"><p>Reset the default MSX2 palette. [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_SetMSX1Palette"></a><a name="Topic550"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetMSX1Palette</div>
<div id="NDPrototype550" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">void</span> VDP_SetMSX1Palette()</div></div>
<div class="CBody"><p>Reset the default MSX1 palette. [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_YJK"></a><a name="Topic551"></a><div class="CTopic TEnumeration LC">
<div class="CTitle">VDP_YJK</div>
<div class="CBody"><p>YJK modes</p></div>
</div>
<a name="VDP_SetYJK"></a><a name="Topic552"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetYJK</div>
<div id="NDPrototype552" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetYJK(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">mode</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set YJK mode. [MSX2+/TR].&nbsp; See <a href="../index.html#File:vdp.h:VDP_YJK" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,551);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_YJK</a> enum.</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">mode<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>YJK mode (can be VDP_YJK_OFF, VDP_YJK_ON or VDP_YJK_YAE)</p></td></tr></table></div>
</div>
<a name="VDP_ExpendCommand"></a><a name="Topic553"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_ExpendCommand</div>
<div id="NDPrototype553" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_ExpendCommand(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Enables the VDP commands for screens 0 to 4 (R#25). [MSX2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_EnableMask"></a><a name="Topic554"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_EnableMask</div>
<div id="NDPrototype554" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_EnableMask(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">enable</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Allows to hide the first 8 vertical lines at left of screen (R#25). [MSX2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">enable<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>TRUE to enable, FALSE to disable</p></td></tr></table></div>
</div>
<a name="VDP_SetHorizontalOffset"></a><a name="Topic555"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetHorizontalOffset</div>
<div id="NDPrototype555" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetHorizontalOffset(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u16&nbsp;</td><td class="PName last">offset</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set the horizontal rendeing offset. [MSX2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">offset<div class="CDLParameterType">u16</div></td><td class="CDLDefinition"><p>Screen horizontal offset (9-bits value in pixel)</p></td></tr></table></div>
</div>
<a name="VDP_SetHorizontalMode"></a><a name="Topic556"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetHorizontalMode</div>
<div id="NDPrototype556" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetHorizontalMode(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">mode</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set horizontal scrolling to occurs on a single page or two pages (R#25). [MSX2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">mode<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Can be VDP_HSCROLL_SINGLE or VDP_HSCROLL_DOUBLE</p></td></tr></table></div>
</div>
<a name="VRAM_tables_address"></a><a name="Topic557"></a><div class="CTopic TGroup LC">
<div class="CTitle">VRAM tables address</div>
</div>
<a name="VDP_SetLayoutTable"></a><a name="Topic558"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetLayoutTable</div>
<div id="NDPrototype558" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetLayoutTable(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set layout table VRAM address. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">addr<div class="CDLParameterType">VADDR</div></td><td class="CDLDefinition"><p>VRAM address where to put the table (u16 for 14-bits address and u32 for 17-bits)</p></td></tr></table></div>
</div>
<a name="VDP_SetLayoutTableEx"></a><a name="Topic559"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetLayoutTableEx</div>
<div id="NDPrototype559" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetLayoutTableEx(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">r2</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set layout table VRAM address. [MSX1/2/2+/TR]</p></div>
</div>
<a name="VDP_SetColorTable"></a><a name="Topic560"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetColorTable</div>
<div id="NDPrototype560" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetColorTable(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set color table VRAM address. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">addr<div class="CDLParameterType">VADDR</div></td><td class="CDLDefinition"><p>VRAM address where to put the table (u16 for 14-bits address and u32 for 17-bits)</p></td></tr></table></div>
</div>
<a name="VDP_SetColorTableEx"></a><a name="Topic561"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetColorTableEx</div>
<div id="NDPrototype561" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetColorTableEx(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">r3,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">r10</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set color table VRAM address. [MSX1/2/2+/TR]</p></div>
</div>
<a name="VDP_SetPatternTable"></a><a name="Topic562"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetPatternTable</div>
<div id="NDPrototype562" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetPatternTable(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set pattern table VRAM address. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">addr<div class="CDLParameterType">VADDR</div></td><td class="CDLDefinition"><p>VRAM address where to put the table (u16 for 14-bits address and u32 for 17-bits)</p></td></tr></table></div>
</div>
<a name="VDP_SetPatternTableEx"></a><a name="Topic563"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetPatternTableEx</div>
<div id="NDPrototype563" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetPatternTableEx(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">r4</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set pattern table VRAM address. [MSX1/2/2+/TR]</p></div>
</div>
<a name="VDP_SetSpriteAttributeTable"></a><a name="Topic564"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteAttributeTable</div>
<div id="NDPrototype564" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpriteAttributeTable(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite attribute table address. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">addr<div class="CDLParameterType">VADDR</div></td><td class="CDLDefinition"><p>VRAM address where to put the table (u16 for 14-bits address and u32 for 17-bits)</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteAttributeTableEx"></a><a name="Topic565"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteAttributeTableEx</div>
<div id="NDPrototype565" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetSpriteAttributeTableEx(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">r5,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">r11</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite attribute table address. [MSX1/2/2+/TR]</p></div>
</div>
<a name="VDP_SetSpritePatternTable"></a><a name="Topic566"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpritePatternTable</div>
<div id="NDPrototype566" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpritePatternTable(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite pattern table address. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">addr<div class="CDLParameterType">VADDR</div></td><td class="CDLDefinition"><p>VRAM address where to put the table (u16 for 14-bits address and u32 for 17-bits)</p></td></tr></table></div>
</div>
<a name="VDP_SetSpritePatternTableEx"></a><a name="Topic567"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpritePatternTableEx</div>
<div id="NDPrototype567" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetSpritePatternTableEx(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">addr,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">r6</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite pattern table address. [MSX1/2/2+/TR]</p></div>
</div>
<a name="VDP_GetLayoutTable"></a><a name="Topic568"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetLayoutTable</div>
<div id="NDPrototype568" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> VADDR VDP_GetLayoutTable()</div></div>
<div class="CBody"><p>Get address of the Pattern Layout Table (Name)</p><div class="CHeading">Return</div><p>VRAM address of the table (u16 for 14-bits address and u32 for 17-bits)</p></div>
</div>
<a name="VDP_GetColorTable"></a><a name="Topic569"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetColorTable</div>
<div id="NDPrototype569" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> VADDR VDP_GetColorTable()</div></div>
<div class="CBody"><p>Get address of the Color Table</p><div class="CHeading">Return</div><p>VRAM address of the table (u16 for 14-bits address and u32 for 17-bits)</p></div>
</div>
<a name="VDP_GetPatternTable"></a><a name="Topic570"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetPatternTable</div>
<div id="NDPrototype570" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> VADDR VDP_GetPatternTable()</div></div>
<div class="CBody"><p>Get address of the Pattern Generator Table</p><div class="CHeading">Return</div><p>VRAM address of the table (u16 for 14-bits address and u32 for 17-bits)</p></div>
</div>
<a name="VDP_GetSpriteAttributeTable"></a><a name="Topic571"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetSpriteAttributeTable</div>
<div id="NDPrototype571" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> VADDR VDP_GetSpriteAttributeTable()</div></div>
<div class="CBody"><p>Get address of the Sprite Attribute Table</p><div class="CHeading">Return</div><p>VRAM address of the table (u16 for 14-bits address and u32 for 17-bits)</p></div>
</div>
<a name="VDP_GetSpritePatternTable"></a><a name="Topic572"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetSpritePatternTable</div>
<div id="NDPrototype572" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> VADDR VDP_GetSpritePatternTable()</div></div>
<div class="CBody"><p>Get address of the Sprite Pattern Generator Table</p><div class="CHeading">Return</div><p>VRAM address of the table (u16 for 14-bits address and u32 for 17-bits)</p></div>
</div>
<a name="VDP_GetSpriteColorTable"></a><a name="Topic573"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetSpriteColorTable</div>
<div id="NDPrototype573" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> VADDR VDP_GetSpriteColorTable()</div></div>
<div class="CBody"><p>Get address of the Sprite Color Table</p><div class="CHeading">Return</div><p>VRAM address of the table (u16 for 14-bits address and u32 for 17-bits)</p></div>
</div>
<a name="VDP_SetPage"></a><a name="Topic574"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetPage</div>
<div id="NDPrototype574" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetPage(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">page</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set current VRAM page. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">page<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Page number to set</p></td></tr></table></div>
</div>
<a name="Sprite"></a><a name="Topic575"></a><div class="CTopic TGroup LC">
<div class="CTitle">Sprite</div>
</div>
<a name="VDP_SetSpriteFlag"></a><a name="Topic576"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteFlag</div>
<div id="NDPrototype576" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetSpriteFlag(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">flag</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite rendering parameters. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">flag<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite flag to be set. Can be a combination of: VDP_SPRITE_SIZE_8 (Use 8x8 sprite size) VDP_SPRITE_SIZE_16 (Use 16x16 sprite size) VDP_SPRITE_SCALE_1 (Normal size of the sprite; 1 dot = 1 px) VDP_SPRITE_SCALE_2 (Double the size of the sprite; 1 dot = 2 px)</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteTables"></a><a name="Topic577"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteTables</div>
<div id="NDPrototype577" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetSpriteTables(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">patAddr,</td></tr><tr><td class="PType first">VADDR&nbsp;</td><td class="PName last">attAddr</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite tables address. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">pattern</td><td class="CDLDefinition"><p>Sprite pattern table address</p></td></tr><tr><td class="CDLEntry">attrib</td><td class="CDLDefinition"><p>Sprite attribute table address</p></td></tr></table></div>
</div>
<a name="VDP_LoadSpritePattern"></a><a name="Topic578"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_LoadSpritePattern</div>
<div id="NDPrototype578" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_LoadSpritePattern(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">addr,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">count</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Load sprite pattern data into VRAM. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">addr<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Source address for sprite patterns (in RAM/ROM).</p></td></tr><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Index of the first VRAM sprite pattern to copy to (in 16x16 mode, only multiple of 4 can be used).</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Number of patterns to copy (8x8 mode use 1 per sprite shape, while 16x16 mode use 4).</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteSM1"></a><a name="Topic579"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteSM1</div>
<div id="NDPrototype579" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpriteSM1(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">shape,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">color</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite attribute for Sprite Mode 1. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial X screen coordinate</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial Y screen coordinate</p></td></tr><tr><td class="CDLEntry">shape<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite pattern index (in 16x16 mode, only multiple of 4 can be used)</p></td></tr><tr><td class="CDLEntry">color<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite color (LSB 4-bits) + optional EC flag (VDP_SPRITE_EC)</p></td></tr></table></div>
</div>
<a name="VDP_SetSprite"></a><a name="Topic580"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSprite</div>
<div id="NDPrototype580" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSprite(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">shape</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite attribute for Sprite Mode 2. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial X screen coordinate</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial Y screen coordinate</p></td></tr><tr><td class="CDLEntry">shape<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite pattern index (in 16x16 mode, only multiple of 4 can be used)</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteExMultiColor"></a><a name="Topic581"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteExMultiColor</div>
<div id="NDPrototype581" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpriteExMultiColor(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">y,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">shape,</td></tr><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">ram</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite attribute for Sprite Mode 2 and fill color table with color data. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial X screen coordinate</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial Y screen coordinate</p></td></tr><tr><td class="CDLEntry">shape<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite pattern index (in 16x16 mode, only multiple of 4 can be used)</p></td></tr><tr><td class="CDLEntry">ram<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address to a 16 bytes buffer that determine the sprite colors (1 byte = 1 line).&nbsp; With this function, you must provide a 16 bytes buffer even for 8x8 size mode.</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteExUniColor"></a><a name="Topic582"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteExUniColor</div>
<div id="NDPrototype582" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpriteExUniColor(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">shape,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">color</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite attribute for Sprite Mode 2 and fill color table with unique color. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial X screen coordinate.</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial Y screen coordinate.</p></td></tr><tr><td class="CDLEntry">shape<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite pattern index (in 16x16 mode, only multiple of 4 can be used).</p></td></tr><tr><td class="CDLEntry">color<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite color (LSB 4-bits) + optional EC, CC &amp; IC flags.&nbsp; (this color is used for the all 8/16 lines of the sprite).</p></td></tr></table></div>
</div>
<a name="VDP_SetSpritePosition"></a><a name="Topic583"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpritePosition</div>
<div id="NDPrototype583" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpritePosition(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Update sprite position. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31].</p></td></tr><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial X screen coordinate.</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial Y screen coordinate.</p></td></tr></table></div>
</div>
<a name="VDP_SetSpritePositionX"></a><a name="Topic584"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpritePositionX</div>
<div id="NDPrototype584" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpritePositionX(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Update sprite position X. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31].</p></td></tr><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial X screen coordinate.</p></td></tr></table></div>
</div>
<a name="VDP_SetSpritePositionY"></a><a name="Topic585"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpritePositionY</div>
<div id="NDPrototype585" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpritePositionY(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Update sprite position Y. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31].</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Initial Y screen coordinate.</p></td></tr></table></div>
</div>
<a name="VDP_SetSpritePattern"></a><a name="Topic586"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpritePattern</div>
<div id="NDPrototype586" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpritePattern(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">shape</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Update sprite pattern. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31].</p></td></tr><tr><td class="CDLEntry">shape<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite pattern index (in 16x16 mode, only multiple of 4 can be used).</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteColorSM1"></a><a name="Topic587"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteColorSM1</div>
<div id="NDPrototype587" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpriteColorSM1(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">color</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Update sprite pattern (Sprite Mode 1). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">color<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite color (LSB 4-bits) + optional EC flag (see &lt;VDP_SPRITE_EC&gt;)</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteData"></a><a name="Topic588"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteData</div>
<div id="NDPrototype588" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetSpriteData(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">VDP_Sprite*&nbsp;</td><td class="PName last">data</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite attribute using data structure. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">data<div class="CDLParameterType">VDP_Sprite*</div></td><td class="CDLDefinition"><p>Address to a VDP_Sprite structure including sprite position, shape and color</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteUniColor"></a><a name="Topic589"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteUniColor</div>
<div id="NDPrototype589" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpriteUniColor(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">color</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Update sprite color (Uni-color). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">color<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite color (LSB 4-bits) + optional EC, CC &amp; IC flags (this color is used for the all 8 lines of the sprite)</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteMultiColor"></a><a name="Topic590"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteMultiColor</div>
<div id="NDPrototype590" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpriteMultiColor(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">ram</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Update sprite color (Multi-color). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">ram<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address to a 16 bytes buffer that determine the sprite colors (1 byte = 1 line).&nbsp; With this function, you must provide a 16 bytes buffer even for 8x8 size mode.</p></td></tr></table></div>
</div>
<a name="VDP_SetSpriteData(2)"></a><a name="Topic591"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetSpriteData</div>
<div id="NDPrototype591" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetSpriteData(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">index,</td></tr><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">data</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set sprite data for Sprite Mode 2. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Sprite index in the attribute table [0:31]</p></td></tr><tr><td class="CDLEntry">data<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address to a 3 bytes data buffer including sprite position and shape</p></td></tr></table></div>
</div>
<a name="VDP_DisableSpritesFrom"></a><a name="Topic592"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_DisableSpritesFrom</div>
<div id="NDPrototype592" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_DisableSpritesFrom(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Disable all sprites from a given index. [MSX1/2/2+/TR]</p><p>This function use VDP magic Y coordinate to disable the given sprite and all the following one.&nbsp; If the given sprite Y coordinate is modified to another value, it will be active again and so, the following sprites too.</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Disable sprite rendering starting from this sprite index</p></td></tr></table></div>
</div>
<a name="VDP_HideSprite"></a><a name="Topic593"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_HideSprite</div>
<div id="NDPrototype593" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_HideSprite(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">index</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Hide a given sprite (don't disable following sprites). [MSX1/2/2+/TR]</p><p>This function simply put the given sprite off (bellow) the screen.</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Index of the sprite to hide</p></td></tr></table></div>
</div>
<a name="VDP_HideAllSprites"></a><a name="Topic594"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_HideAllSprites</div>
<div id="NDPrototype594" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_HideAllSprites()</div></div>
<div class="CBody"><p>Hide all sprite sprite. [MSX1/2/2+/TR]</p><p>This function simply put the sprites off (bellow) the screen.</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">index</td><td class="CDLDefinition"><p>Index of the sprite to hide</p></td></tr></table></div>
</div>
<a name="Blink"></a><a name="Topic595"></a><div class="CTopic TGroup LC">
<div class="CTitle">Blink</div>
<div class="CBody"><p>Blink feature for Text 2 mode</p></div>
</div>
<a name="VDP_SetBlinkColor"></a><a name="Topic596"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkColor</div>
<div id="NDPrototype596" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkColor(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">color</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set text and border blink color (R#12). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">color<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Defaut color (Format: [TXT:4|BG:4])</p></td></tr></table></div>
</div>
<a name="VDP_SetBlinkColor2"></a><a name="Topic597"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkColor2</div>
<div id="NDPrototype597" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkColor2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">bg,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">text</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set text and border blink color (R#12). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">bg<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Background/border color (0~15)</p></td></tr><tr><td class="CDLEntry">text<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Text color (0~15)</p></td></tr></table></div>
</div>
<a name="VDP_SetBlinkTime"></a><a name="Topic598"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkTime</div>
<div id="NDPrototype598" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkTime(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">time</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set blink time for the both defined colors (R#13). [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">time<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Display time (Format: [EVEN:4|ODD:4])</p></td></tr></table></div>
</div>
<a name="VDP_SetBlinkTime2"></a><a name="Topic599"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkTime2</div>
<div id="NDPrototype599" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkTime2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">even,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">odd</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set blink time for the both defined colors (R#13). [MSX2/2+/TR] Check <a href="../index.html#File:vdp.h:VDP_BLINK_TIME" target="_top" onmouseover="NDContentPage.OnLinkMouseOver(event,494);" onmouseout="NDContentPage.OnLinkMouseOut(event);" >VDP_BLINK_TIME</a> enumeration for correspondance between value and time in miliseconds</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">even<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Display time for even page / default color (0~15)</p></td></tr><tr><td class="CDLEntry">odd<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Display time for odd page / blink color (0~15)</p></td></tr></table></div>
</div>
<a name="VDP_SetInfiniteBlink"></a><a name="Topic600"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetInfiniteBlink</div>
<div id="NDPrototype600" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetInfiniteBlink()</div></div>
<div class="CBody"><p>Set blink timer to always display alternative color (R#13). [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_CleanBlinkScreen"></a><a name="Topic601"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_CleanBlinkScreen</div>
<div id="NDPrototype601" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_CleanBlinkScreen()</div></div>
<div class="CBody"><p>Clean blink attribute on the whole screen. [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_SetBlinkScreen"></a><a name="Topic602"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkScreen</div>
<div id="NDPrototype602" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkScreen()</div></div>
<div class="CBody"><p>Set blink attribute on the whole screen. [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_SetBlinkLine"></a><a name="Topic603"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkLine</div>
<div id="NDPrototype603" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkLine(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set blink attribute on the given screen line. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Line number (0 to 23, or 27 if &lt;VDP_LINE_212&gt; is set)</p></td></tr></table></div>
</div>
<a name="VDP_SetBlinkChunk"></a><a name="Topic604"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkChunk</div>
<div id="NDPrototype604" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkChunk(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set blink attribute for a the given screen chunk. [MSX2/2+/TR] A screen 'chunk' is a block of 8 consecutive tiles starting at a x-coordinate multiple of 8 column number (0, 8, 16, etc.)</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Column number (0 to 79)</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Row number (0 to 23, or 27 if &lt;VDP_LINE_212&gt; is set)</p></td></tr></table></div>
</div>
<a name="VDP_SetBlinkChunkMask"></a><a name="Topic605"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkChunkMask</div>
<div id="NDPrototype605" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkChunkMask(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">mask</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set blink attribute mask for a the given screen chunk. [MSX2/2+/TR] A screen 'chunk' is a block of 8 consecutive tiles starting at a x-coordinate multiple of 8 column number (0, 8, 16, etc.)</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Column number (0 to 79)</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Row number (0 to 23, or 27 if &lt;VDP_LINE_212&gt; is set)</p></td></tr><tr><td class="CDLEntry">mask<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Chunk mask (1 bit is equal to 1 tile; bit #0 is the left most tile)</p></td></tr></table></div>
</div>
<a name="VDP_SetBlinkChunkX"></a><a name="Topic606"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkChunkX</div>
<div id="NDPrototype606" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_SetBlinkChunkX(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">num</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set blink attribute for a the given number of chunk. [MSX2/2+/TR] A screen 'chunk' is a block of 8 consecutive tiles starting at a x-coordinate multiple of 8 column number (0, 8, 16, etc.)</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Column number (0 to 79)</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Row number (0 to 23, or 27 if &lt;VDP_LINE_212&gt; is set)</p></td></tr></table></div>
</div>
<a name="VDP_SetBlinkTile"></a><a name="Topic607"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_SetBlinkTile</div>
<div id="NDPrototype607" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_SetBlinkTile(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set blink attribute for a the given screen tile. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">x<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Column number (0 to 79)</p></td></tr><tr><td class="CDLEntry">y<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Row number (0 to 23, or 27 if &lt;VDP_LINE_212&gt; is set)</p></td></tr></table></div>
</div>
<a name="GM2"></a><a name="Topic608"></a><div class="CTopic TGroup LC">
<div class="CTitle">GM2</div>
<div class="CBody"><p>Graph mode 2 &amp; 3 specific functions</p></div>
</div>
<a name="VDP_FillScreen_GM2"></a><a name="Topic609"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_FillScreen_GM2</div>
<div id="NDPrototype609" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_FillScreen_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Fill the full screen with a given pattern value. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">value<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Pattern index to fill In G2/G3 modes, the same index can define different pattern in the 3 vertical sections</p></td></tr></table></div>
</div>
<a name="VDP_Poke_GM2"></a><a name="Topic610"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_Poke_GM2</div>
<div id="NDPrototype610" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_Poke_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Set a GM cell value from x/y coordinate</p></div>
</div>
<a name="VDP_Peek_GM2"></a><a name="Topic611"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_Peek_GM2</div>
<div id="NDPrototype611" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> u8 VDP_Peek_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">x,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">y</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Get a GM cell value from x/y coordinate</p></div>
</div>
<a name="VDP_LoadPattern_GM2"></a><a name="Topic612"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_LoadPattern_GM2</div>
<div id="NDPrototype612" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_LoadPattern_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">src,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">count,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">offset</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Load tile patterns in all 3 screen sections. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address of data buffer to copy to VRAM</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Number of pattern to copy. Note: A count of 0 mean 256</p></td></tr><tr><td class="CDLEntry">offset<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Pattern index from which to copy data</p></td></tr></table></div>
</div>
<a name="VDP_LoadColor_GM2"></a><a name="Topic613"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_LoadColor_GM2</div>
<div id="NDPrototype613" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_LoadColor_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">src,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">count,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">offset</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Load tile colors in all 3 screen sections. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address of data buffer to copy to VRAM</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Number of pattern to copy. Note: A count of 0 mean 256</p></td></tr><tr><td class="CDLEntry">offset<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Pattern index from which to copy data</p></td></tr></table></div>
</div>
<a name="VDP_LoadBankPattern_GM2"></a><a name="Topic614"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_LoadBankPattern_GM2</div>
<div id="NDPrototype614" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_LoadBankPattern_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">src,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">count,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">bank,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">offset</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Load tile patterns in a given screen section (bank). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address of data buffer to copy to VRAM</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Number of pattern to copy. Note: A count of 0 mean 256</p></td></tr><tr><td class="CDLEntry">bank<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Screen section number (bank) from 0 (up) to 2 (bottom). On MSX2 or higher, a 4th bank is accessible via vertical scrolling</p></td></tr><tr><td class="CDLEntry">offset<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Pattern index from which to copy data</p></td></tr></table></div>
</div>
<a name="VDP_LoadBankColor_GM2"></a><a name="Topic615"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_LoadBankColor_GM2</div>
<div id="NDPrototype615" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> <span class="SHKeyword">void</span> VDP_LoadBankColor_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">src,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">count,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">bank,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">offset</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Load tile colors in a given screen section (bank). [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address of data buffer to copy to VRAM</p></td></tr><tr><td class="CDLEntry">count<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Number of pattern to copy. Note: A count of 0 mean 256</p></td></tr><tr><td class="CDLEntry">bank<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Screen section number (bank) from 0 (up) to 2 (bottom). On MSX2 or higher, a 4th bank is accessible via vertical scrolling</p></td></tr><tr><td class="CDLEntry">offset<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Pattern index from which to copy data</p></td></tr></table></div>
</div>
<a name="VDP_WriteLayout_GM2"></a><a name="Topic616"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_WriteLayout_GM2</div>
<div id="NDPrototype616" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_WriteLayout_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">src,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">dx,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">dy,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">nx,</td></tr><tr><td class="first"></td><td class="PType">u8&nbsp;</td><td class="PName last">ny</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Copy patterns layout to a given rectangle. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">src<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address of data buffer to copy to VRAM</p></td></tr><tr><td class="CDLEntry">dx<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination starting X position</p></td></tr><tr><td class="CDLEntry">dy<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination starting Y position</p></td></tr><tr><td class="CDLEntry">nx<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination width</p></td></tr><tr><td class="CDLEntry">ny<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination height</p></td></tr></table></div>
</div>
<a name="VDP_FillLayout_GM2"></a><a name="Topic617"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_FillLayout_GM2</div>
<div id="NDPrototype617" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_FillLayout_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">value,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">dx,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">dy,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">nx,</td></tr><tr><td class="PType first">u8&nbsp;</td><td class="PName last">ny</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Fill a rectangle with a given value. [MSX1/2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">value<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Pattern index to fill</p></td></tr><tr><td class="CDLEntry">dx<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination starting X position</p></td></tr><tr><td class="CDLEntry">dy<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination starting Y position</p></td></tr><tr><td class="CDLEntry">nx<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination width</p></td></tr><tr><td class="CDLEntry">ny<div class="CDLParameterType">u8</div></td><td class="CDLDefinition"><p>Destination height</p></td></tr></table></div>
</div>
<a name="VDP_GetColorTable_GM2"></a><a name="Topic618"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetColorTable_GM2</div>
<div id="NDPrototype618" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> VADDR VDP_GetColorTable_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">bank</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Get address of the Color Table of the given GM2 tilset bank (0-2)</p><div class="CHeading">Return</div><p>VRAM address of the table (u16 for 14-bits address and u32 for 17-bits)</p></div>
</div>
<a name="VDP_GetPatternTable_GM2"></a><a name="Topic619"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_GetPatternTable_GM2</div>
<div id="NDPrototype619" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">inline</span> VADDR VDP_GetPatternTable_GM2(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8&nbsp;</td><td class="PName last">bank</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Get address of the Pattern Generator Table of the given GM2 tilset bank (0-2)</p><div class="CHeading">Return</div><p>VRAM address of the table (u16 for 14-bits address and u32 for 17-bits)</p></div>
</div>
<a name="Command"></a><a name="Topic620"></a><div class="CTopic TGroup LC">
<div class="CTitle">Command</div>
<div class="CBody"><p>VDP commands wrapper functions</p></div>
</div>
<a name="VDP_CommandWait"></a><a name="Topic621"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_CommandWait</div>
<div id="NDPrototype621" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">void</span> VDP_CommandWait() __PRESERVES(b, c, d, e, h, l, iyl, iyh)</div></div>
<div class="CBody"><p>Wait for previous VDP command to be finished. [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_CommandSetupR32"></a><a name="Topic622"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_CommandSetupR32</div>
<div id="NDPrototype622" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">void</span> VDP_CommandSetupR32()</div></div>
<div class="CBody"><p>Send VDP command (form registres 32 to 46). [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_CommandSetupR36"></a><a name="Topic623"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_CommandSetupR36</div>
<div id="NDPrototype623" class="NDPrototype"><div class="PSection PPlainSection"><span class="SHKeyword">void</span> VDP_CommandSetupR36()</div></div>
<div class="CBody"><p>Send VDP command (form registres 36 to 46). [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_CommandWriteLoop"></a><a name="Topic624"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_CommandWriteLoop</div>
<div id="NDPrototype624" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_CommandWriteLoop(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">u8*&nbsp;</td><td class="PName last">addr</td></tr></table></td><td class="PAfterParameters">) __FASTCALL __PRESERVES(d, e, iyl, iyh)</td></tr></table></div></div>
<div class="CBody"><p>Write to VRAM command loop. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">addr<div class="CDLParameterType"><span class="SHKeyword">const</span> u8*</div></td><td class="CDLDefinition"><p>Address of the source buffer</p></td></tr></table></div>
</div>
<a name="VDP_CommandReadLoop"></a><a name="Topic625"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_CommandReadLoop</div>
<div id="NDPrototype625" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_CommandReadLoop(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PType first">u8*&nbsp;</td><td class="PName last">addr</td></tr></table></td><td class="PAfterParameters">) __FASTCALL</td></tr></table></div></div>
<div class="CBody"><p>Read to VRAM command loop. [MSX2/2+/TR]</p><div class="CHeading">Parameters</div><table class="CDefinitionList"><tr><td class="CDLEntry">addr<div class="CDLParameterType">u8*</div></td><td class="CDLDefinition"><p>Address of the destination buffer (in RAM)</p></td></tr></table></div>
</div>
<a name="VDP_CommandCustomR32"></a><a name="Topic626"></a><div class="CTopic TFunction LC">
<div class="CTitle">VDP_CommandCustomR32</div>
<div id="NDPrototype626" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_CommandCustomR32(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">VDP_Command*&nbsp;</td><td class="PName last">data</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Send VDP custom command through buffer (form registres 32 to 46). [MSX2/2+/TR]</p></div>
</div>
<a name="VDP_CommandCustomR36"></a><a name="Topic627"></a><div class="CTopic TFunction LC last">
<div class="CTitle">VDP_CommandCustomR36</div>
<div id="NDPrototype627" class="NDPrototype WideForm"><div class="PSection PParameterSection CStyle"><table><tr><td class="PBeforeParameters"><span class="SHKeyword">void</span> VDP_CommandCustomR36(</td><td class="PParametersParentCell"><table class="PParameters"><tr><td class="PModifierQualifier first"><span class="SHKeyword">const</span>&nbsp;</td><td class="PType">VDP_Command36*&nbsp;</td><td class="PName last">data</td></tr></table></td><td class="PAfterParameters">)</td></tr></table></div></div>
<div class="CBody"><p>Send VDP custom command through buffer (form registres 36 to 46). [MSX2/2+/TR]</p></div>
</div>
</body></html>