]> wirehaze git hosting - MS-DOS.git/blob - v2.0/source/SYSINIT.txt

wirehaze git hosting

Create README.fr-fr.md
[MS-DOS.git] / v2.0 / source / SYSINIT.txt
1 SYSINIT is a module linked behind the OEM bios. It takes
2 over the system initialization after the OEM bios has
3 performed any initialization it needs to do. Control is
4 transfered with a long jump to the external variable SYSINIT
5
6
7 The OEM has the following variables declared external:
8
9 CURRENT_DOS_LOCATION WORD
10
11 This word contains the segment number of the DOS before it
12 is relocated. The OEM bios must set this value.
13
14 FINAL_DOS_LOCATION WORD
15
16 This word contains the segment number of the DOS after SYSINIT
17 moves it. The OEM bios must set this value.
18
19 DEVICE_LIST DWORD
20
21 This double word pointer points to the linked list of
22 character and block device drivers. The OEM must set this
23 value.
24
25 MEMORY_SIZE WORD
26
27 This word contains the number of RAM paragraphs. If the
28 bios doesn't set this variable SYSINIT will automatically
29 calculate it. NOTE: systems with PARITY checked memory must
30 size memory in the BIOS. SYSINITs method is to write memory
31 and read it back until it gets a mismatch.
32
33 DEFAULT_DRIVE BYTE
34
35 This is the initial default drive when the system first comes
36 up. drive a=0, drive b=1, etc. If the bios doesn't set
37 it then drive a is assumed.
38
39 BUFFERS BYTE
40
41 This is the default number of buffers for the system. This
42 value may be overridden by the user in the CONFIG.SYS file.
43 It is DBed to 2 in SYSINIT it should be greater than 1.
44
45 FILES BYTE
46
47 This is the default number of files for the system. This
48 value may be overridden by the user in the CONFIG.SYS file.
49 It is DBed to 8 in SYSINIT, values less than 5 are ignored.
50
51 SYSINIT FAR
52
53 The entry point of the SYSINIT module. OEM BIOS jumps to
54 this label at the end of its INIT code.
55
56 The OEM has the following variables declared public:
57
58 RE_INIT FAR
59
60 This is an entry point which allows the BIOS to do some INIT
61 work after the DOS is initialized. ALL REGISTERS MUST BE
62 PRESERVED. On entry DS points to the first available memory
63 (after the DOS). DS:0 points to a 100H byte program header
64 prefix which represents the "program" currently running.
65 This program should be thought of as the OEM BIOS and
66 SYSINIT taken together. This is not a normal program in
67 that no memory is allocated to it, it is running in free
68 memory.
69 NOTES:
70 At the time this routine is called SYSINIT occupies the
71 highest 10K of memory ("highest" is determined by the value
72 of the MEMORY_SIZE variable), DO NOT DO WRITES THERE.
73 Since this is called AFTER DOS is initialized, you can
74 make system calls. This also implies that the code for this
75 routine CANNOT be thrown away by use of the
76 FINAL_DOS_LOCATION since the DOS has already been moved.
77 If you don't want anything done just set this to point
78 at a FAR RET instruction.
79