-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hyper-DOS crawls along at a snails pace #202
Comments
(Comment from Keatah in #201:) Tom, you may find this dos on several single-file game disks from asimov such as: Or try this disk. It boots Hyper-DOS by default and has some sort of Super Master Create which allows you to make other master disks with other various fast DOSes. Like other fast DOS'es of the day, it won't format a full blank disk. When typing INIT HELLO, it transfers itself to the new disk (previously formatted) by writing tracks 0,1, and 2. Reading is supposed to be fast. I liked using this on my Sider HDD and RamDisks. The TS indicator just blasted by at lightspeed! |
I conducted more controlled and quantifiable tests. I made an tiny Applesoft program that simply BLOADs a 66-sector file 8 times for a total of 528 sectors transferred. I ran the tests with both standard DOS 3.3 and Hyper-DOS. All times reported in seconds. The test file was located on the same tracks and sectors for both test disks. Perhaps the issue is more about Authentic vs. Enhanced speeds. Official Apple DOS 3.3 Authentic Disk Speed + Emulation Control Speed [0.5] - 368 Authentic Disk Speed + Emulation Control Speed [1.0] - 310 Authentic Disk Speed + Emulation Control Speed [2.0] - 93 Authentic Disk Speed + Emulation Control Speed [Fastest] - 2.6 Hyper-DOS Authentic Disk Speed + Emulation Control Speed [0.5] - 139 Authentic Disk Speed + Emulation Control Speed [1.0] - 64 Authentic Disk Speed + Emulation Control Speed [2.0] - 31 Authentic Disk Speed + Emulation Control Speed [Fastest] - 1.2 ---END--- |
Thanks. That's a really thorough set of data. I quickly checked the AppleWin code, and the differences between authentic & enhanced disk modes are:
I don't know why (2) isn't applied in enhanced mode too, since from your figures it clearly would give a benefit (eg. comparing Authentic vs Enhanced when Emu Control Speed = fastest). One thing to note (and perhaps this is the reason why "Authentic" mode isn't truly authentic) is that the disk has no simulated rotation with time. The only thing that causes the disk to rotate is reading from the disk interface's data latch register. I suspect Hyper-DOS is tuned to account for the disk rotation with time. |
Actually I'm wrong: in the main emulation loop, DiskUpdatePosition(DWORD cycles) is called. When "enhanced" is disabled (&& there's been no disk access && disk is spinning) then the track offset advances by number of cycles / 32. |
(Spun off from #201)
...an older fast-dos called Hyper-Dos does something similar on real Apple hardware. It not only displays the track/sector info, but it is a very fast dos. However in Applewin, this dos crawls along at a snails pace, perhaps slower than standard dos on a real Apple. Seems to take several seconds to read a single sector which can translate into a 4 minute load time for something that would take 5 or 10 seconds at longest on real hardware.
The text was updated successfully, but these errors were encountered: