[comp.binaries.ibm.pc.d] undocumented DOS call for switch character

asc@concurrent.co.uk (Andy Chittenden) (09/22/89)

Does anybody know what the undocumented DOS calls are to set and get
the switch character?

Thanks in anticipation, Andy

djm@castle.ed.ac.uk (D Murphy) (09/23/89)

In article <933@sl10c.concurrent.co.uk> asc@concurrent.co.uk (Andy Chittenden)
 writes:
>Does anybody know what the undocumented DOS calls are to set and get
>the switch character?
>
>Thanks in anticipation, Andy


Me too!


Murff...

src@cup.portal.com (Steve R Calwas) (09/24/89)

asc@concurrent.co.uk (Andy Chittenden) writes:

>Does anybody know what the undocmented DOS calls are to set and get
>the switch character?

---------------------------------------
Int 21h (33)
Function 37h (55)
Get or Set COMMAND.COM Switch Character
---------------------------------------
Get the current COMMAND.COM switch character or set the switch
character to something new (COMMAND.COM uses the slash(/) as the
default switch character).  This function only affects internal
COMMAND.COM commands, such as DIR and COPY.  It has no effect on
external programs like XCOPY or LINK.

Call with:      AH = 37h

                AL = 0          to get the current switch character

                AL = 1          to set the switch character
                DL = ASCII value of new switch character

Returns:        DL = ASCII value of current switch character

Notes:  This function is not available in DOS 4.0+ or the OS/2 DOS
        compatibility box.

        The COMMAND.COM program in MS/PC-DOS 2.xx contains an
        undocumented internal command, SWITCHAR, that will get
        or set the switch character.  MS/PC-DOS 3.xx removed the
        SWITCHAR command, but still includes the operating system
        function calls.

        As noted above, this function only affects the COMMAND.COM
        internal commands and it is being phased out of the newer
        versions of DOS, thus it is of limited use.  The new version
        of ANARKEY 3.00, a DOS command-line editor which I wrote,
        contains support for use of the UNIX switchar conventions for
        ALL programs, internal and external.  I uploaded ANARKEY 3.00
        to comp.binaries.pc and it should appear ???.  If you are a
        registered ANARKEY user, the new version was mailed to you last
        Wednesday.  If you are not registered and send me your
        registration now, I will send you the new version immediately.


Steve Calwas                    src@cup.portal.com
Santa Clara, CA                 ...!sun!cup.portal.com!src

dhesi@sun505.UUCP (Rahul Dhesi) (09/24/89)

In article <933@sl10c.concurrent.co.uk> asc@concurrent.co.uk (Andy
Chittenden) writes:
>Does anybody know what the undocumented DOS calls are to set and get
>the switch character?

These system calls are not undocumented.  See Microsoft's OEM
documentation for MS-DOS version 2.x, or technical manuals published by
Digital Equipment Corporation and Zenith for their microcomputers.

Since these system calls were officially supported in version 2.x, and
Microsoft has never announced that support is being dropped or advised
people not to use them, you can probably safely assume that they are
still official.
--
Rahul Dhesi <dhesi%cirrusl@oliveb.ATC.olivetti.com>
UUCP:  oliveb!cirrusl!dhesi

rac@sherpa.uucp (Roger Cornelius) (09/25/89)

From article <933@sl10c.concurrent.co.uk>, by asc@concurrent.co.uk (Andy Chittenden):
> Does anybody know what the undocumented DOS calls are to set and get
> the switch character?
> 
> Thanks in anticipation, Andy

From inter489.arc, the interrupt list regularly posted in c.b.i.p.c. and
maintained by Ralf Brown:

---------------------------------------------
INT 21 - DOS 2+ internal - GET SWITCHAR
	AX = 3700h
Return: AL = FFh unsupported subfunction
	DL = current switch character
---------------------------------------------
INT 21 - DOS 2+ internal - SET SWITCHAR
	AX = 3701h
	DL = new switch character
Return: AL = FFh unsupported subfunction
---------------------------------------------

--
Roger A. Cornelius           rac@sherpa            uunet!sherpa!rac

fredex@cg-atla.UUCP (Fred Smith) (09/25/89)

In article <933@sl10c.concurrent.co.uk> asc@concurrent.co.uk (Andy Chittenden) writes:
>Does anybody know what the undocumented DOS calls are to set and get
>the switch character?
>
>Thanks in anticipation, Andy






Andy et al:

here is an excerpt from Ralf's interrupt list, inter489 on the
subject of your request:

---------------------------------------------^M
INT 21 - DOS 2+ internal - GET SWITCHAR^M
        AX = 3700h^M
Return: AL = FFh unsupported subfunction^M
        DL = current switch character^M
---------------------------------------------^M
INT 21 - DOS 2+ internal - SET SWITCHAR^M
        AX = 3701h^M
        DL = new switch character^M
Return: AL = FFh unsupported subfunction^M
---------------------------------------------^M

Hope this helps!

Fred

freiss@nixpbe.UUCP (freiss) (09/26/89)

int 21:

Get current switch character:
on entry: AX = 3700
return:   AL = ff (if error (unsupported subfunction))
	  DL = current switch character

Set new switch character:
on entry: AX = 3701
	  DL = new switch character
return:   AL = ff (if error (unsupported subfunction))

All numbers are in hexadecimal.

