Post subject: Optimizing JPC-RR boot process
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
So here are some observations I made while optimizing the boot process for JPC-RR. CD-ROM discovery takes time. It is fastest if you setup the same HDD image in all four harddisk positions. If JPC-RR refuses to do that for you, simply save your movie, quit, edit the movie file, find +HDA and duplicate the line four times: +HDA, +HDB, +HDC and +HDD. Then start JPC-RR and load the movie. Do not hit F12 to explictly select a boot device. If you do, it takes a frame or two longer. FreeDOS is relatively slow to boot. If you do not need XMM or EMM, consider using DR-DOS (now called OpenDOS), available here: http://drdosprojects.de/index.cgi/download.htm I found out that in optimal conditions, FreeDOS boots in 14..16 frames but DR-DOS 7.01.01 boots in 1..2 frames, while still having enough RAM to run e.g. Star Control II. OpenDOS also seems to have faster file access, further speeding up the game throughout its runtime. You can download it here: http://drdosprojects.de/index.cgi/download.htm Or a pre-prepared floppy image for JPC-RR here: http://bisqwit.iki.fi/kala/drdosjpc.zip * Note that you may need to insert one dummy key press into the keyboard buffer before DOS loads up to make it most swiftly, and two hits of "Enter" into the datetime prompts. *) Created by mounting DISK.IMG (provided in opendos) -o loop, copying there the files listed in makeboot.bat (provided in opendos), umounting, and then disk-imagifying it with ImageMaker in JPC.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
Should we be worrying about TASing the boot process anyway? It would make more sense to optimise the game, than the platform it's running on. Timing for DOS games in general can be a larger problem; a discussion on IRC we had a while ago lead to the observation that with several games, you could fill the keyboard buffer in order to end input earlier, which has a tendency to distort timings somewhat (leading to games ending before they started in some very simple cases). Timing from game load to the keyboard buffer emptying after the last input might make sense...
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
Benchmarking the BIOS (time when "booting from 0000:7c00" message appears, rouned up to nearest millisecond): <Enter> the boot prompt, HDD only: 661ms <Enter> the boot prompt (subframe-optimized), HDD only: 661ms <F12><1> the boot prompt, HDD only: 667ms <Enter> the boot prompt, all HDx: 661ms <F12><1> the boot prompt, all HDx: 667ms The HD image is 16(cyliners)x63(sectors)x16(sides). FPU and SB present. I didn't subframe-optimize the inputs (unless otherwise noted). So it appears that: - putting the game as HDD is as good as putting it to all slots - <Enter> in boot prompt is sightly faster than <F12><1> - subframe-optimizing the clearing of boot prompt doesn't matter (usually).
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Ilari wrote:
<Enter> the boot prompt, HDD only: 661ms <Enter> the boot prompt, all HDx: 661ms
You're right about this one. But JPC runs faster if all HD slots are filled! For the duration of the discovery of IDE devices, that is. Which makes no difference for movie timing, but all the difference for the movie author when making the movie.
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
So, how fast is ms dos then? What is the fastest way to boot if you do need cd rom support? How about the mouse driver? What about both mouse and cd? How about using a disk cache? Does that help or hurt when gaming? Maybe use a ramdrive for some files?
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
You could create a RAM drive (eg. via ImDisk) and put all files on there, including CD image(s).
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
Indeed you could. But is the initial copying worth the performance gains later? It is not going to be cheap.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Also, correct me if I am wrong, but the point of ramdrive is kind of the same as the point of smartdrv. Neither make much sense under an emulator that does not simulate disk access delays.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Well, yeah.
Bisqwit wrote:
Which makes no difference for movie timing, but all the difference for the movie author when making the movie.