[comp.sys.ibm.pc] SW to change the speed of turbo boards

fmb@ihlpa.UUCP (03/27/87)

I have a 4.77/8 Megahertz PC clone.  It is switched to 8 MHz by the
CNTRL-ALT [-] keystroke.  It does not have a hardware switch to 
toggle between 4.77/8 MHz mode, nor did it come with any SW to 
toggle between the 4.77/8 Mhz mode.

The dealer who sold me the motherboard was absolutely no help (thats
what I get for buying the cheapest turbo board I could find).

My question is:  Does anyone know of any software that can be used to
toggle a typical "Taiwanese turbo board" between 4.77 & 8.0 Mhz?

Thanks,

Fernando Botelho
AT&T IS
Naperville, IL
...ihnp4!ihlpa!fmb

wales@ucla-cs.UUCP (03/28/87)

In article <3421@ihlpa.ATT.COM> fmb@ihlpa.ATT.COM (Botelho) writes:
>My question is:  Does anyone know of any software that can be used to
>toggle a typical "Taiwanese turbo board" between 4.77 & 8.0 Mhz?

I have a Wugo PC-II-AD, marketed by Sun Computers Inc. (not to be con-
fused with Sun Microsystems, Inc., the UNIX workstation people) as a 
"Sun PC II".

By disassembling a utility they supplied, called "TURBOPC.COM" (a TSR
program which toggles the speed when I do ALT-SHIFT), I was able to
figure out how to control the speed.  On my system, the 04H bit of I/O
port address 61H is the key:  when this bit is "on", the system runs
at 8 MHz, and when the bit is "off", at 4.77 MHz.

Here are the programs I wrote to set "fast" and "slow" speeds.  You
could enter these via DEBUG (that's what I did).

	    FASTCLK.COM              SLOWCLK.COM
		mov  dx,0061             mov  dx,0061
		in   al,dx               in   al,dx
		or   al,04               and  al,0fb
		out  dx,al               out  dx,al
		xor  ah,ah               xor  ah,ah
		int  21                  int  21

Note that these programs differ only in the third line.

I can't guarantee, of course, that these will work for your system.  If
they don't, try using DEBUG on your TURBOPC.COM (or equivalent).  The
"u 100" command (disassemble starting at location 100H) will probably
show a "jump" to some initialization code, followed by some space for
holding an interrupt handler address (for chaining interrupts), followed
by 40-50 bytes of interrupt handler code.  This code will probably read
some I/O port, reverse (toggle) the state of some bit, and write it back
out.  You can then write your own programs to set "high" or "low" speed.

-- Rich Wales // UCLA Computer Science Department // +1 213-825-5683
	3531 Boelter Hall // Los Angeles, California 90024-1600 // USA
	wales@CS.UCLA.EDU   ...!(ucbvax,sdcrdcf,ihnp4)!ucla-cs!wales
"Sir, there is a multilegged creature crawling on your shoulder."