[net.micro.att] Timing of PC 6300 under IBM PC DOS

HBX@psuvm.BITNET (08/27/85)

I few weeks ago I posted a query as to how to get the system clock
on the AT&T 6300 to keep proper time while running IBM PC DOS.  The
problem is that it gains time.  I received some helpful comments, but to
date have not established a program to do this.  The issue seems to be
resetting the divisor rate in the 8253 programmable timer.  (I admit to
to being a novice in these matters.)  I have two questions: 1) is this a
feasible approach, and 2) why won't the following assembly language program
do the job?
     
     
;  Program to reset the 8253 timer chip on the AT&T 6300
;    to be compatible with IBM PC DOS 3.1
clockseg    segment byte public 'prog'
            assume cs:clockseg
clockset    proc
            pushf
            cli                ;disable interrupts
            mov   ax,036h
            out   43h,al       ;ready timer
            mov   ax,61441d    ;new divisor rate
            out   40h,al       ;send the first half to the timer
            mov   al,ah
            out   40h,al       ;now send the other half
            popf
            int   20h          ;return to dos
clockset    endp
clockseg    ends
            end
     
     
     
Terry Harrison
310 Business Administration Building
Penn State University
University Park, PA  16802
(814) 863-3357
     
BITNET: hbx@psuvm
UUCP:   {akgua,allegra,ihnp4,cbosgd}!psuvax1!PSUVM.BITNET!hbx
ARPA:   hbx%psuvm.bitnet@wiscvm.arpa