Fixed sys.com compilation. Updated to 2023. Also: see history.txt.

git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@178 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Bart Oldeman 2001-03-25 17:11:54 +00:00
parent 437e4cb122
commit 58a5fa4438
8 changed files with 88 additions and 26 deletions

View File

@ -1,3 +1,11 @@
2001 Mar 25 - Build 2023
-------- Bart Oldeman (bart.oldeman@bristol.ac.uk)
+ Fixes sys.com compilation: it is a proper .com and works again.
Suggestions from Martin Stromberg: warning removal and some
debugging related changes.
Suggestion from Aitor Santamaria Merino: implemented NUMLOCK=ON/OFF
in config.sys. Also implemented strcasecmp.
Updated intfns.txt; reported version is now 5.0.
2001 Mar 24 - Build 2022 2001 Mar 24 - Build 2022
-------- Bart Oldeman (bart.oldeman@bristol.ac.uk) -------- Bart Oldeman (bart.oldeman@bristol.ac.uk)
+ Fixes Tom and Bart: cli/sti handling and other fixes in entry.asm, + Fixes Tom and Bart: cli/sti handling and other fixes in entry.asm,

View File

@ -112,12 +112,12 @@ int 21 Description State Ver Status
5701h Set File Date and Time active 2.00 supported 5701h Set File Date and Time active 2.00 supported
5800h Get Allocation Strategy active 3.00 supported 5800h Get Allocation Strategy active 3.00 supported
5801h Set Allocation Strategy active 3.00 supported 5801h Set Allocation Strategy active 3.00 supported
5802h Get Upper-Memory Link active 5.00 planned 5802h Get Upper-Memory Link active 5.00 supported
5803h Set Upper-Memory Link active 5.00 planned 5803h Set Upper-Memory Link active 5.00 supported
59h Get Extended Error active 3.00 planned 59h Get Extended Error active 3.00 supported
5ah Create Temporary File active 3.00 5ah Create Temporary File active 3.00 supported
5bh Create New File active 3.00 5bh Create New File active 3.00 supported
5ch Lock/Unlock File active 3.10 planned 5ch Lock/Unlock File active 3.10 supported
5d00h Server Function Call active 3.10 supported 5d00h Server Function Call active 3.10 supported
5d01h Commit All Files active 3.10 planned 5d01h Commit All Files active 3.10 planned
5d02h Close File by Name active 3.10 planned 5d02h Close File by Name active 3.10 planned
@ -142,8 +142,8 @@ int 21 Description State Ver Status
68h Commit File active 3.30 dummy func 68h Commit File active 3.30 dummy func
69h GET/SET DISK SERIAL NUMBER active 4.00 supported 69h GET/SET DISK SERIAL NUMBER active 4.00 supported
6ah COMMIT FILE (same as 68h) active 4.00 not supported 6ah COMMIT FILE (same as 68h) active 4.00 not supported
6bh NULL FUNCTION active 5.00 not supported 6bh NULL FUNCTION active 5.00 supported
6ch Extended Open/Create active 4.00 supported 6ch Extended Open/Create active 4.00 planned
71h LONG FILENAME FUNCTIONS active 7.00 not supported 71h LONG FILENAME FUNCTIONS active 7.00 not supported
int 22: Program Termination Address. int 22: Program Termination Address.
@ -195,6 +195,9 @@ See COPYING in DOS-C root directory for license.
$Id$ $Id$
$Log$ $Log$
Revision 1.4 2001/03/25 17:11:53 bartoldeman
Fixed sys.com compilation. Updated to 2023. Also: see history.txt.
Revision 1.3 2000/05/09 00:29:50 jimtabor Revision 1.3 2000/05/09 00:29:50 jimtabor
Clean up and Release Clean up and Release

View File

@ -42,5 +42,5 @@ static BYTE *date_hRcsId = "$Id$";
#define REVISION_MAJOR 1 #define REVISION_MAJOR 1
#define REVISION_MINOR 1 #define REVISION_MINOR 1
#define REVISION_SEQ 22 #define REVISION_SEQ 23
#define BUILD 2022 #define BUILD 2023

