Changes for kernel 2028 (see history.txt)

git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@485 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Bart Oldeman 2002-12-09 00:17:15 +00:00
parent ed2036e139
commit e67a8f5058
95 changed files with 1522 additions and 3748 deletions

View File

@ -85,17 +85,4 @@ component. Study the makefile to better understand this.
$Id$
Log: build.txt,v
Revision 1.3 2000/08/15 03:42:17 jhall1
update to the build.txt file to remove references to the now-defunct
web site at gcfl.net (John's old site).
Revision 1.2 2000/05/08 04:27:48 jimtabor
Update CVS to 2020
Revision 1.2 1999/08/25 04:12:31 jprice
update
Revision 1.1 1999/08/25 03:46:41 jprice
New build config

View File

@ -1,13 +1,12 @@
Begin3
Title: The FreeDOS Kernel
Version: 2.0.27
Entered-date: xx Aug 2002
Version: 2.0.28
Entered-date: 09 Dec 2002
Description: The FreeDOS Kernel.
Keywords: kernel freedos dos msdos
Author: (developers)
Maintained-by: bart@dosemu.org
Maintained-by: bartoldeman@users.sourceforge.net
Primary-site: http://freedos.sourceforge.net
Alternate-site: www.dosemu.org/~bart
Original-site: http://www.gcfl.net/pub/FreeDOS/kernel
Platforms: dos dosemu
Copying-policy: GPL

View File

@ -1,3 +1,30 @@
2002 Dec 9 - Build 2028
-------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom
* move clock driver initialization to inittext
* new ELSE_ISFAT16 macro to save some bytes
* use _TEXT for old HMA_TEXT, _LOWTEXT for old _TEXT to get
a slightly less complicated memory model from the C compiler's
point of view.
* add support for int2f/4a01,4a02: query/allocate HMA space.
+ Changes Arkady V. Belousov
* slightly improved asm for print_hex and int2f clear_ax stuff
* use #error for unknown compilers
* remove hexDigits reference
* correct comment in kernel.asm (pad to 05fdh)
+ Changes Bart
* fix ss:sp init bug for int21/ax=4b01 (visible in DEBUG)
* fix redirection problem for character output routines
* fix press the any key message for floppy swaps
* correct cluster value for BAD cluster
* correct FAT12/16/32 cutoff magic values as per the MS spec
* the BUFFERS structure is now the same as in MSDOS 5+ and uses
a circular double-linked list using near pointers.
* move all old RCS log messages into one seperate file
* divide the fnode f_cluster_offset field by the size of a cluster:
this gives a more efficient map_cluster().
* point the CharMapSrvc pointer to the DOS DS for AARD compliance.
* nls.c: set CX to cooperate with load_unf.exe
2002 Nov 9 - Build 2027
-------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom

View File

@ -193,18 +193,3 @@ See COPYING in DOS-C root directory for license.
---------------------------------------------------------------------
$Id$
Log: intfns.txt,v
Revision 1.2 2000/03/18 05:51:55 kernel
changes in supported functions
Revision 1.1 1999/08/25 03:46:42 jprice
New build config
Revision 1.1.1.1 1999/03/29 15:39:16 jprice
New version without IPL.SYS
Revision 1.2 1999/03/02 06:55:51 jprice
Updated interrupt list

931
docs/oldhist.txt Normal file
View File

@ -0,0 +1,931 @@
13 Nov 2002 tom
initclk.c:
Initial revision
2001/11/04 bartoldeman
install.bat:
Text files need to be LF ended at the server. So be it...
2001/04/29 brianreifsnyder
dsk.c:
Added phase 1 support for LBA hard drives
20 Apr 2001 Bart Oldeman
buffer.h:
Initial revision.
2001/04/16 bartoldeman
dsk.c:
Fixed handles, config.sys drivers, warnings. Enabled INT21/AH=6C, printf %S/%Fs
2001/04/15 bartoldeman
dsk.c:
See history.txt for the list of fixes.
2001/03/27 bartoldeman
dsk.c:
dsk.c (reported by Nagy Daniel), inthndlr and int25/26 fixes by Tom Ehlert.
2001/03/24 bartoldeman
dsk.c:
See history.txt: dsk.c changes, warning removal and int21 entry handling.
2001/03/22 bartoldeman
install.bat:
Change LF to CR/LF in batch files.
2001/03/21 bartoldeman
dsk.c:
See history.txt for changes. Bug fixes and HMA support are the main ones.
2001/03/16 tom ehlert
inithma.c:
initial creation
2001/03/08 bartoldeman
dsk.c:
Space saving fixes from Tom Ehlert
2001/03/07 10:00:00 tomehlert
prf.c:
recoded for smaller object footprint, added main() for testing+QA
2000/10/29 jimtabor
inthndlr.c:
Adding Share Support by Ron Cemer
2000/08/15 jhall1
build.txt:
update to the build.txt file to remove references to the now-defunct
web site at gcfl.net (John's old site).
2000/08/06 jimtabor
inthndlr.c, nls_load.c:
Add new files and update cvs with patches and changes
2000/06/21 jimtabor
dsk.c, inthndlr.c:
Add UMB code, patch, and code fixes
2000/06/01 jimtabor
dsk.c:
Read History for Changes
2000/05/26 jimtabor
dsk.c:
Read History file for Change info
2000/05/25 jimtabor
dsk.c, inthndlr.c:
Fixed project history
2000/05/17 jimtabor
dsk.c, inthndlr.c:
Cleanup, add and fix source.
2000/05/11 jimtabor
inthndlr.c:
Removed #if statement
2000/05/11 jimtabor
dsk.c, inthndlr.c:
Added code for DOS FN 69 & 6C
2000/05/11 jimtabor
install.bat, inthndlr.c:
Clean up and Release
2000/05/08 jimtabor
inthndlr.c, dosnames.c, dsk.c, dosnames.h, build.txt:
Update CVS to 2020
2000/05/06 jhall1
getvec.asm, dsk.c, inthndlr.c:
The FreeDOS Kernel. A DOS kernel that aims to be 100% compatible with
MS-DOS. Distributed under the GNU GPL.
2000/04/29 jtabor
device.h, blockio.c, dsk.c, fatfs.c, inthndlr.c, ioctl.c:
Added new functions and clean up code
2000/04/02 jtabor
newstuff.c:
Fix ChgDir Code
2000/04/02 jtabor
dosfns.c:
Replaced ChgDir Code
2000/04/02 jtabor
dosfns.c:
Fix to DosChgDir
2000/03/31 jprice
sys.c:
Added discription of program.
2000/03/31 jtabor
config.c, dosfns.c, dosnames.c, fatdir.c, fcbfns.c, int2f.asm, main.c,
makefile, network.c, newstuff.c, proto.h, task.c:
Added Eric W. Biederman Patches
2000/03/23 ska
nls.c:
Initial revision
2000/03/20 kernel
entry.asm:
Change in Entry.asm
2000/03/18 kernel
intfns.txt:
changes in supported functions
2000/03/17 kernel
config.c, fatdir.c, fatfs.c, fcbfns.c, inthndlr.c, makefile,
network.c, nlssupt.asm, proto.h:
Steffen Kaiser's NLS changes
2000/03/17 kernel
inthndlr.c:
Fixed Func 0x32
2000/03/17 kernel
fatfs.c:
Added Change for media_check
2000/03/16 kernel
globals.h, inthndlr.c:
*** empty log message ***
2000/03/09 kernel
dosfns.c, dosnames.c, dsk.c, error.c, execrh.asm, fatdir.c, fatfs.c,
fcbfns.c, globals.h, initoem.c, int2f.asm, inthndlr.c, io.asm,
ioctl.c, kernel.asm, main.c, makefile, memmgr.c, misc.c, network.c,
newstuff.c, prf.c, proto.h, strings.c, sysclk.c, task.c, blockio.c,
break.c, chario.c, config.c, console.asm, cds.h, dcb.h, device.h,
dirmatch.h, fnode.h, mcb.h, sft.h, stacks.inc:
2017f updates by James Tabor
1999/09/25 jprice
boot.asm:
Optimize boot loader. Documentation.
1999/09/24 jprice
boot.asm:
Added changes recommended by Jens Horstmeier
to make their bootable CD work.
1999/09/23 jprice
main.c, network.c, proto.h, globals.h, inthndlr.c, kernel.asm,
makefile, config.c, console.asm, dosfns.c, entry.asm, fatfs.c,
fcbfns.c, chario.c, boot.asm, fcb.h, sys/makefile, sys.c:
*** empty log message ***
1999/09/20 jprice
sys.c:
Changed open/creat to fopen to make TC2 happy.
1999/09/15 jprice
sys.c:
Changed boot sector writing code so easier to read.
1999/09/14 jprice
lib/makefile:
no message
1999/09/14 jprice
sys.c:
Added debug log creation to sys.com.
1999/09/14 jprice
console.asm:
no message
1999/09/14 jprice
inthndlr.c:
ror4: fix int25 & 26 are not cached.
1999/09/14 jprice
fatfs.c, dosfns.c:
Fixed bug where you could write over directories.
1999/09/13 jprice
inthndlr.c, console.asm:
Fix 210B function
1999/09/13 jprice
console.asm:
Changes from Helmut Fritsch to fix INT21 func B
1999/09/13 jprice
makefile:
Some clean up.
1999/09/13 jprice
config.b, config.b:
Added COMPILER variable
1999/09/13 jprice
lib/makefile:
Added !if so we can use TC2 or TC3 to compile.
1999/08/25 jprice
build.txt:
update
1999/08/25 jprice
config.b, clobber.bat, clean.bat, config.b, build.bat:
New build batch files.
1999/08/25 jprice
intfns.txt, build.txt, build.bat:
New build config
1999/08/25 jprice
config.b, sys/makefile, sys.c, lib/makefile, task.c, main.c, makefile,
memmgr.c, newstuff.c, proto.h, strings.c, fatfs.c, globals.h,
initoem.c, inthndlr.c, blockio.c, chario.c, config.c, dosfns.c,
fatdir.c, date.h, dirmatch.h, portab.h, time.h, drivers/makefile,
install.bat:
ror4 patches to allow TC 2.01 compile.
1999/08/10 jprice
clobber.bat:
case
1999/08/10 jprice
dsk.c, inthndlr.c:
ror4 2011-04 patch
1999/08/10 jprice
globals.h, inthndlr.c, fatfs.c, fattab.c, blockio.c:
ror4 2011-03 patch
1999/08/10 jprice
irqstack.asm, kernel.asm, makefile, nlssupt.asm, printer.asm,
procsupt.asm, segs.inc, apisupt.asm, asmsupt.asm, console.asm, entry.asm, execrh.asm, fatdir.c,
int2f.asm, io.asm, io.inc, stacks.inc:
ror4 2011-02 patch
1999/08/10 jprice
wrpcclk.asm, wratclk.asm, rdpcclk.asm, drivers/makefile, getvec.asm, floppy.asm:
ror4 2011-01 patch
1999/05/04 jprice
systime.c:
ror4 date fix
1999/05/03 jprice
fat.h:
Changed some variables from signed to unsigned.
1999/05/03 jprice
blockio.c, config.c, dosfns.c, fatdir.c, fatfs.c, fattab.c, globals.h,
inthndlr.c, misc.c, proto.h:
Patches from ror4 and many changed of signed to unsigned variables.
1999/05/03 jprice
sys/makefile:
no message
1999/05/03 jprice
fatfs.c:
Fixed bug in map_cluster function
1999/05/03 jprice
blockio.c:
Changed getblock & getbuf so that they leave at least 3 buffer for FAT data.
1999/04/23 jprice
procsupt.asm:
Fixed got_cbreak function.
1999/04/23 jprice
makefile:
no message
1999/04/23 jprice
asmsupt.asm, inthndlr.c, memmgr.c, misc.c, proto.h, task.c:
Memory manager changes made by ska
1999/04/23 jprice
clobber.bat:
Initial include
1999/04/23 jprice
clean.bat, build.bat, sys/makefile, lib/makefile, makefile, drivers/makefile:
Improved by jprice
1999/04/23 jprice
boot/makefile:
Ported to NASM by ror4. Improvements
1999/04/23 jprice
boot.asm:
Ported to NASM by ror4
1999/04/21 jprice
blockio.c:
no message
1999/04/18 jprice
blockio.c:
no message
1999/04/17 jprice
sys.c, boot.asm:
Fixed multi-sector code
1999/04/17 jprice
build.bat:
ror4 patches
1999/04/17 jprice
boot.asm:
Changed so multi-sector IO is optional.
1999/04/16 jprice
blockio.c, config.c, dsk.c, globals.h, main.c, proto.h, floppy.asm:
ror4 multi-sector IO
1999/04/16 jprice
break.c:
Steffen contributed.
1999/04/16 jprice
dosfns.c, globals.h, inthndlr.c, irqstack.asm, main.c, makefile, procsupt.asm,
proto.h, chario.c, config.c:
Steffen c-break handler changes
1999/04/16 jprice
fatfs.c, fattab.c, globals.h, main.c, task.c, blockio.c, config.c,
dsk.c, fatdir.c, fnode.h, dcb.h:
Optimized FAT handling
1999/04/13 jprice
kernel.asm:
changes for boot loader
1999/04/13 jprice
boot.asm:
Moves boot sector to top of mem
1999/04/13 jprice
makefile, fatdir.c, drivers/makefile:
no message
1999/04/12 jprice
fatfs.c, blockio.c:
Using getbuf to write data instead of getblock
using getblock made it read the block before it wrote it
1999/04/12 jprice
systime.c, config.c, dosfns.c, fatfs.c, globals.h, main.c, proto.h,
sysclk.c:
more ror4 patches. Changes for multi-block IO
1999/04/12 jprice
rdpcclk.asm, rdatclk.asm:
more ror4 patches
1999/04/11 jprice
blockio.c:
Working on multi-block IO
1999/04/11 jprice
globals.h, inthndlr.c, main.c, newstuff.c, proto.h, task.c, blockio.c,
config.c, dosfns.c, fatdir.c, fatfs.c, fattab.c:
ror4 patches
1999/04/06 jprice
boot.asm:
Put back code to read multiple sectors at a time.
1999/04/04 jprice
config.c, globals.h, inthndlr.c, main.c, dosfns.c, dosnames.c,
fatdir.c, fatfs.c, fcbfns.c, globals.h, inthndlr.c, ioctl.c, main.c,
newstuff.c, prf.c, proto.h, strings.c, chario.c, sft.h, device.h:
no message
1999/04/01 jprice
sys.c:
SYS modified for new boot loader
1999/04/01 jprice
boot/makefile, boot.asm:
New boot loader
1999/04/01 jprice
install.bat:
no message
1999/03/29 jprice
wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, drivers/makefile,
getvec.asm, floppy.asm, globals.h, io.inc, task.c:
ror4 changes
1999/03/29 jprice
sys.c:
Fixed error message
1999/03/29 jprice
sys.c, syspack.c, prf.c, misc.c, fcbfns.c, fattab.c, fatfs.c,
fatdir.c, error.c, dosnames.c, dosfns.c, chario.c, blockio.c, task.c,
systime.c, sysclk.c, strings.c, proto.h, segs.inc, procsupt.asm,
printer.asm, nlssupt.asm, newstuff.c, memmgr.c, main.c, makefile,
kernel.asm, irqstack.asm, ioctl.c, io.inc, io.asm, inthndlr.c,
int2f.asm, globals.h, initoem.c, execrh.asm, entry.asm, dsk.c,
console.asm, config.c, asmsupt.asm, apisupt.asm, wrpcclk.asm,
wratclk.asm, rdpcclk.asm, rdatclk.asm, getvec.asm, floppy.asm,
drivers/makefile, install.bat, boot/makefile, boot.asm, tail.h,
time.h, sft.h, stacks.inc, process.h, portab.h, pcb.h, kbd.h, mcb.h,
file.h, fnode.h, fcb.h, exe.h, fat.h, dosnames.h, error.h, device.h,
date.h, dcb.h, cds.h, clock.h, dirmatch.h, intfns.txt, clean.bat,
build.bat:
New version without IPL.SYS
1999/03/25 jprice
fatdir.c:
Fixed findfirst & findnext functions to treat the attributes like MSDOS does.
1999/03/23 jprice
inthndlr.c:
Now sets carry when we don't support a function
1999/03/23 jprice
config.c:
Now checks for a reads fdconfig.sys file, if exists
1999/03/23 jprice
fatfs.c:
Fixed mkdir DOS function so it will create a directory with same name as the volument label
1999/03/02 jprice
inthndlr.c:
Added some comments. Fixed some minor bugs.
1999/03/02 jprice
fatfs.c:
Fixed bugs with dos set attribute function. Now returns correct
error code, and errors if user tries to set bits 6 & 7.
1999/03/02 jprice
boot.asm:
Added entry address for more recent versions of TLINK
1999/03/02 jprice
intfns.txt:
Updated interrupt list
1999/03/01 jprice
makefile:
Fixed so it'll work with config.mak
1999/03/01 jprice
makefile:
Turned off DEBUG define.
1999/03/01 jprice
inthndlr.c:
Added some DEBUG ifdef's so that it will compile without DEBUG defined.
1999/02/14 jprice
fatdir.c, dsk.c:
Changed check media so that it checks if a floppy disk has been changed.
1999/02/14 jprice
floppy.asm:
Added functions to check if a floppy disk has been changed.
1999/02/09 jprice
makefile, drivers/makefile, boot/makefile, clean.bat, build.bat:
Make makefile use common config.mak file
1999/02/09 jprice
blockio.c, chario.c, dosfns.c, error.c, fatdir.c, fatfs.c, fattab.c,
fcbfns.c, device.h, error.h, sysclk.c, systime.c, task.c, apisupt.asm,
asmsupt.asm, config.c, console.asm, dsk.c, entry.asm, execrh.asm,
globals.h, initoem.c, int2f.asm, inthndlr.c, io.asm, io.inc, ioctl.c,
irqstack.asm, kernel.asm, main.c, makefile, memmgr.c, newstuff.c,
nlssupt.asm, printer.asm, procsupt.asm, proto.h, segs.inc, floppy.asm:
Added Pat's 1937 kernel patches
1999/02/04 jprice
chario.c, fatfs.c, fcbfns.c, strings.c, sysclk.c, systime.c, task.c:
Formating. Added comments.
1999/02/04 jprice
inthndlr.c:
Formating
1999/02/04 jprice
makefile:
Added option to share constants (-d).
1999/02/04 jprice
device.h:
no message
1999/02/02 jprice
dosnames.c:
Steve Miller fixed a bug with doing "cd ." would lock the machine.
1999/02/01 jprice
apisupt.asm, asmsupt.asm, config.c, dsk.c, entry.asm, execrh.asm, globals.h,
initoem.c, int2f.asm, inthndlr.c, ioctl.c, irqstack.asm, kernel.asm,
main.c, memmgr.c, newstuff.c, nlssupt.asm, procsupt.asm, proto.h,
strings.c, sysclk.c, systime.c, task.c:
Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
1999/02/01 jprice
chario.c, dosfns.c, dosnames.c, error.c, fatdir.c, fatfs.c, fattab.c,
fcbfns.c, misc.c, prf.c, syspack.c, blockio.c:
Fixed findfirst function to find volume label with Windows long filenames
1999/02/01 jprice
cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
sft.h, stacks.inc, tail.h, time.h:
Clean up
1999/01/30 jprice
clean.bat, build.bat:
Clean up
1999/01/30 jprice
main.c, config.c, initoem.c, inthndlr.c:
Clean up; Fixed bug with set attribute function.
1999/01/30 jprice
globals.h:
Clean up; commented out copyright messages while we debug.
1999/01/30 jprice
blockio.c, fatdir.c, fatfs.c:
Clean up; Fixed bug with set attribute function. If you tried to
change the attributes of a directory, it would erase it.
1999/01/30 jprice
cds.h, clock.h, error.h, fat.h, fnode.h, build.bat:
Clean up
1999/01/22 jprice
cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
sft.h, stacks.inc, tail.h, time.h, wrpcclk.asm, wratclk.asm,
rdpcclk.asm, rdatclk.asm, drivers/makefile, getvec.asm, floppy.asm,
blockio.c, chario.c, dosfns.c, dosnames.c, error.c, fatdir.c, fatfs.c,
fattab.c, fcbfns.c, misc.c, prf.c, syspack.c, procsupt.asm, proto.h,
strings.c, sysclk.c, systime.c, task.c, globals.h, initoem.c,
int2f.asm, inthndlr.c, ioctl.c, irqstack.asm, kernel.asm, main.c,
makefile, memmgr.c, newstuff.c, nlssupt.asm, apisupt.asm, asmsupt.asm,
config.c, dsk.c, entry.asm, execrh.asm, boot/makefile, boot.asm:
Formating.
1999/01/21 jprice Fixed comments.
sys.c:
Added indent program
1999/01/21 jprice Added messages to sys. Also made
sys.c:
it create a .COM file.
1999/01/20 jprice
cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
sft.h, stacks.inc, tail.h, time.h, apisupt.asm, asmsupt.asm, config.c, dsk.c,
entry.asm, execrh.asm, globals.h, initoem.c, int2f.asm, ioctl.c, irqstack.asm,
kernel.asm, main.c, makefile, memmgr.c, newstuff.c, nlssupt.asm,
procsupt.asm, proto.h, strings.c, sysclk.c, systime.c, task.c:
Imported sources
1999/01/20 jprice
wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, drivers/makefile,
getvec.asm, floppy.asm, boot/makefile, boot.asm, blockio.c, chario.c, dosfns.c,
dosnames.c, error.c, fatdir.c, fatfs.c, fattab.c, fcbfns.c,
inthndlr.c, misc.c, prf.c, syspack.c:
Imported sources
10 Jan 1999 SRM
makefile:
Took out "/P-" from TLINK
Changed "bcc" to "tcc"
06 Dec 1998 patv
entry.asm:
New int 21h handler code.
06 Dec 1998 patv
inthndlr.c:
Expanded due to improved int 21h handler code.
06 Dec 1998 patv
ioctl.c, proto.h, apisupt.asm, globals.h:
Expanded due to new I/O subsystem.
06 Dec 1998 patv
makefile:
Added new files for I/O subsystem.
06 Dec 1998 patv
main.c, dsk.c:
Changed due to new I/O subsystem.
06 Dec 1998 patv
irqstack.asm, newstuff.c, int2f.asm, kernel.asm, systime.c,
nlssupt.asm, asmsupt.asm, procsupt.asm, task.c, execrh.asm, fatdir.c,
fatfs.c:
Bug fixes.
06 Dec 1998 patv
dosfns.c:
Expanded dos functions due to new I/O subsystem.
06 Dec 1998 patv
fcbfns.c:
Expanded fcb functions for new I/O subsystem.
06 Dec 1998 patv
error.c:
Now handles errors like MS-DOS.
06 Dec 1998 patv
chario.c:
changes in character I/O because of new I/O subsystem.
06 Dec 1998 patv
blockio.c:
Changes in block I/O because of new I/O subsystem.
06 Dec 1998 patv
floppy.asm:
New floppy support functions.
06 Dec 1998 patv
device.h:
Changed for new I/O subsystem
06 Dec 1998 patv
error.h:
Added new errors for new I/O subsystem.
06 Dec 1998 patv
io.inc, segs.inc:
Initial revision.
09 Feb 1998 patv
fatfs.c, fattab.c:
Eliminated FAT12 EOF and error returns.
07 Feb 1998 patv
stacks.inc, pcb.h, entry.asm, procsupt.asm, inthndlr.c, task.c,
globals.h, proto.h:
Modified stack fram to match DOS standard
03 Feb 1998 patv
kernel.asm:
Added a start-up stack for loadable device drivers. Need the separate
stack so that all int 21h functions can be called.
03 Feb 1998 patv
fatfs.c:
Fixed lseek bug.
02 Feb 1998 patv
globals.h:
Fixed size of default_drive. Caused failures when break_ena was not zero.
31 Jan 1998 patv
task.c:
Corrected type in load high code.
31 Jan 1998 patv
task.c:
Added load high in memory option in DosExeLoader.
22 Jan 1998 patv
task.c:
Eliminated warnings.
22 Jan 1998 patv
process.h:
Had to change ps_prevps to VOID FAR * due to BC++ error.
22 Jan 1998 patv
process.h:
Corrected ps_prevpsp declaration.
22 Jan 1998 patv
task.c:
Corrected short .COM problem.
22 Jan 1998 patv
makefile:
Outdated stacks.asm.
22 Jan 1998 patv
fatfs.c:
Corrected remaining file name and extension copies that did not
account for far file nodes due to allocated FILES= spec.
22 Jan 1998 patv
inthndlr.c, proto.h, config.c, globals.h, kernel.asm, main.c,
blockio.c, dosnames.c, fatdir.c, fatfs.c:
Fixed pointer problems affecting SDA
11 Jan 1998 patv
ioctl.c, proto.h, chario.c, device.h:
Added functionality to ioctl.
08 Jan 1998 patv
chario.c:
Changed automatic requestic packets to static to save stack space.
06 Jan 1998 patv
inthndlr.c:
Broke apart int21_system from int21_handler.
06 Jan 1998 patv
kernel.asm:
Reduced device driver stack sizes.
04 Jan 1998 patv
globals.h, proto.h, inthndlr.c, newstuff.c, systime.c, main.c,
config.c, ioctl.c, memmgr.c, dsk.c, initoem.c, strings.c, sysclk.c,
task.c, fatfs.c, chario.c, dosfns.c, dosnames.c, fattab.c, fcbfns.c,
prf.c, syspack.c, blockio.c, error.c, fatdir.c, misc.c, device.h,
cds.h, clock.h, date.h, dcb.h, fat.h, file.h, fnode.h, kbd.h, mcb.h,
pcb.h, sft.h, dirmatch.h, error.h, exe.h, fcb.h, portab.h, process.h,
tail.h, time.h:
Changed Log for strip utility
04 Jan 1998 patv
kernel.asm, inthndlr.c, main.c, config.c, newstuff.c, fatfs.c:
Corrected subdirectory bug
03 Jan 1998 patv
globals.h, kernel.asm, makefile, systime.c, inthndlr.c, main.c,
proto.h, asmsupt.asm, dosfns.c, dosnames.c, fatfs.c, blockio.c,
fatdir.c, fcbfns.c:
Converted data area to SDA format
31 Dec 1997 patv
strings.c:
Added new far string functions.
30 Dec 1997 patv
chario.c:
Modified to support SDA
01 Aug 1997 patv
inthndlr.c:
COMPATIBILITY: Added return '$' in AL for function int 21h fn 09h
06 Feb 1997 patv
kernel.asm:
Reduced stack sizes for block and clock devices.
06 Feb 1997 patv
globals.h:
Changed version format string
06 Feb 1997 patv
main.c:
Modified to support new version format and changed debug message to
output drive letter instead of number.
06 Feb 1997 patv
globals.h:
Modified to support new version format
06 Feb 1997 patv
inthndlr.c, kernel.asm:
Added hooks for tsc command
30 Jan 1997 patv
makefile:
Added TSC flag for trace support.
22 Jan 1997 patv
newstuff.c, inthndlr.c, task.c, irqstack.asm:
pre-0.92 Svante Frey bug fixes.
22 Jan 1997 patv
globals.h:
Changed to support version.h and pre-0.92 Svante Frey bug fixes.
22 Jan 1997 patv
main.c:
Now does correct default drive initialization.
22 Jan 1997 patv
fatfs.c, dosfns.c:
pre-0.92 bug fixes
16 Jan 1997 patv
irqstack.asm:
Initial revision.
16 Jan 1997 patv
globals.h, main.c, memmgr.c, task.c, ioctl.c, config.c, inthndlr.c,
apisupt.asm, nlssupt.asm, proto.h, makefile, fcbfns.c, chario.c,
dosnames.c, blockio.c, dosfns.c, fatdir.c, fatfs.c, fattab.c,
device.h, fcb.h, sft.h, dsk.c, boot.asm:
Corrected copyright
10 Jan 1997 patv
boot.asm:
Re-written to support C drive and eliminate restrictions on IPL.SYS
10 Jan 1997 patv
boot/makefile:
Changed to use FreeDOS exe2bin and support new boot code
17 Dec 1996 patv
boot/makefile:
Converted to FreeDOS exe2bin.
13 Sep 1996 patv
globals.h:
Fixed boot for hard drive
29 Aug 1996 patv
makefile, globals.h, task.c, floppy.asm, wrpcclk.asm, wratclk.asm,
drivers/makefile, rdpcclk.asm, rdatclk.asm, getvec.asm, boot/makefile,
boot.asm:
Bug fixes for v0.91b
29 May 1996 patv
clock.h, date.h, dcb.h, kbd.h, dirmatch.h, error.h, exe.h, sft.h,
tail.h, time.h, fnode.h, mcb.h, pcb.h, portab.h, process.h,
dosnames.h, fat.h, fcb.h, file.h, device.h, dosfns.c, fatdir.c,
misc.c, fatfs.c, fattab.c, fcbfns.c, chario.c, dosnames.c, syspack.c,
blockio.c, error.c, prf.c, initoem.c, sysclk.c, int2f.asm, config.c,
kernel.asm, inthndlr.c, proto.h, systime.c, apisupt.asm, asmsupt.asm,
nlssupt.asm, procsupt.asm, task.c, globals.h, memmgr.c, dsk.c, main.c,
makefile, execrh.asm, ioctl.c, strings.c:
bug fixes for v0.91a
19 Feb 1996 patv
int2f.asm:
Initial revision.
19 Feb 1996 patv
makefile, kernel.asm, nlssupt.asm, proto.h, globals.h, config.c,
inthndlr.c, task.c, dsk.c, main.c, memmgr.c, strings.c, initoem.c,
ioctl.c, sysclk.c, systime.c, fatdir.c, misc.c, fatfs.c, dosfns.c,
dosnames.c, fattab.c, drivers/makefile, cds.h, dirmatch.h, exe.h,
sft.h, tail.h, time.h, fcb.h, file.h, fnode.h, mcb.h, pcb.h, portab.h,
process.h, clock.h, date.h, dcb.h, device.h, dosnames.h, fat.h,
error.h, kbd.h:
Added NLS, int2f and config.sys processing
01 Sep 1995 patv
wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, getvec.asm,
floppy.asm, boot.asm, apisupt.asm, asmsupt.asm, proto.h, kernel.asm,
procsupt.asm, execrh.asm, strings.c, task.c, inthndlr.c, memmgr.c,
dsk.c, main.c, sysclk.c, globals.h, initoem.c, ioctl.c, systime.c,
dosfns.c, blockio.c, error.c, misc.c, dosnames.c, fcbfns.c, chario.c,
fattab.c, prf.c, syspack.c, fatfs.c, fatdir.c, time.h, pcb.h,
portab.h, process.h, sft.h, tail.h, fat.h, fcb.h, file.h, fnode.h,
mcb.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, clock.h,
error.h, exe.h, kbd.h:
First GPL release.
30 Jul 1995 patv
dsk.c, memmgr.c, proto.h, strings.c, task.c, blockio.c, misc.c, chario.c,
dosnames.c, error.c, fattab.c, fcbfns.c, prf.c, syspack.c, dosfns.c,
fatdir.c, fatfs.c, mcb.h, pcb.h, portab.h, process.h, sft.h, tail.h,
time.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, fat.h, fcb.h,
file.h, fnode.h, clock.h:
Eliminated version strings in ipl
30 Jul 1995 patv
error.h, kbd.h, exe.h:
Fixed ipl
30 Jul 1995 patv
boot.asm:
Initialized stack before use.
05 Jul 1995 patv
asmsupt.asm, proto.h:
Initial revision.
02 Jul 1995 patv
boot.asm, time.h, tail.h, process.h, sft.h, portab.h, pcb.h, kbd.h,
mcb.h, fnode.h, file.h, fat.h, fcb.h, exe.h, error.h, dirmatch.h,
dosnames.h, dcb.h, device.h, date.h, clock.h, boot/makefile,
procsupt.asm, kernel.asm, execrh.asm, apisupt.asm, task.c, strings.c,
inthndlr.c, main.c, memmgr.c, dsk.c, sysclk.c, systime.c, ioctl.c,
initoem.c, globals.h, makefile, misc.c, error.c, fcbfns.c, dosnames.c,
chario.c, syspack.c, prf.c, fattab.c, fatfs.c, fatdir.c, dosfns.c,
blockio.c, wrpcclk.asm, wratclk.asm, getvec.asm, rdpcclk.asm,
rdatclk.asm, floppy.asm, drivers/makefile:
Initial revision.
25 May 1993 patv
dirmatch.h:
Initial revision.

View File

@ -30,7 +30,7 @@
%ifndef SYS
%include "..\kernel\segs.inc"
segment HMA_TEXT
segment _TEXT
%else
segment _TEXT class=CODE
%endif

View File

@ -30,7 +30,7 @@
%include "..\kernel\segs.inc"
segment HMA_TEXT
segment _TEXT
global _getvec
_getvec:

View File

@ -32,7 +32,7 @@
%include "..\kernel\segs.inc"
segment HMA_TEXT
segment _TEXT
;
;COUNT ReadATClock(bcdDays, bcdHours, bcdMinutes, bcdSeconds)

View File

@ -30,7 +30,7 @@
%include "..\kernel\segs.inc"
segment HMA_TEXT
segment _TEXT
;
; BOOL ReadPCClock(Ticks)

View File

@ -30,7 +30,7 @@
%include "..\kernel\segs.inc"
segment HMA_TEXT
segment _TEXT
;
; VOID WriteATClock(bcdDays, bcdHours, bcdMinutes, bcdSeconds)

View File

@ -29,7 +29,7 @@
;
%include "..\kernel\segs.inc"
segment HMA_TEXT
segment _TEXT
;

View File

@ -39,26 +39,24 @@ static BYTE *buffer_hRcsId =
#define BUFFERSIZE 512
struct buffer {
WORD b_dummy; /* dummy self pointing word to keep MFT from crashing */
struct buffer
FAR *b_next; /* form linked list for LRU */
UWORD b_next; /* next buffer in LRU list */
UWORD b_prev; /* previous buffer in LRU list */
BYTE b_unit; /* disk for this buffer */
BYTE b_flag; /* buffer flags */
ULONG b_blkno; /* block for this buffer */
UBYTE b_copies; /* number of copies to write */
UWORD b_offset; /* offset in sectors between copies
to write for FAT sectors */
struct dpb FAR *b_dpbp; /* pointer to DPB */
UWORD b_remotesz; /* size of remote buffer if remote */
BYTE b_padding;
UBYTE b_buffer[BUFFERSIZE]; /* 512 byte sectors for now */
};
#define BFR_UNCACHE 0x80 /* indication, not really used */
#define BFR_DIRTY 0x40 /* buffer modified */
#define BFR_VALID 0x20 /* buffer contains valid data */
#define BFR_DATA 0x08 /* buffer is from data area */
#define BFR_DIR 0x04 /* buffer is from dir area */
#define BFR_FAT 0x02 /* buffer is from fat area */
#define BFR_BOOT 0x01 /* buffer is boot disk */
#define BFR_UNCACHE 0x01 /* buffer to be released ASAP */
/*
* Log: buffer.h,v
* Rev 1.0 20 Apr 2001 17:30:00 Bart Oldeman
* Initial revision.
*/

View File

@ -94,30 +94,3 @@ struct cds {
#define CDS_MODE_SKIP_PHYSICAL 0x01 /* don't resolve SUBST, JOIN, NETW */
#define CDS_MODE_CHECK_DEV_PATH 0x02 /* check for existence of device path */
/*
* Log: cds.h,v
* Revision 1.2 2000/03/09 06:06:38 kernel
* 2017f updates by James Tabor
*
* Revision 1.1.1.1 1999/03/29 15:39:22 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.3 1999/01/30 08:21:43 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
Rev 1.1 04 Jan 1998 23:14:18 patv
Changed Log for strip utility
Rev 1.0 19 Feb 1996 3:15:52 patv
Added NLS, int2f and config.sys processing
*/

View File

@ -45,40 +45,3 @@ struct ClockRecord {
UBYTE clkSeconds; /* residual seconds. */
};
/*
* Log: clock.h,v
*
* Revision 1.1.1.1 1999/03/29 15:39:22 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.3 1999/01/30 08:21:43 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:20 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:30 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:38 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:46 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:26 patv
* Initial revision.
*/

View File

@ -55,40 +55,3 @@ typedef UWORD date;
#endif
/*
* Log: date.h,v
*
* Revision 1.2 1999/08/25 03:17:11 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.1.1.1 1999/03/29 15:39:23 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:20 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:30 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:40 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:28 patv
* Initial revision.
*/

View File

@ -90,43 +90,3 @@ struct dpb {
#define XUNKNCLSTFREE 0xffffffffl /* unknown for DOS */
#define UNKNCLSTFREE 0xffff /* unknown for DOS */
/*
* Log: dcb.h,v
*
* Revision 1.3 2000/03/09 06:06:38 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/04/16 00:52:09 jprice
* Optimized FAT handling
*
* Revision 1.1.1.1 1999/03/29 15:39:23 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:20 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:30 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:40 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:30 patv
* Initial revision.
*/

View File

@ -476,61 +476,3 @@ WORD ASMCFUNC execrh(request FAR *, struct dhdr FAR *);
* end of device.h
*/
/*
* Log: device.h,v
*
* Revision 1.4 2000/04/29 05:13:16 jtabor
* Added new functions and clean up code
*
* Revision 1.3 2000/03/09 06:06:38 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/04/04 18:50:14 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:39:26 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/08 05:58:24 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/04 03:08:47 jprice
* no message
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.8 06 Dec 1998 8:41:30 patv
* Changed for new I/O subsystem
*
* Rev 1.7 11 Jan 1998 2:05:54 patv
* Added functionality to ioctl.
*
* Rev 1.6 04 Jan 1998 23:14:20 patv
* Changed Log for strip utility
*
* Rev 1.5 16 Jan 1997 12:46:06 patv
* pre-Release 0.92 feature additions
*
* Rev 1.4 29 May 1996 21:25:12 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:30 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:40 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:30 patv
* Initial revision.
*/

View File

@ -67,46 +67,3 @@ typedef struct {
BYTE dm_name[FNAME_SIZE + FEXT_SIZE + 2]; /* file name */
} dmatch;
/*
* Log: dirmatch.h,v
* Revision 1.3 2000/03/09 06:06:38 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/08/25 03:17:11 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.1.1.1 1999/03/29 15:39:21 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:16 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:18 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:40 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:34 patv
* Initial revision.
*
* Rev 1.0 25 May 1993 23:30:26 patv
* Initial revision.
*
*/

View File

@ -44,36 +44,3 @@ struct dosnames {
UBYTE dn_name[FNAME_SIZE + FEXT_SIZE + 1]; /* the file name */
};
/*
* Log: dosnames.h,v
* Revision 1.2 2000/05/08 04:28:22 jimtabor
* Update CVS to 2020
*
* Revision 1.1.1.1 1999/03/29 15:39:27 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.4 29 May 1996 21:25:14 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:30 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:40 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:34 patv
* Initial revision.
*/

View File

@ -86,46 +86,3 @@ static BYTE *error_hRcsId =
#define ABORT 2
#define FAIL 3
/*
* Log: error.h,v
*
* Revision 1.1.1.1 1999/03/29 15:39:27 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/08 05:58:24 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.3 1999/01/30 08:21:43 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.6 06 Dec 1998 8:41:00 patv
* Added new errors for new I/O subsystem.
*
* Rev 1.5 04 Jan 1998 23:14:16 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:18 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:28 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:38 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:42:28 patv
* fixed ipl
*
* Rev 1.0 02 Jul 1995 10:39:36 patv
* Initial revision.
*/

View File

@ -55,37 +55,3 @@ typedef struct {
#define MAGIC 0x5a4d
#define OLD_MAGIC 0x4d5a
/*
* Log: exe.h,v
*
* Revision 1.1.1.1 1999/03/29 15:39:28 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:16 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:18 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:38 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:41:56 patv
* Fixed ipl
*
* Rev 1.0 02 Jul 1995 10:39:38 patv
* Initial revision.
*/

View File

@ -65,9 +65,29 @@ static BYTE *fat_hRcsId =
/* Test for 16 bit or 12 bit FAT */
#define SIZEOF_CLST16 2
#define SIZEOF_CLST32 4
#define FAT_MAGIC 4086
#define FAT_MAGIC16 ((unsigned)65526l)
#define FAT_MAGIC32 268435456l
/* FAT cluster special flags */
#define FREE 0x000
#ifdef WITHFAT32
#define LONG_LAST_CLUSTER 0x0FFFFFFFl
#define LONG_BAD 0x0FFFFFF7l
#else
#define LONG_LAST_CLUSTER 0xFFFF
#define LONG_BAD 0xFFF7
#endif
#define MASK16 0xFFF8
#define BAD16 0xFFF7
#define MASK12 0xFF8
#define BAD12 0xFF7
/* magic constants: even though FF7 is BAD so FF6 could be a valid cluster
no., MS docs specify that FF5 is the maximal possible cluster number
for FAT12; similar for 16 and 32 */
#define FAT_MAGIC 4085
#define FAT_MAGIC16 ((unsigned)65525l)
#define FAT_MAGIC32 268435455l
/* int ISFAT32(struct dpb FAR *dpbp);*/
#define ISFAT32(x) _ISFAT32(x)
@ -77,6 +97,7 @@ static BYTE *fat_hRcsId =
*/
#define _ISFAT32(dpbp) (((dpbp)->dpb_fatsize)==0)
#define ISFAT16(dpbp) (((dpbp)->dpb_size)>FAT_MAGIC && ((dpbp)->dpb_size)<=FAT_MAGIC16 )
#define ELSE_ISFAT16(dpbp) (((dpbp)->dpb_size)<=FAT_MAGIC16 )
#define ISFAT12(dpbp) ((((dpbp)->dpb_size)-1)<FAT_MAGIC)
/* dpb_size == 0 for FAT32, hence doing -1 here */
@ -141,43 +162,3 @@ struct lfn_entry {
#define DIRENT_SIZE 32
/*
* Log: fat.h,v
*
* Revision 1.2 1999/05/03 06:28:00 jprice
* Changed some variables from signed to unsigned.
*
* Revision 1.1.1.1 1999/03/29 15:39:28 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.3 1999/01/30 08:21:43 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:14 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:30 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:40 patv
* Initial revision.
*/

View File

@ -118,43 +118,3 @@ typedef struct {
BYTE renReserved2[9];
} rfcb;
/*
* Log: fcb.h,v
*
* Revision 1.2 1999/09/20 21:24:54 jprice
* *** empty log message ***
*
* Revision 1.1.1.1 1999/03/29 15:39:29 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.6 04 Jan 1998 23:14:16 patv
* Changed Log for strip utility
*
* Rev 1.5 16 Jan 1997 12:46:06 patv
* pre-Release 0.92 feature additions
*
* Rev 1.4 29 May 1996 21:25:14 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:32 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:40 patv
* Initial revision.
*/

View File

@ -66,37 +66,3 @@ static BYTE *file_hRcsId =
/* status for extended open */
enum {S_OPENED = 1, S_CREATED = 2, S_REPLACED = 3};
/*
* Log: file.h,v
*
* Revision 1.1.1.1 1999/03/29 15:39:30 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:14 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:32 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:42 patv
* Initial revision.
*/

View File

@ -57,7 +57,7 @@ struct f_node {
ULONG f_offset; /* byte offset for next op */
ULONG f_highwater; /* the largest offset ever */
CLUSTER f_back; /* the cluster we were at */
ULONG f_cluster_offset; /* byte offset that the next 3 point to */
CLUSTER f_cluster_offset; /* relative cluster number within file */
CLUSTER f_cluster; /* the cluster we are at */
UWORD f_sector; /* the sector in the cluster */
UWORD f_boff; /* the byte in the cluster */
@ -74,46 +74,3 @@ struct lfn_inode {
};
typedef struct lfn_inode FAR * lfn_inode_ptr;
/*
* Log: fnode.h,v
*
* Revision 1.3 2000/03/09 06:06:38 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/04/16 00:52:10 jprice
* Optimized FAT handling
*
* Revision 1.1.1.1 1999/03/29 15:39:30 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.3 1999/01/30 08:21:43 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:16 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:32 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:48 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:44 patv
* Initial revision.
*/

View File

@ -46,37 +46,3 @@ typedef struct {
BYTE kb_buf[KBD_MAXLENGTH]; /* the buffer itself */
} keyboard;
/*
* Log: kbd.h,v
*
* Revision 1.1.1.1 1999/03/29 15:39:31 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:20 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:28 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:38 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:42:22 patv
* fixed ipl
*
* Rev 1.0 02 Jul 1995 10:39:46 patv
* Initial revision.
*/

View File

@ -65,40 +65,3 @@ typedef struct {
BYTE m_name[8]; /* owner name limited to 8 bytes */
} mcb;
/*
* Log: mcb.h,v
*
* Revision 1.2 2000/03/09 06:06:38 kernel
* 2017f updates by James Tabor
*
* Revision 1.1.1.1 1999/03/29 15:39:31 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:16 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:32 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:50 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:46 patv
* Initial revision.
*/

View File

@ -178,40 +178,3 @@ void ASMCFUNC intr(int intnr, iregs * const pr);
#endif
/*
* Log: pcb.h,v
*
* Revision 1.1.1.1 1999/03/29 15:39:32 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.6 07 Feb 1998 20:47:40 patv
* Modified stack frame to match DOS standard
*
* Rev 1.5 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:16 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:32 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:44 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:50 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:48 patv
* Initial revision.
*/

View File

@ -99,8 +99,7 @@ void __int__(int);
#define MC68K
#else
anyone knows a _portable_ way to create nice errors ? ?
at least this causes the compiler not to compile : -)
#error Unknown compiler
#endif
#ifdef MC68K
@ -261,39 +260,3 @@ typedef VOID (FAR ASMCFUNC * intvec) (void);
#define PROTO
#endif
/*
* Log: portab.h,v
* Revision 1.2 1999/08/25 03:17:11 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.1.1.1 1999/03/29 15:39:33 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:16 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:16 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:32 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:44 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:50 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:50 patv
* Initial revision.
*/

View File

@ -101,43 +101,3 @@ typedef struct {
#define ps_fcb2 _u._u2._ps_fcb2
#define ps_cmd _u._u3._ps_cmd
/*
* Log: process.h,v
*
* Revision 1.1.1.1 1999/03/29 15:39:34 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.7 22 Jan 1998 22:13:00 patv
* Had to change ps_prevps to VOID FAR * due to BC++ error.
*
* Rev 1.6 22 Jan 1998 22:05:22 patv
* Corrected ps_prevpsp declaration.
*
* Rev 1.5 04 Jan 1998 23:14:16 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:16 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:32 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:44 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:50 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:52 patv
* Initial revision.
*/

View File

@ -139,46 +139,3 @@ typedef struct _sfttbl {
#define sft_flags_hi sft_flags_union._split_sft_flags._sft_flags_hi
#define sft_flags_lo sft_flags_union._split_sft_flags._sft_flags_lo
/*
* Log: sft.h,v
*
* Revision 1.3 2000/03/09 06:06:38 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/04/04 18:50:25 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:39:35 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.6 04 Jan 1998 23:14:18 patv
* Changed Log for strip utility
*
* Rev 1.5 16 Jan 1997 12:46:04 patv
* pre-Release 0.92 feature additions
*
* Rev 1.4 29 May 1996 21:25:18 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:44 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:50 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:52 patv
* Initial revision.
*/

View File

@ -185,28 +185,3 @@ irp_hi equ 26
%endmacro
%ENDIF
; Log: stacks.inc,v
; Revision 1.3 2000/03/09 06:06:38 kernel
; 2017f updates by James Tabor
;
; Revision 1.2 1999/08/10 17:56:26 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:39:35 jprice
; New version without IPL.SYS
;
; Revision 1.3 1999/02/01 01:40:06 jprice
; Clean up
;
; Revision 1.2 1999/01/22 04:17:40 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
;
; Rev 1.0 07 Feb 1998 20:59:16 patv
;Modified stack frame to match DOS standard
; EndLog

View File

@ -42,37 +42,3 @@ typedef struct {
char ctBuffer[CTBUFFERSIZE]; /* the buffer itself */
} CommandTail;
/*
* Log: tail.h,v
*
* Revision 1.1.1.1 1999/03/29 15:39:36 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:16 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:18 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:44 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:50 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:54 patv
* Initial revision.
*/

View File

@ -62,40 +62,3 @@ struct dosdate
#endif
/*
* Log: time.h,v
*
* Revision 1.2 1999/08/25 03:17:11 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.1.1.1 1999/03/29 15:39:36 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:40:06 jprice
* Clean up
*
* Revision 1.2 1999/01/22 04:17:40 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:16 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:25:18 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:15:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:35:46 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:43:50 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 10:39:56 patv
* Initial revision.
*/

View File

@ -47,8 +47,8 @@ static BYTE *date_hRcsId =
#define REVISION_MAJOR 1
#define REVISION_MINOR 1
#define REVISION_SEQ 27
#define BUILD "2027"
#define REVISION_SEQ 28
#define BUILD "2028"
#define SUB_BUILD ""
#define KERNEL_VERSION_STRING "1.1.27" /*#REVISION_MAJOR "." #REVISION_MINOR "." #REVISION_SEQ */
#define KERNEL_BUILD_STRING "2027" /*#BUILD SUB_BUILD */
#define KERNEL_VERSION_STRING "1.1.28" /*#REVISION_MAJOR "." #REVISION_MINOR "." #REVISION_SEQ */
#define KERNEL_BUILD_STRING "2028" /*#BUILD SUB_BUILD */

View File

@ -29,7 +29,7 @@
%include "segs.inc"
segment HMA_TEXT
segment _TEXT
%if 0
extern _api_sp:wrt DGROUP ; api stacks - for context
@ -128,40 +128,3 @@ _restore_stack:
ret
%endif
; Log: apisupt.asm,v
;
; Revision 1.2 1999/08/10 17:57:12 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:40:38 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:25 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
; Rev 1.4 06 Dec 1998 8:47:02 patv
;Expanded due to new I/O subsystem.
;
; Rev 1.3 16 Jan 1997 12:46:44 patv
;pre-Release 0.92 feature additions
;
; Rev 1.2 29 May 1996 21:03:38 patv
;bug fixes for v0.91a
;
; Rev 1.1 01 Sep 1995 17:54:26 patv
;First GPL release.
;
; Rev 1.0 02 Jul 1995 9:04:50 patv
;Initial revision.
; EndLog
;

View File

@ -36,7 +36,7 @@
%include "segs.inc"
segment HMA_TEXT
segment _TEXT
;*********************************************************************
; this implements some of the common string handling functions
@ -518,43 +518,3 @@ domemcmp:
repe cmpsb
jne strncmp_done
jmp short strncmp_retzero
; Log: asmsupt.asm,v
;
; Revision 1.3 1999/08/10 17:57:12 jprice
; ror4 2011-02 patch
;
; Revision 1.2 1999/04/23 04:24:39 jprice
; Memory manager changes made by ska
;
; Revision 1.1.1.1 1999/03/29 15:40:41 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:25 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
; Rev 1.4 06 Dec 1998 8:46:50 patv
; Bug fixes.
;
; Rev 1.3 03 Jan 1998 8:36:44 patv
; Converted data area to SDA format
;
; Rev 1.2 29 May 1996 21:03:38 patv
; bug fixes for v0.91a
;
; Rev 1.1 01 Sep 1995 17:54:26 patv
; First GPL release.
;
; Rev 1.0 05 Jul 1995 11:38:42 patv
; Initial revision.
; EndLog
;

View File

@ -36,6 +36,10 @@ static BYTE *blockioRcsId =
"$Id$";
#endif
#define b_next(bp) ((struct buffer FAR *)(MK_FP(FP_SEG(bp), bp->b_next)))
#define b_prev(bp) ((struct buffer FAR *)(MK_FP(FP_SEG(bp), bp->b_prev)))
#define bufptr(fbp) ((struct buffer FAR *)(MK_FP(FP_SEG(bp), fbp)))
/************************************************************************/
/* */
/* block cache routines */
@ -45,71 +49,43 @@ static BYTE *blockioRcsId =
STATIC BOOL flush1(struct buffer FAR * bp);
/* */
/* Initialize the buffer structure */
/* */
/* Extract the block number from a buffer structure. */
#if 0 /*TE*/
STATIC ULONG getblkno(struct buffer FAR * bp)
{
if (bp->b_blkno == 0xffffu)
return bp->b_huge_blkno;
else
return bp->b_blkno;
}
#else
#define getblkno(bp) (bp)->b_blkno
#endif
/* Set the block number of a buffer structure. (The caller should */
/* set the unit number before calling this function.) */
#if 0 /*TE*/
STATIC VOID setblkno(struct buffer FAR * bp, ULONG blkno)
{
if (blkno >= 0xffffu)
{
bp->b_blkno = 0xffffu;
bp->b_huge_blkno = blkno;
}
else
{
bp->b_blkno = blkno;
/* bp->b_dpbp = &blk_devices[bp->b_unit]; */
bp->b_dpbp = get_cds(bp->b_unit)->cdsDpb;
}
}
#else
#define setblkno(bp, blkno) (bp)->b_blkno = (blkno)
#endif
/*
this searches the buffer list for the given disk/block.
returns:
TRUE:
the buffer is found
FALSE:
the buffer is not found
*Buffp contains a block to flush and reuse later
a far pointer to the buffer.
If the buffer is found the UNCACHE bit is not set and else it is set.
new:
upper layer may set UNCACHE attribute
UNCACHE buffers are recycled first.
intended to be used for full sector reads into application buffer
intended to be used for full sector reads into application buffer
resets UNCACHE upon a "HIT" -- so then this buffer will not be
recycled anymore.
*/
STATIC BOOL searchblock(ULONG blkno, COUNT dsk, struct buffer FAR ** pBuffp)
STATIC void move_buffer(struct buffer FAR *bp, size_t firstbp)
{
/* connect bp->b_prev and bp->b_next */
b_next(bp)->b_prev = bp->b_prev;
b_prev(bp)->b_next = bp->b_next;
/* insert bp between firstbp and firstbp->b_prev */
bp->b_prev = bufptr(firstbp)->b_prev;
bp->b_next = firstbp;
b_next(bp)->b_prev = FP_OFF(bp);
b_prev(bp)->b_next = FP_OFF(bp);
}
STATIC struct buffer FAR *searchblock(ULONG blkno, COUNT dsk)
{
int fat_count = 0;
struct buffer FAR *bp;
struct buffer FAR *lbp = NULL;
struct buffer FAR *lastNonFat = NULL;
struct buffer FAR *uncacheBuf = NULL;
size_t lastNonFat = 0;
size_t uncacheBuf = 0;
seg bufseg = FP_SEG(firstbuf);
size_t firstbp = FP_OFF(firstbuf);
#ifdef DISPLAY_GETBLOCK
printf("[searchblock %d, blk %ld, buf ", dsk, blkno);
@ -118,33 +94,34 @@ STATIC BOOL searchblock(ULONG blkno, COUNT dsk, struct buffer FAR ** pBuffp)
/* Search through buffers to see if the required block */
/* is already in a buffer */
for (bp = firstbuf; bp != NULL; lbp = bp, bp = bp->b_next)
bp = MK_FP(bufseg, firstbp);
do
{
if ((getblkno(bp) == blkno) &&
if ((bp->b_blkno == blkno) &&
(bp->b_flag & BFR_VALID) && (bp->b_unit == dsk))
{
/* found it -- rearrange LRU links */
if (lbp != NULL)
{
lbp->b_next = bp->b_next;
bp->b_next = firstbuf;
firstbuf = bp;
}
#ifdef DISPLAY_GETBLOCK
printf("HIT %04x:%04x]\n", FP_SEG(bp), FP_OFF(bp));
#endif
*pBuffp = bp;
return TRUE;
bp->b_flag &= ~BFR_UNCACHE; /* reset uncache attribute */
if (FP_OFF(bp) != firstbp)
{
*(UWORD *)&firstbuf = FP_OFF(bp);
move_buffer(bp, firstbp);
}
return bp;
}
if (bp->b_flag & BFR_UNCACHE)
uncacheBuf = bp;
uncacheBuf = FP_OFF(bp);
if (bp->b_flag & BFR_FAT)
fat_count++;
else
lastNonFat = bp;
}
lastNonFat = FP_OFF(bp);
bp = b_next(bp);
} while (FP_OFF(bp) != firstbp);
/*
now take either the last buffer in chain (not used recently)
@ -153,52 +130,49 @@ STATIC BOOL searchblock(ULONG blkno, COUNT dsk, struct buffer FAR ** pBuffp)
if (uncacheBuf)
{
lbp = uncacheBuf;
bp = bufptr(uncacheBuf);
}
else if (bp->b_flag & BFR_FAT && fat_count < 3 && lastNonFat)
{
bp = bufptr(lastNonFat);
}
else
{
if (lbp->b_flag & BFR_FAT && fat_count < 3 && lastNonFat)
{
lbp = lastNonFat;
}
bp = b_prev(bufptr(firstbp));
}
lbp->b_flag &= ~BFR_UNCACHE; /* reset uncache attribute */
*pBuffp = lbp;
bp->b_flag |= BFR_UNCACHE; /* set uncache attribute */
#ifdef DISPLAY_GETBLOCK
printf("MISS, replace %04x:%04x]\n", FP_SEG(lbp), FP_OFF(lbp));
printf("MISS, replace %04x:%04x]\n", FP_SEG(bp), FP_OFF(bp));
#endif
if (lbp != firstbuf) /* move to front */
if (FP_OFF(bp) != firstbp) /* move to front */
{
for (bp = firstbuf; bp->b_next != lbp; bp = bp->b_next)
;
bp->b_next = bp->b_next->b_next;
lbp->b_next = firstbuf;
firstbuf = lbp;
move_buffer(bp, firstbp);
*(UWORD *)&firstbuf = FP_OFF(bp);
}
return FALSE;
return bp;
}
BOOL DeleteBlockInBufferCache(ULONG blknolow, ULONG blknohigh, COUNT dsk)
{
struct buffer FAR *bp;
struct buffer FAR *bp = firstbuf;
/* Search through buffers to see if the required block */
/* is already in a buffer */
for (bp = firstbuf; bp != NULL; bp = bp->b_next)
do
{
if (blknolow <= getblkno(bp) &&
getblkno(bp) <= blknohigh &&
if (blknolow <= bp->b_blkno &&
bp->b_blkno <= blknohigh &&
(bp->b_flag & BFR_VALID) && (bp->b_unit == dsk))
{
flush1(bp);
}
bp = b_next(bp);
}
while (FP_OFF(bp) != FP_OFF(firstbuf));
return FALSE;
}
@ -206,40 +180,43 @@ BOOL DeleteBlockInBufferCache(ULONG blknolow, ULONG blknohigh, COUNT dsk)
#if TOM
void dumpBufferCache(void)
{
struct buffer FAR *bp;
struct buffer FAR *bp = firstbuf;
int printed = 0;
/* Search through buffers to see if the required block */
/* is already in a buffer */
for (bp = firstbuf; bp != NULL; bp = bp->b_next)
do
{
printf("%8lx %02x ", getblkno(bp), bp->b_flag);
printf("%8lx %02x ", bp->b_blkno, bp->b_flag);
if (++printed % 6 == 0)
printf("\n");
bp = b_next(bp);
}
while (FP_OFF(bp) != FP_OFF(firstbuf));
printf("\n");
}
#endif
/* */
/* Return the address of a buffer structure containing the */
/* requested block. */
/* if overwrite is set, then no need to read first */
/* */
/* returns: */
/* requested block with data */
/* failure: */
/* returns NULL */
/* */
struct buffer FAR *getblock(ULONG blkno, COUNT dsk)
struct buffer FAR *getblk(ULONG blkno, COUNT dsk, BOOL overwrite)
{
struct buffer FAR *bp;
/* Search through buffers to see if the required block */
/* is already in a buffer */
if (searchblock(blkno, dsk, &bp))
struct buffer FAR *bp = searchblock(blkno, dsk);
if (!(bp->b_flag & BFR_UNCACHE))
{
return (bp);
return bp;
}
/* The block we need is not in a buffer, we must make a buffer */
@ -251,51 +228,16 @@ struct buffer FAR *getblock(ULONG blkno, COUNT dsk)
/* Fill the indicated disk buffer with the current track and sector */
if (dskxfer(dsk, blkno, (VOID FAR *) bp->b_buffer, 1, DSKREAD))
if (!overwrite && dskxfer(dsk, blkno, bp->b_buffer, 1, DSKREAD))
{
return NULL;
}
bp->b_flag = BFR_VALID | BFR_DATA;
bp->b_unit = dsk;
setblkno(bp, blkno);
bp->b_blkno = blkno;
return bp;
}
/*
exactly the same as getblock(), but the data will be completely
overwritten. so there is no need to read from disk first
*/
struct buffer FAR *getblockOver(ULONG blkno, COUNT dsk)
{
struct buffer FAR *bp;
/* Search through buffers to see if the required block */
/* is already in a buffer */
if (searchblock(blkno, dsk, &bp))
{
return bp;
}
/* The block we need is not in a buffer, we must make a buffer */
/* available. */
/* take the buffer than lbp points to and flush it, then make it available. */
if (flush1(bp)) /* success */
{
bp->b_flag = 0;
bp->b_unit = dsk;
setblkno(bp, blkno);
return bp;
}
else
/* failure */
{
return NULL;
}
}
/* */
@ -303,15 +245,15 @@ struct buffer FAR *getblockOver(ULONG blkno, COUNT dsk)
/* */
VOID setinvld(REG COUNT dsk)
{
REG struct buffer FAR *bp;
struct buffer FAR *bp = firstbuf;
bp = firstbuf;
while (bp)
do
{
if (bp->b_unit == dsk)
bp->b_flag = 0;
bp = bp->b_next;
bp = b_next(bp);
}
while (FP_OFF(bp) != FP_OFF(firstbuf));
}
/* */
@ -322,17 +264,18 @@ VOID setinvld(REG COUNT dsk)
/* */
BOOL flush_buffers(REG COUNT dsk)
{
REG struct buffer FAR *bp;
struct buffer FAR *bp = firstbuf;
REG BOOL ok = TRUE;
bp = firstbuf;
while (bp)
do
{
if (bp->b_unit == dsk)
if (!flush1(bp))
ok = FALSE;
bp = bp->b_next;
bp = b_next(bp);
}
while (FP_OFF(bp) != FP_OFF(firstbuf));
return ok;
}
@ -347,25 +290,24 @@ STATIC BOOL flush1(struct buffer FAR * bp)
if ((bp->b_flag & BFR_VALID) && (bp->b_flag & BFR_DIRTY))
{
result = dskxfer(bp->b_unit, getblkno(bp), (VOID FAR *) bp->b_buffer, 1, DSKWRITE); /* BER 9/4/00 */
/* BER 9/4/00 */
result = dskxfer(bp->b_unit, bp->b_blkno, bp->b_buffer, 1, DSKWRITE);
if (bp->b_flag & BFR_FAT)
{
struct dpb FAR *dpbp = bp->b_dpbp;
UWORD b_copies = dpbp->dpb_fats;
ULONG b_offset = dpbp->dpb_fatsize;
ULONG blkno = getblkno(bp);
UWORD b_copies = bp->b_copies;
ULONG blkno = bp->b_blkno;
#ifdef WITHFAT32
if (ISFAT32(dpbp))
{
if (dpbp->dpb_xflags & FAT_NO_MIRRORING)
b_copies = 1;
b_offset = dpbp->dpb_xfatsize;
}
ULONG b_offset = bp->b_offset;
if (b_offset == 0) /* FAT32 FS */
b_offset = bp->b_dpbp->dpb_xfatsize;
#else
UWORD b_offset = bp->b_offset;
#endif
while (--b_copies > 0)
{
blkno += b_offset;
result = dskxfer(bp->b_unit, blkno, bp->b_buffer, 1, DSKWRITE); /* BER 9/4/00 */
/* BER 9/4/00 */
result = dskxfer(bp->b_unit, blkno, bp->b_buffer, 1, DSKWRITE);
}
}
}
@ -384,18 +326,18 @@ STATIC BOOL flush1(struct buffer FAR * bp)
/* */
BOOL flush(void)
{
REG struct buffer FAR *bp;
REG struct buffer FAR *bp = firstbuf;
REG BOOL ok;
ok = TRUE;
bp = firstbuf;
while (bp)
do
{
if (!flush1(bp))
ok = FALSE;
bp->b_flag &= ~BFR_VALID;
bp = bp->b_next;
bp = b_next(bp);
}
while (FP_OFF(bp) != FP_OFF(firstbuf));
remote_flushall();
@ -508,98 +450,29 @@ UWORD dskxfer(COUNT dsk, ULONG blkno, VOID FAR * buf, UWORD numblocks,
}
/*
* 2000/9/04 Brian Reifsnyder
* Modified dskxfer() such that error codes are now returned.
* Functions that rely on dskxfer() have also been modified accordingly.
*/
this removes any (additionally allocated) buffers
from the HMA buffer chain, because they get allocated to the 'user'
*/
void AllocateHMASpace (size_t lowbuffer, size_t highbuffer)
{
REG struct buffer FAR *bp = firstbuf;
int n = LoL_nbuffers;
/*
* Log: blockio.c,v - for newer entries do "cvs log blockio.c"
*
* Revision 1.15 2000/04/29 05:13:16 jtabor
* Added new functions and clean up code
*
* Revision 1.14 2000/03/09 06:07:10 kernel
* 2017f updates by James Tabor
*
* Revision 1.13 1999/08/25 03:18:07 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.12 1999/08/10 18:03:39 jprice
* ror4 2011-03 patch
*
* Revision 1.11 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.10 1999/05/03 04:55:35 jprice
* Changed getblock & getbuf so that they leave at least 3 buffer for FAT data.
*
* Revision 1.9 1999/04/21 01:44:40 jprice
* no message
*
* Revision 1.8 1999/04/18 05:28:39 jprice
* no message
*
* Revision 1.7 1999/04/16 21:43:40 jprice
* ror4 multi-sector IO
*
* Revision 1.6 1999/04/16 00:53:32 jprice
* Optimized FAT handling
*
* Revision 1.5 1999/04/12 23:41:53 jprice
* Using getbuf to write data instead of getblock
* using getblock made it read the block before it wrote it
*
* Revision 1.4 1999/04/11 05:28:10 jprice
* Working on multi-block IO
*
* Revision 1.3 1999/04/11 04:33:38 jprice
* ror4 patches
*
* Revision 1.1.1.1 1999/03/29 15:41:43 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/09 02:54:23 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/01 01:43:27 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.3 1999/01/30 08:25:34 jprice
* Clean up; Fixed bug with set attribute function. If you tried to
* change the attributes of a directory, it would erase it.
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.8 06 Dec 1998 8:43:16 patv
* Changes in block I/O because of new I/O subsystem.
*
* Rev 1.7 22 Jan 1998 4:09:00 patv
* Fixed pointer problems affecting SDA
*
* Rev 1.6 04 Jan 1998 23:14:36 patv
* Changed Log for strip utility
*
* Rev 1.5 03 Jan 1998 8:36:02 patv
* Converted data area to SDA format
*
* Rev 1.4 16 Jan 1997 12:46:34 patv
* pre-Release 0.92 feature additions
*
* Rev 1.3 29 May 1996 21:15:10 patv
* bug fixes for v0.91a
*
* Rev 1.2 01 Sep 1995 17:48:46 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:28 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:04:06 patv
* Initial revision.
*/
do
{
if (FP_OFF(bp) < highbuffer && FP_OFF(bp+1) >= lowbuffer)
{
flush1(bp);
/* unlink bp from buffer chain */
b_prev(bp)->b_next = bp->b_next;
b_next(bp)->b_prev = bp->b_prev;
if (bp == firstbuf)
firstbuf = b_next(bp);
LoL_nbuffers--;
}
bp = b_next(bp);
}
while (n--);
}

View File

@ -73,13 +73,3 @@ void handle_break(int sft_idx)
spawn_int23(); /* invoke user INT-23 and never come back */
}
/*
* Log: break.c,v - for newer entries see "cvs log break.c"
*
* Revision 1.2 2000/03/09 06:07:10 kernel
* 2017f updates by James Tabor
*
* Revision 1.1 1999/04/16 21:18:17 jprice
* Steffen contributed.
*
*/

View File

@ -542,71 +542,3 @@ size_t read_line_handle(int sft_idx, size_t n, char FAR * bp)
return n;
}
/*
* Log: chario.c,v - for newer logs do "cvs log chario.c"
*
* Revision 1.7 2000/03/09 06:07:10 kernel
* 2017f updates by James Tabor
*
* Revision 1.6 1999/09/23 04:40:45 jprice
* *** empty log message ***
*
* Revision 1.4 1999/08/25 03:18:07 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.3 1999/04/16 12:21:21 jprice
* Steffen c-break handler changes
*
* Revision 1.2 1999/04/04 18:51:42 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:45 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/09 02:54:23 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/04 03:18:37 jprice
* Formating. Added comments.
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.9 06 Dec 1998 8:43:36 patv
* changes in character I/O because of new I/O subsystem.
*
* Rev 1.8 11 Jan 1998 2:06:08 patv
* Added functionality to ioctl.
*
* Rev 1.7 08 Jan 1998 21:36:40 patv
* Changed automatic requestic packets to static to save stack space.
*
* Rev 1.6 04 Jan 1998 23:14:38 patv
* Changed Log for strip utility
*
* Rev 1.5 30 Dec 1997 4:00:20 patv
* Modified to support SDA
*
* Rev 1.4 16 Jan 1997 12:46:36 patv
* pre-Release 0.92 feature additions
*
* Rev 1.3 29 May 1996 21:15:12 patv
* bug fixes for v0.91a
*
* Rev 1.2 01 Sep 1995 17:48:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:26 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:05:44 patv
* Initial revision.
*
*/

View File

@ -67,7 +67,7 @@ extern struct dhdr
DOSTEXTFAR ASM blk_dev, /* Block device (Disk) driver */
DOSFAR ASM nul_dev;
extern struct buffer FAR *DOSFAR ASM firstbuf; /* head of buffers linked list */
extern struct buffer FAR *DOSFAR firstAvailableBuf; /* first 'available' buffer */
extern struct dpb FAR *DOSFAR ASM DPBp;
/* First drive Parameter Block */
extern struct cds FAR *DOSFAR ASM CDSp;
@ -1511,14 +1511,16 @@ VOID config_init_buffers(COUNT anzBuffers)
{
REG WORD i;
struct buffer FAR *pbuffer;
int HMAcount = 0;
BYTE FAR *tmplpBase = lpBase;
BOOL fillhma = TRUE;
unsigned wantedbuffers = anzBuffers;
if (anzBuffers < 0)
{
anzBuffers = -anzBuffers;
fillhma = FALSE;
wantedbuffers = anzBuffers = -anzBuffers;
}
else if (HMAState == HMA_DONE)
{
anzBuffers = (0xfff0 - HMAFree) / sizeof(struct buffer);
}
anzBuffers = max(anzBuffers, 6);
@ -1528,63 +1530,42 @@ VOID config_init_buffers(COUNT anzBuffers)
anzBuffers = 99;
}
LoL_nbuffers = anzBuffers;
lpTop = lpOldTop;
if (HMAState == HMA_NONE || HMAState == HMA_REQ)
lpTop = lpBase = lpTop - anzBuffers * (sizeof(struct buffer) + 0xf);
firstbuf = ConfigAlloc(sizeof(struct buffer));
lpTop = lpBase = lpTop - (anzBuffers * sizeof(struct buffer) + 0xf);
firstbuf = ConfigAlloc(sizeof(struct buffer) * anzBuffers);
pbuffer = firstbuf;
DebugPrintf(("init_buffers (size %u) at", sizeof(struct buffer)));
DebugPrintf((" (%p)", firstbuf));
for (i = 0;; ++i)
pbuffer->b_prev = FP_OFF(pbuffer + (anzBuffers-1));
for (i = 1; i < anzBuffers; ++i)
{
if (FP_SEG(pbuffer) == 0xffff)
HMAcount++;
pbuffer->b_dummy = FP_OFF(pbuffer);
pbuffer->b_unit = 0;
pbuffer->b_flag = 0;
pbuffer->b_blkno = 0;
pbuffer->b_next = NULL;
DebugPrintf((" (%d,%p)", i, pbuffer));
if (i == wantedbuffers)
{
firstAvailableBuf = pbuffer;
}
pbuffer->b_next = FP_OFF(pbuffer + 1);
pbuffer++;
pbuffer->b_prev = FP_OFF(pbuffer - 1);
}
pbuffer->b_next = FP_OFF(pbuffer - (anzBuffers-1));
/* now, we can have quite some buffers in HMA
-- up to 37 for KE38616.
-- up to 50 for KE38616.
so we fill the HMA with buffers
but not if the BUFFERS count is negative ;-)
*/
if (i < (anzBuffers - 1))
{
pbuffer->b_next = HMAalloc(sizeof(struct buffer));
if (pbuffer->b_next == NULL)
{
/* if more buffer requested then fit into HMA, allocate
some from low memory as rewuested
*/
pbuffer->b_next = ConfigAlloc(sizeof(struct buffer));
}
}
else if (fillhma)
pbuffer->b_next = HMAalloc(sizeof(struct buffer));
if (pbuffer->b_next == NULL)
break;
pbuffer = pbuffer->b_next;
}
DebugPrintf((" done\n"));
if (HMAcount)
if (FP_SEG(pbuffer) == 0xffff)
printf("Kernel: allocated %d Diskbuffers = %u Bytes in HMA\n",
HMAcount, HMAcount * sizeof(struct buffer));
anzBuffers, anzBuffers * sizeof(struct buffer));
if (HMAState == HMA_NONE || HMAState == HMA_REQ)
lpBase = tmplpBase;
@ -1711,82 +1692,3 @@ STATIC VOID CfgMenuDefault(BYTE * pLine)
}
/*
* Log: config.c,v - for newer log entries see "cvs log config.c"
*
* Revision 1.15 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.14 2000/03/17 22:59:04 kernel
* Steffen Kaiser's NLS changes
*
* Revision 1.13 2000/03/09 06:07:10 kernel
* 2017f updates by James Tabor
*
* Revision 1.12 1999/09/23 04:40:46 jprice
* *** empty log message ***
*
* Revision 1.10 1999/08/25 03:18:07 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.9 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.8 1999/04/16 21:43:40 jprice
* ror4 multi-sector IO
*
* Revision 1.7 1999/04/16 12:21:21 jprice
* Steffen c-break handler changes
*
* Revision 1.6 1999/04/16 00:53:32 jprice
* Optimized FAT handling
*
* Revision 1.5 1999/04/12 03:21:17 jprice
* more ror4 patches. Changes for multi-block IO
*
* Revision 1.4 1999/04/11 04:33:38 jprice
* ror4 patches
*
* Revision 1.2 1999/04/04 22:57:47 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:40:46 jprice
* New version without IPL.SYS
*
* Revision 1.6 1999/03/23 23:38:15 jprice
* Now checks for a reads fdconfig.sys file, if exists
*
* Revision 1.5 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.3 1999/01/30 08:28:11 jprice
* Clean up; Fixed bug with set attribute function.
*
* Revision 1.2 1999/01/22 04:13:25 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.6 22 Jan 1998 4:09:24 patv
* Fixed pointer problems affecting SDA
*
* Rev 1.5 04 Jan 1998 23:15:18 patv
* Changed Log for strip utility
*
* Rev 1.4 04 Jan 1998 17:26:14 patv
* Corrected subdirectory bug
*
* Rev 1.3 16 Jan 1997 12:46:50 patv
* pre-Release 0.92 feature additions
*
* Rev 1.1 29 May 1996 21:03:44 patv
* bug fixes for v0.91a
*
* Rev 1.0 19 Feb 1996 3:22:16 patv
* Added NLS, int2f and config.sys processing
*/

View File

@ -50,7 +50,7 @@ ConTable db 0Ah
PRT_SCREEN equ 7200h
CTL_P equ 10h
segment _TEXT
segment _LOWTEXT
uScanCode db 0 ; Scan code for con: device
@ -246,32 +246,3 @@ ConCharReady:
ConNoChar:
jmp _IODone ; no key ready (busy=1)
; Log: console.asm,v
;
; Revision 1.8 2000/03/09 06:07:10 kernel
; 2017f updates by James Tabor
;
; Revision 1.7 1999/09/23 04:40:46 jprice
; *** empty log message ***
;
; Revision 1.5 1999/09/14 16:31:38 jprice
; no message
;
; Revision 1.4 1999/09/13 22:16:14 jprice
; Fix 210B function
;
; Revision 1.3 1999/09/13 21:00:19 jprice
; Changes from Helmut Fritsch to fix INT21 func B
;
; Revision 1.2 1999/08/10 17:57:12 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:40:47 jprice
; New version without IPL.SYS
;
; Revision 1.1 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; EndLog
;

View File

@ -1552,91 +1552,3 @@ COUNT DosTruename(const char FAR *src, char FAR *dest)
return rc;
}
/*
*
* /// Added SHARE support. 2000/09/04 Ron Cemer
*
* Log: dosfns.c,v - for newer log entries do a "cvs log dosfns.c"
*
* Revision 1.14 2000/04/02 05:01:08 jtabor
* Replaced ChgDir Code
*
* Revision 1.13 2000/04/02 04:53:56 jtabor
* Fix to DosChgDir
*
* Revision 1.12 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.11 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.10 1999/09/23 04:40:46 jprice
* *** empty log message ***
*
* Revision 1.8 1999/09/14 01:01:53 jprice
* Fixed bug where you could write over directories.
*
* Revision 1.7 1999/08/25 03:18:07 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.6 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.5 1999/04/16 12:21:22 jprice
* Steffen c-break handler changes
*
* Revision 1.4 1999/04/12 03:21:17 jprice
* more ror4 patches. Changes for multi-block IO
*
* Revision 1.3 1999/04/11 04:33:38 jprice
* ror4 patches
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:52 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/09 02:54:23 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
* Rev 1.10 06 Dec 1998 8:44:42 patv
* Expanded dos functions due to new I/O subsystem.
*
* Rev 1.9 04 Jan 1998 23:14:38 patv
* Changed Log for strip utility
*
* Rev 1.8 03 Jan 1998 8:36:04 patv
* Converted data area to SDA format
*
* Rev 1.7 22 Jan 1997 12:59:56 patv
* pre-0.92 bug fixes
*
* Rev 1.6 16 Jan 1997 12:46:32 patv
* pre-Release 0.92 feature additions
*
* Rev 1.5 29 May 1996 21:15:20 patv
* bug fixes for v0.91a
*
* Rev 1.4 19 Feb 1996 3:20:08 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:48:48 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:24 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:04:20 patv
* Initial revision.
*/

View File

@ -31,7 +31,7 @@
PSP_USERSP equ 2eh
PSP_USERSS equ 30h
segment HMA_TEXT
segment _TEXT
global _DosIdle_int

View File

@ -159,62 +159,3 @@ int ParseDosName(const char *filename, char *fcbname, BOOL bAllowWildcards)
return nDirCnt;
}
/*
* Log: dosnames.c,v - for newer log entries do "cvs log dosnames.c"
*
* Revision 1.2 2000/05/08 04:29:59 jimtabor
* Update CVS to 2020
*
* Revision 1.4 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.3 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:54 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/02 04:40:49 jprice
* Steve Miller fixed a bug with doing "cd ." would lock the machine.
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.8 22 Jan 1998 4:09:00 patv
* Fixed pointer problems affecting SDA
*
* Rev 1.7 04 Jan 1998 23:14:38 patv
* Changed Log for strip utility
*
* Rev 1.6 03 Jan 1998 8:36:04 patv
* Converted data area to SDA format
*
* Rev 1.5 16 Jan 1997 12:46:36 patv
* pre-Release 0.92 feature additions
*
* Rev 1.4 29 May 1996 21:15:12 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:20:08 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:48:44 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:26 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:05:56 patv
* Initial revision.
*
*/

View File

@ -110,8 +110,6 @@ ddt *getddt(int dev)
return &(((ddt *) Dyn.Buffer)[dev]);
}
ULONG dsk_lasttime = 0;
STATIC VOID tmark(ddt *pddt)
{
pddt->ddt_fh.ddt_lasttime = ReadPCClock();
@ -200,7 +198,7 @@ COUNT ASMCFUNC FAR blk_driver(rqptr rp)
}
STATIC char template_string[] = "XXXXXX diskette in drive X:\n";
#define DRIVE_POS (sizeof(template_string) - 2)
#define DRIVE_POS (sizeof(template_string) - 4)
STATIC WORD play_dj(ddt * pddt)
{
@ -870,33 +868,31 @@ STATIC WORD dskerr(COUNT code)
translate LBA sectors into CHS addressing
*/
STATIC int LBA_to_CHS(struct CHS *chs, ULONG LBA_address, ddt * pddt)
STATIC int LBA_to_CHS(ULONG LBA_address, struct CHS *chs, const ddt * pddt)
{
/* we need the defbpb values since those are taken from the
BIOS, not from some random boot sector, except when
we're dealing with a floppy */
unsigned long cylinder;
bpb *pbpb = hd(pddt->ddt_descflags) ? &pddt->ddt_defbpb : &pddt->ddt_bpb;
chs->Sector = LBA_address % pbpb->bpb_nsecs + 1;
const bpb *pbpb = hd(pddt->ddt_descflags) ? &pddt->ddt_defbpb : &pddt->ddt_bpb;
unsigned hs = pbpb->bpb_nsecs * pbpb->bpb_nheads;
unsigned hsrem = (unsigned)(LBA_address % hs);
LBA_address /= pbpb->bpb_nsecs;
LBA_address /= hs;
chs->Head = LBA_address % pbpb->bpb_nheads;
cylinder = LBA_address / pbpb->bpb_nheads;
if (cylinder > 1023ul)
if (LBA_address > 1023ul)
{
#ifdef DEBUG
printf("LBA-Transfer error : cylinder %lu > 1023\n", cylinder);
printf("LBA-Transfer error : cylinder %lu > 1023\n", LBA_address);
#else
put_string("LBA-Transfer error : cylinder > 1023\n");
#endif
return 1;
}
chs->Cylinder = cylinder;
chs->Cylinder = LBA_address;
chs->Head = hsrem / pbpb->bpb_nsecs;
chs->Sector = hsrem % pbpb->bpb_nsecs + 1;
return 0;
}
@ -956,6 +952,8 @@ STATIC int LBA_Transfer(ddt * pddt, UWORD mode, VOID FAR * buffer,
int num_retries;
*transferred = 0;
/* only low-level format floppies for now ! */
if (mode == LBA_FORMAT && hd(pddt->ddt_descflags))
return 0;
@ -974,7 +972,6 @@ STATIC int LBA_Transfer(ddt * pddt, UWORD mode, VOID FAR * buffer,
}
}
*transferred = 0;
/*
if (LBA_address+totaltodo > pddt->total_sectors)
{
@ -1036,7 +1033,7 @@ STATIC int LBA_Transfer(ddt * pddt, UWORD mode, VOID FAR * buffer,
else
{ /* transfer data, using old bios functions */
if (LBA_to_CHS(&chs, LBA_address, pddt))
if (LBA_to_CHS(LBA_address, &chs, pddt))
return 1;
/* avoid overflow at end of track */
@ -1099,110 +1096,3 @@ STATIC int LBA_Transfer(ddt * pddt, UWORD mode, VOID FAR * buffer,
* initcode moved (mostly) to initdisk.c
* lower interface partly redesigned
*/
/* Log: dsk.c,v - for newer log entries: "cvs log dsk.c"
*
* Revision 1.16 2001/04/29 brianreifsnyder
* Added phase 1 support for LBA hard drives
*
* Revision 1.15 2001/04/16 01:45:26 bartoldeman
* Fixed handles, config.sys drivers, warnings. Enabled INT21/AH=6C, printf %S/%Fs
*
* Revision 1.14 2001/04/15 03:21:50 bartoldeman
* See history.txt for the list of fixes.
*
* Revision 1.13 2001/03/27 20:27:43 bartoldeman
* dsk.c (reported by Nagy Daniel), inthndlr and int25/26 fixes by Tom Ehlert.
*
* Revision 1.12 2001/03/24 22:13:05 bartoldeman
* See history.txt: dsk.c changes, warning removal and int21 entry handling.
*
* Revision 1.11 2001/03/21 02:56:25 bartoldeman
* See history.txt for changes. Bug fixes and HMA support are the main ones.
*
* Revision 1.9 2001/03/08 21:15:00 bartoldeman
* Space saving fixes from Tom Ehlert
*
* Revision 1.8 2000/06/21 18:16:46 jimtabor
* Add UMB code, patch, and code fixes
*
* Revision 1.7 2000/06/01 06:37:38 jimtabor
* Read History for Changes
*
* Revision 1.6 2000/05/26 19:25:19 jimtabor
* Read History file for Change info
*
* Revision 1.5 2000/05/25 20:56:21 jimtabor
* Fixed project history
*
* Revision 1.4 2000/05/17 19:15:12 jimtabor
* Cleanup, add and fix source.
*
* Revision 1.3 2000/05/11 04:26:26 jimtabor
* Added code for DOS FN 69 & 6C
*
* Revision 1.2 2000/05/08 04:29:59 jimtabor
* Update CVS to 2020
*
* Revision 1.1.1.1 2000/05/06 19:34:53 jhall1
* The FreeDOS Kernel. A DOS kernel that aims to be 100% compatible with
* MS-DOS. Distributed under the GNU GPL.
*
* Revision 1.6 2000/04/29 05:13:16 jtabor
* Added new functions and clean up code
*
* Revision 1.5 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.4 1999/08/10 18:07:57 jprice
* ror4 2011-04 patch
*
* Revision 1.3 1999/04/16 21:43:40 jprice
* ror4 multi-sector IO
*
* Revision 1.2 1999/04/16 00:53:32 jprice
* Optimized FAT handling
*
* Revision 1.1.1.1 1999/03/29 15:40:51 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/14 04:26:46 jprice
* Changed check media so that it checks if a floppy disk has been changed.
*
* Revision 1.4 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:25 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.7 06 Dec 1998 8:45:18 patv
* Changed due to new I/O subsystem.
*
* Rev 1.6 04 Jan 1998 23:15:16 patv
* Changed Log for strip utility
*
* Rev 1.5 10 Jan 1997 5:41:48 patv
* Modified for extended partition support
*
* Rev 1.4 29 May 1996 21:03:32 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:21:36 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:54:18 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:52:00 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:32:42 patv
* Initial revision.
*/

View File

@ -31,10 +31,10 @@
%include "segs.inc"
%include "stacks.inc"
segment HMA_TEXT
extern _int21_syscall:wrt HGROUP
extern _int21_service:wrt HGROUP
extern _int2526_handler:wrt HGROUP
segment _TEXT
extern _int21_syscall:wrt TGROUP
extern _int21_service:wrt TGROUP
extern _int2526_handler:wrt TGROUP
extern _error_tos:wrt DGROUP
extern _char_api_tos:wrt DGROUP
extern _disk_api_tos:wrt DGROUP
@ -123,21 +123,19 @@ cpm_error: mov al,0
; int20_handler(iregs UserRegs)
;
print_hex: mov cx, 404h
hex_loop:
rol dx, cl
mov al, dl
and al, 0fh
add al, 30h
cmp al, 39h
jbe no_letter
add al, 7
no_letter:
mov bx, 0070h
mov ah, 0eh
int 10h
dec ch
jnz hex_loop
print_hex: mov cl, 12
hex_loop:
mov ax, dx
shr ax, cl
and al, 0fh
cmp al, 10
sbb al, 69h
das
mov bx, 0070h
mov ah, 0eh
int 10h
sub cl, 4
jae hex_loop
ret
divide_by_zero_message db 0dh,0ah,'Interrupt divide by zero, stack:',0dh,0ah,0
@ -639,35 +637,3 @@ CritErrAbort:
mov [bp+reg_ax],ax
sti
jmp int21_reentry ; restart the system call
; Log: entry.asm,v
; Revision 1.5 2000/03/20 03:15:49 kernel
; Change in Entry.asm
;
; Revision 1.4 1999/09/23 04:40:46 jprice
; *** empty log message ***
;
; Revision 1.2 1999/08/10 17:57:12 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:40:53 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:25 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
; Rev 1.1 06 Dec 1998 8:48:40 patv
; New int 21h handler code.
;
; Rev 1.0 07 Feb 1998 20:42:08 patv
; Modified stack frame to match DOS standard
; EndLog

View File

@ -89,43 +89,3 @@ COUNT block_error(request * rq, COUNT nDrive, struct dhdr FAR * lpDevice)
nDrive, rq->r_status & S_MASK, lpDevice);
}
/*
* Log: error.c,v - for newer entries do "cvs log error.c"
*
* Revision 1.2 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.1.1.1 1999/03/29 15:41:55 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/09 02:54:23 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.5 06 Dec 1998 8:43:54 patv
* Now handles errors like MS-DOS.
*
* Rev 1.4 04 Jan 1998 23:14:36 patv
* Changed Log for strip utility
*
* Rev 1.3 29 May 1996 21:15:10 patv
* bug fixes for v0.91a
*
* Rev 1.2 01 Sep 1995 17:48:46 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:26 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:06:14 patv
* Initial revision.
*/

View File

@ -30,7 +30,7 @@
%include "segs.inc"
segment HMA_TEXT
segment _TEXT
; _execrh
; Execute Device Request
;
@ -78,40 +78,3 @@ segment INIT_TEXT
_init_execrh:
EXECRH
; Log: execrh.asm,v
; Revision 1.3 2000/03/09 06:07:11 kernel
; 2017f updates by James Tabor
;
; Revision 1.2 1999/08/10 17:57:12 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:40:54 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:25 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
;
; Rev 1.3 06 Dec 1998 8:45:06 patv
;Bug fixes.
;
; Rev 1.2 29 May 1996 21:03:30 patv
;bug fixes for v0.91a
;
; Rev 1.1 01 Sep 1995 17:54:22 patv
;First GPL release.
;
; Rev 1.0 02 Jul 1995 9:05:34 patv
;Initial revision.
; EndLog
;

View File

@ -46,8 +46,8 @@ VOID dir_init_fnode(f_node_ptr fnp, CLUSTER dirstart)
fnp->f_flags.f_droot = FALSE;
fnp->f_flags.f_ddir = TRUE;
fnp->f_flags.f_dnew = TRUE;
fnp->f_diroff = fnp->f_offset = fnp->f_cluster_offset =
fnp->f_highwater = 0l;
fnp->f_diroff = fnp->f_offset = fnp->f_highwater = 0l;
fnp->f_cluster_offset = 0;
/* root directory */
if (dirstart == 0)
@ -319,7 +319,7 @@ BOOL dir_write(REG f_node_ptr fnp)
fnp->f_offset = fnp->f_diroff;
fnp->f_back = LONG_LAST_CLUSTER;
fnp->f_cluster = fnp->f_dirstart;
fnp->f_cluster_offset = 0l; /*JPP */
fnp->f_cluster_offset = 0;
/* Search through the FAT to find the block */
/* that this entry is in. */
@ -641,92 +641,3 @@ int FileName83Length(BYTE * filename83)
}
#endif
/*
* Log: fatdir.c,v - for newer log entries do a "cvs log fatdir.c"
*
* Revision 1.12 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.11 2000/03/17 22:59:04 kernel
* Steffen Kaiser's NLS changes
*
* Revision 1.10 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.9 1999/08/25 03:18:07 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.8 1999/08/10 17:57:12 jprice
* ror4 2011-02 patch
*
* Revision 1.7 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.6 1999/04/16 00:53:32 jprice
* Optimized FAT handling
*
* Revision 1.5 1999/04/13 15:48:20 jprice
* no message
*
* Revision 1.4 1999/04/11 04:33:38 jprice
* ror4 patches
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:58 jprice
* New version without IPL.SYS
*
* Revision 1.7 1999/03/25 05:06:57 jprice
* Fixed findfirst & findnext functions to treat the attributes like MSDOS does.
*
* Revision 1.6 1999/02/14 04:27:09 jprice
* Changed check media so that it checks if a floppy disk has been changed.
*
* Revision 1.5 1999/02/09 02:54:23 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.3 1999/01/30 08:25:34 jprice
* Clean up; Fixed bug with set attribute function. If you tried to
* change the attributres of a directory, it would erase it.
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.10 06 Dec 1998 8:44:36 patv
* Bug fixes.
*
* Rev 1.9 22 Jan 1998 4:09:00 patv
* Fixed pointer problems affecting SDA
*
* Rev 1.8 04 Jan 1998 23:14:36 patv
* Changed Log for strip utility
*
* Rev 1.7 03 Jan 1998 8:36:02 patv
* Converted data area to SDA format
*
* Rev 1.6 16 Jan 1997 12:46:30 patv
* pre-Release 0.92 feature additions
*
* Rev 1.5 29 May 1996 21:15:18 patv
* bug fixes for v0.91a
*
* Rev 1.4 19 Feb 1996 3:20:12 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:48:38 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:24 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:04:34 patv
* Initial revision.
*/

View File

@ -236,7 +236,7 @@ long dos_open(char *path, unsigned flags, unsigned attrib)
{
fnp->f_cluster = FREE;
setdstart(fnp->f_dir, FREE);
fnp->f_cluster_offset = 0l; /*JPP */
fnp->f_cluster_offset = 0;
}
fnp->f_flags.f_dmod = (status != S_OPENED);
@ -247,7 +247,7 @@ long dos_open(char *path, unsigned flags, unsigned attrib)
merge_file_changes(fnp, status == S_OPENED); /* /// Added - Ron Cemer */
/* /// Moved from above. - Ron Cemer */
fnp->f_cluster = getdstart(fnp->f_dir);
fnp->f_cluster_offset = 0l; /*JPP */
fnp->f_cluster_offset = 0;
return xlt_fnp(fnp) | ((long)status << 16);
}
@ -1318,24 +1318,21 @@ STATIC BOOL first_fat(f_node_ptr fnp)
* DE_SEEK - [XFR_READ mode only] byte at f_offset lies outside of
* the FAT chain. The fnode is not released.
* Notes.
* JPP: new map_cluster. If we are moving forward, then use the offset
* If we are moving forward, then use the relative cluster number offset
* that we are at now (f_cluster_offset) to start, instead of starting
* at the beginning. */
COUNT map_cluster(REG f_node_ptr fnp, COUNT mode)
{
ULONG idx;
ULONG clssize; /* might be 64K (by WinNT) TE */
CLUSTER relcluster = (CLUSTER)((fnp->f_offset / fnp->f_dpb->dpb_secsize) >>
fnp->f_dpb->dpb_shftcnt);
#ifdef DISPLAY_GETBLOCK
printf("map_cluster: current %lu, offset %lu, diff=%lu ",
fnp->f_cluster_offset, fnp->f_offset,
(ULONG)fnp->f_cluster_offset, fnp->f_offset,
fnp->f_offset - fnp->f_cluster_offset);
#endif
/* The variable clssize will be used later. */
clssize = (ULONG) fnp->f_dpb->dpb_secsize << fnp->f_dpb->dpb_shftcnt;
/* If someone did a seek, but no writes have occured, we will */
/* need to initialize the fnode. */
if ((mode == XFR_WRITE) && checkdstart(fnp->f_dir, FREE))
@ -1347,16 +1344,9 @@ COUNT map_cluster(REG f_node_ptr fnp, COUNT mode)
}
}
if (fnp->f_offset >= fnp->f_cluster_offset) /*JPP */
if (relcluster < fnp->f_cluster_offset)
{
/* Set internal index and cluster size. */
idx = fnp->f_offset - fnp->f_cluster_offset;
}
else
{
/* Set internal index and cluster size. */
idx = fnp->f_offset;
fnp->f_cluster = fnp->f_flags.f_ddir ? fnp->f_dirstart :
getdstart(fnp->f_dir);
fnp->f_cluster_offset = 0;
@ -1386,15 +1376,14 @@ COUNT map_cluster(REG f_node_ptr fnp, COUNT mode)
}
}
if (idx < clssize)
if (fnp->f_cluster_offset == relcluster)
break;
fnp->f_back = fnp->f_cluster;
/* get next cluster in the chain */
fnp->f_cluster = next_cluster(fnp->f_dpb, fnp->f_cluster);
fnp->f_cluster_offset += clssize;
idx -= clssize;
fnp->f_cluster_offset++;
if (fnp->f_cluster == 1)
return DE_SEEK;
}
@ -2236,138 +2225,4 @@ done:
*
* the dos_mkdir/extenddir (with getblock() instead of getblockOver) was a real
* performance killer on large drives. (~0.5 sec /dos_mkdir) TE
*
* Log: fatfs.c,v - for newer log entries do "cvs log fatfs.c"
*
* /// 2000/08/12 22:49:00 Ron Cemer
* Fixed writeblock() to only use getbuf() if writing a
* complete sector; otherwise use getbloc() and do a
* read-modify-write to prevent writing garbage back
* over pre-existing data in the file.
* This was a major BUG.
*
* Revision 1.23 2000/04/29 05:13:16 jtabor
* Added new functions and clean up code
*
* Revision 1.19 2000/03/17 22:59:04 kernel
* Steffen Kaiser's NLS changes
*
* Revision 1.18 2000/03/17 04:13:12 kernel
* Added Change for media_check
*
* Revision 1.17 2000/03/17 04:01:20 kernel
* Added Change for media_check
*
* Revision 1.16 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.15 1999/09/23 04:40:46 jprice
* *** empty log message ***
*
* Revision 1.12 1999/09/14 01:01:54 jprice
* Fixed bug where you could write over directories.
*
* Revision 1.11 1999/08/25 03:18:08 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.10 1999/08/10 18:03:42 jprice
* ror4 2011-03 patch
*
* Revision 1.9 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.8 1999/05/03 05:00:24 jprice
* Fixed bug in map_cluster function
*
* Revision 1.7 1999/04/16 00:53:33 jprice
* Optimized FAT handling
*
* Revision 1.6 1999/04/12 23:41:54 jprice
* Using getbuf to write data instead of getblock
* using getblock made it read the block before it wrote it
*
* Revision 1.5 1999/04/12 03:21:17 jprice
* more ror4 patches. Changes for multi-block IO
*
* Revision 1.4 1999/04/11 04:33:38 jprice
* ror4 patches
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:42:07 jprice
* New version without IPL.SYS
*
* Revision 1.8 1999/03/23 23:37:39 jprice
* Fixed mkdir DOS function so it will create a directory with same name as the volument label
*
* Revision 1.7 1999/03/02 07:00:51 jprice
* Fixed bugs with dos set attribute function. Now returns correct
* error code, and errors if user tries to set bits 6 & 7.
*
* Revision 1.6 1999/02/09 02:54:23 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.5 1999/02/04 03:18:37 jprice
* Formating. Added comments.
*
* Revision 1.4 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.3 1999/01/30 08:25:34 jprice
* Clean up; Fixed bug with set attribute function. If you tried to
* change the attributes of a directory, it would erase it.
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.14 06 Dec 1998 8:44:26 patv
* Bug fixes.
*
* Rev 1.13 09 Feb 1998 5:43:30 patv
* Eliminated FAT12 EOF and error useage.
*
* Rev 1.12 03 Feb 1998 11:28:04 patv
* Fixed lseek bug.
*
* Rev 1.11 22 Jan 1998 5:38:08 patv
* Corrected remaining file name and extension copies that did not
* account for far file nodes due to allocated FILES= spec.
*
* Rev 1.10 22 Jan 1998 4:09:00 patv
* Fixed pointer problems affecting SDA
*
* Rev 1.9 04 Jan 1998 23:14:40 patv
* Changed Log for strip utility
*
* Rev 1.8 04 Jan 1998 17:24:14 patv
* Corrected subdirectory bug
*
* Rev 1.7 03 Jan 1998 8:36:04 patv
* Converted data area to SDA format
*
* Rev 1.6 22 Jan 1997 13:00:30 patv
* pre-0.92 bug fixes
*
* Rev 1.5 16 Jan 1997 12:46:24 patv
* pre-Release 0.92 feature additions
*
* Rev 1.4 29 May 1996 21:15:16 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:20:10 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:48:40 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:24 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:04:46 patv
* Initial revision.
*/

