home .. forth .. colorforth mail list archive ..

Re: [colorforth] Hello - and where to begin?


Having found that Howerd Oakford's CFDOS4 floppy boots 
reliably on my 3GHz 64bit PC, I think I have also found
a use 
for the CF instruction "a" (the one that Chuck commented
as 
"never used?").  It can be used to return the high 32
half of the 
64 bit clock counter RDTSC, which is in EDX (same as the
 CF 
address register "a").  Chuck's assembly code for the CF
word 
"time" returns only the low 32 half, which is in EAX
(same as 
CF data stack).  On a 3 GHz clock the lower half counter

whizzes around 3 times per second, which upsets Howerd's

code for time calibration "cal" and millisecond delay
"ms" 
(block 28) and hence for sounds via the 16 bit timer PIT
2 (block 68).  I have corrected this, and am willing to
write 
it up in sordid detail if anyone is interested. 

Incidentally, I also changed the values that need to be
written to PIT control register 43 in order to "tie"
PIT2 to IRPort 61 and 
"untie" it.  Howerd uses 4f and 4d; I use f and d,
because 
Intel's book ICH7 says that bit 6 (40h) ought to be 0
when writing to IRPort 61.  If you want to use the
interrupts, Tie 
can be reduced to 3 and Untie to 1.     
  
Caritas, 

NickM


---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com