Porting from 16bit DOS ?

Started by
1 comment, last by Toolmaker 18 years, 8 months ago
Hi ! I need to know how can i transform an address given as SEGMENT and OFFEST into a 32 bit address. I have an old piece of code written in BorlandC that uses 'movedata' to copy a block of memory and since i need it for a .NET project i have to use other functions to copy the same block of memory where some BIOS data resides so i can generate an UNIQUE product KEY . I appreciate your help.
Advertisement
Segment offset pointers get translated into 32 bit pointers by multiplying the segment by 16 and adding it to the offset. However, chances are that your program won't be able to directly read the BIOS data since that would be in memory locations protected by the operating system.
.NET has an extensive library which allows you to obtain information about the computer hardware.

I bet the library aswell can obtain serial numbers from the several components in the computer, so you don't need to use some piece of legacy code that won't work because of OS-level memory protection.

Toolmaker

This topic is closed to new replies.

Advertisement