View File

@ -82,6 +82,15 @@ struct buffer FAR *getFATblock(ULONG clussec, struct dpb FAR * dpbp)
bp->b_flag &= ~(BFR_DATA | BFR_DIR);
bp->b_flag |= BFR_FAT | BFR_VALID;
bp->b_dpbp = dpbp;
bp->b_copies = dpbp->dpb_fats;
bp->b_offset = dpbp->dpb_fatsize;
#ifdef WITHFAT32
if (ISFAT32(dpbp))
{
if (dpbp->dpb_xflags & FAT_NO_MIRRORING)
bp->b_copies = 1;
}
#endif
}
return bp;
}
@ -183,7 +192,7 @@ unsigned link_fat(struct dpb FAR * dpbp, CLUSTER Cluster1,
*fbp1 = (*fbp1 & 0xf0) | ((Cluster2 >> 8) & 0x0f);
}
}
else if (ISFAT16(dpbp))
else if (ELSE_ISFAT16(dpbp))
{
/* form an index so that we can read the block as a */
/* byte array */
@ -319,7 +328,7 @@ CLUSTER next_cluster(struct dpb FAR * dpbp, CLUSTER ClusterNum)
return LONG_BAD;
return idx;
}
else if (ISFAT16(dpbp))
else if (ELSE_ISFAT16(dpbp))
{
UWORD res;
@ -353,58 +362,3 @@ CLUSTER next_cluster(struct dpb FAR * dpbp, CLUSTER ClusterNum)
return LONG_LAST_CLUSTER;
}
/*
* Log: fattab.c,v - for newer log entries do "cvs log fattab.c"
*
* Revision 1.6 1999/08/10 18:03:42 jprice
* ror4 2011-03 patch
*
* Revision 1.5 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.4 1999/04/16 00:53:33 jprice
* Optimized FAT handling
*
* Revision 1.3 1999/04/11 04:33:38 jprice
* ror4 patches
*
* Revision 1.1.1.1 1999/03/29 15:42:09 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/09 02:54:23 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.7 09 Feb 1998 5:41:08 patv
* Eliminated FAT12 EOF and error returns.
*
* Rev 1.6 04 Jan 1998 23:14:38 patv
* Changed Log for strip utility
*
* Rev 1.5 16 Jan 1997 12:46:22 patv
* pre-Release 0.92 feature additions
*
* Rev 1.4 29 May 1996 21:15:14 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:20:08 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:48:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:26 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:04:56 patv
* Initial revision.
*/

