> On Sep 14, 2022, at 3:11 AM, Javier Gutiérrez Chamorro 
> <guti.bitacoras....@gmail.com> wrote:

> I am not sure if it could be useful for anyone, but I have just reimplemented 
> VERIFY.COM by Peter Mikalajunas -1995- 
> (https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/verify/) in 
> pure assembler. It is not a big deal, but was a personal challenge. With this 
> main .COM executable gets reduced from 5,444 bytes to just 653 bytes.

> Also I noticed that "original" VERIFY was not compatible with the internal 
> command, allowing only /ON or /OFF. My implementation works with ON and OFF, 
> but also with 1 or 0.

> Source code and binaries are available at: 
> https://sourceforge.net/projects/nikkhokkho/files/VERIFY/Your VERIFY and CLS 
> projects seem to have a similar goal to one of my projects. I’ve been 
> occasionally creating small and fairly simple assembly programs to interact 
> with DOS and BIOS functions. Mostly, it is to fill in those little gaps where 
> (Free)DOS doesn’t provide a utility. When (IF) there is enough of them to 
> make the project worthwhile, I’ll see about maybe trying to get them included 
> with the OS. But for now, I don’t think it is useful enough for inclusion.

Anyhow, it is called DONUTS (Disk and Other New Utility Tool Suite) for DOS. 
https://gitlab.com/DOSx86/donuts

BootDrv - Returns Boot Disk as known to DOS.
LastDrv - Returns Last Drive as known to DOS.
DosVer - Return DOS version number. (DOS 2+ ax=3001, should be enhanced with 
DOS 5+ ax=3306 information)
DosOemID - Return DOS OEM byte. (maybe someday also print things like MS-DOS, 
FreeDOS, etc)
VeriFlag - Return current write verify setting. (Should probably set it)
TestAnsi - Detects if ANSI support is provided. (This is how I found the 
compatibility issue with DEVLOAD, see early posts in this mailing list)
VidKind - Return type of video card support detected (MDA, CGA, EGA, MCGA, VGA, 
VESA/SuperVGA). 

All under MIT License. (However, since these are generally very small and 
simple programs, I'm considering switching it all to The Unlicense)

The small ones are not bound to specific runtime address. Those use only short 
jumps and look up message text relative to the current CS:IP. 
Those can be compiled with org 0x0100, org 0x0000 or org 0xwhatever and that 
output will still work fine as a COM file. 

Anyhow if you think you (or anyone) would like to contribute to the project, 
I’m open to the idea of adding additional tools or improving the existing ones.

Some things off the top of my head that may be useful…

DrvList - Return a list of Drives. Probably differentiating between Floppy, 
Hard, CD/DVD and etc.
Now - return current time (similar to using TIME /d)
Today - return current date (similar to using DATE /d)
Epoch - return elapsed time in seconds since 1980. 
DosSwtch - return / set dos switch char.
IsLoaded - return wether or not any driver, TSR or other program is currently 
loaded into memory.
DosCntry - return DOS country specific information (ax=3800)
DrvOnOff - enable/disable drive and possibly status. (ax=5f07,ax=5f08)
GetCodeP - return current codepage settings (ax=6601)
LFNAvail - return if LFN support is active. 
and many more…

Also, most of the existing tools should be enhanced to provide ERRORLEVEL 
results as well. 

:-)

Jerome

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
 
Sounds very interesting Jerome. Maybe I will create DosSwtch which is fairly 
simple by calling AH=37h.
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to