VOGONS


First post, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie

So it's been brought to my attention that I shouldn't be modifying the autoexec.bat and config.sys files...? Have I been doing things wrong this whole time...? Apparently I should be using a custom PIF file and running commands via DOSSTART?

Could someone shed a bit more light on this as I'm a bit confused as to why I shouldn't modify autoexec and config myself in Windows? I thought this was the right approach, but apparently not. Also, I'm not too familiar with DOSSTART. I'm not even sure I have this file in the root of my C drive.

I'm still not 100% clear on how to set up a custom boot menu, either. Only that it can be done via one of these files, but I forget which.

Thanks

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 1 of 15, by Errius

User metadata
Rank l33t
Rank
l33t

This is a huge headache. I'll post a screencap of the notes I made for my own reference.

Is this too much voodoo?

Reply 2 of 15, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
Errius wrote on 2025-11-21, 14:35:

This is a huge headache. I'll post a screencap of the notes I made for my own reference.

'A huge headache'...? As in, it's too much of a pain to explain it to me...? Or it's just too much of a pain explaining it in general...? ^^;

But thanks for sharing those notes. So, my takeaway from that then, is that using DOSSTART to add commands is faster...? And that I should boot with a new configuration and install the drivers in pure DOS...? Exit, and then copy the contents created in autoexec and config and paste them into Exit to DOS.PIF...? And then always use the Exit to DOS.PIF...? Which is the same as if you were to click on Start>Shutdown>Exit into MS-DOS Mode?

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 3 of 15, by asdf53

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on 2025-11-21, 13:24:
So it's been brought to my attention that I shouldn't be modifying the autoexec.bat and config.sys files...? Have I been doing t […]
Show full quote

So it's been brought to my attention that I shouldn't be modifying the autoexec.bat and config.sys files...? Have I been doing things wrong this whole time...? Apparently I should be using a custom PIF file and running commands via DOSSTART?

Could someone shed a bit more light on this as I'm a bit confused as to why I shouldn't modify autoexec and config myself in Windows? I thought this was the right approach, but apparently not. Also, I'm not too familiar with DOSSTART. I'm not even sure I have this file in the root of my C drive.

I'm still not 100% clear on how to set up a custom boot menu, either. Only that it can be done via one of these files, but I forget which.

Thanks

You can absolutely modify config.sys and autoexec.bat, that was the norm back then. In fact, there are cases where this is needed, for example loading a DOS CD-ROM driver for a SCSI controller that has no Windows drivers.

In rare cases, it can happen that you install a DOS tool or driver that doesn't play nice with Windows, interfering with it or entirely preventing it from booting. In that case, you would put those commands somehwere else: On a boot disk, in a custom boot menu or in a custom PIF file, so that they are only loaded in a pure DOS environment.

If it's something as simple as a sound or mouse driver, I'd simply have it install to the default autoexec.bat and config.sys. If it's something that can potentially mess up Windows, such as DOS network drivers, I put it into a custom config.

About DOSSTART, I never even knew this existed until the above post by Errius. Where did you read that you should be using it? It's just one of many ways to get things done, but by no means mandatory. If it's not there, MS-DOS mode will simply use the regular autoexec.bat.

Reply 4 of 15, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
asdf53 wrote on 2025-11-21, 16:23:
You can absolutely modify config.sys and autoexec.bat, that was the norm back then. In fact, there are cases where this is neede […]
Show full quote
DustyShinigami wrote on 2025-11-21, 13:24:
So it's been brought to my attention that I shouldn't be modifying the autoexec.bat and config.sys files...? Have I been doing t […]
Show full quote

So it's been brought to my attention that I shouldn't be modifying the autoexec.bat and config.sys files...? Have I been doing things wrong this whole time...? Apparently I should be using a custom PIF file and running commands via DOSSTART?

Could someone shed a bit more light on this as I'm a bit confused as to why I shouldn't modify autoexec and config myself in Windows? I thought this was the right approach, but apparently not. Also, I'm not too familiar with DOSSTART. I'm not even sure I have this file in the root of my C drive.

I'm still not 100% clear on how to set up a custom boot menu, either. Only that it can be done via one of these files, but I forget which.

Thanks

You can absolutely modify config.sys and autoexec.bat, that was the norm back then. In fact, there are cases where this is needed, for example loading a DOS CD-ROM driver for a SCSI controller that has no Windows drivers.

In rare cases, it can happen that you install a DOS tool or driver that doesn't play nice with Windows, interfering with it or entirely preventing it from booting. In that case, you would put those commands somehwere else: On a boot disk, in a custom boot menu or in a custom PIF file, so that they are only loaded in a pure DOS environment.

If it's something as simple as a sound or mouse driver, I'd simply have it install to the default autoexec.bat and config.sys. If it's something that can potentially mess up Windows, such as DOS network drivers, I put it into a custom config.

About DOSSTART, I never even knew this existed until the above post by Errius. Where did you read that you should be using it? It's just one of many ways to get things done, but by no means mandatory. If it's not there, MS-DOS mode will simply use the regular autoexec.bat.