View File

@ -692,64 +692,3 @@ UBYTE FcbFindFirstNext(xfcb FAR * lpXfcb, BOOL First)
}
#endif
/*
* Log: fcbfns.c,v - for newer entries see "cvs log fcbfns.c"
*
* Revision 1.7 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.6 2000/03/17 22:59:04 kernel
* Steffen Kaiser's NLS changes
*
* Revision 1.5 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.4 1999/09/23 04:40:46 jprice
* *** empty log message ***
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:42:15 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/09 02:54:23 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/04 03:18:37 jprice
* Formating. Added comments.
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.7 06 Dec 1998 8:44:10 patv
* Expanded fcb functions for new I/O subsystem.
*
* Rev 1.6 04 Jan 1998 23:14:38 patv
* Changed Log for strip utility
*
* Rev 1.5 03 Jan 1998 8:36:02 patv
* Converted data area to SDA format
*
* Rev 1.4 16 Jan 1997 12:46:38 patv
* pre-Release 0.92 feature additions
*
* Rev 1.3 29 May 1996 21:15:14 patv
* bug fixes for v0.91a
*
* Rev 1.2 01 Sep 1995 17:48:44 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:26 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:06:06 patv
* Initial revision.
*/

View File

@ -150,21 +150,6 @@ FAR * ASM DPBp; /* First drive Parameter Block */
#define DSKWRITEINT26 3
#define DSKREADINT25 4
/* FAT cluster special flags */
#define FREE 0x000
#ifdef WITHFAT32
#define LONG_LAST_CLUSTER 0x0FFFFFFFl
#define LONG_BAD 0x0FFFFFF7l
#else
#define LONG_LAST_CLUSTER 0xFFFF
#define LONG_BAD 0xFFF8
#endif
#define MASK16 0xFFF8
#define BAD16 0xFFF0
#define MASK12 0xFF8
#define BAD12 0xFF0
/* NLS character table type */
typedef BYTE *UPMAP;
@ -270,6 +255,7 @@ FAR * ASM clock, /* CLOCK$ device */
extern WORD ASM maxbksize; /* Number of Drives in system */
extern struct buffer
FAR *ASM firstbuf; /* head of buffers linked list */
GLOBAL char FAR *firstAvailableBuf;
extern struct cds FAR * ASM CDSp; /* Current Directory Structure */
extern
struct cds FAR * ASM current_ldt;
@ -453,115 +439,3 @@ void ASMCFUNC spawn_int23(void); /* procsupt.asm */
GLOBAL BYTE ReturnAnyDosVersionExpected;
/*
* Log: globals.h,v
*
* Revision 1.17 2000/03/16 03:28:49 kernel
* *** empty log message ***
*
* Revision 1.16 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.15 1999/09/23 04:40:47 jprice
* *** empty log message ***
*
* Revision 1.13 1999/08/25 03:18:08 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.12 1999/08/10 18:03:43 jprice
* ror4 2011-03 patch
*
* Revision 1.11 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.10 1999/04/16 21:43:40 jprice
* ror4 multi-sector IO
*
* Revision 1.9 1999/04/16 12:21:22 jprice
* Steffen c-break handler changes
*
* Revision 1.8 1999/04/16 00:53:33 jprice
* Optimized FAT handling
*
* Revision 1.7 1999/04/12 03:21:17 jprice
* more ror4 patches. Changes for multi-block IO
*
* Revision 1.6 1999/04/11 04:33:39 jprice
* ror4 patches
*
* Revision 1.4 1999/04/04 22:57:47 jprice
* no message
*
* Revision 1.3 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.2 1999/03/29 17:05:09 jprice
* ror4 changes
*
* Revision 1.1.1.1 1999/03/29 15:40:58 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.3 1999/01/30 08:26:46 jprice
* Clean up; commented out copyright messages while we debug.
*
* Revision 1.2 1999/01/22 04:13:26 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
Rev 1.16 06 Dec 1998 8:45:56 patv
Expanded due to new I/O subsystem.
Rev 1.15 07 Feb 1998 20:38:00 patv
Modified stack fram to match DOS standard
Rev 1.14 02 Feb 1998 22:33:46 patv
Fixed size of default_drive. Caused failures when break_ena was not zero.
Rev 1.13 22 Jan 1998 4:09:24 patv
Fixed pointer problems affecting SDA
Rev 1.12 04 Jan 1998 23:16:22 patv
Changed Log for strip utility
Rev 1.11 03 Jan 1998 8:36:50 patv
Converted data area to SDA format
Rev 1.10 06 Feb 1997 21:57:04 patv
Changed version format string
Rev 1.9 06 Feb 1997 21:35:08 patv
Modified to support new version format
Rev 1.8 22 Jan 1997 13:17:14 patv
Changed to support version.h and pre-0.92 Svante Frey bug fixes.
Rev 1.6 16 Jan 1997 12:47:00 patv
pre-Release 0.92 feature additions
Rev 1.5 13 Sep 1996 19:26:32 patv
Fixed boot for hard drive
Rev 1.4 29 Aug 1996 13:07:22 patv
Bug fixes for v0.91b
Rev 1.3 29 May 1996 21:03:34 patv
bug fixes for v0.91a
Rev 1.2 19 Feb 1996 3:23:04 patv
Added NLS, int2f and config.sys processing
Rev 1.1 01 Sep 1995 17:54:16 patv
First GPL release.
Rev 1.0 02 Jul 1995 8:31:00 patv
Initial revision.
*/

