Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site voder.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!mtuxo!mtunh!mtung!mtunf!ariel!vax135!cornell!uw-beaver!tektronix!hplabs!nsc!voder!gbs From: gbs@voder.UUCP (George Smith) Newsgroups: net.micro.pc Subject: Re: MS-DOS braindamage Message-ID: <812@voder.UUCP> Date: Mon, 8-Jul-85 02:39:39 EDT Article-I.D.: voder.812 Posted: Mon Jul 8 02:39:39 1985 Date-Received: Fri, 12-Jul-85 04:52:01 EDT References: <229@timeinc.UUCP> <7700007@prism.UUCP> <748@ncoast.UUCP> Organization: National Semiconductor, Santa Clara Lines: 87 The following refers to changing the switch character with the undocumented int 21H, fucntion 37H: > It didn't seem to work on here (ITT DOS 2.11/1.0, apparently MS-DOS 2.11), > but that may have been a mistake of mine; I was trying to hack through it > with DEBUG.COM, without much documentation. > I ran the enclosed Turbo Pascal 3.0 program on my ITT Xtra with DOS 2.11 and it ran just fine. I guess hacking through problems with debug just doesn't cut it :-). BTW, the Xtra seems to be quite compatible with IBM PC/XTs. Every piece of software that I have tried on it has run with no problems and that includes some which have not run on a friend's Compaq. At $1495 for 256k ram, 2 1/2 ht floppys, high resolution monochrome adapter and monitor, 4 free full size slots, DOS 2.11, 128 watt power supply, a serial port and a printer port, nicer keyboard layout than IBMs, a smaller footprint than an XT, take it home and plug it in and it works (unlike my venerable S100 system) I just couldn't resist it. I plugged in a Hercules Color Card (for $155) and hooked it up to an old Sanyo composite video monitor and had very nice graphic capability for use with Lotus ($279) and Turbo Pascal 3.0 ($39). All prices mentioned were from local computer stores here in Silicon Valley. (* ** switchar.pas ** ** This program changes the system switch character. It uses ** the undocumented system call int 21H, function 37H. *) program switchar; type regpack = record ax,bx,cx,dx,bp,si,di,ds,es,flags: integer; end; var recpack: regpack; argumentstr: string[80]; old_switchar: char; new_switchar: char; function getswitchar: char; begin recpack.ax := $37 shl 8; msdos(recpack); getswitchar := chr(recpack.dx and $00ff) end; procedure setswitchar(new_char: char); begin with recpack do begin ax := ($37 shl 8) + 1; dx := ord(new_char) end; msdos(recpack) end; begin { main } lowvideo; if paramcount <> 1 then begin writeln('This program changes the system switch character.'); writeln('Usage: switchar char'); halt end; argumentstr := paramstr(1); if length(argumentstr) <> 1 then begin writeln('switchar: expecting single character argument'); halt end; old_switchar := getswitchar; writeln('Old switch char = ', old_switchar); setswitchar(argumentstr[1]); new_switchar := getswitchar; writeln('New switch char = ', new_switchar) end. -- George B. Smith National Semiconductor ...!{ihnp4!nsc | decvax!decwrl!nsc | ucbvax}!voder!gbs