Van: Paul Koning via cctalk<mailto:cctalk@classiccmp.org>
Verzonden: woensdag 21 februari 2018 20:37
Aan: Guy Sotomayor Jr<mailto:g...@shiresoft.com>
CC: General Discussion: On-Topic and Off-Topic 
Posts<mailto:cctalk@classiccmp.org>
Onderwerp: Re: Writing emulators (was Re: VCF PNW 2018: Pictures!)


> However, it is my belief (and I think others have also stated) that assuming 
> infinitely fast I/O (e.g. no delays what so ever) can cause issues because in 
> many cases the SW expects to be able to do some work between the time that 
> the I/O is started and when it completes.

True, that is unfortunately a fairly common type of software bug.  And because 
it is, emulators have to work around those bugs.  I make it a point to call it 
a bug, though, because I don't want anyone to get the impression that OS 
programmers who wrote such things were doing the right thing.

        paul

Yeah, I found that out when I was working on the PDP8/e emulation running on a 
6809. OS/8 does that as well. After issueing the disk I/O it executes a few 
more instructions, because it “knows” that the requested disk data cannot yet 
have been loaded into memory. I solved that problem with a counter that can be 
preset to some TBD value. The value defines the number of extra emulated 
instructions before it jumps to the (now) loaded data from disk – at least, 
that is how I remember it doing over 10 years ago. I have an extensive webpage 
on pdp8 emulation on 6809. I succeeded in finishing it: booting OS/8 and 
running spacewr on it!
Don’t ask how “fast” it ran …

Reply via email to