View File

@ -27,7 +27,6 @@ extern __segment DosTextSeg;
#else
#pragma error("unknown compiler - please adjust")
this should simply not compile ! !
#error("unknown compiler - please adjust")
#endif
extern BYTE DOSFAR version_flags; /* minor version number */

102
kernel/initclk.c Normal file
View File

@ -0,0 +1,102 @@
/****************************************************************/
/* */
/* initclk.c */
/* */
/* System Clock Driver - initialization */
/* */
/* Copyright (c) 1995 */
/* Pasquale J. Villani */
/* All Rights Reserved */
/* */
/* This file is part of DOS-C. */
/* */
/* DOS-C is free software; you can redistribute it and/or */
/* modify it under the terms of the GNU General Public License */
/* as published by the Free Software Foundation; either version */
/* 2, or (at your option) any later version. */
/* */
/* DOS-C is distributed in the hope that it will be useful, but */
/* WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */
/* the GNU General Public License for more details. */
/* */
/* You should have received a copy of the GNU General Public */
/* License along with DOS-C; see the file COPYING. If not, */
/* write to the Free Software Foundation, 675 Mass Ave, */
/* Cambridge, MA 02139, USA. */
/****************************************************************/
#include "portab.h"
#include "init-mod.h"
#include "init-dat.h"
#ifdef VERSION_STRINGS
static char *RcsId =
"$Id$";
#endif
/* */
/* WARNING - THIS DRIVER IS NON-PORTABLE!!!! */
/* */
STATIC int InitByteToBcd(int x)
{
return ((x / 10) << 4) | (x % 10);
}
STATIC int InitBcdToByte(int x)
{
return ((x >> 4) & 0xf) * 10 + (x & 0xf);
}
STATIC void InitDayToBcd(BYTE * x, unsigned mon, unsigned day, unsigned yr)
{
x[1] = InitByteToBcd(mon);
x[0] = InitByteToBcd(day);
x[3] = InitByteToBcd(yr / 100);
x[2] = InitByteToBcd(yr % 100);
}
void Init_clk_driver(void)
{
iregs regsT, regsD, dosregs;
regsT.a.b.h = 0x02;
regsT.d.x = regsT.c.x = 0;
regsT.flags = 0;
init_call_intr(0x1a, &regsT);
if ((regsT.flags & 0x0001) || (regsT.c.x == 0 && regsT.d.x == 0))
{
goto error; /* error */
}
regsD.a.b.h = 0x04;
regsD.d.x = regsD.c.x = 0;
regsD.flags = 0;
init_call_intr(0x1a, &regsD);
if ((regsD.flags & 0x0001) || regsD.c.x == 0 || regsD.d.x == 0)
{
goto error;
}
/* DosSetDate */
dosregs.a.b.h = 0x2b;
dosregs.c.x = 100 * InitBcdToByte(regsD.c.b.h) +
InitBcdToByte(regsD.c.b.l);
dosregs.d.b.h = InitBcdToByte(regsD.d.b.h); /* month */
dosregs.d.b.l = InitBcdToByte(regsD.d.b.l); /* day */
init_call_intr(0x21, &dosregs);
/* DosSetTime */
dosregs.a.b.h = 0x2d;
dosregs.c.b.l = InitBcdToByte(regsT.c.b.l); /* minutes */
dosregs.c.b.h = InitBcdToByte(regsT.c.b.h); /* hours */
dosregs.d.b.h = InitBcdToByte(regsT.d.b.h); /*seconds */
dosregs.d.b.l = 0;
init_call_intr(0x21, &dosregs);
error:;
}