Oh. Yeah, that's what I figured. Unless I just misunderstood someone's post in another thread. But no, that makes total sense. That could be what they meant as a particular driver is preventing Windows from booting. So I guess that's what they were suggesting. Though it was mentioned the CD and mouse drivers shouldn't be in the autoexec. These particular drivers in question are DOS audio drivers for my Sound Blaster Audigy 2. Along with a patch.

DOSSTART is completely new to me, too. That was also mentioned in the other thread.

But I'll look into creating a custom PIF file for these drivers and any future ones that cause problems. Thanks. 😀

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 5 of 15, by asdf53

User metadata
Rank Member
Rank
Member

That's just two different approaches of doing it.

One might say: 99% of MS-DOS drivers are not needed for Windows and could potentially cause problems, so you pre-emptively move them out of the default autoexec.bat and config sys and only load them in pure DOS. That's perfectly valid.

My approach is, leave everything in by default and only if problems occur, investigate and move it out. This is more convenient to me because I rarely ever encounter problems.

A PIF file is simply a set of custom MS-DOS config.sys and autoexec.bat commands that are different from the default ones. Either a standard PIF for the "Reboot to MS-DOS mode" session (it's "C:\Windows\MS-DOS mode.pif" or something), or a custom one on a per-game basis (example: a "mygame.pif" that might load a particular memory manager for DOS, often needed for problematic games) that you would put on your desktop and double-click to play the game.

Reply 6 of 15, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
DustyShinigami wrote on 2025-11-21, 16:58:

DOSSTART is completely new to me, too. That was also mentioned in the other thread.

To clarify what I said in the other thread, DOS drivers are 16-bit. Windows 9x drivers are generally 32-bit. It's not a good idea to load both at the same time (e.g. both a DOS and a Win9x CD-ROM driver). This can be avoided in several ways. One is to create a custom PIF file, as Phil shows in his video.

The other is to use DOSSTART.BAT and put any DOS drivers there. This file is found in C:\WINDOWS\DOSSTART.BAT and it is executed automatically when you click Start > Shutdown > Restart in MS-DOS mode. So you can put the mouse driver and other stuff that's only needed in pure DOS inside that file. You can read more about that here.

Personally, I prefer the custom PIF method, as it's much cleaner. There's also a third method of creating a dedicated boot menu which allows you to select between DOS and Windows, but I never used that.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 980Ti / X-Fi Titanium

Reply 7 of 15, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
asdf53 wrote on 2025-11-21, 17:18:
That's just two different approaches of doing it. […]
Show full quote

That's just two different approaches of doing it.

One might say: 99% of MS-DOS drivers are not needed for Windows and could potentially cause problems, so you pre-emptively move them out of the default autoexec.bat and config sys and only load them in pure DOS. That's perfectly valid.

My approach is, leave everything in by default and only if problems occur, investigate and move it out. This is more convenient to me because I rarely ever encounter problems.

A PIF file is simply a set of custom MS-DOS config.sys and autoexec.bat commands that are different from the default ones. Either a standard PIF for the "Reboot to MS-DOS mode" session (it's "C:\Windows\MS-DOS mode.pif" or something), or a custom one on a per-game basis (example: a "mygame.pif" that might load a particular memory manager for DOS, often needed for problematic games) that you would put on your desktop and double-click to play the game.

Yeah, that would be my approach, too. Only if I encounter something that's an issue would I isolate it to its own file. The SB DOS drivers I would personally use only for specific games and would only call for it in a custom BAT file. Whilst I'm testing and experimenting though, I've added them to the main autoexec file. Memory managers are another example too as I know some games are very picky if they're enabled or not.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 8 of 15, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
Joseph_Joestar wrote on 2025-11-21, 17:23:
To clarify what I said in the other thread, DOS drivers are 16-bit. Windows 9x drivers are generally 32-bit. It's not a good ide […]
Show full quote
DustyShinigami wrote on 2025-11-21, 16:58:

DOSSTART is completely new to me, too. That was also mentioned in the other thread.

To clarify what I said in the other thread, DOS drivers are 16-bit. Windows 9x drivers are generally 32-bit. It's not a good idea to load both at the same time (e.g. both a DOS and a Win9x CD-ROM driver). This can be avoided in several ways. One is to create a custom PIF file, as Phil shows in his video.

The other is to use DOSSTART.BAT and put any DOS drivers there. This file is found in C:\WINDOWS\DOSSTART.BAT and it is executed automatically when you click Start > Shutdown > Restart in MS-DOS mode. So you can put the mouse driver and other stuff that's only needed in pure DOS inside that file. You can read more about that here.

Personally, I prefer the custom PIF method, as it's much cleaner. There's also a third method of creating a dedicated boot menu which allows you to select between DOS and Windows, but I never used that.

Ahh, I see. Gotcha. I'll certainly look at playing around with custom PIF files and the DOSSTART file. I'm all for cleaner and more organised approaches especially now I have a clearer understanding of how they work. Although I'm guessing I'll need to learn how to call the various drivers in DOSSTART.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 9 of 15, by chinny22

User metadata
Rank l33t++
Rank
l33t++

I'm also a lifetime member of the custom pif camp.
The main thing to remember is never modify autoexec.bat /config.sys while in dos mode. Always do it in the Advanced section of the shortcut (4:09 in the Phil video linked above)

The other advantage not loading things in Windows copy of autoecec/config.sys is the splash screen is visible longer, very important! 😉

Reply 10 of 15, by NeoG_

User metadata
Rank Member
Rank
Member

I think it's impossibly hard to have a complex working DOS environment inside the autoexec.bat and config.sys files that run before 95/98 launch. It makes a whole lot more sense to maintain two configurations and use a PIF file to swap between them transparently.

I replaced the standard Exit to DOS.pif file in the windows directory with the custom DOS environment shortcut so you can access the custom DOS mode under Shutdown -> Exit to MS-DOS which is cool.

chinny22 wrote on Yesterday, 05:46:

The main thing to remember is never modify autoexec.bat /config.sys while in dos mode. Always do it in the Advanced section of the shortcut (4:09 in the Phil video linked above)

Is there a specific reason for that? When I did it any changes made were copied back to the PIF shortcut automatically (in 98SE)

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6800, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 11 of 15, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
chinny22 wrote on Yesterday, 05:46:

I'm also a lifetime member of the custom pif camp.
The main thing to remember is never modify autoexec.bat /config.sys while in dos mode. Always do it in the Advanced section of the shortcut (4:09 in the Phil video linked above)

The other advantage not loading things in Windows copy of autoecec/config.sys is the splash screen is visible longer, very important! 😉

Great, thanks. Yeah, I was in the habit of editing them whilst in DOS. ^^;

As to your last sentence - I'm currently experiencing the Windows splash screen being visible for longer. Much longer. Nearly a minute in fact. I mentioned this in another thread I made. I think both autoexec and config are currently empty, though I don't recall the logo showing this long in the past prior to adding things to them.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 12 of 15, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on Yesterday, 11:30:

As to your last sentence - I'm currently experiencing the Windows splash screen being visible for longer. Much longer. Nearly a minute in fact. I mentioned this in another thread I made. I think both autoexec and config are currently empty, though I don't recall the logo showing this long in the past prior to adding things to them.

I think the most common cause for this is that there is an active ethernet interface set to DHCP, the network driver will attempt to obtain an IP address before the GUI loads even if no cable is connected and it will sit there doing nothing for 30-60 seconds. Assigning a static IP address can speed it up.

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6800, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 13 of 15, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Yesterday, 11:46:
DustyShinigami wrote on Yesterday, 11:30:

As to your last sentence - I'm currently experiencing the Windows splash screen being visible for longer. Much longer. Nearly a minute in fact. I mentioned this in another thread I made. I think both autoexec and config are currently empty, though I don't recall the logo showing this long in the past prior to adding things to them.

I think the most common cause for this is that there is an active ethernet interface set to DHCP, the network driver will attempt to obtain an IP address before the GUI loads even if no cable is connected and it will sit there doing nothing for 30-60 seconds. Assigning a static IP address can speed it up.

Oh. Okay. I mean, the system has never been set up or configured for any kind of networking. What would be the thing to do here? Is there something I need to change in the BIOS maybe? Configuring networks isn't my strong suit when it comes to PCs. ^^;

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 14 of 15, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on Yesterday, 12:06:
NeoG_ wrote on Yesterday, 11:46:
DustyShinigami wrote on Yesterday, 11:30:

As to your last sentence - I'm currently experiencing the Windows splash screen being visible for longer. Much longer. Nearly a minute in fact. I mentioned this in another thread I made. I think both autoexec and config are currently empty, though I don't recall the logo showing this long in the past prior to adding things to them.

I think the most common cause for this is that there is an active ethernet interface set to DHCP, the network driver will attempt to obtain an IP address before the GUI loads even if no cable is connected and it will sit there doing nothing for 30-60 seconds. Assigning a static IP address can speed it up.

Oh. Okay. I mean, the system has never been set up or configured for any kind of networking. What would be the thing to do here? Is there something I need to change in the BIOS maybe? Configuring networks isn't my strong suit when it comes to PCs. ^^;

If the computer has a built in ethernet port and you aren not planning on using it, you should be able to disable it in the inegrated peripherals section of the BIOS

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6800, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 15 of 15, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Yesterday, 23:35:
DustyShinigami wrote on Yesterday, 12:06:
NeoG_ wrote on Yesterday, 11:46:

I think the most common cause for this is that there is an active ethernet interface set to DHCP, the network driver will attempt to obtain an IP address before the GUI loads even if no cable is connected and it will sit there doing nothing for 30-60 seconds. Assigning a static IP address can speed it up.

Oh. Okay. I mean, the system has never been set up or configured for any kind of networking. What would be the thing to do here? Is there something I need to change in the BIOS maybe? Configuring networks isn't my strong suit when it comes to PCs. ^^;

If the computer has a built in ethernet port and you aren not planning on using it, you should be able to disable it in the inegrated peripherals section of the BIOS

Ah, I see. I've just checked, but no, this motherboard doesn't have an ethernet port. And no option in the BIOS either.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3