Atlas - SYSINIT.DOC

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