View File

@ -204,9 +204,9 @@ extern unsigned char DOSTEXTFAR ASM int1e_table[0xe];
* the problem with fff0-fff6 is that they might be interpreted as BAD *
* even though the standard BAD value is ...ff7 */
#define FAT12MAX (FAT_MAGIC-7)
#define FAT16MAX (FAT_MAGIC16-7)
#define FAT32MAX (FAT_MAGIC32-7)
#define FAT12MAX (FAT_MAGIC-6)
#define FAT16MAX (FAT_MAGIC16-6)
#define FAT32MAX (FAT_MAGIC32-6)
#define IsExtPartition(parttyp) ((parttyp) == EXTENDED || \
(parttyp) == EXTENDED_LBA )
@ -354,15 +354,14 @@ COUNT init_getdriveparm(UBYTE drive, bpb FAR * pbpbarray)
void init_LBA_to_CHS(struct CHS *chs, ULONG LBA_address,
struct DriveParamS *driveparam)
{
unsigned long cylinder;
unsigned hs = driveparam->chs.Sector * driveparam->chs.Head;
unsigned hsrem = (unsigned)(LBA_address % hs);
chs->Sector = LBA_address % driveparam->chs.Sector + 1;
LBA_address /= hs;
LBA_address /= driveparam->chs.Sector;
chs->Head = LBA_address % driveparam->chs.Head;
cylinder = LBA_address / driveparam->chs.Head;
chs->Cylinder = cylinder >= 0x10000ul ? 0xffffu : cylinder;
chs->Cylinder = LBA_address >= 0x10000ul ? 0xffffu : (unsigned)LBA_address;
chs->Head = hsrem / driveparam->chs.Sector;
chs->Sector = hsrem % driveparam->chs.Sector + 1;
}
void printCHS(char *title, struct CHS *chs)

View File

@ -186,7 +186,6 @@ int EnableHMA(VOID)
int MoveKernelToHMA()
{
if (DosLoadedInHMA)
{
return TRUE;
@ -366,7 +365,8 @@ void MoveKernel(unsigned NewKernelSegment)
d[i] = s[i];
}
HMAFree = FP_OFF(HMADest) + len; /* first free byte after HMA_TEXT */
HMAFree = (FP_OFF(HMADest) + len + 0xf) & 0xfff0;
/* first free byte after HMA_TEXT on 16 byte boundary */
{
/* D) but it only makes sense, if we can relocate
@ -446,9 +446,3 @@ errorReturn:
for (;;) ;
}
/*
* Log: inithma.c,v - for newer entries do "cvs log inithma.c"
*
* Revision 0.1 2001/03/16 12:00:00 tom ehlert
* initial creation
*/

View File

@ -52,46 +52,3 @@ UWORD init_oem(void)
return top_k;
}
/*
* Log: initoem.c,v - for newer entries do "cvs log initoem.c"
*
* Revision 1.3 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/08/25 03:18:08 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.1.1.1 1999/03/29 15:40:58 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.3 1999/01/30 08:28:11 jprice
* Clean up; Fixed bug with set attribute function.
*
* Revision 1.2 1999/01/22 04:13:26 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.4 04 Jan 1998 23:15:16 patv
* Changed Log for strip utility
*
* Rev 1.3 29 May 1996 21:03:48 patv
* bug fixes for v0.91a
*
* Rev 1.2 19 Feb 1996 3:21:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.1 01 Sep 1995 17:54:16 patv
* First GPL release.
*
* Rev 1.0 02 Jul 1995 8:31:54 patv
* Initial revision.
*/

View File

@ -31,9 +31,9 @@
%include "segs.inc"
%include "stacks.inc"
segment HMA_TEXT
segment _TEXT
extern _cu_psp:wrt DGROUP
extern _syscall_MUX14:wrt HMA_TEXT
extern _syscall_MUX14:wrt _TEXT
global reloc_call_int2f_handler
reloc_call_int2f_handler:
@ -56,6 +56,12 @@ Int2f3:
je FarTabRetn ; Win Hook return fast
cmp ah,12h
je IntDosCal ; Dos Internal calls
cmp ax,4a01h
je IntDosCal ; Dos Internal calls
cmp ax,4a02h
je IntDosCal ; Dos Internal calls
cmp ah,10h ; SHARE.EXE interrupt?
je Int2f1 ; yes, do installation check
cmp ah,08h
@ -130,7 +136,7 @@ IntDosCal:
mov ax,DGROUP
mov ds,ax
extern _int2F_12_handler:wrt HGROUP
extern _int2F_12_handler:wrt TGROUP
call _int2F_12_handler
%IFDEF I386
@ -319,14 +325,14 @@ int2f_call:
xor cx, cx ; set to succeed; clear carry and CX
int 2fh
pop bx
jc no_clear_ax
clear_ax:
mov ax, cx ; extended open -> status from CX in AX
; otherwise CX was set to zero above
jmp short no_neg_ax
jnc clear_ax
no_clear_ax:
neg ax
no_neg_ax:
xchg cx, ax
clear_ax:
xchg ax, cx ; extended open -> status from CX in AX
; otherwise CX was set to zero above
no_neg_ax:
pop bx
pop cx
pop di
@ -573,40 +579,3 @@ umbt_ret:
umbt_error: xor ax,ax
jmp short umbt_ret
; Log: int2f.asm,v
; Revision 1.4 2000/03/31 05:40:09 jtabor
; Added Eric W. Biederman Patches
;
; Revision 1.3 2000/03/09 06:07:11 kernel
; 2017f updates by James Tabor
;
; Revision 1.2 1999/08/10 17:57:12 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:40:59 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:26 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
;
; Rev 1.2 06 Dec 1998 8:48:12 patv
; Bug fixes.
;
; Rev 1.1 29 May 1996 21:03:46 patv
; bug fixes for v0.91a
;
; Rev 1.0 19 Feb 1996 3:34:38 patv
; Initial revision.
; EndLog
;

View File

@ -1810,9 +1810,48 @@ struct int2f12regs {
UWORD callerARG1; /* used if called from INT2F/12 */
};
extern short AllocateHMASpace (size_t lowbuffer, size_t highbuffer);
VOID ASMCFUNC int2F_12_handler(struct int2f12regs r)
{
UWORD function = r.ax & 0xff;
/* dont use
QueryFreeHMASpace(&p);
here; DS !=SS
*/
if ((r.ax & 0xff00) == 0x4a00)
{
size_t wantedBytes = r.bx;
r.bx = 0;
r.es = FP_SEG(firstAvailableBuf);
r.di = FP_OFF(firstAvailableBuf);
if (FP_SEG(firstAvailableBuf) != 0xffff)
{
return;
}
if (r.ax == 0x4a01)
{
r.bx = 0 - FP_OFF(firstAvailableBuf);
return;
}
if (r.ax == 0x4a02)
{
if (wantedBytes > 0 - FP_OFF(firstAvailableBuf))
{
r.bx = 0;
return;
}
AllocateHMASpace(FP_OFF(firstAvailableBuf),
FP_OFF(firstAvailableBuf)+wantedBytes);
firstAvailableBuf += wantedBytes;
return;
}
}
if (function > 0x31)
return;
@ -2000,164 +2039,3 @@ VOID ASMCFUNC int2F_12_handler(struct int2f12regs r)
* Modified interrupts 0x25 & 0x26 to return more accurate error codes.
*/
/*
* Log: inthndlr.c,v - see "cvs log inthndlr.c" for newer entries.
*
* Revision 1.10 2000/10/29 23:51:56 jimtabor
* Adding Share Support by Ron Cemer
*
* Revision 1.9 2000/08/06 05:50:17 jimtabor
* Add new files and update cvs with patches and changes
*
* Revision 1.8 2000/06/21 18:16:46 jimtabor
* Add UMB code, patch, and code fixes
*
* Revision 1.7 2000/05/25 20:56:21 jimtabor
* Fixed project history
*
* Revision 1.6 2000/05/17 19:15:12 jimtabor
* Cleanup, add and fix source.
*
* Revision 1.5 2000/05/11 06:14:45 jimtabor
* Removed #if statement
*
* Revision 1.4 2000/05/11 04:26:26 jimtabor
* Added code for DOS FN 69 & 6C
*
* Revision 1.3 2000/05/09 00:30:11 jimtabor
* Clean up and Release
*
* Revision 1.2 2000/05/08 04:30:00 jimtabor
* Update CVS to 2020
*
* Revision 1.1.1.1 2000/05/06 19:34:53 jhall1
* The FreeDOS Kernel. A DOS kernel that aims to be 100% compatible with
* MS-DOS. Distributed under the GNU GPL.
*
* Revision 1.24 2000/04/29 05:13:16 jtabor
* Added new functions and clean up code
*
* Revision 1.22 2000/03/17 22:59:04 kernel
* Steffen Kaiser's NLS changes
*
* Revision 1.21 2000/03/17 05:00:11 kernel
* Fixed Func 0x32
*
* Revision 1.20 2000/03/16 03:28:49 kernel
* *** empty log message ***
*
* Revision 1.19 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.18 1999/09/23 04:40:47 jprice
* *** empty log message ***
*
* Revision 1.13 1999/09/14 01:18:36 jprice
* ror4: fix int25 & 26 are not cached.
*
* Revision 1.12 1999/09/13 22:16:47 jprice
* Fix 210B function
*
* Revision 1.11 1999/08/25 03:18:08 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.10 1999/08/10 18:07:57 jprice
* ror4 2011-04 patch
*
* Revision 1.9 1999/08/10 18:03:43 jprice
* ror4 2011-03 patch
*
* Revision 1.8 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.7 1999/04/23 04:24:39 jprice
* Memory manager changes made by ska
*
* Revision 1.6 1999/04/16 12:21:22 jprice
* Steffen c-break handler changes
*
* Revision 1.5 1999/04/11 04:33:39 jprice
* ror4 patches
*
* Revision 1.3 1999/04/04 22:57:47 jprice
* no message
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:04 jprice
* New version without IPL.SYS
*
* Revision 1.9 1999/03/23 23:38:49 jprice
* Now sets carry when we don't support a function
*
* Revision 1.8 1999/03/02 07:02:55 jprice
* Added some comments. Fixed some minor bugs.
*
* Revision 1.7 1999/03/01 05:45:08 jprice
* Added some DEBUG ifdef's so that it will compile without DEBUG defined.
*
* Revision 1.6 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.5 1999/02/04 03:11:07 jprice
* Formating
*
* Revision 1.4 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.3 1999/01/30 08:28:11 jprice
* Clean up; Fixed bug with set attribute function.
*
* Revision 1.2 1999/01/22 04:13:26 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.14 06 Dec 1998 8:47:38 patv
* Expanded due to improved int 21h handler code.
*
* Rev 1.13 07 Feb 1998 20:38:46 patv
* Modified stack fram to match DOS standard
*
* Rev 1.12 22 Jan 1998 4:09:26 patv
* Fixed pointer problems affecting SDA
*
* Rev 1.11 06 Jan 1998 20:13:18 patv
* Broke apart int21_system from int21_handler.
*
* Rev 1.10 04 Jan 1998 23:15:22 patv
* Changed Log for strip utility
*
* Rev 1.9 04 Jan 1998 17:26:16 patv
* Corrected subdirectory bug
*
* Rev 1.8 03 Jan 1998 8:36:48 patv
* Converted data area to SDA format
*
* Rev 1.7 01 Aug 1997 2:00:10 patv
* COMPATIBILITY: Added return '$' in AL for function int 21h fn 09h
*
* Rev 1.6 06 Feb 1997 19:05:54 patv
* Added hooks for tsc command
*
* Rev 1.5 22 Jan 1997 13:18:32 patv
* pre-0.92 Svante Frey bug fixes.
*
* Rev 1.4 16 Jan 1997 12:46:46 patv
* pre-Release 0.92 feature additions
*
* Rev 1.3 29 May 1996 21:03:40 patv
* bug fixes for v0.91a
*
* Rev 1.2 19 Feb 1996 3:21:48 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.1 01 Sep 1995 17:54:20 patv
* First GPL release.
*
* Rev 1.0 02 Jul 1995 8:33:34 patv
* Initial revision.
*/

View File

@ -28,7 +28,7 @@
%include "segs.inc"
segment HMA_TEXT
segment _TEXT
;
; void intr(nr, rp)
; REG int nr

View File

@ -30,18 +30,18 @@
%include "segs.inc"
extern ConTable:wrt TGROUP
extern LptTable:wrt TGROUP
extern ComTable:wrt TGROUP
extern uPrtNo:wrt TGROUP
extern CommonNdRdExit:wrt TGROUP
extern ConTable:wrt LGROUP
extern LptTable:wrt LGROUP
extern ComTable:wrt LGROUP
extern uPrtNo:wrt LGROUP
extern CommonNdRdExit:wrt LGROUP
;!! extern _NumFloppies:wrt DGROUP
extern blk_stk_top:wrt DGROUP
extern clk_stk_top:wrt DGROUP
extern _reloc_call_blk_driver
extern _reloc_call_clk_driver
extern _TEXT_DGROUP:wrt TGROUP
extern _TEXT_DGROUP:wrt LGROUP
;---------------------------------------------------
;
@ -81,7 +81,7 @@ segment _IO_FIXED_DATA
;
global _con_dev
_con_dev equ $
dw _prn_dev,TGROUP
dw _prn_dev,LGROUP
dw 8013h ; con device (stdin & stdout)
dw GenStrategy
dw ConIntr
@ -91,7 +91,7 @@ _con_dev equ $
; Generic prn device that can be redirected via mode
;
global _prn_dev
_prn_dev dw _aux_dev,TGROUP
_prn_dev dw _aux_dev,LGROUP
dw 0A040h
dw GenStrategy
dw PrnIntr
@ -101,7 +101,7 @@ _prn_dev dw _aux_dev,TGROUP
; Generic aux device that can be redirected via mode
;
global _aux_dev
_aux_dev dw _Lpt1Dev,TGROUP
_aux_dev dw _Lpt1Dev,LGROUP
dw 8000h
dw GenStrategy
dw AuxIntr
@ -110,17 +110,17 @@ _aux_dev dw _Lpt1Dev,TGROUP
;
; Printer device drivers
;
_Lpt1Dev dw _Lpt2Dev,TGROUP
_Lpt1Dev dw _Lpt2Dev,LGROUP
dw 0A040h
dw GenStrategy
dw Lpt1Intr
db 'LPT1 '
_Lpt2Dev dw _Lpt3Dev,TGROUP
_Lpt2Dev dw _Lpt3Dev,LGROUP
dw 0A040h
dw GenStrategy
dw Lpt2Intr
db 'LPT2 '
_Lpt3Dev dw _Com1Dev,TGROUP
_Lpt3Dev dw _Com1Dev,LGROUP
dw 0A040h
dw GenStrategy
dw Lpt3Intr
@ -129,22 +129,22 @@ _Lpt3Dev dw _Com1Dev,TGROUP
;
; Com device drivers
;
_Com1Dev dw _Com2Dev,TGROUP
_Com1Dev dw _Com2Dev,LGROUP
dw 8000h
dw GenStrategy
dw AuxIntr
db 'COM1 '
_Com2Dev dw _Com3Dev,TGROUP
_Com2Dev dw _Com3Dev,LGROUP
dw 8000h
dw GenStrategy
dw Com2Intr
db 'COM2 '
_Com3Dev dw _Com4Dev,TGROUP
_Com3Dev dw _Com4Dev,LGROUP
dw 8000h
dw GenStrategy
dw Com3Intr
db 'COM3 '
_Com4Dev dw _clk_dev,TGROUP
_Com4Dev dw _clk_dev,LGROUP
dw 8000h
dw GenStrategy
dw Com4Intr
@ -155,7 +155,7 @@ _Com4Dev dw _clk_dev,TGROUP
;
global _clk_dev
_clk_dev equ $
dw _blk_dev,TGROUP
dw _blk_dev,LGROUP
dw 8008h ; clock device
dw GenStrategy
dw clk_entry
@ -596,19 +596,3 @@ clk_and_blk_common:
pop bx
popf
retf
; Log: io.asm,v
; Revision 1.3 2000/03/09 06:07:11 kernel
; 2017f updates by James Tabor
;
; Revision 1.2 1999/08/10 17:57:12 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:41:07 jprice
; New version without IPL.SYS
;
; Revision 1.1 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; EndLog
;

View File

@ -49,30 +49,12 @@
%define E_FAILURE 12 ; General Failure
extern _IOExit:wrt TGROUP
extern _IOSuccess:wrt TGROUP
extern _IOErrorExit:wrt TGROUP
extern _IOErrCnt:wrt TGROUP
extern _IODone:wrt TGROUP
extern _IOCommandError:wrt TGROUP
extern GetUnitNum:wrt TGROUP
extern _ReqPktPtr:wrt TGROUP
; Log: io.inc,v
;
; Revision 1.3 1999/08/10 17:57:12 jprice
; ror4 2011-02 patch
;
; Revision 1.2 1999/03/29 17:05:09 jprice
; ror4 changes
;
; Revision 1.1.1.1 1999/03/29 15:41:08 jprice
; New version without IPL.SYS
;
; Revision 1.1 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
;
; Rev 1.0 06 Dec 1998 8:13:02 patv
; Initial revision.
; EndLog
;
extern _IOExit:wrt LGROUP
extern _IOSuccess:wrt LGROUP
extern _IOErrorExit:wrt LGROUP
extern _IOErrCnt:wrt LGROUP
extern _IODone:wrt LGROUP
extern _IOCommandError:wrt LGROUP
extern GetUnitNum:wrt LGROUP
extern _ReqPktPtr:wrt LGROUP

View File

@ -339,55 +339,3 @@ COUNT DosDevIOctl(lregs * r)
return SUCCESS;
}
/*
* Log: ioctl.c,v - for newer log entries do "cvs log ioctl.c"
*
* Revision 1.4 2000/04/29 05:13:16 jtabor
* Added new functions and clean up code
*
* Revision 1.3 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:09 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:26 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.7 06 Dec 1998 8:48:22 patv
* Expanded due to new I/O subsystem.
*
* Rev 1.6 11 Jan 1998 2:06:22 patv
* Added functionality to ioctl.
*
* Rev 1.5 04 Jan 1998 23:15:18 patv
* Changed Log for strip utility
*
* Rev 1.4 16 Jan 1997 12:46:54 patv
* pre-Release 0.92 feature additions
*
* Rev 1.3 29 May 1996 21:03:30 patv
* bug fixes for v0.91a
*
* Rev 1.2 19 Feb 1996 3:21:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.1 01 Sep 1995 17:54:16 patv
* First GPL release.
*
* Rev 1.0 02 Jul 1995 8:32:04 patv
* Initial revision.
*/

View File

@ -30,9 +30,9 @@
; Code for stack switching during hardware interrupts.
group TGROUP _TEXT
group LGROUP _LOWTEXT
segment _TEXT class=CODE
segment _LOWTEXT class=LCODE
old_vectors times 16 dd 0
stack_size dw 0
@ -168,7 +168,7 @@ _init_stacks:
push si
mov ax,_TEXT
mov ax,_LOWTEXT
mov ds,ax
mov bx, [bp+4]
@ -187,7 +187,7 @@ _init_stacks:
xor ax, ax
mov ds, ax
mov ax, _TEXT
mov ax, _LOWTEXT
mov es, ax
mov di, old_vectors
@ -221,44 +221,10 @@ set_vect:
set_next: mov ax, dx
cli
stosw
mov ax, _TEXT
mov ax, _LOWTEXT
stosw
sti
add dx, irq_1 - irq_0
loop set_next
ret
; Log: irqstack.asm,v
; Revision 1.3 1999/08/10 17:57:13 jprice
; ror4 2011-02 patch
;
; Revision 1.2 1999/04/16 12:21:22 jprice
; Steffen c-break handler changes
;
; Revision 1.1.1.1 1999/03/29 15:41:10 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:26 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
;
; Rev 1.2 06 Dec 1998 8:49:08 patv
; Bug fixes.
;
; Rev 1.1 22 Jan 1997 13:15:34 patv
; pre-0.92 Svante Frey bug fixes
;
; Rev 1.0 16 Jan 1997 21:43:44 patv
; Initial revision.
; EndLog
;

View File

@ -34,7 +34,7 @@
segment PSP
extern _ReqPktPtr:wrt TGROUP
extern _ReqPktPtr:wrt LGROUP
STACK_SIZE equ 384/2 ; stack allocated in words
@ -300,7 +300,7 @@ _nblkdev db 0 ; 0020 number of block devices
_lastdrive db 0 ; 0021 value of last drive
global _nul_dev
_nul_dev: ; 0022 device chain root
extern _con_dev:wrt TGROUP
extern _con_dev:wrt LGROUP
dw _con_dev, seg _con_dev
; next is con_dev at init time.
dw 8004h ; attributes = char device, NUL bit set
@ -329,12 +329,11 @@ _BootDrive db 1 ; 0043 drive we booted from
buf_info:
global _firstbuf
_firstbuf dd 0 ; 0047 disk buffer chain
dw 0 ; 004B 0 (DOS 4 = # hashing chains)
dw 0 ; 004B Number of dirty buffers
dd 0 ; 004D pre-read buffer
dw 0 ; 0051 # of sectors
dw 0 ; 0051 number of look-ahead buffers
db 0 ; 0053 00=conv 01=HMA
dw 0 ; 0054 deblock buf in conv
deblock_seg dw 0 ; 0056 (offset always zero)
deblock_buf dd 0 ; 0054 deblock buffer
times 3 db 0 ; 0058 unknown
dw 0 ; 005B unknown
db 0, 0FFh, 0 ; 005D unknown
@ -574,7 +573,7 @@ _prev_user_r:
prev_int21regs_off dw 0 ;2D0 - pointer to prev int 21 frame
prev_int21regs_seg dw 0
; Pad to 02ddh
; Pad to 05fdh
times (2ddh - ($ - _internal_data)) db 0
global _ext_open_action
global _ext_open_attrib
@ -654,6 +653,10 @@ blk_stk_top:
global clk_stk_top
times 64 dw 0
clk_stk_top:
; have a jump to the real thing here for AARD compliance
global _CharMapSrvc ; in _DATA (see AARD)
_CharMapSrvc: jmp far CharMapSrvc2
; Dynamic data:
; member of the DOS DATA GROUP
@ -701,7 +704,7 @@ __HMATextStart:
; the HMA area is filled with 1eh+3(=sizeof VDISK) = 33 byte dummy data,
; so nothing will ever be below 0xffff:0031
;
segment HMA_TEXT
segment _TEXT
begin_hma:
times 10h db 0 ; filler [ffff:0..ffff:10]
times 20h db 0
@ -733,7 +736,7 @@ segment _STACK class=STACK stack
segment _TEXT
segment _LOWTEXT
; dummy interrupt return handlers
global _int22_handler
@ -753,7 +756,7 @@ _DGROUP_:
dw DGROUP
segment _TEXT
segment _LOWTEXT
global _initforceEnableA20
initforceEnableA20:
@ -821,13 +824,13 @@ _reloc_call_clk_driver:
jmp far _clk_driver
call near forceEnableA20
global _CharMapSrvc
; global _CharMapSrvc ; in _DATA (see AARD)
extern _reloc_call_CharMapSrvc
_CharMapSrvc: jmp far _reloc_call_CharMapSrvc
CharMapSrvc2: jmp far _reloc_call_CharMapSrvc
call near forceEnableA20
global __HMARelocationTableEnd
global __HMARelocationTableEnd
__HMARelocationTableEnd:
;
@ -928,7 +931,7 @@ noNeedToDisable:
iret
segment _TEXT
segment _LOWTEXT
;
; Default Int 24h handler -- always returns fail
; so we have not to relocate it (now)
@ -943,7 +946,7 @@ _int24_handler: mov al,FAIL
; this makes some things easier
;
segment _TEXT
segment _LOWTEXT
global _TEXT_DGROUP
_TEXT_DGROUP dw DGROUP
@ -951,71 +954,3 @@ segment INIT_TEXT
global _INIT_DGROUP
_INIT_DGROUP dw DGROUP
; Log: kernel.asm,v
; Revision 1.6 2000/03/09 06:07:11 kernel
; 2017f updates by James Tabor
;
; Revision 1.5 1999/09/23 04:40:47 jprice
; *** empty log message ***
;
; Revision 1.3 1999/08/10 17:57:13 jprice
; ror4 2011-02 patch
;
; Revision 1.2 1999/04/13 15:52:57 jprice
; changes for boot loader
;
; Revision 1.1.1.1 1999/03/29 15:41:14 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:26 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
; Rev 1.11 06 Dec 1998 8:48:04 patv
;Bug fixes.
;
; Rev 1.10 03 Feb 1998 23:30:08 patv
;Added a start-up stack for loadable device drivers. Need the separate
;stack so that all int 21h functions can be called.
;
; Rev 1.9 22 Jan 1998 4:09:24 patv
;Fixed pointer problems affecting SDA
;
; Rev 1.8 06 Jan 1998 20:12:32 patv
;Reduced device driver stack sizes.
;
; Rev 1.7 04 Jan 1998 17:26:18 patv
;Corrected subdirectory bug
;
; Rev 1.6 03 Jan 1998 8:36:50 patv
;Converted data area to SDA format
;
; Rev 1.5 06 Feb 1997 22:43:18 patv
;Reduced stack sizes for block and clock devices.
;
; Rev 1.4 06 Feb 1997 19:05:48 patv
;Added hooks for tsc command
;
; Rev 1.3 29 May 1996 21:03:44 patv
;bug fixes for v0.91a
;
; Rev 1.2 19 Feb 1996 3:24:06 patv
;Added NLS, int2f and config.sys processing
;
; Rev 1.1 01 Sep 1995 17:54:24 patv
;First GPL release.
;
; Rev 1.0 02 Jul 1995 9:05:44 patv
;Initial revision.
;
; EndLog
;

View File

@ -93,6 +93,8 @@ STATIC VOID kernel(VOID);
STATIC VOID FsConfig(VOID);
STATIC VOID InitPrinters(VOID);
extern void Init_clk_driver(void);
#ifdef _MSC_VER
BYTE _acrtused = 0;
#endif
@ -252,6 +254,8 @@ STATIC void init_kernel(void)
init_PSPSet(DOS_PSP);
init_PSPInit(DOS_PSP);
Init_clk_driver();
/* Do first initialization of system variable buffers so that */
/* we can read config.sys later. */
lastdrive = Config.cfgLastdrive;
@ -634,95 +638,3 @@ STATIC VOID InitPrinters(VOID)
}
}
/*
* Log: main.c,v - for newer log entries do "cvs log main.c"
*
* Revision 1.14 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.13 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.12 1999/09/23 04:40:48 jprice
* *** empty log message ***
*
* Revision 1.10 1999/08/25 03:18:09 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.9 1999/04/16 21:43:40 jprice
* ror4 multi-sector IO
*
* Revision 1.8 1999/04/16 12:21:22 jprice
* Steffen c-break handler changes
*
* Revision 1.7 1999/04/16 00:53:33 jprice
* Optimized FAT handling
*
* Revision 1.6 1999/04/12 03:21:17 jprice
* more ror4 patches. Changes for multi-block IO
*
* Revision 1.5 1999/04/11 04:33:39 jprice
* ror4 patches
*
* Revision 1.3 1999/04/04 22:57:47 jprice
* no message
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:18 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.3 1999/01/30 08:28:12 jprice
* Clean up; Fixed bug with set attribute function.
*
* Revision 1.2 1999/01/22 04:13:26 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.12 06 Dec 1998 8:45:30 patv
* Changed due to new I/O subsystem.
*
* Rev 1.11 22 Jan 1998 4:09:24 patv
* Fixed pointer problems affecting SDA
*
* Rev 1.10 04 Jan 1998 23:15:20 patv
* Changed Log for strip utility
*
* Rev 1.9 04 Jan 1998 17:26:16 patv
* Corrected subdirectory bug
*
* Rev 1.8 03 Jan 1998 8:36:48 patv
* Converted data area to SDA format
*
* Rev 1.7 06 Feb 1997 21:35:46 patv
* Modified to support new version format and changed debug message to
* output drive letter instead of number.
*
* Rev 1.6 22 Jan 1997 13:05:02 patv
* Now does correct default drive initialization.
*
* Rev 1.5 16 Jan 1997 12:47:00 patv
* pre-Release 0.92 feature additions
*
* Rev 1.3 29 May 1996 21:03:32 patv
* bug fixes for v0.91a
*
* Rev 1.2 19 Feb 1996 3:21:36 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.1 01 Sep 1995 17:54:18 patv
* First GPL release.
*
* Rev 1.0 02 Jul 1995 8:33:18 patv
* Initial revision.
*/