View File

@ -40,6 +40,9 @@ static BYTE *RcsId = "$Id$";
/* /*
* $Log$ * $Log$
* Revision 1.12 2001/03/25 17:11:54 bartoldeman
* Fixed sys.com compilation. Updated to 2023. Also: see history.txt.
*
* Revision 1.11 2001/03/22 04:55:36 bartoldeman * Revision 1.11 2001/03/22 04:55:36 bartoldeman
* Fix prototypes. * Fix prototypes.
* *
@ -195,12 +198,14 @@ INIT VOID Switchar(BYTE * pLine);
INIT VOID CfgFailure(BYTE * pLine); INIT VOID CfgFailure(BYTE * pLine);
INIT VOID Stacks(BYTE * pLine); INIT VOID Stacks(BYTE * pLine);
INIT VOID SetAnyDos(BYTE * pLine); INIT VOID SetAnyDos(BYTE * pLine);
INIT VOID Numlock(BYTE * pLine);
INIT BYTE *GetNumArg(BYTE * pLine, COUNT * pnArg); INIT BYTE *GetNumArg(BYTE * pLine, COUNT * pnArg);
INIT BYTE *GetStringArg(BYTE * pLine, BYTE * pszString); INIT BYTE *GetStringArg(BYTE * pLine, BYTE * pszString);
INIT struct dhdr FAR *linkdev(struct dhdr FAR * dhp); INIT struct dhdr FAR *linkdev(struct dhdr FAR * dhp);
INIT UWORD initdev(struct dhdr FAR * dhp, BYTE FAR * cmdTail); INIT UWORD initdev(struct dhdr FAR * dhp, BYTE FAR * cmdTail);
INIT int SkipLine(char *pLine); INIT int SkipLine(char *pLine);
INIT char *stristr(char *s1, char *s2); INIT char *stristr(char *s1, char *s2);
INIT COUNT strcasecmp(REG BYTE *d, REG BYTE *s);
INIT BYTE FAR *KernelAlloc(WORD nBytes); INIT BYTE FAR *KernelAlloc(WORD nBytes);
@ -239,6 +244,7 @@ static struct table commands[] =
{"FCBS", 1, Fcbs}, {"FCBS", 1, Fcbs},
{"FILES", 1, Files}, {"FILES", 1, Files},
{"LASTDRIVE", 1, Lastdrive}, {"LASTDRIVE", 1, Lastdrive},
{"NUMLOCK", 1, Numlock},
/* rem is never executed by locking out pass */ /* rem is never executed by locking out pass */
{"REM", 0, CfgFailure}, {"REM", 0, CfgFailure},
{"SHELL", 1, InitPgm}, {"SHELL", 1, InitPgm},
@ -585,10 +591,6 @@ INIT VOID DoConfig(VOID)
/* Skip leading white space and get verb. */ /* Skip leading white space and get verb. */
pLine = scan(pLine, szBuf); pLine = scan(pLine, szBuf);
/* Translate the verb to upper case ... */
for (pTmp = szBuf; *pTmp != '\0'; pTmp++)
*pTmp = toupper(*pTmp);
/* If the line was blank, skip it. Otherwise, look up */ /* If the line was blank, skip it. Otherwise, look up */
/* the verb and execute the appropriate function. */ /* the verb and execute the appropriate function. */
if (*szBuf != '\0') if (*szBuf != '\0')
@ -619,7 +621,7 @@ INIT struct table *LookUp(struct table *p, BYTE * token)
{ {
while (*(p->entry) != '\0') while (*(p->entry) != '\0')
{ {
if (strcmp(p->entry, token) == 0) if (strcasecmp(p->entry, token) == 0)
break; break;
else else
++p; ++p;
@ -936,10 +938,22 @@ INIT static VOID InitPgm(BYTE * pLine)
INIT static VOID Break(BYTE * pLine) INIT static VOID Break(BYTE * pLine)
{ {
/* Format: BREAK = (ON | OFF) */ /* Format: BREAK = (ON | OFF) */
BYTE *pTmp; GetStringArg(pLine, szBuf);
break_ena = strcasecmp(szBuf, "OFF") ? 1 : 0;
}
INIT static VOID Numlock(BYTE * pLine)
{
/* Format: NUMLOCK = (ON | OFF) */
iregs regs;
BYTE FAR *keyflags = (BYTE FAR *)MK_FP(0x40,0x17);
GetStringArg(pLine, szBuf); GetStringArg(pLine, szBuf);
break_ena = strcmp(szBuf, "OFF") ? 1 : 0;
*keyflags &= ~32;
*keyflags |= strcasecmp(szBuf, "OFF") ? 32 : 0;
regs.a.b.h = 1;
init_call_intr(0x16, &regs);
} }
INIT static VOID DeviceHigh(BYTE * pLine) INIT static VOID DeviceHigh(BYTE * pLine)
@ -1281,6 +1295,24 @@ char *stristr(char *s1, char *s2)
return NULL; return NULL;
} }
/* compare two ASCII strings ignoring case */
INIT COUNT strcasecmp(REG BYTE *d, REG BYTE *s)
{
int loop;
while (*s != '\0' && *d != '\0')
{
if (toupper(*d) == toupper(*s))
++s, ++d;
else
return toupper(*d) - toupper(*s);
}
return toupper(*d) - toupper(*s);
}
/* /*
moved from BLOCKIO.C here. moved from BLOCKIO.C here.

View File

@ -36,6 +36,9 @@ BYTE *RcsId = "$Id$";
/* /*
* $Log$ * $Log$
* Revision 1.15 2001/03/25 17:11:54 bartoldeman
* Fixed sys.com compilation. Updated to 2023. Also: see history.txt.
*
* Revision 1.14 2001/03/21 02:56:26 bartoldeman * Revision 1.14 2001/03/21 02:56:26 bartoldeman
* See history.txt for changes. Bug fixes and HMA support are the main ones. * See history.txt for changes. Bug fixes and HMA support are the main ones.
* *
@ -564,6 +567,12 @@ dispatch:
r->AL = 0xff; r->AL = 0xff;
break; break;
default:
#ifdef DEBUG
printf("Unsupported INT21 AH = 0x%x, AL = 0x%x.\n", r->AH, r->AL);
#endif
/* Fall through. */
/* CP/M compatibility functions */ /* CP/M compatibility functions */
case 0x18: case 0x18:
case 0x1d: case 0x1d:
@ -572,7 +581,6 @@ dispatch:
#ifndef TSC #ifndef TSC
case 0x61: case 0x61:
#endif #endif
default:
r->AL = 0; r->AL = 0;
break; break;

View File

@ -5,6 +5,9 @@
# #
# $Log$ # $Log$
# Revision 1.7 2001/03/25 17:11:54 bartoldeman
# Fixed sys.com compilation. Updated to 2023. Also: see history.txt.
#
# Revision 1.6 2001/03/21 02:56:26 bartoldeman # Revision 1.6 2001/03/21 02:56:26 bartoldeman
# See history.txt for changes. Bug fixes and HMA support are the main ones. # See history.txt for changes. Bug fixes and HMA support are the main ones.
# #
@ -125,7 +128,7 @@ INCLUDEPATH = ..\HDR
#AFLAGS = /Mx /DSTANDALONE=1 /I..\HDR #AFLAGS = /Mx /DSTANDALONE=1 /I..\HDR
NASMFLAGS = -i../hdr/ NASMFLAGS = -i../hdr/
LIBS =..\LIB\DEVICE.LIB ..\LIB\LIBM.LIB LIBS =..\LIB\DEVICE.LIB ..\LIB\LIBM.LIB
#CFLAGS = -1- -O -Z -d -I..\hdr -I. \ #ALLCFLAGS = -1- -O -Z -d -I..\hdr -I. \
# -D__STDC__=0;DEBUG;KERNEL;I86;PROTO;ASMSUPT # -D__STDC__=0;DEBUG;KERNEL;I86;PROTO;ASMSUPT
ALLCFLAGS = -1- -O -Z -d -I..\hdr -I. \ ALLCFLAGS = -1- -O -Z -d -I..\hdr -I. \
-D__STDC__=0;KERNEL;I86;PROTO;ASMSUPT \ -D__STDC__=0;KERNEL;I86;PROTO;ASMSUPT \

View File

@ -36,11 +36,12 @@
#ifdef VERSION_STRINGS #ifdef VERSION_STRINGS
static BYTE *mainRcsId = "$Id$"; static BYTE *mainRcsId = "$Id$";
#endif #endif
GLOBAL WORD bDumpRegs = FALSE;
GLOBAL WORD bDumpRdWrParms= FALSE;
/* /*
* $Log$ * $Log$
* Revision 1.9 2001/03/25 17:11:54 bartoldeman
* Fixed sys.com compilation. Updated to 2023. Also: see history.txt.
*
* Revision 1.8 2001/03/21 02:56:26 bartoldeman * Revision 1.8 2001/03/21 02:56:26 bartoldeman
* See history.txt for changes. Bug fixes and HMA support are the main ones. * See history.txt for changes. Bug fixes and HMA support are the main ones.
* *

View File

@ -27,9 +27,12 @@
***************************************************************/ ***************************************************************/
/* $Log$ /* $Log$
* Revision 1.4 2000/08/06 05:50:17 jimtabor * Revision 1.5 2001/03/25 17:11:54 bartoldeman
* Add new files and update cvs with patches and changes * Fixed sys.com compilation. Updated to 2023. Also: see history.txt.
* *
/* Revision 1.4 2000/08/06 05:50:17 jimtabor
/* Add new files and update cvs with patches and changes
/*
* Revision 1.3 2000/05/25 20:56:23 jimtabor * Revision 1.3 2000/05/25 20:56:23 jimtabor
* Fixed project history * Fixed project history
* *
@ -510,12 +513,14 @@ VOID get_boot(COUNT drive)
BOOL check_space(COUNT drive, BYTE * BlkBuffer) BOOL check_space(COUNT drive, BYTE * BlkBuffer)
{ {
BYTE *bpbp; BYTE *bpbp;
#if 0 /* these local variables are never used */
BYTE nfat; BYTE nfat;
UWORD nfsect; UWORD nfsect;
ULONG hidden; ULONG hidden;
UBYTE nreserved;
#endif
ULONG count; ULONG count;
ULONG block; ULONG block;
UBYTE nreserved;
UCOUNT i; UCOUNT i;
WORD track, head, sector; WORD track, head, sector;
UBYTE buffer[SEC_SIZE]; UBYTE buffer[SEC_SIZE];
@ -523,10 +528,12 @@ BOOL check_space(COUNT drive, BYTE * BlkBuffer)
UWORD bpb_nsize; UWORD bpb_nsize;
/* get local information */ /* get local information */
#if 0 /* these local variables are never used */
getbyte((VOID *) & BlkBuffer[BT_BPB + BPB_NFAT], &nfat); getbyte((VOID *) & BlkBuffer[BT_BPB + BPB_NFAT], &nfat);
getword((VOID *) & BlkBuffer[BT_BPB + BPB_NFSECT], &nfsect); getword((VOID *) & BlkBuffer[BT_BPB + BPB_NFSECT], &nfsect);
getlong((VOID *) & BlkBuffer[BT_BPB + BPB_HIDDEN], &hidden); getlong((VOID *) & BlkBuffer[BT_BPB + BPB_HIDDEN], &hidden);
getbyte((VOID *) & BlkBuffer[BT_BPB + BPB_NRESERVED], &nreserved); getbyte((VOID *) & BlkBuffer[BT_BPB + BPB_NRESERVED], &nreserved);
#endif
getlong((VOID *) & BlkBuffer[BT_BPB + BPB_HUGE], &bpb_huge); getlong((VOID *) & BlkBuffer[BT_BPB + BPB_HUGE], &bpb_huge);
getword((VOID *) & BlkBuffer[BT_BPB + BPB_NSIZE], &bpb_nsize); getword((VOID *) & BlkBuffer[BT_BPB + BPB_NSIZE], &bpb_nsize);