2024-08-29 17:51:49 -06:00
# include <genesis.h>
int main ( )
{
//Initialise the bitmap engine
BMP_init ( TRUE , BG_A , PAL0 , FALSE ) ;
//Set the colour of the line. We are using pallete 0 for the bitmap, so we have 0->15. 15 is used for white text, so we set an unused pallet colour, 14 to blue - RGB 0000FF.
u16 colour_blue = RGB24_TO_VDPCOLOR ( 0x0000ff ) ;
2024-08-29 18:13:30 -06:00
u16 colour_red = RGB24_TO_VDPCOLOR ( 0xff0000 ) ;
2024-08-29 18:08:02 -06:00
PAL_setColor ( 14 , colour_blue ) ;
2024-08-29 18:13:30 -06:00
PAL_setColor ( 13 , colour_red ) ;
VDP_setBackgroundColor ( 13 ) ;
2024-08-29 17:51:49 -06:00
//A line needs a source coordinate x,y and a destination coordinate x,y along with a pallete colour.
Line l ;
l . pt1 . x = 0 ;
l . pt1 . y = 0 ;
l . pt2 . x = 255 ;
l . pt2 . y = 0 ;
2024-08-29 18:08:02 -06:00
l . col = 14 ;
2024-08-29 17:51:49 -06:00
l . col | = l . col < < 4 ; // if we do not left shift the colour, we get gaps in the line
while ( TRUE )
{
//Clear the bitmap
BMP_clear ( ) ;
//Draw the line defined above (in the background, hidden)
BMP_drawLine ( & l ) ;
//Flip the data to the screen - i.e. actually draw the complete image on screen
BMP_flip ( 1 ) ;
//Increment the destination y coordinate
l . pt2 . y = l . pt2 . y + 2 ;
//Reset the destination y coordinate if it hits 160
if ( l . pt2 . y = = 160 )
{
l . pt2 . y = 0 ;
}
}
return 0 ;
}