View File

@ -45,6 +45,7 @@ EXE_dependencies = \
dosnames.obj \
dsk.obj \
initdisk.obj \
initclk.obj \
entry.obj \
error.obj \
execrh.obj \
@ -108,7 +109,7 @@ kernel.res: $(EXE_dependencies) $(LIBS)
-$(RM) kernel.res
..\utils\echoto kernel.res kernel.obj iprf.obj+
..\utils\echoto kernel.res entry.obj io.obj blockio.obj chario.obj dosfns.obj console.obj+
..\utils\echoto kernel.res printer.obj serial.obj dsk.obj initdisk.obj error.obj fatdir.obj fatfs.obj+
..\utils\echoto kernel.res printer.obj serial.obj dsk.obj initdisk.obj initclk.obj error.obj fatdir.obj fatfs.obj+
..\utils\echoto kernel.res fattab.obj fcbfns.obj initoem.obj initHMA.obj inthndlr.obj ioctl.obj nls_hc.obj+
..\utils\echoto kernel.res main.obj config.obj memmgr.obj misc.obj newstuff.obj nls.obj intr.obj+
..\utils\echoto kernel.res dosnames.obj prf.obj strings.obj network.obj sysclk.obj syspack.obj+
@ -253,101 +254,11 @@ initdisk.obj: initdisk.c $(INITHEADERS) $(HEADERS) $(CONFIGURATION)
$(CC) $(INITCFLAGS) $*.c
$(INITPATCH) $*.obj
initclk.obj: initclk.c $(INITHEADERS) $(HEADERS) $(CONFIGURATION)
$(CC) $(INITCFLAGS) $*.c
$(INITPATCH) $*.obj
#the printf for INIT_TEXT - yet another special case, this file includes prf.c
iprf.obj: iprf.c prf.c $(HDR)\portab.h $(CONFIGURATION)
$(CC) $(INITCFLAGS) $*.c
$(INITPATCH) $*.obj
# Log: makefile,v
#
# Revision 1.14 2000/03/31 05:40:09 jtabor
# Added Eric W. Biederman Patches
#
# Revision 1.13 2000/03/17 22:59:04 kernel
# Steffen Kaiser's NLS changes
#
# Revision 1.12 2000/03/09 06:07:11 kernel
# 2017f updates by James Tabor
#
# Revision 1.11 1999/09/23 04:40:47 jprice
# *** empty log message ***
#
# Revision 1.8 1999/09/13 20:41:41 jprice
# Some clean up.
#
# Revision 1.7 1999/08/25 03:18:09 jprice
# ror4 patches to allow TC 2.01 compile.
#
# Revision 1.6 1999/08/10 17:57:13 jprice
# ror4 2011-02 patch
#
# Revision 1.5 1999/04/23 04:25:15 jprice
# no message
#
# Revision 1.4 1999/04/23 03:45:11 jprice
# Improved by jprice
#
# Revision 1.3 1999/04/16 12:21:22 jprice
# Steffen c-break handler changes
#
# Revision 1.2 1999/04/13 15:48:21 jprice
# no message
#
# Revision 1.1.1.1 1999/03/29 15:41:15 jprice
# New version without IPL.SYS
#
# Revision 1.7 1999/03/01 06:04:37 jprice
# Fixed so it'll work with config.mak
#
# Revision 1.6 1999/03/01 05:46:43 jprice
# Turned off DEBUG define.
#
# Revision 1.5 1999/02/09 04:49:43 jprice
# Make makefile use common config.mak file
#
# Revision 1.4 1999/02/08 05:55:57 jprice
# Added Pat's 1937 kernel patches
#
# Revision 1.3 1999/02/04 03:09:59 jprice
# Added option to share constants (-d).
#
# Revision 1.2 1999/01/22 04:13:26 jprice
# Formating
#
# Revision 1.1.1.1 1999/01/20 05:51:01 jprice
# Imported sources
#
#
# Rev 1.8.1 10 Jan 1999 SRM
#Took out "/P-" from TLINK
#Changed "bcc" to "tcc"
#
# Rev 1.9 06 Dec 1998 8:45:40 patv
#Added new files for I/O subsystem.
#
# Rev 1.8 22 Jan 1998 14:50:06 patv
#Outdated stacks.asm.
#
# Rev 1.6 03 Jan 1998 8:36:50 patv
#Converted data area to SDA format
#
# Rev 1.5 30 Jan 1997 7:55:54 patv
#Added TSC flag for trace support.
#
# Rev 1.4 16 Jan 1997 12:46:42 patv
#pre-Release 0.92 feature additions
#
# Rev 1.3 29 Aug 1996 13:07:34 patv
#Bug fixes for v0.91b
#
# Rev 1.2 29 May 1996 21:03:32 patv
#bug fixes for v0.91a
#
# Rev 1.1 19 Feb 1996 3:35:38 patv
#Added NLS, int2f and config.sys processing
#
# Rev 1.0 02 Jul 1995 8:30:22 patv
#Initial revision.
#
# EndLog
#

View File

@ -601,52 +601,3 @@ DUL_exit:
#endif
/*
* Log: memmgr.c,v - for newer log entries do "cvs log memmgr.c"
*
* Revision 1.4 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.3 1999/08/25 03:18:09 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.2 1999/04/23 04:24:39 jprice
* Memory manager changes made by ska
*
* Revision 1.1.1.1 1999/03/29 15:41:20 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:26 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.6 04 Jan 1998 23:15:18 patv
* Changed Log for strip utility
*
* Rev 1.5 16 Jan 1997 12:47:00 patv
* pre-Release 0.92 feature additions
*
* Rev 1.4 29 May 1996 21:03:34 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:21:36 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:54:20 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:51:58 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:33:08 patv
* Initial revision.
*/

View File

@ -84,46 +84,3 @@ VOID fmemset(REG VOID FAR * s, REG int ch, REG size_t n)
#endif
/*
* Log: misc.c,v - for newer entries see "cvs log misc.c"
*
* Revision 1.4 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.3 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.2 1999/04/23 04:24:39 jprice
* Memory manager changes made by ska
*
* Revision 1.1.1.1 1999/03/29 15:42:19 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.5 04 Jan 1998 23:14:36 patv
* Changed Log for strip utility
*
* Rev 1.4 29 May 1996 21:15:18 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:20:12 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:48:46 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:28 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:06:28 patv
* Initial revision.
*/

View File

@ -51,19 +51,3 @@ VOID set_machine_name(BYTE FAR * netname, UWORD name_num)
net_set_count++;
}
/*
* Log: network.c,v - for newer entries see "cvs log network.c"
*
* Revision 1.5 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.4 2000/03/17 22:59:04 kernel
* Steffen Kaiser's NLS changes
*
* Revision 1.3 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/09/23 04:40:48 jprice
* *** empty log message ***
*
*/

View File

@ -696,55 +696,3 @@ written on command line, the same applied to "con\0", a device driver.
#endif
/*
* Log: newstuff.c,v - for newer entries see "cvs log newstuff.c"
*
* Revision 1.8 2000/04/02 06:11:35 jtabor
* Fix ChgDir Code
*
* Revision 1.7 2000/04/02 05:30:48 jtabor
* Fix ChgDir Code
*
* Revision 1.6 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.5 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.4 1999/08/25 03:18:09 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.3 1999/04/11 04:33:39 jprice
* ror4 patches
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:22 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:26 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.4 06 Dec 1998 8:49:02 patv
* Bug fixes.
*
* Rev 1.3 04 Jan 1998 23:15:22 patv
* Changed Log for strip utility
*
* Rev 1.2 04 Jan 1998 17:26:14 patv
* Corrected subdirectory bug
*
* Rev 1.1 22 Jan 1997 13:21:22 patv
* pre-0.92 Svante Frey bug fixes.
*/

View File

@ -131,6 +131,7 @@ COUNT muxLoadPkg(UWORD cp, UWORD cntry)
/* 0x14FF == installed */
r.BX = 0; /* make sure the NLSFUNC ID is updated */
r.CX = NLS_FREEDOS_NLSFUNC_ID;
if (muxGo(0, &r) != 0x14ff)
return DE_FILENOTFND; /* No NLSFUNC --> no load */
if (r.BX != NLS_FREEDOS_NLSFUNC_ID) /* FreeDOS NLSFUNC will return */
@ -676,10 +677,3 @@ UWORD ASMCFUNC syscall_MUX14(DIRECT_IREGS)
return DE_INVLDFUNC; /* no such function */
}
/*
* Log: nls.c,v - for newer log entries see "cvs log nls.c"
*
* Revision 1.1 2000/03/23 02:44:21 ska
* Initial revision
*
*/

View File

@ -30,7 +30,7 @@ _nlsCountryInfoHardcoded:
DB 01ch, 000h, 001h, 000h, 0b5h, 001h, 000h, 000h
DB 024h, 000h, 000h, 000h, 000h, 02ch, 000h, 02eh
DB 000h, 02dh, 000h, 03ah, 000h, 000h, 002h, 000h
extern _CharMapSrvc:wrt TGROUP
extern _CharMapSrvc:wrt DGROUP
DW _CharMapSrvc, SEG _CharMapSrvc
DB 02ch, 000h
GLOBAL _hcTablesStart

View File

@ -30,7 +30,6 @@
#include "portab.h"
#include "init-mod.h"
//#include "pcb.h"
#ifdef VERSION_STRINGS
static BYTE *RcsId =
@ -407,10 +406,3 @@ BOOL LoadCountryInfo(char *fnam)
return 0;
}
/*
* Log: nls_load.c,v for newer entries do "cvs log nls_load.c"
*
* Revision 1.1 2000/08/06 05:50:17 jimtabor
* Add new files and update cvs with patches and changes
*
*/

View File

@ -30,9 +30,9 @@
%include "segs.inc"
segment HMA_TEXT
segment _TEXT
global _reloc_call_CharMapSrvc
extern _DosUpChar:wrt HGROUP
extern _DosUpChar:wrt TGROUP
;
; CharMapSrvc:
; User callable character mapping service.
@ -72,39 +72,3 @@ _reloc_call_CharMapSrvc:
pop ds
Restore386Registers
retf ; Return far
; Log: nlssupt.asm,v
;
; Revision 1.3 2000/03/17 22:59:04 kernel
; Steffen Kaiser's NLS changes
;
; Revision 1.2 1999/08/10 17:57:13 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:41:25 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:26 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
; Rev 1.3 06 Dec 1998 8:46:56 patv
; Bug fixes.
;
; Rev 1.2 16 Jan 1997 12:46:44 patv
; pre-Release 0.92 feature additions
;
; Rev 1.1 29 May 1996 21:03:38 patv
; bug fixes for v0.91a
;
; Rev 1.0 19 Feb 1996 3:24:04 patv
; Added NLS, int2f and config.sys processing
; EndLog
;

View File

@ -58,7 +58,6 @@ static char buff[MAX_BUFSIZE];
#define printf init_printf
#define sprintf init_sprintf
#define charp init_charp
#define hexDigits init_hexDigits
#endif
#ifdef VERSION_STRINGS
@ -564,43 +563,3 @@ main()
}
#endif
/*
* Log: prf.c,v - see "cvs log prf.c" for newer entries
*
* Revision 1.4 2001/03/07 10:00:00 tomehlert
* recoded for smaller object footprint, added main() for testing+QA
*
* Revision 1.3 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:42:20 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.4 04 Jan 1998 23:14:38 patv
* Changed Log for strip utility
*
* Rev 1.3 29 May 1996 21:15:10 patv
* bug fixes for v0.91a
*
* Rev 1.2 01 Sep 1995 17:48:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:26 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:05:10 patv
* Initial revision.
*/

View File

