Re: [colorforth] Hello - and where to begin?
- Subject: Re: [colorforth] Hello - and where to begin?
- From: Nick Maroudas <alice@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 7 Mar 2008 15:16:06 +0200
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