home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best Objectech Shareware Selections
/
UNTITLED.iso
/
boss
/
util
/
misc
/
011
/
page_18.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-12-29
|
42KB
|
1,704 lines
unit page_18;
interface
uses crt, dos, ifpextrn, ifpglobl, ifpcomon;
procedure page18;
implementation
const
winclass: array[0..6] of string[21] = ('vector plotter', 'raster display',
'raster printer', 'raster camera', 'character-stream, PLP',
'Metafile, VDM', 'display-file');
pcAstatus: array[$FFFC..$FFFF] of string[23] = ('resident and active',
'resident and not active', 'memory resident mode',
'automatic mode');
pcAspd: array[0..$F] of word = (50, 75, 110, 134, 150, 300, 600, 1200, 1800,
2000, 2400, 4800, 7200, 9600, 19200, 38400);
KeyScan: array[0..255] of string[5] =
{00}( '??', 'ESC', '1', '2', '3', '4', '5', '6', '7', '8',
{10} '9', '0', '-', '=', 'BS', 'TAB', 'Q', 'W', 'E', 'R',
{20} 'T', 'Y', 'U', 'I', 'O', 'P', '[', ']', 'ENT', '??',
{30} 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ';',
{40} '''', '`', '??', '\', 'Z', 'X', 'C', 'V', 'B', 'N',
{50} 'M', ',', '.', '/', 'kp*', '??', '??', 'SP', '??', 'F1',
{60} 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', '??',
{70} '??', 'HOME', 'UP','PGUP', 'kp-','LEFT', 'kp5','RIGHT','kp+', 'END',
{80}'DOWN', 'PGDN','INS', 'DEL', 'F1', 'F2', 'F3', 'F4', 'F5', 'F6',
{90} 'F7', 'F8', 'F9', 'F10', 'F1', 'F2', 'F3', 'F4', 'F5', 'F6',
{100} 'F7', 'F8', 'F9', 'F10', 'F1', 'F2', 'F3', 'F4', 'F5', 'F6',
{110} 'F7', 'F8', 'F9', 'F10', '??','LEFT','RIGHT','END','PGDN','HOME',
{120} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{130} '??', '??','PGUP', 'F11', 'F12', 'F11', 'F12', 'F11', 'F12', 'F11',
{140} 'F12', 'UP', 'kp-', 'kp5', 'kp+','DOWN', 'INS', 'DEL', '??', 'kp/',
{150} '??','HOME', 'UP','PGUP', '??','LEFT', '??','RIGHT', '??', 'END',
{160}'DOWN','PGDN', 'INS', 'DEL', 'kp/', '??','kpENT', '??', '??', '??',
{170} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{180} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{190} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{200} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{210} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{220} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{230} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{240} '??', '??', '??', '??', '??', '??', '??', '??', '??', '??',
{250} '??', '??', '??', '??', '??', '??');
procedure page18;
type
smartdrvt = record
write_through: byte;
write_buffered: byte;
cache_enabled: byte;
drivertype: byte;
cticks: word;
locked: byte;
reboot_flush: byte;
full_track_write: byte;
buffering_type: byte;
origInt13ofs: word;
origInt13seg: word;
minorversion: byte;
majorversion: byte;
reserved: word;
secs_read: word;
secs_in_cache: word;
secs_in_trk_buf: word;
cache_hitrate: byte;
track_buf_hitrate: byte;
total_tracks: word;
tracks_used: word;
locked_tracks: word;
dirty_tracks: word;
current_size: word;
original_size: word;
minimum_size: word;
lock_pointer_ofs: word;
lock_pointer_seg: word;
end;
fossilbuft = record
fbufsize: word;
spec: byte;
rev: byte;
idstrofs: word;
idstrseg: word;
inbufsize: word;
infree: word;
outbufsize: word;
outfree: word;
scrwidth: byte;
scrlen: byte;
baudrate: byte;
extra: array[1..13] of byte;
end;
vfossilbuft = record
fbufsize: word;
ver: word;
rev: word;
hifunc: word
end;
stackerbuft = record
signature: word;
unknown: word;
ddofs: word;
ddseg: word
end;
T386maxbuf = record
version: byte;
signature: array[1..6] of char;
verstr: array[1..4] of char;
lowseg: word;
unkw1: word;
unkw2: word;
flags1: word;
unk1: array [1..16] of byte;
int15port: word;
int67port: word;
unkw3: word;
unkw4: word;
unkd1: longint;
unkd2: longint;
sysconfig: word;
unk2: array [1..8] of byte;
flags2: word;
flags3: word;
flags4: word;
unkw5: word;
extfree: word;
unkd3: longint;
unkw6: word;
unkd4: longint;
flags5: word;
oldint21ofs: word;
oldint21seg: word;
emsofs: word;
emsseg: word;
extra: byte;
end;
var
i : 1..63;
xbool1 : boolean;
xbool2 : boolean;
xbool3 : boolean;
xchar : char;
xword1: word;
xword2: word;
regs: registers;
QEMMid: byte;
foundit: boolean;
xbyte, xbyte2: byte;
s: string;
fossilbuf: fossilbuft;
vfossilbuf: vfossilbuft;
smartdrvbuf: smartdrvt;
stackerbuf: stackerbuft;
xlong: longint;
V386maxbuf: T386maxbuf;
function windev(device: byte): word;
var
regs: registers;
saveit: word;
begin
with regs do
begin
AX:=$1682;
Intr($2F, regs);
AX:=$170A;
DX:=device;
Intr($2F, regs);
windev:=AX
end
end; {windev}
procedure nortonstatus(b: byte);
begin
case b of
0: Write('disabled');
1: Write('enabled')
else
Write('unknown')
end
end; {nortonstatus}
begin (* procedure page_18 *)
caption1('----Shells and Shell enhancers----');
Writeln;
caption2('JP Software 4DOS');
with regs do
begin
AX:=$D44D;
BX:=0;
CX:=0;
DX:=0;
Intr($2F, regs);
if AX <> $44DD then
Writeln('no')
else
begin
Writeln('yes');
caption3('version');
xword1:=BH;
Write(BL, decimal);
zeropad(xword1);
caption3('shell no.');
Write(DL);
caption3('PSP segment');
Writeln(hex(CX, 4))
end;
end;
pause3(-1);
if endit then
Exit;
caption2('JP Software KSTACK.COM');
with regs do
begin
AX:=$D44F;
BX:=0;
CX:=0;
DX:=0;
Intr($2F, regs);
yesorno(AX = $44DD);
end;
pause3(-2);
if endit then
Exit;
caption2('Norton NDOS');
with regs do
begin
AX:=$E44D;
BX:=0;
CX:=0;
DX:=0;
Intr($2F, regs);
if AX <> $44EE then
Writeln('no')
else
begin
Writeln('yes');
caption3('version');
xword1:=BH;
Write(BL, decimal);
zeropad(xword1);
caption3('shell no.');
Write(DL);
caption3('PSP segment');
Writeln(hex(CX, 4))
end;
end;
pause3(-1);
if endit then
Exit;
caption2('WildUnix');
with regs do
begin
AH:=$4E;
DS:=0;
DX:=0;
MsDos(regs);
yesorno(AH = $99);
end;
pause3(-1);
if endit then
Exit;
caption2('Anarkey');
with regs do
begin
AX:=$E300;
Intr($2F, regs);
case AL of
$00: Writeln('no');
$FE: Writeln('yes; but s