summaryrefslogtreecommitdiff
path: root/v2.0/bin/SYSINIT.DOC
blob: fa20d0832dbc4f6424db88f22f4f485e7dde36f0 (plain) (blame)
ofshex dumpascii
0000 20 20 20 20 53 59 53 49 4e 49 54 20 69 73 20 20 61 20 6d 6f 64 75 6c 65 20 6c 69 6e 6b 65 64 20 ....SYSINIT.is..a.module.linked.
0020 62 65 68 69 6e 64 20 74 68 65 20 4f 45 4d 20 62 69 6f 73 2e 20 20 49 74 20 74 61 6b 65 73 0d 0a behind.the.OEM.bios...It.takes..
0040 6f 76 65 72 20 20 74 68 65 20 20 73 79 73 74 65 6d 20 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f over..the..system..initializatio
0060 6e 20 20 61 66 74 65 72 20 20 74 68 65 20 20 4f 45 4d 20 20 62 69 6f 73 20 20 20 68 61 73 0d 0a n..after..the..OEM..bios...has..
0080 70 65 72 66 6f 72 6d 65 64 20 61 6e 79 20 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 20 69 performed.any..initialization..i
00a0 74 20 20 6e 65 65 64 73 20 20 74 6f 20 20 64 6f 2e 20 20 20 43 6f 6e 74 72 6f 6c 20 69 73 0d 0a t..needs..to..do....Control.is..
00c0 74 72 61 6e 73 66 65 72 65 64 20 77 69 74 68 20 61 20 6c 6f 6e 67 20 6a 75 6d 70 20 74 6f 20 74 transfered.with.a.long.jump.to.t
00e0 68 65 20 65 78 74 65 72 6e 61 6c 20 20 76 61 72 69 61 62 6c 65 20 20 53 59 53 49 4e 49 54 0d 0a he.external..variable..SYSINIT..
0100 0d 0a 0d 0a 20 20 20 20 54 68 65 20 4f 45 4d 20 20 68 61 73 20 20 74 68 65 20 20 66 6f 6c 6c 6f ........The.OEM..has..the..follo
0120 77 69 6e 67 20 20 76 61 72 69 61 62 6c 65 73 20 64 65 63 6c 61 72 65 64 20 65 78 74 65 72 6e 61 wing..variables.declared.externa
0140 6c 3a 0d 0a 0d 0a 20 20 20 20 43 55 52 52 45 4e 54 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 20 20 l:........CURRENT_DOS_LOCATION..
0160 20 20 57 4f 52 44 0d 0a 0d 0a 54 68 69 73 20 77 6f 72 64 20 20 63 6f 6e 74 61 69 6e 73 20 20 74 ..WORD....This.word..contains..t
0180 68 65 20 20 73 65 67 6d 65 6e 74 20 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 44 4f 53 20 62 he..segment..number.of.the.DOS.b
01a0 65 66 6f 72 65 20 69 74 0d 0a 69 73 20 72 65 6c 6f 63 61 74 65 64 2e 20 20 54 68 65 20 4f 45 4d efore.it..is.relocated...The.OEM
01c0 20 62 69 6f 73 20 6d 75 73 74 20 73 65 74 20 74 68 69 73 20 76 61 6c 75 65 2e 0d 0a 0d 0a 20 20 .bios.must.set.this.value.......
01e0 20 20 46 49 4e 41 4c 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 20 20 20 20 20 20 57 4f 52 44 0d 0a ..FINAL_DOS_LOCATION......WORD..
0200 0d 0a 54 68 69 73 20 77 6f 72 64 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 73 65 67 6d 65 6e 74 ..This.word.contains.the.segment
0220 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 44 4f 53 20 61 66 74 65 72 20 53 59 53 49 4e 49 54 .number.of.the.DOS.after.SYSINIT
0240 0d 0a 6d 6f 76 65 73 20 69 74 2e 20 20 54 68 65 20 4f 45 4d 20 62 69 6f 73 20 6d 75 73 74 20 73 ..moves.it...The.OEM.bios.must.s
0260 65 74 20 74 68 69 73 20 76 61 6c 75 65 2e 0d 0a 0d 0a 20 20 20 20 44 45 56 49 43 45 5f 4c 49 53 et.this.value.........DEVICE_LIS
0280 54 20 20 20 20 20 20 20 20 20 20 20 20 20 44 57 4f 52 44 0d 0a 0d 0a 54 68 69 73 20 20 64 6f 75 T.............DWORD....This..dou
02a0 62 6c 65 20 20 77 6f 72 64 20 20 70 6f 69 6e 74 65 72 20 20 70 6f 69 6e 74 73 20 20 74 6f 20 20 ble..word..pointer..points..to..
02c0 74 68 65 20 20 6c 69 6e 6b 65 64 20 20 6c 69 73 74 20 20 6f 66 0d 0a 63 68 61 72 61 63 74 65 72 the..linked..list..of..character
02e0 20 61 6e 64 20 62 6c 6f 63 6b 20 64 65 76 69 63 65 20 64 72 69 76 65 72 73 2e 20 20 54 68 65 20 .and.block.device.drivers...The.
0300 20 4f 45 4d 20 20 6d 75 73 74 20 20 73 65 74 20 20 74 68 69 73 0d 0a 76 61 6c 75 65 2e 0d 0a 0d .OEM..must..set..this..value....
0320 0a 20 20 20 20 4d 45 4d 4f 52 59 5f 53 49 5a 45 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4f 52 .....MEMORY_SIZE.............WOR
0340 44 0d 0a 0d 0a 54 68 69 73 20 77 6f 72 64 20 20 63 6f 6e 74 61 69 6e 73 20 20 74 68 65 20 20 6e D....This.word..contains..the..n
0360 75 6d 62 65 72 20 20 6f 66 20 20 52 41 4d 20 20 70 61 72 61 67 72 61 70 68 73 2e 20 20 49 66 20 umber..of..RAM..paragraphs...If.
0380 74 68 65 0d 0a 62 69 6f 73 20 64 6f 65 73 6e 27 74 20 73 65 74 20 20 74 68 69 73 20 20 76 61 72 the..bios.doesn't.set..this..var
03a0 69 61 62 6c 65 20 20 53 59 53 49 4e 49 54 20 20 77 69 6c 6c 20 20 61 75 74 6f 6d 61 74 69 63 61 iable..SYSINIT..will..automatica
03c0 6c 6c 79 0d 0a 63 61 6c 63 75 6c 61 74 65 20 69 74 2e 20 20 20 4e 4f 54 45 3a 20 20 73 79 73 74 lly..calculate.it....NOTE:..syst
03e0 65 6d 73 20 77 69 74 68 20 50 41 52 49 54 59 20 63 68 65 63 6b 65 64 20 6d 65 6d 6f 72 79 20 6d ems.with.PARITY.checked.memory.m
0400 75 73 74 0d 0a 73 69 7a 65 20 6d 65 6d 6f 72 79 20 69 6e 20 74 68 65 20 42 49 4f 53 2e 20 20 53 ust..size.memory.in.the.BIOS...S
0420 59 53 49 4e 49 54 73 20 6d 65 74 68 6f 64 20 69 73 20 74 6f 20 20 77 72 69 74 65 20 20 6d 65 6d YSINITs.method.is.to..write..mem
0440 6f 72 79 0d 0a 61 6e 64 20 72 65 61 64 20 69 74 20 62 61 63 6b 20 75 6e 74 69 6c 20 69 74 20 67 ory..and.read.it.back.until.it.g
0460 65 74 73 20 61 20 6d 69 73 6d 61 74 63 68 2e 0d 0a 0d 0a 20 20 20 20 44 45 46 41 55 4c 54 5f 44 ets.a.mismatch.........DEFAULT_D
0480 52 49 56 45 20 20 20 20 20 20 20 20 20 20 20 42 59 54 45 0d 0a 0d 0a 54 68 69 73 20 69 73 20 20 RIVE...........BYTE....This.is..
04a0 74 68 65 20 69 6e 69 74 69 61 6c 20 64 65 66 61 75 6c 74 20 64 72 69 76 65 20 77 68 65 6e 20 74 the.initial.default.drive.when.t
04c0 68 65 20 73 79 73 74 65 6d 20 66 69 72 73 74 20 63 6f 6d 65 73 0d 0a 75 70 2e 20 20 64 72 69 76 he.system.first.comes..up...driv
04e0 65 20 61 3d 30 2c 20 64 72 69 76 65 20 62 3d 31 2c 20 20 65 74 63 2e 20 20 20 49 66 20 20 74 68 e.a=0,.drive.b=1,..etc....If..th
0500 65 20 20 62 69 6f 73 20 20 64 6f 65 73 6e 27 74 20 20 73 65 74 0d 0a 69 74 20 74 68 65 6e 20 64 e..bios..doesn't..set..it.then.d
0520 72 69 76 65 20 61 20 69 73 20 61 73 73 75 6d 65 64 2e 0d 0a 0d 0a 20 20 20 20 42 55 46 46 45 52 rive.a.is.assumed.........BUFFER
0540 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 59 54 45 0d 0a 0d 0a 54 68 69 73 20 69 S.................BYTE....This.i
0560 73 20 20 74 68 65 20 20 64 65 66 61 75 6c 74 20 20 6e 75 6d 62 65 72 20 6f 66 20 62 75 66 66 65 s..the..default..number.of.buffe
0580 72 73 20 66 6f 72 20 74 68 65 20 73 79 73 74 65 6d 2e 20 20 54 68 69 73 0d 0a 76 61 6c 75 65 20 rs.for.the.system...This..value.
05a0 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 62 79 20 74 68 65 20 75 73 65 72 20 69 6e may.be.overridden.by.the.user.in
05c0 20 20 74 68 65 20 20 43 4f 4e 46 49 47 2e 53 59 53 20 20 66 69 6c 65 2e 0d 0a 49 74 20 69 73 20 ..the..CONFIG.SYS..file...It.is.
05e0 44 42 65 64 20 74 6f 20 32 20 69 6e 20 53 59 53 49 4e 49 54 20 69 74 20 73 68 6f 75 6c 64 20 62 DBed.to.2.in.SYSINIT.it.should.b
0600 65 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 31 2e 0d 0a 0d 0a 20 20 20 20 46 49 4c 45 53 20 20 e.greater.than.1.........FILES..
0620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 59 54 45 0d 0a 0d 0a 54 68 69 73 20 69 73 .................BYTE....This.is
0640 20 20 74 68 65 20 20 64 65 66 61 75 6c 74 20 20 6e 75 6d 62 65 72 20 20 6f 66 20 20 66 69 6c 65 ..the..default..number..of..file
0660 73 20 66 6f 72 20 74 68 65 20 73 79 73 74 65 6d 2e 20 20 54 68 69 73 0d 0a 76 61 6c 75 65 20 6d s.for.the.system...This..value.m
0680 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 62 79 20 74 68 65 20 75 73 65 72 20 69 6e 20 ay.be.overridden.by.the.user.in.
06a0 20 74 68 65 20 20 43 4f 4e 46 49 47 2e 53 59 53 20 20 66 69 6c 65 2e 0d 0a 49 74 20 69 73 20 20 .the..CONFIG.SYS..file...It.is..
06c0 44 42 65 64 20 20 74 6f 20 20 38 20 69 6e 20 53 59 53 49 4e 49 54 2c 20 76 61 6c 75 65 73 20 6c DBed..to..8.in.SYSINIT,.values.l
06e0 65 73 73 20 74 68 61 6e 20 35 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0d 0a 0d 0a 20 20 20 20 53 ess.than.5.are.ignored.........S
0700 59 53 49 4e 49 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 41 52 0d 0a 0d 0a 54 68 YSINIT.................FAR....Th
0720 65 20 65 6e 74 72 79 20 20 70 6f 69 6e 74 20 20 6f 66 20 20 74 68 65 20 20 53 59 53 49 4e 49 54 e.entry..point..of..the..SYSINIT
0740 20 20 6d 6f 64 75 6c 65 2e 20 20 4f 45 4d 20 42 49 4f 53 20 6a 75 6d 70 73 20 74 6f 0d 0a 74 68 ..module...OEM.BIOS.jumps.to..th
0760 69 73 20 6c 61 62 65 6c 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 69 74 73 20 49 4e 49 54 20 is.label.at.the.end.of.its.INIT.
0780 63 6f 64 65 2e 0d 0a 0d 0a 20 20 20 20 54 68 65 20 4f 45 4d 20 20 68 61 73 20 20 74 68 65 20 20 code.........The.OEM..has..the..
07a0 66 6f 6c 6c 6f 77 69 6e 67 20 20 76 61 72 69 61 62 6c 65 73 20 64 65 63 6c 61 72 65 64 20 70 75 following..variables.declared.pu
07c0 62 6c 69 63 3a 0d 0a 0d 0a 20 20 20 20 52 45 5f 49 4e 49 54 20 20 20 20 20 20 20 20 20 20 20 20 blic:........RE_INIT............
07e0 20 20 20 20 20 46 41 52 0d 0a 0d 0a 54 68 69 73 20 69 73 20 61 6e 20 65 6e 74 72 79 20 70 6f 69 .....FAR....This.is.an.entry.poi
0800 6e 74 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 74 68 65 20 42 49 4f 53 20 74 6f 20 64 6f 20 73 nt.which.allows.the.BIOS.to.do.s
0820 6f 6d 65 20 49 4e 49 54 0d 0a 77 6f 72 6b 20 20 61 66 74 65 72 20 20 74 68 65 20 20 44 4f 53 20 ome.INIT..work..after..the..DOS.
0840 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 2e 20 20 41 4c 4c 20 52 45 47 49 53 54 45 52 53 20 4d is.initialized...ALL.REGISTERS.M
0860 55 53 54 20 42 45 0d 0a 50 52 45 53 45 52 56 45 44 2e 20 20 4f 6e 20 65 6e 74 72 79 20 44 53 20 UST.BE..PRESERVED...On.entry.DS.
0880 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 61 76 61 69 6c 61 62 6c 65 20 6d 65 points.to.the.first.available.me
08a0 6d 6f 72 79 0d 0a 28 61 66 74 65 72 20 20 74 68 65 20 44 4f 53 29 2e 20 20 44 53 3a 30 20 70 6f mory..(after..the.DOS)...DS:0.po
08c0 69 6e 74 73 20 74 6f 20 61 20 31 30 30 48 20 62 79 74 65 20 70 72 6f 67 72 61 6d 20 68 65 61 64 ints.to.a.100H.byte.program.head
08e0 65 72 0d 0a 70 72 65 66 69 78 20 77 68 69 63 68 20 72 65 70 72 65 73 65 6e 74 73 20 20 74 68 65 er..prefix.which.represents..the
0900 20 20 22 70 72 6f 67 72 61 6d 22 20 20 63 75 72 72 65 6e 74 6c 79 20 20 72 75 6e 6e 69 6e 67 2e .."program"..currently..running.
0920 0d 0a 54 68 69 73 20 20 70 72 6f 67 72 61 6d 20 20 73 68 6f 75 6c 64 20 20 62 65 20 20 74 68 6f ..This..program..should..be..tho
0940 75 67 68 74 20 20 6f 66 20 20 61 73 20 20 74 68 65 20 4f 45 4d 20 42 49 4f 53 20 61 6e 64 0d 0a ught..of..as..the.OEM.BIOS.and..
0960 53 59 53 49 4e 49 54 20 74 61 6b 65 6e 20 74 6f 67 65 74 68 65 72 2e 20 20 54 68 69 73 20 69 73 SYSINIT.taken.together...This.is
0980 20 6e 6f 74 20 20 61 20 20 6e 6f 72 6d 61 6c 20 20 70 72 6f 67 72 61 6d 20 20 69 6e 0d 0a 74 68 .not..a..normal..program..in..th
09a0 61 74 20 20 6e 6f 20 20 6d 65 6d 6f 72 79 20 20 69 73 20 20 61 6c 6c 6f 63 61 74 65 64 20 74 6f at..no..memory..is..allocated.to
09c0 20 69 74 2c 20 69 74 20 69 73 20 72 75 6e 6e 69 6e 67 20 69 6e 20 66 72 65 65 0d 0a 6d 65 6d 6f .it,.it.is.running.in.free..memo
09e0 72 79 2e 0d 0a 4e 4f 54 45 53 3a 0d 0a 20 20 20 20 20 41 74 20 74 68 65 20 74 69 6d 65 20 74 68 ry...NOTES:.......At.the.time.th
0a00 69 73 20 72 6f 75 74 69 6e 65 20 69 73 20 63 61 6c 6c 65 64 20 53 59 53 49 4e 49 54 20 6f 63 63 is.routine.is.called.SYSINIT.occ
0a20 75 70 69 65 73 20 74 68 65 0d 0a 68 69 67 68 65 73 74 20 31 30 4b 20 6f 66 20 6d 65 6d 6f 72 79 upies.the..highest.10K.of.memory
0a40 20 28 22 68 69 67 68 65 73 74 22 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 .("highest".is.determined.by.the
0a60 20 20 76 61 6c 75 65 0d 0a 6f 66 20 74 68 65 20 4d 45 4d 4f 52 59 5f 53 49 5a 45 20 76 61 72 69 ..value..of.the.MEMORY_SIZE.vari
0a80 61 62 6c 65 29 2c 20 44 4f 20 4e 4f 54 20 44 4f 20 57 52 49 54 45 53 20 54 48 45 52 45 2e 0d 0a able),.DO.NOT.DO.WRITES.THERE...
0aa0 20 20 20 20 20 53 69 6e 63 65 20 74 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 41 46 54 45 52 20 .....Since.this.is.called.AFTER.
0ac0 44 4f 53 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 2c 20 79 6f 75 20 63 61 6e 0d 0a 6d 61 6b DOS.is.initialized,.you.can..mak
0ae0 65 20 73 79 73 74 65 6d 20 63 61 6c 6c 73 2e 20 20 54 68 69 73 20 61 6c 73 6f 20 69 6d 70 6c 69 e.system.calls...This.also.impli
0b00 65 73 20 74 68 61 74 20 74 68 65 20 63 6f 64 65 20 66 6f 72 20 74 68 69 73 0d 0a 72 6f 75 74 69 es.that.the.code.for.this..routi
0b20 6e 65 20 20 20 20 43 41 4e 4e 4f 54 20 20 20 62 65 20 20 20 74 68 72 6f 77 6e 20 20 20 61 77 61 ne....CANNOT...be...thrown...awa
0b40 79 20 20 20 62 79 20 20 20 75 73 65 20 20 20 6f 66 20 20 20 74 68 65 0d 0a 46 49 4e 41 4c 5f 44 y...by...use...of...the..FINAL_D
0b60 4f 53 5f 4c 4f 43 41 54 49 4f 4e 20 73 69 6e 63 65 20 74 68 65 20 44 4f 53 20 68 61 73 20 61 6c OS_LOCATION.since.the.DOS.has.al
0b80 72 65 61 64 79 20 62 65 65 6e 20 6d 6f 76 65 64 2e 0d 0a 20 20 20 20 20 49 66 20 79 6f 75 20 64 ready.been.moved........If.you.d
0ba0 6f 6e 27 74 20 77 61 6e 74 20 20 61 6e 79 74 68 69 6e 67 20 64 6f 6e 65 20 6a 75 73 74 20 73 65 on't.want..anything.done.just.se
0bc0 74 20 74 68 69 73 20 74 6f 20 70 6f 69 6e 74 0d 0a 61 74 20 61 20 46 41 52 20 52 45 54 20 69 6e t.this.to.point..at.a.FAR.RET.in
0be0 73 74 72 75 63 74 69 6f 6e 2e 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 struction.......................