Have fun,
Martin

--
 Martin Freiss        UUCP:   USA: ..!uunet!philabs!linus!nixbur!freiss.pad
 Nixdorf Computer AG         !USA: ..!mcvax!unido!nixpbe!freiss.pad
 Dept. DS-CC 22       NERV:  freiss.pad
 Pontanusstr. 55     Voice: +49 5251 14 6153
 D-4792 Paderborn     "Drink wet cement, get stoned."

otto@tukki.jyu.fi (Otto J. Makela) (10/01/89)

In article <933@sl10c.concurrent.co.uk> asc@concurrent.co.uk (Andy Chittenden) writes:
   Does anybody know what the undocumented DOS calls are to set and get
   the switch character?

   Thanks in anticipation, Andy

This seems to be a common question.  Follows software by yours truly that
should make the point clear...

begin 644 switch.zip
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
MS/(6")@DP(&" 1S?^P,.<MQ02P,$"@    8 R:@B$?K<OW]U @  X@,   P 
M  !35TE40TA!4BY!4TT- @$2(Q05-C=HB9K;/ 4&$A-$Q?:6]W>"U$EW;D^<
M#14@[ZEEZ;X\,[Q!TD5;%N1;N'33OG4+<FY9N&'EAJ7[5B[(L6B0?RS=,LG;
M;MHPXKVN6[)OQ]9M6]8-]28+DNC3*>([+%NV(&'BG7G31;,<TCS-RGW;YGKK
M>/X$P.)9WTU+!WFB:(Y/N<-])C7C7(),.Q?D6;EEPZ@+<QUFZ&K7<XCNL659
M8&\ZVW-.V/DF:.O7<N7X&WXF-O7/D^2_VSQ4?X[^M4\S</<8JFQ^T\'?;N<(
MP[YT6_:.,7"' -5PT[)!7]NGO9T^.>LS\+?<NF6&#C:7_>KRBOTM&>A.YNL.
M*X;]U!?:HV[NIN6<Z1(&LX"ZTES:^RP:K:8\PMQWP^:=\[0$*?*EB'@S'UWN
ME"!CYL2)$^13.M3>-.S:LFS##-5*\]I9JM?F49Y&T[IE VSK.P'R'LNVSKE.
MR+:-W+6FGNL2S?3#0=YCI+?9!&SB+'GR4*Y9BLW#=OOT02[PMQGQ 95R_K9O
M[28, [YASH2)-F&"H%N*U"TW;5F[9?@VXRUWSIW7SNDFA"DS!KD<8^6"WVQ9
MSFB?3,O.G;-&==9!_G#&NO?)ER>^Y]2T;>NR.7-$S<)?;1BZJZE."U<&,%95
M.8_LHU(9J<V,;<623+&JK\SGV[!DR@AM:7'^)T&>:)J*G9>-6T?HJF+XWJQV
MM6+HZ1CG,VN9>?-\NST!N"U&:XS?'$^3?Q-F#'PYM:Z8WE/"BWWW*!QK"H=E
M(GB!<QW#L#"&P>JQN]\0^QEB8/R94=4)[&*D%X(O-W29<5JFCC2L>L$AY+PV
M4,]O)EG];J-1DL+T!E!+ 0(*  H    & /&E(A$"_AP>[P   (H!   (    
M      $ (         !35TE40T@N0U!+ 0(*  H    & .X-F!&C?PW^?PH 
M &P.   *            (    !4!  !35TE40T@N0T]-4$L! @H "@    $ 
M*7Q)$2'@^?]S    D     H          0 @    O L  %-7251#2"Y-04M0
M2P$""@ *    !@#@>TD1;B7<"N$#  #U!@  "@         ! "    !7#   
M4U=)5$-(+DU!3E!+ 0(*  H    & .T-F!'XEH^['P$  '<!   (        
M  $ (    & 0  !35TE40T@N3U!+ 0(*  H    & ,FH(A'ZW+]_=0(  .(#
M   ,          $ (    *41  !35TE40TA!4BY!4TU02P4&      8 !@!.
M 0  1!0    !#0HJ("H@*B J("H@*B J("H@*B J("H@*B J("H@*B J("H@
M*B J("H@*B J("H@*B J#0HJ($IY=H1S:WELA"!%;&5C=')O;FEC($UA:6QB
M;W@Z("LS-3@@-#$@,C$Q(#4V,B J#0HJ(" @($-#2514(%8N,C)B:7,O5BXR
M,B]6+C(Q+"!"96QL(#(Q,D$O,3 S(" @(" J#0HJ("!.;R!C:&%R9V4L(#(T
M(&AO=7)S+V1A>2P@,S8U+C(U(&1A>7,O>65A<B A(" J#0HJ("H@*B J("H@
H*B J("H@*B J("H@*B J("H@*B J("H@*B J("H@*B J("H@*B J#2 J
 
end
--
* * * Otto J. Makela (otto@jyu.fi, MAKELA_OTTO_@FINJYU.BITNET) * * * * * * *
* Phone: +358 41 613 847, BBS: +358 41 211 562 (CCITT, Bell 2400/1200/300) *
* Mail: Kauppakatu 1 B 18, SF-40100 Jyvaskyla, Finland, EUROPE             *
* * * freopen("/dev/null","r",stdflame); * * * * * * * * * * * * * * * * * *