diff --git a/reactos/drivers/base/bootvid/bootvid.rbuild b/reactos/drivers/base/bootvid/bootvid.rbuild index fcd44ebb09c..4a733a2f947 100644 --- a/reactos/drivers/base/bootvid/bootvid.rbuild +++ b/reactos/drivers/base/bootvid/bootvid.rbuild @@ -6,7 +6,7 @@ . ntoskrnl hal - + bootvid.c bootdata.c @@ -14,7 +14,7 @@ - + bootvid.c bootdata.c diff --git a/reactos/drivers/base/bootvid/bootvid_amd64.def b/reactos/drivers/base/bootvid/bootvid_amd64.def new file mode 100644 index 00000000000..7d3aacc1367 --- /dev/null +++ b/reactos/drivers/base/bootvid/bootvid_amd64.def @@ -0,0 +1,15 @@ +LIBRARY BOOTVID.DLL + +EXPORTS +VidBitBlt +VidBufferToScreenBlt +VidCleanUp +VidDisplayString +VidDisplayStringXY +VidInitialize +VidResetDisplay +VidScreenToBufferBlt +VidSetScrollRegion +VidSetTextColor +VidSolidColorFill + diff --git a/reactos/drivers/base/bootvid/i386/bootvid.c b/reactos/drivers/base/bootvid/i386/bootvid.c index aaf11a38f9b..1ade54a4fd1 100644 --- a/reactos/drivers/base/bootvid/i386/bootvid.c +++ b/reactos/drivers/base/bootvid/i386/bootvid.c @@ -355,7 +355,7 @@ BOOLEAN NTAPI VidInitialize(IN BOOLEAN SetMode) { - ULONG Context = 0; + ULONG_PTR Context = 0; PHYSICAL_ADDRESS TranslatedAddress; PHYSICAL_ADDRESS NullAddress = {{0}}; ULONG AddressSpace = 1; diff --git a/reactos/drivers/base/bootvid/i386/vga.c b/reactos/drivers/base/bootvid/i386/vga.c index 83405ee13a9..6ace318acf5 100644 --- a/reactos/drivers/base/bootvid/i386/vga.c +++ b/reactos/drivers/base/bootvid/i386/vga.c @@ -314,8 +314,8 @@ VgaScroll(ULONG Scroll) do { /* Write value in the new position so that we can do the scroll */ - WRITE_REGISTER_UCHAR((PUCHAR)j, - READ_REGISTER_UCHAR((PUCHAR)j + i)); + WRITE_REGISTER_UCHAR(UlongToPtr(j), + READ_REGISTER_UCHAR(UlongToPtr(j + i))); /* Move to the next memory location to write to */ j++; @@ -1192,7 +1192,7 @@ VidSolidColorFill(IN ULONG Left, __outpw(0x3CE, 7); /* Calculate pixel position for the read */ - Offset = VgaBase + (Top * 80) + (PUCHAR)LeftOffset; + Offset = VgaBase + (Top * 80) + (PUCHAR)(ULONG_PTR)LeftOffset; /* Select the bitmask register and write the mask */ __outpw(0x3CE, (USHORT)lMask); @@ -1216,7 +1216,7 @@ VidSolidColorFill(IN ULONG Left, if (Distance) { /* Calculate new pixel position */ - Offset = VgaBase + (Top * 80) + (PUCHAR)RightOffset; + Offset = VgaBase + (Top * 80) + (PUCHAR)(ULONG_PTR)RightOffset; Distance--; /* Select the bitmask register and write the mask */ @@ -1242,7 +1242,7 @@ VidSolidColorFill(IN ULONG Left, if (Distance) { /* Calculate new pixel position */ - Offset = VgaBase + (Top * 80) + (PUCHAR)(LeftOffset + 1); + Offset = VgaBase + (Top * 80) + (PUCHAR)(ULONG_PTR)(LeftOffset + 1); /* Set the bitmask to 0xFF for all 4 planes */ __outpw(0x3CE, 0xFF08);