Skip to content

Commit 14161ae

Browse files
committed
devload v3.20rc
git-svn-id: http://svn.code.sf.net/p/fdos/code/trunk@124 d9247ac3-808d-4053-b241-f1a6b6229609
1 parent 953214e commit 14161ae

File tree

2 files changed

+80
-8
lines changed

2 files changed

+80
-8
lines changed

devload.asm

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
; TITLE DEVLOAD to load device drivers from command line.
55
; FORMAT EXE ; *** changed to COM in 3.12/newer ***
6-
; VERSION 3.19
6+
; VERSION 3.20
77
; CODE 80x86
88
; OPTIONS /ML
99
; TIME CHECK
1010
; DATE 12/3/92 - 31/3/98
1111
; AUTHOR David Woodhouse
1212
; (C) 1992, 1993 David Woodhouse.
13-
; Patches for 3.12 to 3.16, 3.17 - 3.19: 2004 to 2005, 2007 by Eric Auer
13+
; Patches for 3.12 to 3.16, 3.17 - 3.20: 2004 to 2005, 2007 by Eric Auer
1414

1515
; EXPLANATION...
1616
; The program first relocates itself to the top of the available memory
@@ -149,6 +149,10 @@
149149
; Also tune error messages, use generic text
150150
; for unlikely messages. Shorten help a bit.
151151

152+
; Version 3.20 13/9/2007 - Alexey: added EDR-DOS support
153+
; (for version WIP 17.6.2007 and newer ONLY!)
154+
; added fmake.bat & readme.txt
155+
152156
; .............................IMPROVEMENT IDEAS.............................
153157

154158

@@ -1594,9 +1598,9 @@ LASTBYTE equ $
15941598

15951599
; ................DATA WHICH ISN'T NEEDED AFTER RELOCATION...................
15961600

1597-
SignOnMsg db 'DEVLOAD v3.19 (C) 1992-1996 David Woodhouse '
1601+
SignOnMsg db 'DEVLOAD v3.20 (C) 1992-1996 David Woodhouse '
15981602
db ' <[email protected]>',13,10
1599-
db ' Patches for v3.12-3.19 by Eric Auer 2004-2007'
1603+
db ' Patches for v3.12-3.20 by Eric Auer 2004-2007'
16001604
db ' <Eric*coli.uni-sb.de>',13,10
16011605
db ' Loads device drivers.',13,10
16021606
; kind of obvious...: db ' Needs DOS 3 or newer.'
@@ -1700,26 +1704,39 @@ ver3: ; DR DOS up to 7.00 "are DOS 3.31" but pre-DR-6.0 fail:
17001704
; (drive parameter block) items, 20h bytes in DOS 3.x, 21h in 4.0-6.0
17011705
; FAT32 DPB start like FAT1x ones, but are 1ch bytes longer ... (3.17)
17021706
realver3: mov LDrSize,51h
1703-
mov byte ptr BlHSize,20h
1707+
mov byte ptr BlHSize,20h
17041708
mov NextBlHOfs,18h
17051709
jmp short classicver
17061710

17071711
okver: ; Check FAT32 compatibility: VER >= 7.01
1708-
; (new in 3.17, extended in 3.18)
1712+
; (new in 3.17, extended in 3.18 and in 3.20)
17091713
cmp al,5 ; new 3.17
17101714
jb classicver
1715+
push ax ; Save DOS version from int 21.3000
1716+
push bx ; Save OEM ID from int 21.3000
17111717
mov ax,3306h ; Get true DOS version
17121718
int 21h
17131719
mov cl,8 ; Swap BH and BL
17141720
ror bx,cl ;
17151721
cmp bx,0701h ; VER >= 7.01 ?
1722+
pop bx ; Restore DOS version from int 21.3000
1723+
pop ax ; Restore OEM ID from int 21.3000
17161724
jb classicver
17171725

17181726
; FAT32 aware version: larger DPB, but same DPB pointer / CDS size
1719-
mov byte ptr BlHSize,003Dh ; new 3.17
1727+
mov ch, 3Dh ; Set BlHSize (new in 3.20)
1728+
; Check EDR-DOS presence (added in 3.20)
1729+
; This code is required because EDR-DOS uses non-typical
1730+
; FAT32 DPB (it has 65 b size instead of 61 b)
1731+
jne stdFAT32 ; If VER != 7.01 - it is not EDR-DOS
1732+
cmp bx, 0EE00h ; 0EE00h is EDR-DOS OEM ID
1733+
jne stdFAT32 ;
1734+
cmp ax, 00006h ; EDR-DOS always returns ver 6.00
1735+
jne stdFAT32 ; after calling function int 21.3000
1736+
mov ch, 41h ; Increase DPB size for EDR-DOS (added in 3.20)
1737+
stdFAT32: mov byte ptr BlHSize, ch ; Set FAT32 DPB size (3Dh or 41h)
17201738

17211739
classicver:
1722-
17231740
; Check command line.
17241741

17251742
mov ds,PSPSeg

readme.txt

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
DEVLOAD 3.20 USER GUIDE
2+
-----------------------
3+
4+
DEVLOAD is an utility for loading device drivers from command line.
5+
It supports FAT16 & FAT32 block device drivers (e.g. DI1000DD.SYS and
6+
ASPIDISK.SYS), COM & EXE - style DOS device drivers and has a very
7+
compact binary file (less than 3Kb).
8+
9+
Usage
10+
-----
11+
Usage: DEVLOAD [switches] filename [params]
12+
Emulates: DEVICE=filename [params] in CONFIG.SYS
13+
14+
Switches:
15+
/? - display help message.
16+
/H - try to load driver to UMB.
17+
(equivalent of DEVICEHIGH=filename [params] in CONFIG.SYS)
18+
/Q - quiet mode.
19+
/V - verbose mode.
20+
/A - auto-mode (force to stay loaded).
21+
22+
Examples:
23+
1) USBASPI from command line
24+
DEVLOAD /H USBASPI.SYS /V /W
25+
DEVLOAD /H DI1000DD.SYS
26+
27+
2) ASPI driver for IDE (e.g. for CDRTOOLS)
28+
DEVLOAD ASPI.SYS
29+
30+
System requirements
31+
-------------------
32+
* DOS 3.00 and higher
33+
* Intel 8086 CPU, 640Kb of RAM
34+
* MS-DOS 7.1/8.0, PC-DOS 7.1, LZ-DOS 7.1,
35+
FreeDOS 1.0, EDR-DOS WIP 17.6.2007+
36+
for FAT32 block device drivers support
37+
38+
WARNING: DEVLOAD cannot load FAT32 block device drivers under PTS-DOS 32!
39+
40+
Files
41+
-----
42+
DEVLOAD.COM Binary file
43+
DEVLOAD.ASM Source code for TASM and ArrowASM
44+
FMAKE.BAT "Make" script for ArrowASM/WarpLink/UPX
45+
MAKE.BAT "Make" script for TASM/TLINK/UPX
46+
README.TXT This file
47+
48+
Compilation
49+
-----------
50+
If you have TASM, TLINK and UPX, run MAKE.BAT.
51+
If you have ArrowASM, WarpLink and UPX, run FMAKE.BAT.
52+
53+
ArrowASM: http://www.programmersheaven.com/download/1340/download.aspx
54+
WarpLink: http://www.devoresoftware.com/freesource/wlsrc.htm
55+
UPX: http://upx.sourceforge.net/

0 commit comments

Comments
 (0)