NDSummary.OnToolTipsLoaded("File:vdp.h",{491:"
VDP display modes
",492:"
VDP version enumaration
",493:"
VRAM size enumaration
",494:"
Blink time enumaration
",496:"
void VDP_Initialize()
Initialize VDP module. [MSX1/2/2+/TR] Retreive BIOS initiale value.  This function is called automatically when VDP_SetMode is called if the macro VDP_AUTO_INIT equals 1.
",497:"
u8 VDP_GetVersion() __NAKED
Get VDP version. [MSX1/2/2+/TR]
",498:"
void VDP_ClearVRAM()
Clear the VRAM content. [MSX1/2/2+/TR]
",500:"
void VDP_SetMode(
const u8 mode
)
Set screen mode. [MSX1/2/2+/TR]
",501:"
inline u8 VDP_GetMode()
Get current screen mode. [MSX1/2/2+/TR]
",502:"
inline bool VDP_IsBitmapMode(
const u8 mode
)
Tell if the given screen mode is a bitmap mode (pattern/text mode otherwise). [MSX1/2/2+/TR]
",503:"
inline bool VDP_IsPatternMode(
const u8 mode
)
Tell if the given screen mode is a pattern/text mode (bitmap mode otherwise). [MSX1/2/2+/TR]
",504:"
void VDP_SetModeFlag(
u8 flag
)
Set screen mode flag. [MSX1/2/2+/TR] VRAM tables address must be set to fit the new screen mode
",506:"
void VDP_RegWrite(
u8 reg,
u8 value
) __PRESERVES(b, c, d, e, iyl, iyh)
Set register value. [MSX1/2/2+/TR]
",507:"
void VDP_RegWriteBak(
u8 reg,
u8 value
) __PRESERVES(d, e, iyl, iyh)
Set register value after backuping previous value. [MSX1/2/2+/TR]
",508:"
void VDP_RegWriteBakMask(
u8 idx,
u8 mask,
u8 value
)
Set register value after backuping previous value using mask. [MSX1/2/2+/TR]
",509:"
u8 VDP_ReadDefaultStatus() __PRESERVES(b, c, d, e, h, l, iyl, iyh)
Read default S#0 register. [MSX1/2/2+/TR]
",510:"
u8 VDP_ReadStatus(
u8 stat
) __PRESERVES(b, c, d, e, h, iyl, iyh)
Read a given status register then reset status register to default (0). [MSX2/2+/TR]
",511:"
void VDP_WriteVRAM_16K(
const u8* src,
u16 dest,
u16 count
)
Write data from RAM to VRAM. [MSX1/2/2+/TR]
",512:"
void VDP_FillVRAM_16K(
u8 value,
u16 dest,
u16 count
)
Fill VRAM area with a given value. [MSX1/2/2+/TR] Use fast 16-bits loop (28 cc)
",513:"
void VDP_FastFillVRAM_16K(
u8 value,
u16 dest,
u16 count
)
Fill VRAM area with a given value [MSX1/2/2+/TR] Use ultra fast 16-bits using 16 unrolled out loop (~14,9 cc)
",514:"
void VDP_ReadVRAM_16K(
u16 src,
u8* dest,
u16 count
)
Read data from VRAM to RAM. [MSX1/2/2+/TR]
",515:"
void VDP_Poke_16K(
u8 val,
u16 dest
) __PRESERVES(c, h, l, iyl, iyh)
Write a value to VRAM. [MSX1/2/2+/TR]
",516:"
u8 VDP_Peek_16K(
u16 src
) __PRESERVES(b, c, d, e, iyl, iyh)
Read a value from VRAM. [MSX1/2/2+/TR]
",517:"
void VDP_WriteVRAM_128K(
const u8* src,
u16 destLow,
u8 destHigh,
u16 count
)
Write data from RAM to VRAM. [MSX2/2+/TR]
",518:"
void VDP_FillVRAM_128K(
u8 value,
u16 destLow,
u8 destHigh,
u16 count
)
Fill VRAM area with a given value. [MSX2/2+/TR]
",519:"
void VDP_ReadVRAM_128K(
u16 srcLow,
u8 srcHigh,
u8* dest,
u16 count
)
Read data from VRAM to RAM. [MSX2/2+/TR]
",520:"
void VDP_Poke_128K(
u8 val,
u16 destLow,
u8 destHigh
)
Write a value to VRAM. [MSX2/2+/TR]
",521:"
u8 VDP_Peek_128K(
u16 srcLow,
u8 srcHigh
)
Read a value from VRAM. [MSX2/2+/TR]
",523:"
inline void VDP_EnableDisplay(
bool enable
)
Enable/disable screen display (R#1). [MSX1/2/2+/TR]
",524:"
inline void VDP_EnableVBlank(
bool enable
)
Enable/disable vertical interruption (R#1). [MSX1/2/2+/TR]
",525:"
inline void VDP_SetColor(
u8 color
)
Set text and border default color (R#7). [MSX1/2/2+/TR]
",526:"
inline void VDP_SetBackdropColor(
u8 color
)
Set backdrop color (R#7). [MSX1/2/2+/TR]
",527:"
inline void VDP_SetColor2(
u8 bg,
u8 text
)
Set text and border default color (R#7). [MSX1/2/2+/TR]
",528:"
inline void VDP_EnableSprite(
u8 enable
)
Enable/disable sprite rendering (R#8). [MSX2/2+/TR]
",529:"
inline void VDP_DisableSprite()
Disable sprite rendering (see VDP_EnableSprite). [MSX1/2/2+/TR]
",530:"
inline void VDP_EnableTransparency(
u8 enable
)
Enable/disable color 0 transparency (R#8). [MSX2/2+/TR]
",531:"
inline void VDP_EnableHBlank(
bool enable
)
Enable/disable horizontal interruption (R#0). [MSX2/2+/TR]
",532:"
inline void VDP_SetHBlankLine(
u8 line
)
Set the horizontal-blank interruption line (R#19). [MSX2/2+/TR]
",533:"
inline void VDP_SetVerticalOffset(
u8 offset
)
Set the vertical rendering offset (R#23). [MSX2/2+/TR]
",534:"
void VDP_SetAdjustOffset(
u8 offset
)
Adjustment of the display location on the screen (R#18). [MSX2/2+/TR]
",535:"
inline void VDP_SetAdjustOffsetXY(
i8 x,
i8 y
)
Adjustment of the display location on the screen (R#18). [MSX2/2+/TR]
",536:"
inline void VDP_SetGrayScale(
bool enable
)
Enable/disable grayscale (R#8). [MSX2/2+/TR]
",537:"
VDP frequency flags
",538:"
inline void VDP_SetFrequency(
u8 freq
)
Change VDP frequency (R#9). [MSX2/2+/TR]
",539:"
inline u8 VDP_GetFrequency()
GEt VDP frequency (R#9). [MSX2/2+/TR]
",540:"
VDP line flags
",541:"
inline void VDP_SetLineCount(
u8 lines
)
Set line count for the current screen mode (R#9). [MSX2/2+/TR]
",542:"
inline void VDP_SetPageAlternance(
bool enable
)
Enable automatic page switch on even/odd frames. [MSX2/2+/TR]
",543:"
inline void VDP_SetInterlace(
bool enable
)
Enable or disable interlace mode. [MSX2/2+/TR] Needs VDP_SetPageAlternance to be set to TRUE and VDP_SetPage to a odd value.
",544:"
VDP render modes
",545:"
inline void VDP_SetFrameRender(
u8 mode
)
Set the frame render mode. [MSX2/2+/TR]
",546:"
Reset the VRAM address most-significant bits (R#14). [MSX2/2+/TR]
",547:"
void VDP_SetPalette(
const u8* pal
) __FASTCALL __PRESERVES(d, e, iyl, iyh)
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.
",548:"
void VDP_SetPaletteEntry(
u8 index,
u16 color
)
Set a given color entry in the palette. [MSX2/2+/TR]
",549:"
void VDP_SetDefaultPalette()
Reset the default MSX2 palette. [MSX2/2+/TR]
",550:"
void VDP_SetMSX1Palette()
Reset the default MSX1 palette. [MSX2/2+/TR]
",551:"
YJK modes
",552:"
inline void VDP_SetYJK(
u8 mode
)
Set YJK mode. [MSX2+/TR].  See VDP_YJK enum.
",553:"
inline void VDP_ExpendCommand(
u8 enable
)
Enables the VDP commands for screens 0 to 4 (R#25). [MSX2+/TR]
",554:"
inline void VDP_EnableMask(
u8 enable
)
Allows to hide the first 8 vertical lines at left of screen (R#25). [MSX2+/TR]
",555:"
void VDP_SetHorizontalOffset(
u16 offset
)
Set the horizontal rendeing offset. [MSX2+/TR]
",556:"
inline void VDP_SetHorizontalMode(
u8 mode
)
Set horizontal scrolling to occurs on a single page or two pages (R#25). [MSX2+/TR]
",558:"
void VDP_SetLayoutTable(
VADDR addr
)
Set layout table VRAM address. [MSX1/2/2+/TR]
",559:"
inline void VDP_SetLayoutTableEx(
VADDR addr,
u8 r2
)
Set layout table VRAM address. [MSX1/2/2+/TR]
",560:"
void VDP_SetColorTable(
VADDR addr
)
Set color table VRAM address. [MSX1/2/2+/TR]
",561:"
inline void VDP_SetColorTableEx(
VADDR addr,
u8 r3,
u8 r10
)
Set color table VRAM address. [MSX1/2/2+/TR]
",562:"
void VDP_SetPatternTable(
VADDR addr
)
Set pattern table VRAM address. [MSX1/2/2+/TR]
",563:"
inline void VDP_SetPatternTableEx(
VADDR addr,
u8 r4
)
Set pattern table VRAM address. [MSX1/2/2+/TR]
",564:"
void VDP_SetSpriteAttributeTable(
VADDR addr
)
Set sprite attribute table address. [MSX1/2/2+/TR]
",565:"
inline void VDP_SetSpriteAttributeTableEx(
VADDR addr,
u8 r5,
u8 r11
)
Set sprite attribute table address. [MSX1/2/2+/TR]
",566:"
void VDP_SetSpritePatternTable(
VADDR addr
)
Set sprite pattern table address. [MSX1/2/2+/TR]
",567:"
inline void VDP_SetSpritePatternTableEx(
VADDR addr,
u8 r6
)
Set sprite pattern table address. [MSX1/2/2+/TR]
",568:"
inline VADDR VDP_GetLayoutTable()
Get address of the Pattern Layout Table (Name)
",569:"
inline VADDR VDP_GetColorTable()
Get address of the Color Table
",570:"
inline VADDR VDP_GetPatternTable()
Get address of the Pattern Generator Table
",571:"
inline VADDR VDP_GetSpriteAttributeTable()
Get address of the Sprite Attribute Table
",572:"
inline VADDR VDP_GetSpritePatternTable()
Get address of the Sprite Pattern Generator Table
",573:"
inline VADDR VDP_GetSpriteColorTable()
Get address of the Sprite Color Table
",574:"
void VDP_SetPage(
u8 page
)
Set current VRAM page. [MSX2/2+/TR]
",576:"
inline void VDP_SetSpriteFlag(
u8 flag
)
Set sprite rendering parameters. [MSX1/2/2+/TR]
",577:"
inline void VDP_SetSpriteTables(
VADDR patAddr,
VADDR attAddr
)
Set sprite tables address. [MSX1/2/2+/TR]
",578:"
void VDP_LoadSpritePattern(
const u8* addr,
u8 index,
u8 count
)
Load sprite pattern data into VRAM. [MSX1/2/2+/TR]
",579:"
void VDP_SetSpriteSM1(
u8 index,
u8 x,
u8 y,
u8 shape,
u8 color
)
Set sprite attribute for Sprite Mode 1. [MSX1/2/2+/TR]
",580:"
void VDP_SetSprite(
u8 index,
u8 x,
u8 y,
u8 shape
)
Set sprite attribute for Sprite Mode 2. [MSX2/2+/TR]
",581:"
void VDP_SetSpriteExMultiColor(
u8 index,
u8 x,
u8 y,
u8 shape,
const u8* ram
)
Set sprite attribute for Sprite Mode 2 and fill color table with color data. [MSX2/2+/TR]
",582:"
void VDP_SetSpriteExUniColor(
u8 index,
u8 x,
u8 y,
u8 shape,
u8 color
)
Set sprite attribute for Sprite Mode 2 and fill color table with unique color. [MSX2/2+/TR]
",583:"
void VDP_SetSpritePosition(
u8 index,
u8 x,
u8 y
)
Update sprite position. [MSX1/2/2+/TR]
",584:"
void VDP_SetSpritePositionX(
u8 index,
u8 x
)
Update sprite position X. [MSX1/2/2+/TR]
",585:"
void VDP_SetSpritePositionY(
u8 index,
u8 y
)
Update sprite position Y. [MSX1/2/2+/TR]
",586:"
void VDP_SetSpritePattern(
u8 index,
u8 shape
)
Update sprite pattern. [MSX1/2/2+/TR]
",587:"
void VDP_SetSpriteColorSM1(
u8 index,
u8 color
)
Update sprite pattern (Sprite Mode 1). [MSX1/2/2+/TR]
",588:"
inline void VDP_SetSpriteData(
u8 index,
VDP_Sprite* data
)
Set sprite attribute using data structure. [MSX1/2/2+/TR]
",589:"
void VDP_SetSpriteUniColor(
u8 index,
u8 color
)
Update sprite color (Uni-color). [MSX2/2+/TR]
",590:"
void VDP_SetSpriteMultiColor(
u8 index,
const u8* ram
)
Update sprite color (Multi-color). [MSX2/2+/TR]
",591:"
void VDP_SetSpriteData(
u8 index,
const u8* data
)
Set sprite data for Sprite Mode 2. [MSX2/2+/TR]
",592:"
void VDP_DisableSpritesFrom(
u8 index
)
Disable all sprites from a given index. [MSX1/2/2+/TR]
",593:"
inline void VDP_HideSprite(
u8 index
)
Hide a given sprite (don\'t disable following sprites). [MSX1/2/2+/TR]
",594:"
inline void VDP_HideAllSprites()
Hide all sprite sprite. [MSX1/2/2+/TR]
",595:"
Blink feature for Text 2 mode
",596:"
inline void VDP_SetBlinkColor(
u8 color
)
Set text and border blink color (R#12). [MSX2/2+/TR]
",597:"
inline void VDP_SetBlinkColor2(
u8 bg,
u8 text
)
Set text and border blink color (R#12). [MSX2/2+/TR]
",598:"
inline void VDP_SetBlinkTime(
u8 time
)
Set blink time for the both defined colors (R#13). [MSX2/2+/TR]
",599:"
inline void VDP_SetBlinkTime2(
u8 even,
u8 odd
)
Set blink time for the both defined colors (R#13). [MSX2/2+/TR] Check VDP_BLINK_TIME enumeration for correspondance between value and time in miliseconds
",600:"
inline void VDP_SetInfiniteBlink()
Set blink timer to always display alternative color (R#13). [MSX2/2+/TR]
",601:"
inline void VDP_CleanBlinkScreen()
Clean blink attribute on the whole screen. [MSX2/2+/TR]
",602:"
inline void VDP_SetBlinkScreen()
Set blink attribute on the whole screen. [MSX2/2+/TR]
",603:"
inline void VDP_SetBlinkLine(
u8 y
)
Set blink attribute on the given screen line. [MSX2/2+/TR]
",604:"
inline void VDP_SetBlinkChunk(
u8 x,
u8 y
)
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.)
",605:"
inline void VDP_SetBlinkChunkMask(
u8 x,
u8 y,
u8 mask
)
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.)
",606:"
inline void VDP_SetBlinkChunkX(
u8 x,
u8 y,
u8 num
)
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.)
",607:"
void VDP_SetBlinkTile(
u8 x,
u8 y
)
Set blink attribute for a the given screen tile. [MSX2/2+/TR]
",608:"
Graph mode 2 & 3 specific functions
",609:"
inline void VDP_FillScreen_GM2(
u8 value
)
Fill the full screen with a given pattern value. [MSX1/2/2+/TR]
",610:"
inline void VDP_Poke_GM2(
u8 x,
u8 y,
u8 value
)
Set a GM cell value from x/y coordinate
",611:"
inline u8 VDP_Peek_GM2(
u8 x,
u8 y
)
Get a GM cell value from x/y coordinate
",612:"
void VDP_LoadPattern_GM2(
const u8* src,
u8 count,
u8 offset
)
Load tile patterns in all 3 screen sections. [MSX1/2/2+/TR]
",613:"
void VDP_LoadColor_GM2(
const u8* src,
u8 count,
u8 offset
)
Load tile colors in all 3 screen sections. [MSX1/2/2+/TR]
",614:"
inline void VDP_LoadBankPattern_GM2(
const u8* src,
u8 count,
u8 bank,
u8 offset
)
Load tile patterns in a given screen section (bank). [MSX1/2/2+/TR]
",615:"
inline void VDP_LoadBankColor_GM2(
const u8* src,
u8 count,
u8 bank,
u8 offset
)
Load tile colors in a given screen section (bank). [MSX1/2/2+/TR]
",616:"
void VDP_WriteLayout_GM2(
const u8* src,
u8 dx,
u8 dy,
u8 nx,
u8 ny
)
Copy patterns layout to a given rectangle. [MSX1/2/2+/TR]
",617:"
void VDP_FillLayout_GM2(
u8 value,
u8 dx,
u8 dy,
u8 nx,
u8 ny
)
Fill a rectangle with a given value. [MSX1/2/2+/TR]
",618:"
inline VADDR VDP_GetColorTable_GM2(
u8 bank
)
Get address of the Color Table of the given GM2 tilset bank (0-2)
",619:"
inline VADDR VDP_GetPatternTable_GM2(
u8 bank
)
Get address of the Pattern Generator Table of the given GM2 tilset bank (0-2)
",620:"
VDP commands wrapper functions
",621:"
void VDP_CommandWait() __PRESERVES(b, c, d, e, h, l, iyl, iyh)
Wait for previous VDP command to be finished. [MSX2/2+/TR]
",622:"
void VDP_CommandSetupR32()
Send VDP command (form registres 32 to 46). [MSX2/2+/TR]
",623:"
void VDP_CommandSetupR36()
Send VDP command (form registres 36 to 46). [MSX2/2+/TR]
",624:"
void VDP_CommandWriteLoop(
const u8* addr
) __FASTCALL __PRESERVES(d, e, iyl, iyh)
Write to VRAM command loop. [MSX2/2+/TR]
",625:"
void VDP_CommandReadLoop(
u8* addr
) __FASTCALL
Read to VRAM command loop. [MSX2/2+/TR]
",626:"
void VDP_CommandCustomR32(
const VDP_Command* data
)
Send VDP custom command through buffer (form registres 32 to 46). [MSX2/2+/TR]
",627:"
void VDP_CommandCustomR36(
const VDP_Command36* data
)
Send VDP custom command through buffer (form registres 36 to 46). [MSX2/2+/TR]
"});