[comp.sys.ibm.pc] switchar in PC DOS 3.2

lma@polya.Stanford.EDU (Larry M. Augustin) (10/16/88)

Forgive my ignorance, but I don't understand this:

  
  Yes.  If you have a copy of Zenith's PUP (Programmer's Utility Package),
  you'll see that there is a DOS call to set the switchar.  Quoting from the
  documentation:
  
  "
  55/27H--Character Operations
  (Change Incompatible Configuration)
  
  Entry:	AL	= 0	Return DL = ASCII switch character
  	AL	= 1	Set switch character to DL
  	AL	= 2	Return DL = availability byte
  	AL	= 3	Set availability byte to DL
  
  Exit:	DL	= Value if AL = 1 or 3
  
  
  The availability is 0 if devices must be prefixed with the DEV directory name.
  "

What is 55/27H?  It's not interrupt 27H, that's TSR.  The poster might
have meant DOS functional call 55H, which is "used internally by DOS."
I tried that, but it crashed my machine.  DOS function call 27H is a
random block read.  Can someone explain?

Thanks.

Larry M. Augustin			ERL 414
lma@sierra.stanford.edu			Computer Systems Lab
lma@dayton.stanford.edu			Stanford University
(415) 723-9285				Stanford, CA 94305

lupin3@ucscb.UCSC.EDU (-=/ Larry Hastings /=-) (10/16/88)

+-In article <4501@polya.Stanford.EDU>, lma@polya.Stanford.EDU (Larry M. Augustin) wrote:-
+----------
|
|   55/27H--Character Operations
|   (Change Incompatible Configuration)
|   
|   Entry:	AL	= 0	Return DL = ASCII switch character
|   	AL	= 1	Set switch character to DL
|   	AL	= 2	Return DL = availability byte
|   	AL	= 3	Set availability byte to DL
|   
|   Exit:	DL	= Value if AL = 1 or 3
|   
| What is 55/27H?  It's not interrupt 27H, that's TSR.  The poster might
| have meant DOS functional call 55H, which is "used internally by DOS."
| I tried that, but it crashed my machine.  DOS function call 27H is a
| random block read.  Can someone explain?
+----------

  Um, that's wrong.  Here's the body of a short ASM program I run every day.

		mov ax,3701h
		; ah = 37 (switchar request code); al = 1 (set)

		mov dl,2dh
		; 2d sets switchar to - and dir sep to /;

		; change 2d to 2f to set switchar back to /
		; and dir sep to \

		int 021h

  Like I said, I use it every day.  Whoever typed in the example from the Zenith
manual got the function wrong... it's (obviously) int 21h, function 37.
  I'd like to point out that this doesn't work all that well with DesqVIEW.
Whenever you open a new window after running this program (either from inside
DV or outside) the new window won't inherit any of your environment variables
(blank path, prompt is C>, etc.).  They said they may fix it.

--
 /|\ /|\   .. .  .   .    .     .      .       .        .         .          . 
| |\| |\|  .. .  .   .    .     .      .       .        .         .          .
|/|\|/|\|/||   _  _ _   _ |_| _  _ |_ -__  _  _ARPA: lupin3@ucscb.ucsc.EDU      
  | |/| |/|L_ (_\( ( (_/  | |(_\_) (_ || )(_)_)UUCP: *!ucbvax!ucscc!ucscb!lupin3
   \|/ \|/ larry      /   hastings        _/   WORK: sun!acad!metaware!funkster
  MetaWare "I'm hovering like a fly, waiting for the windshield on the freeway."
IncorporateDisclaimer:[MetaWare, UCSC]->opinion!=lhastings->opinion\\\Genesis

pfales@ttrde.UUCP (Peter Fales) (10/17/88)

 In article <4501@polya.Stanford.EDU>, lma@polya.Stanford.EDU (Larry M. Augustin) writes:
 > Forgive my ignorance, but I don't understand this:
 >   
 >   Yes.  If you have a copy of Zenith's PUP (Programmer's Utility Package),
 >   you'll see that there is a DOS call to set the switchar.  Quoting from the
 >   documentation:
 >   
 >   55/27H--Character Operations

This is a typo - it should be 55/37H.  All other information from the
original posting remains unchanged. (55 decimal = 37 hex)

-- 
Peter Fales			AT&T, Room 2F-217
				200 Park Plaza
UUCP:	...att!ttrde!pfales	Naperville, IL 60566
Domain: pfales@ttrde.att.com	work:	(312) 416-5357