Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Adam b4a8d373d8
Create README.md
5 years ago
..
i386 initial commit 5 years ago
arrowin.c initial commit 5 years ago
cdrom.c initial commit 5 years ago
commit.c initial commit 5 years ago
dblspace.c initial commit 5 years ago
diskman.hlp initial commit 5 years ago
dskmgr.ico initial commit 5 years ago
fd_nt.c initial commit 5 years ago
fdconst.h initial commit 5 years ago
fddata.c initial commit 5 years ago
fddlgs.c initial commit 5 years ago
fdengine.c initial commit 5 years ago
fdft.c initial commit 5 years ago
fdft.h initial commit 5 years ago
fdglob.h initial commit 5 years ago
fdhelp.c initial commit 5 years ago
fdhelpid.h initial commit 5 years ago
fdinit.c initial commit 5 years ago
fdisk.dlg initial commit 5 years ago
fdisk.h initial commit 5 years ago
fdisk.rc initial commit 5 years ago
fdiskmsg.mc initial commit 5 years ago
fdlistbx.c initial commit 5 years ago
fdmem.c initial commit 5 years ago
fdmisc.c initial commit 5 years ago
fdprof.c initial commit 5 years ago
fdproto.h initial commit 5 years ago
fdres.h initial commit 5 years ago
fdstleg.c initial commit 5 years ago
fdtypes.h initial commit 5 years ago
fmifs.c initial commit 5 years ago
ftreg.c initial commit 5 years ago
ftreg.dlg initial commit 5 years ago
ftreg.res initial commit 5 years ago
ftregres.h initial commit 5 years ago
makefile initial commit 5 years ago
makefile.inc initial commit 5 years ago
network.c initial commit 5 years ago
ntlow.c initial commit 5 years ago
readme.txt initial commit 5 years ago
rmdisk.bmp initial commit 5 years ago
scsi.h initial commit 5 years ago
smdisk.bmp initial commit 5 years ago
sources initial commit 5 years ago
windisk.c initial commit 5 years ago

readme.txt



Building NT fdisk's boot code
-----------------------------


The master boot code is contained in the file x86mboot.c, which is
#include'd into fd_nt.c. The boot code is in the form of an array
(named x86BootCode) of unsigned chars, which is refered to by code in
fd_nt.c when fdisk needs to lay boot code on the disk.

The x86mboot.c file is generated by different means depending on the
compilation host (ie, whether you're building on x86 or MIPS).


The following applies to x86 ONLY:
----------------------------------

The master boot code is built from the x86mboot.asm and x86mboot.msg
files in i386 by running masm386 over these files to produce x86mboot.obj.

Then link_60 is run over x86mboot.obj to produce x86mboot.com. The boot code
is at offset 1280 in this file (1280 = 600h-100h. 600h is where the boot
code is assembled, and 100h is where a .com file is loaded by DOS.) It is
of length 0x1be (512 byte sector - 64-byte partition table - signature word).

The tool bin2c.exe (in sdktoosl) is run over x86mboot.com to generate
i386\x86mboot.c.


The following applies to MIPS ONLY:
-----------------------------------

On MIPS, the best we can do is check in the 'finished' product of the
x86 process, namely x86mboot.c, into the mips directory (we cannot run
masm386 or link_60 on MIPS!). If, however, the i386\x86mboot.asm or .msg
files are newer than mips\x86mboot.c, then that means that someone changed
the boot code but did not check in the .c file to mips\x86mboot.c. So we
generate an error message.

The correct action when receiving this error message is to go to an x86
machine, bget or build the i386\x86mboot.c file, and check that file
into mips\x86mboot.c. Then sync on the MIPS machine.






Our build process generates a -I parameter to the compiler based on
the compilation environement (ie, -Imips\ or -Ii386\). This allows fdisk
to simply '#include "x86mboot.c"' and get either the generated file on x86
or the file under source control for MIPS. This way we maintain at least
a semblance of the correct dependencies should the x86mboot.msg file be
translated, etc.