@ -242,18 +242,3 @@ PrtGnIoctl3:
; you must not simply print without asking for status
; as the BIOS has a LARGE timeout before aborting
;
; Log: printer.asm,v
;
; Revision 1.2 1999/08/10 17:57:13 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:41:26 jprice
; New version without IPL.SYS
;
; Revision 1.1 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; EndLog
;

View File

@ -34,13 +34,13 @@
extern _user_r:wrt DGROUP
extern _break_flg:wrt DGROUP ; break detected flag
extern _int21_handler:wrt TGROUP ; far call system services
extern _int21_handler:wrt LGROUP ; far call system services
%include "stacks.inc"
segment HMA_TEXT
segment _TEXT
extern _DGROUP_:wrt TGROUP
extern _DGROUP_:wrt LGROUP
;
; Special call for switching processes
@ -70,7 +70,7 @@ _exec_user:
extern _ExecUserDisableA20
jmp far _ExecUserDisableA20
segment _TEXT
segment _LOWTEXT
;; Called whenever the BIOS detects a ^Break state
@ -85,7 +85,7 @@ _got_cbreak:
pop ds
iret
segment HMA_TEXT
segment _TEXT
;
; Special call for switching processes during break handling
@ -273,46 +273,3 @@ _spawn_int23:
; cli
; ret
;_disable endp
; Log: procsupt.asm,v
; Revision 1.4 1999/08/10 17:57:13 jprice
; ror4 2011-02 patch
;
; Revision 1.3 1999/04/23 22:38:36 jprice
; Fixed got_cbreak function.
;
; Revision 1.2 1999/04/16 12:21:22 jprice
; Steffen c-break handler changes
;
; Revision 1.1.1.1 1999/03/29 15:41:27 jprice
; New version without IPL.SYS
;
; Revision 1.4 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
; Revision 1.3 1999/02/01 01:48:41 jprice
; Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
;
; Revision 1.2 1999/01/22 04:13:27 jprice
; Formating
;
; Revision 1.1.1.1 1999/01/20 05:51:01 jprice
; Imported sources
;
; Rev 1.4 06 Dec 1998 8:46:44 patv
;Bug fixes.
;
; Rev 1.3 07 Feb 1998 20:42:08 patv
;Modified stack fram to match DOS standard
;
; Rev 1.2 29 May 1996 21:03:36 patv
;bug fixes for v0.91a
;
; Rev 1.1 01 Sep 1995 17:54:24 patv
;First GPL release.
;
; Rev 1.0 02 Jul 1995 9:05:58 patv
;Initial revision.
; EndLog
;

View File

@ -34,10 +34,9 @@ static BYTE *Proto_hRcsId =
#endif
/* blockio.c */
ULONG getblkno(struct buffer FAR *);
VOID setblkno(struct buffer FAR *, ULONG);
struct buffer FAR *getblock(ULONG blkno, COUNT dsk);
struct buffer FAR *getblockOver(ULONG blkno, COUNT dsk);
struct buffer FAR *getblk(ULONG blkno, COUNT dsk, BOOL overwrite);
#define getblock(blkno, dsk) getblk(blkno, dsk, FALSE);
#define getblockOver(blkno, dsk) getblk(blkno, dsk, TRUE);
VOID setinvld(REG COUNT dsk);
BOOL flush_buffers(REG COUNT dsk);
BOOL flush(void);
@ -391,94 +390,3 @@ VOID ASMCFUNC exec_user(iregs FAR * irp);
#define ASSERT_CONST(x) { typedef struct { char _xx[x ? 1 : -1]; } xx ; }
/*
* Log: proto.h,v
*
* Revision 1.17 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.16 2000/03/17 22:59:04 kernel
* Steffen Kaiser's NLS changes
*
* Revision 1.15 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.14 1999/09/23 04:40:48 jprice
* *** empty log message ***
*
* Revision 1.10 1999/08/25 03:18:09 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.9 1999/05/03 06:25:45 jprice
* Patches from ror4 and many changed of signed to unsigned variables.
*
* Revision 1.8 1999/04/23 04:24:39 jprice
* Memory manager changes made by ska
*
* Revision 1.7 1999/04/16 21:43:40 jprice
* ror4 multi-sector IO
*
* Revision 1.6 1999/04/16 12:21:22 jprice
* Steffen c-break handler changes
*
* Revision 1.5 1999/04/12 03:21:17 jprice
* more ror4 patches. Changes for multi-block IO
*
* Revision 1.4 1999/04/11 04:33:39 jprice
* ror4 patches
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:30 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/08 05:55:57 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:27 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.11 06 Dec 1998 8:47:18 patv
*Expanded due to new I/O subsystem.
*
* Rev 1.10 07 Feb 1998 20:38:00 patv
*Modified stack fram to match DOS standard
*
* Rev 1.9 22 Jan 1998 4:09:26 patv
*Fixed pointer problems affecting SDA
*
* Rev 1.8 11 Jan 1998 2:06:22 patv
*Added functionality to ioctl.
*
* Rev 1.7 04 Jan 1998 23:16:22 patv
*Changed Log for strip utility
*
* Rev 1.6 03 Jan 1998 8:36:48 patv
*Converted data area to SDA format
*
* Rev 1.5 16 Jan 1997 12:46:44 patv
*pre-Release 0.92 feature additions
*
* Rev 1.4 29 May 1996 21:03:40 patv
*bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:23:06 patv
*Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:54:26 patv
*First GPL release.
*
* Rev 1.1 30 Jul 1995 20:51:58 patv
*Eliminated version strings in ipl
*
* Rev 1.0 05 Jul 1995 11:32:16 patv
*Initial revision.
*/

View File

@ -28,15 +28,15 @@
;
group PGROUP PSP
group TGROUP _TEXT _IO_TEXT _IO_FIXED_DATA
group LGROUP _LOWTEXT _IO_TEXT _IO_FIXED_DATA
group DGROUP _FIXED_DATA _BSS _DATA _DATAEND CONST CONST2 DCONST DYN_DATA
group I_GROUP INIT_TEXT_START INIT_TEXT INIT_TEXT_END ID_B ID ID_E IC IDATA ICONST ICONST2 I_DATA I_BSS IB_B IB IB_E
group HGROUP HMA_TEXT_START HMA_TEXT HMA_TEXT_END
group I_GROUP INIT_TEXT_START INIT_TEXT INIT_TEXT_END ID_B ID ID_E IC IDATA ICONST ICONST2 I_DATA IB_B I_BSS IB IB_E
group TGROUP HMA_TEXT_START _TEXT HMA_TEXT_END
segment PSP class=PSP
segment _TEXT class=CODE
segment _IO_TEXT class=CODE
segment _IO_FIXED_DATA class=CODE align=2
segment _LOWTEXT class=LCODE
segment _IO_TEXT class=LCODE
segment _IO_FIXED_DATA class=LCODE align=2
segment _FIXED_DATA class=FDATA align=16
segment _BSS class=BSS align=2
segment _DATA class=DATA align=2
@ -47,9 +47,9 @@ segment CONST2 class=DATA align=2
;for MSC
segment DCONST class=DCONST align=2
segment DYN_DATA class=DYN_DATA
segment HMA_TEXT_START class=HMA align=16
segment HMA_TEXT class=HMA
segment HMA_TEXT_END class=HMA
segment HMA_TEXT_START class=CODE align=16
segment _TEXT class=CODE
segment HMA_TEXT_END class=CODE
segment INIT_TEXT_START class=INIT align=16
segment INIT_TEXT class=INIT
segment INIT_TEXT_END class=INIT
@ -63,25 +63,8 @@ segment IC class=IC align=2
segment ICONST class=FAR_DATA align=2
segment ICONST2 class=FAR_DATA align=2
segment I_DATA class=FAR_DATA align=2
segment I_BSS class=FAR_DATA align=2
segment IB_B class=IB align=2
segment I_BSS class=FAR_DATA align=2
segment IB class=IB align=2
segment IB_E class=IB align=2
; Log: segs.inc,v
;
; Revision 1.2 1999/08/10 17:57:13 jprice
; ror4 2011-02 patch
;
; Revision 1.1.1.1 1999/03/29 15:41:30 jprice
; New version without IPL.SYS
;
; Revision 1.1 1999/02/08 05:55:57 jprice
; Added Pat's 1937 kernel patches
;
;
; Rev 1.0 06 Dec 1998 8:12:36 patv
; Initial revision.
; EndLog
;

View File

@ -50,7 +50,7 @@ ComTable db 0Ah
segment _IO_TEXT
extern CommonNdRdExit:wrt TGROUP
extern CommonNdRdExit:wrt LGROUP
ComRead:
jcxz ComRd3

View File

@ -154,52 +154,3 @@ void *memchr(const void * s, int c)
}
#endif
/*
* Log: strings.c,v - see "cvs log strings.c" for newer entries
*
* Revision 1.4 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.3 1999/08/25 03:18:09 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.2 1999/04/04 18:51:43 jprice
* no message
*
* Revision 1.1.1.1 1999/03/29 15:41:32 jprice
* New version without IPL.SYS
*
* Revision 1.4 1999/02/04 03:14:07 jprice
* Formating. Added comments.
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:27 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.6 04 Jan 1998 23:15:16 patv
* Changed Log for strip utility
*
* Rev 1.5 31 Dec 1997 3:59:30 patv
* Added new far string functions.
*
* Rev 1.4 29 May 1996 21:03:30 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:21:36 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:54:22 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:51:58 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:33:46 patv
* Initial revision.
*/

View File

@ -44,12 +44,12 @@ STATIC int ByteToBcd(int x)
{
return ((x / 10) << 4) | (x % 10);
}
/*
STATIC int BcdToByte(int x)
{
return ((x >> 4) & 0xf) * 10 + (x & 0xf);
}
*/
STATIC void DayToBcd(BYTE * x, unsigned mon, unsigned day, unsigned yr)
{
x[1] = ByteToBcd(mon);
@ -65,6 +65,8 @@ WORD ASMCFUNC FAR clk_driver(rqptr rp)
switch (rp->r_command)
{
case C_INIT:
#if 0
/* If AT clock exists, copy AT clock time to system clock */
if (!ReadATClock(bcd_days, &bcd_hours, &bcd_minutes, &bcd_seconds))
{
@ -89,6 +91,7 @@ WORD ASMCFUNC FAR clk_driver(rqptr rp)
BcdToByte(bcd_seconds);
WritePCClock(seconds * 0x12 + ((seconds * 0x34dc) >> 16));
}
#endif
/* rp->r_endaddr = device_end(); not needed - bart */
rp->r_nunits = 0;
return S_DONE;
@ -156,14 +159,14 @@ WORD ASMCFUNC FAR clk_driver(rqptr rp)
else
break;
}
/* Day contains the days left and count the number of */
/* days for that year. Use this to index the table. */
for (Month = 1; Month < 13; ++Month)
{
if (pdays[Month] > Day)
{
Day -= pdays[Month - 1] + 1;
Day = Day - pdays[Month - 1] + 1;
break;
}
}
@ -189,46 +192,3 @@ WORD ASMCFUNC FAR clk_driver(rqptr rp)
}
}
/*
* Log: sysclk.c,v - for newer entries do "cvs log sysclk.c"
*
* Revision 1.3 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.2 1999/04/12 03:21:17 jprice
* more ror4 patches. Changes for multi-block IO
*
* Revision 1.1.1.1 1999/03/29 15:41:33 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/08 05:55:58 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/04 03:14:07 jprice
* Formating. Added comments.
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:27 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.4 04 Jan 1998 23:15:16 patv
* Changed Log for strip utility
*
* Rev 1.3 29 May 1996 21:03:48 patv
* bug fixes for v0.91a
*
* Rev 1.2 19 Feb 1996 3:21:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.1 01 Sep 1995 17:54:18 patv
* First GPL release.
*
* Rev 1.0 02 Jul 1995 8:32:30 patv
* Initial revision.
*/

View File

@ -121,34 +121,3 @@ VOID putdirent(struct dirent FAR * dp, UBYTE FAR * vp)
}
#endif
/*
* Log: syspack.c,v - for newer entries see "cvs log syspack.c"
*
* Revision 1.1.1.1 1999/03/29 15:42:21 jprice
* New version without IPL.SYS
*
* Revision 1.3 1999/02/01 01:43:28 jprice
* Fixed findfirst function to find volume label with Windows long filenames
*
* Revision 1.2 1999/01/22 04:15:28 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:00 jprice
* Imported sources
*
*
* Rev 1.4 04 Jan 1998 23:14:38 patv
* Changed Log for strip utility
*
* Rev 1.3 29 May 1996 21:15:12 patv
* bug fixes for v0.91a
*
* Rev 1.2 01 Sep 1995 17:48:42 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:50:26 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:05:34 patv
* Initial revision.
*/

View File

@ -172,52 +172,3 @@ int DosSetDate(const struct dosdate *dd)
return SUCCESS;
}
/*
* Log: systime.c,v - see "cvs log systime.c" for newer entries
*
* Revision 1.3 1999/05/04 16:40:30 jprice
* ror4 date fix
*
* Revision 1.2 1999/04/12 03:21:18 jprice
* more ror4 patches. Changes for multi-block IO
*
* Revision 1.1.1.1 1999/03/29 15:41:34 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/08 05:55:58 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/04 03:14:07 jprice
* Formating. Added comments.
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:27 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.6 06 Dec 1998 8:47:30 patv
* Bug fixes.
*
* Rev 1.5 04 Jan 1998 23:15:22 patv
* Changed Log for strip utility
*
* Rev 1.4 03 Jan 1998 8:36:50 patv
* Converted data area to SDA format
*
* Rev 1.3 29 May 1996 21:03:40 patv
* bug fixes for v0.91a
*
* Rev 1.2 19 Feb 1996 3:21:34 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.1 01 Sep 1995 17:54:16 patv
* First GPL release.
*
* Rev 1.0 02 Jul 1995 8:32:20 patv
* Initial revision.
*/

View File

@ -320,6 +320,8 @@ int load_transfer(UWORD ds, exec_blk *exp, UWORD fcbcode, COUNT mode)
fatal("KERNEL RETURNED!!!"); */
}
/* mode == LOAD */
exp->exec.stack -= 2;
*((UWORD FAR *)(exp->exec.stack)) = fcbcode;
return SUCCESS;
}
@ -767,91 +769,3 @@ COUNT DosExec(COUNT mode, exec_blk FAR * ep, BYTE FAR * lp)
return rc;
}
/*
* Log: task.c,v - for newer log entries do "cvs log task.c"
*
* Revision 1.8 2000/03/31 05:40:09 jtabor
* Added Eric W. Biederman Patches
*
* Revision 1.7 2000/03/09 06:07:11 kernel
* 2017f updates by James Tabor
*
* Revision 1.6 1999/08/25 03:18:10 jprice
* ror4 patches to allow TC 2.01 compile.
*
* Revision 1.5 1999/04/23 04:24:39 jprice
* Memory manager changes made by ska
*
* Revision 1.4 1999/04/16 00:53:33 jprice
* Optimized FAT handling
*
* Revision 1.3 1999/04/11 04:33:39 jprice
* ror4 patches
*
* Revision 1.2 1999/03/29 17:05:09 jprice
* ror4 changes
*
* Revision 1.1.1.1 1999/03/29 15:41:41 jprice
* New version without IPL.SYS
*
* Revision 1.5 1999/02/08 05:55:58 jprice
* Added Pat's 1937 kernel patches
*
* Revision 1.4 1999/02/04 03:14:07 jprice
* Formating. Added comments.
*
* Revision 1.3 1999/02/01 01:48:41 jprice
* Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
*
* Revision 1.2 1999/01/22 04:13:27 jprice
* Formating
*
* Revision 1.1.1.1 1999/01/20 05:51:01 jprice
* Imported sources
*
*
* Rev 1.15 06 Dec 1998 8:46:28 patv
* Bug fixes.
*
* Rev 1.14 07 Feb 1998 20:38:32 patv
* Modified stack fram to match DOS standard
*
* Rev 1.13 31 Jan 1998 14:39:20 patv
* Corrected type in load high code.
*
* Rev 1.12 31 Jan 1998 14:02:52 patv
* Added load high in memory option in DosExeLoader.
*
* Rev 1.11 22 Jan 1998 22:17:14 patv
* Eliminated warnings.
*
* Rev 1.10 22 Jan 1998 21:31:36 patv
* Corrected short .COM problem.
*
* Rev 1.9 04 Jan 1998 23:15:16 patv
* Changed Log for strip utility
*
* Rev 1.8 22 Jan 1997 13:18:14 patv
* pre-0.92 Svante Frey bug fixes.
*
* Rev 1.7 16 Jan 1997 12:46:56 patv
* pre-Release 0.92 feature additions
*
* Rev 1.5 29 Aug 1996 13:07:22 patv
* Bug fixes for v0.91b
*
* Rev 1.4 29 May 1996 21:03:36 patv
* bug fixes for v0.91a
*
* Rev 1.3 19 Feb 1996 3:21:48 patv
* Added NLS, int2f and config.sys processing
*
* Rev 1.2 01 Sep 1995 17:54:22 patv
* First GPL release.
*
* Rev 1.1 30 Jul 1995 20:51:58 patv
* Eliminated version strings in ipl
*
* Rev 1.0 02 Jul 1995 8:34:06 patv
* Initial revision.
*/

View File

@ -50,4 +50,4 @@ MATH_INSERT=+H_LDIV +H_LLSH +H_LURSH +N_LXMUL +F_LXMUL +H_LRSH
#
ALLCFLAGS=$(TARGETOPT) $(ALLCFLAGS)
INITCFLAGS=$(ALLCFLAGS) -zAINIT -zCINIT_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP
CFLAGS=$(ALLCFLAGS) -zAHMA -zCHMA_TEXT
CFLAGS=$(ALLCFLAGS)

View File

@ -43,6 +43,6 @@ TARGET=KMS
ALLCFLAGS=-I..\hdr $(TARGETOPT) $(ALLCFLAGS) -nologo -Zl -Fc -WX -Gr -f- -Os -Gs -Ob1 -OV4 -Gy -Oe -Zp1
INITCFLAGS=$(ALLCFLAGS) -NTINIT_TEXT -AT
CFLAGS=$(ALLCFLAGS) -NTHMA_TEXT
CFLAGS=$(ALLCFLAGS)
INITPATCH = ..\utils\patchobj CODE=INIT _DATA=IDATA DATA=ID BSS=ID DGROUP=I_GROUP CONST=IC
STDPATCH = ..\utils\patchobj CODE=HMA CONST=DCONST
STDPATCH = ..\utils\patchobj CONST=DCONST

View File

@ -50,4 +50,4 @@ MATH_INSERT=+LDIV +LXMUL +LURSH +LLSH +LRSH
#
ALLCFLAGS=$(TARGETOPT) $(ALLCFLAGS)
INITCFLAGS=$(ALLCFLAGS) -zAINIT -zCINIT_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP
CFLAGS=$(ALLCFLAGS) -zAHMA -zCHMA_TEXT
CFLAGS=$(ALLCFLAGS)

View File

@ -50,4 +50,4 @@ MATH_INSERT=+H_LDIV +H_LLSH +H_LURSH +N_LXMUL +F_LXMUL +H_LRSH
#
ALLCFLAGS=$(TARGETOPT) $(ALLCFLAGS)
INITCFLAGS=$(ALLCFLAGS) -zAINIT -zCINIT_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP
CFLAGS=$(ALLCFLAGS) -zAHMA -zCHMA_TEXT
CFLAGS=$(ALLCFLAGS)

View File

@ -50,4 +50,4 @@ MATH_INSERT=+H_LDIV +F_LXMUL +H_LURSH +H_LLSH +H_LRSH
#
ALLCFLAGS=$(TARGETOPT) $(ALLCFLAGS)
INITCFLAGS=$(ALLCFLAGS) -zAINIT -zCINIT_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP
CFLAGS=$(ALLCFLAGS) -zAHMA -zCHMA_TEXT
CFLAGS=$(ALLCFLAGS)

View File

@ -63,6 +63,6 @@ MATH_INSERT= +i4d +i4m
ALLCFLAGS=-I..\hdr $(TARGETOPT) $(ALLCFLAGS)-zq-os-s-e5-j-zl-zp1-wx-we-zgf-zff
INITCFLAGS=$(ALLCFLAGS)-ntINIT_TEXT-ncINIT-ndI-gI_GROUP
CFLAGS=$(ALLCFLAGS)-ntHMA_TEXT-ncHMA-gHGROUP
CFLAGS=$(ALLCFLAGS)
INITPATCH=..\utils\patchobj __U4D=_IU4D __U4M=_IU4M

View File

@ -862,3 +862,43 @@ BOOL copy(COUNT drive, BYTE * srcPath, BYTE * rootPath, BYTE * file)
return TRUE;
}
/* version 2.2 jeremyd 2001/9/20
Changed so if no source given or only source drive (no path)
given, then checks for kernel.sys & command.com in current
path (of current drive or given drive) and if not there
uses root (but only if source & destination drive are different).
Fix printf to include count(ret) if copy can't write all requested bytes
*/
/* version 2.1a jeremyd 2001/8/19
modified so takes optional 2nd parameter (similar to PC DOS)
where if only 1 argument is given, assume to be destination drive,
but if two arguments given, 1st is source (drive and/or path)
and second is destination drive
*/
/* Revision 2.1 tomehlert 2001/4/26
changed the file system detection code.
*/
/* Revision 2.0 tomehlert 2001/4/26
no direct access to the disk any more, this is FORMAT's job
no floppy.asm anymore, no segmentation problems.
no access to partition tables
instead copy boot sector using int25/int26 = absdiskread()/write
if xxDOS is able to handle the disk, SYS should work
additionally some space savers:
replaced fopen() by open()
included (slighly modified) PRF.c from kernel
size is no ~7500 byte vs. ~13690 before
*/