On Wed, Feb 21, 2018 at 07:44:33PM +0000, Henk Gooijen via cctalk wrote: > > 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 …
While I too might consider it a bug and bad style. The OS/8 guys knew exactly what hardware they would support and probably gained some performance by doing it "wrong" Do you have a link to your work? /P