Jump to content

Trouble selecting VGA driver in MSBATCH.INF


Recommended Posts

Hello there!  This is my first post, so I hope I don't contravene guidelines 👋

I'm trying to script the setup of a Windows '95 installation in a Qemu virtual machine, using MSBATCH.INF and CUSTOM.INF.  I have referred to a paper copy of the Windows 95 Resource Kit, which was helpful.  However, I'm struggling with one aspect: I can manage to install the VBE VGA graphics adapter driver using CUSTOM.INF:

[Version]
signature="$CHICAGO$"

[DestinationDirs]
PreCopyFiles=2				  ; Windows temp setup directory
InfCopyFiles=17				 ; Windows \inf directory

[Custom_Precopy]
CopyFiles=PreCopyFiles

[PreCopyFiles]
vbemp.inf

[BaseWinOptions]
InfCopy

[InfCopy]
CopyFiles=InfCopyFiles

[InfCopyFiles]
vbemp.inf

[SourceDisksNames]
1="BEAR VGA", "", 0

[SourceDisksFiles]
vbemp.inf=1

I can tell that works, because once I have booted up the virtual machine, I can right-click on desktop -> Properties -> Settings tab -> Advanced Properties -> "Change..." button to select a new VGA driver, and it's right there in the list, as in the screenshot.  It works when I select it.  However, I have been unable to get the Windows Setup to preselect it for me, and I'd love to be able to prepare a working Qemu image automatically!

Here's what I put into the MSBATCH.INF file: (I've left out heaps of other settings, they don't seem relevant, and apart from this my MSBATCH.INF settings are picked up correctly).

[System]
Display = "VBE Miniport - Standard Graphics Adapter (VGA)"
; Display driver name comes from vbemp.inf
DisplChar=24,1024,768
; 16.7 million colors (24-bit) 1024 x 768

What can I be doing wrong?  How can I debug what's happening? I hope my question makes sense, I'm new to slipstreaming, Windows emulation, etc :)

Screen Shot 2020-03-14 at 15.07.29.png

Edited by docker
Add detail
Link to comment
Share on other sites


Try using this:

https://rjnoe.home.xs4all.nl/0/pc/soft/win/setup/msbt95a.txt

as a reference, it is a thoroughfully commented MSBATCH.INF example.

I seem to remenber, but a lot of times has passed and besides my fading memory it could be related to 98/Me (instead of 95), that you need to modify MSDISP.INF.

But wouldn't it be easier - since your "unattended" actually boots, though to a "different" video driver, to install the VBEMP driver via Runonce or however through a script after install/at first boot?

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

1 hour ago, jaclaz said:

But wouldn't it be easier - since your "unattended" actually boots, though to a "different" video driver, to install the VBEMP driver via Runonce or however through a script after install/at first boot?

 

I've downloaded the linked MSBATCH.INF, I'll have a careful look, thanks!

I just have the .inf and .drv file for the graphics driver, I'm not exactly sure how to install them using Runonce.. I'm familiar with the idea of sticking a command in the registry to runonce, so I can definitely explore that avenue!

To figure out how to do that, I had been googling things like "command to set windows 95 vga driver" or "install INF driver programatically" but hadn't yet turned up anything that looked useful.

Thanks though, I'll have a look!

Link to comment
Share on other sites

16 hours ago, docker said:

Here's what I put into the MSBATCH.INF file: (I've left out heaps of other settings, they don't seem relevant, and apart from this my MSBATCH.INF settings are picked up correctly).


[System]
Display = "VBE Miniport - Standard Graphics Adapter (VGA)"
; Display driver name comes from vbemp.inf
DisplChar=24,1024,768
; 16.7 million colors (24-bit) 1024 x 768

What can I be doing wrong?

Your Display line is wrong.

Try: Display=AnaPa

Link to comment
Share on other sites

5 hours ago, deomsh said:

Your Display line is wrong.

Try: Display=AnaPa

Hi! Thanks for responding! I just tried the following:

Display=AnaPa

Display="Anapa Corp."

Display="VBE Miniport"

(I found all those strings in VBEMP.INF), and unfortunately none of them seem to make any difference :( 

Link to comment
Share on other sites

In that case your custom.inf doesn't seem to work. I tested Jaclaz suggestion to edit MSDISP.INF, worked for me, but tested on Win98se only.

If you like you can try following.

  1. Remove the lines to your custom.inf from MSBATCH.INF, but maintain [System].
  2. Take a copy of MSDISP.INF and edit in the way I will show you.
  3. Copy the edited MSDISP.INF together with VBEMP.DRV and VBE.VXD to the folder where your CAB's are (maybe you must make a new ISO?)
  4. Install Windows again.
Editing MSDISP.INF
--------------------------------------------------

;ADD TO
; Manufacturers
; ---------------------------------------------------------
[Manufacturer]

%AnaPa%	  =Mfg.VBEMP

;COMMENT OUT AND ADD TO
; Driver Sections
; ---------------------------------------------------------

[Mfg.std]
;;%*PNP0900.DeviceDesc%=VGA,*PNP0900      		; Standard Graphics Adapter (VGA)
;;%*PNP0917.DeviceDesc%=VGA,*PNP0917     			; VGA
;;%SuperVGA.DriverDesc%=SVGA            			; Super VGA
;;%PCI\CC_0300.DeviceDesc%=VGA,,PCI\CC_0300		; Standard PCI Graphics Adapter (VGA)
;;%PCI\CC_0301.DeviceDesc%=XGA,,PCI\CC_0301		; Standard PCI Graphics Adapter (XGA)
;;%PCI\CC_0380.DeviceDesc%=PCIVID,,PCI\CC_0380		; Standard PCI Graphics Adapter

[Mfg.VBEMP]
%AnaPa%=VBE
%*PNP0900.DeviceDesc%=VBE,*PNP0900      		; Standard Graphics Adapter (VGA)
%*PNP0917.DeviceDesc%=VBE,*PNP0917     			; VGA
%SuperVGA.DriverDesc%=VBE            			; Super VGA
%PCI\CC_0300.DeviceDesc%=VBE,,PCI\CC_0300		; Standard PCI Graphics Adapter (VGA)
%PCI\CC_0301.DeviceDesc%=VBE,,PCI\CC_0301		; Standard PCI Graphics Adapter (XGA)
%PCI\CC_0380.DeviceDesc%=VBE,,PCI\CC_0380		; Standard PCI Graphics Adapter

; ADD TO:
; Install Sections
; ---------------------------------------------------------

; -------------- VBEMP
[VBE]
CopyFiles=VBE.Copy      ; Uses VBEMP driver
DelReg=Prev.DelReg
AddReg=VBE.AddReg
LogConfig=VBE.LogConfig

[VBE.LogConfig]
ConfigPriority=HARDWIRED
IOConfig=3B0-3BB
IOConfig=3C0-3DF
MemConfig=A0000-AFFFF
MemConfig=B8000-BFFFF
MemConfig=C0000-C7FFF,D0000-D7FFF,E0000-E5FFF,E0000-E7FFF

[VBE.Copy]
vbemp.drv,,,12
vbe.vxd,,,12

[Prev.DelReg]
HKR,,Ver
HKR,,DevLoader
HKR,DEFAULT
HKR,MODES
HKR,CURRENT

[VBE.AddReg]
HKR,,Ver,,4.0
HKR,,DevLoader,,*vdd
HKR,DEFAULT,Mode,,"8,640,480"
HKR,DEFAULT,drv,,vbemp.drv
HKR,DEFAULT,vdd,,"*vdd,*vflatd"
HKR,DEFAULT,minivdd,,vbe.vxd
HKR,DEFAULT,RefreshRate,,-1
HKR,DEFAULT,DDC,,1
HKR,DEFAULT,ExtModeSwitch,,0 ;disables full screen extended modes in a window?
HKR,"MODES\1\640,480",drv,,framebuf.drv
HKR,"MODES\1\640,480",vdd,,*vdd
HKR,"MODES\4\640,480",drv,,vga.drv
HKR,"MODES\4\640,480",vdd,,*vdd
HKR,"MODES\4\800,600",drv,,supervga.drv
HKR,"MODES\4\800,600",vdd,,*vdd
HKR,"MODES\8\320,200"
HKR,"MODES\8\320,240"
HKR,"MODES\8\320,400"
HKR,"MODES\8\400,300"
HKR,"MODES\8\512,384"
HKR,"MODES\8\640,350"
HKR,"MODES\8\640,400"
HKR,"MODES\8\640,480"
HKR,"MODES\8\720,400"
HKR,"MODES\8\720,480"
HKR,"MODES\8\720,576"
HKR,"MODES\8\800,480"
HKR,"MODES\8\800,600"
HKR,"MODES\8\1024,600"
HKR,"MODES\8\1024,768"
HKR,"MODES\8\1152,864"
HKR,"MODES\8\1280,800"
HKR,"MODES\8\1280,960"
HKR,"MODES\8\1280,1024"
HKR,"MODES\8\1400,1050"
HKR,"MODES\8\1600,1200"
HKR,"MODES\8\1792,1344"
HKR,"MODES\8\1856,1392"
HKR,"MODES\8\1920,1440"
HKR,"MODES\8\832,624"
HKR,"MODES\8\1366,768"
HKR,"MODES\8\1440,900"
HKR,"MODES\8\1600,900"
HKR,"MODES\8\1920,1080"
HKR,"MODES\8\1920,1200"
HKR,"MODES\8\2048,1536"
HKR,"MODES\8\2560,1440"
HKR,"MODES\8\2560,1600"
HKR,"MODES\8\1280,600"
HKR,"MODES\8\1280,720"
HKR,"MODES\8\1280,768"
HKR,"MODES\8\1360,768"
HKR,"MODES\8\1680,1050"
HKR,"MODES\15\320,200"
HKR,"MODES\15\320,240"
HKR,"MODES\15\320,400"
HKR,"MODES\15\400,300"
HKR,"MODES\15\512,384"
HKR,"MODES\15\640,350"
HKR,"MODES\15\640,400"
HKR,"MODES\15\640,480"
HKR,"MODES\15\720,400"
HKR,"MODES\15\720,480"
HKR,"MODES\15\720,576"
HKR,"MODES\15\800,480"
HKR,"MODES\15\800,600"
HKR,"MODES\15\1024,600"
HKR,"MODES\15\1024,768"
HKR,"MODES\15\1152,864"
HKR,"MODES\15\1280,800"
HKR,"MODES\15\1280,960"
HKR,"MODES\15\1280,1024"
HKR,"MODES\15\1400,1050"
HKR,"MODES\15\1600,1200"
HKR,"MODES\15\1792,1344"
HKR,"MODES\15\1856,1392"
HKR,"MODES\15\1920,1440"
HKR,"MODES\15\832,624"
HKR,"MODES\15\1366,768"
HKR,"MODES\15\1440,900"
HKR,"MODES\15\1600,900"
HKR,"MODES\15\1920,1080"
HKR,"MODES\15\1920,1200"
HKR,"MODES\15\2048,1536"
HKR,"MODES\15\2560,1440"
HKR,"MODES\15\2560,1600"
HKR,"MODES\15\1280,600"
HKR,"MODES\15\1280,720"
HKR,"MODES\15\1280,768"
HKR,"MODES\15\1360,768"
HKR,"MODES\15\1680,1050"
HKR,"MODES\16\320,200"
HKR,"MODES\16\320,240"
HKR,"MODES\16\320,400"
HKR,"MODES\16\400,300"
HKR,"MODES\16\512,384"
HKR,"MODES\16\640,350"
HKR,"MODES\16\640,400"
HKR,"MODES\16\640,480"
HKR,"MODES\16\720,400"
HKR,"MODES\16\720,480"
HKR,"MODES\16\720,576"
HKR,"MODES\16\800,480"
HKR,"MODES\16\800,600"
HKR,"MODES\16\1024,600"
HKR,"MODES\16\1024,768"
HKR,"MODES\16\1152,864"
HKR,"MODES\16\1280,800"
HKR,"MODES\16\1280,960"
HKR,"MODES\16\1280,1024"
HKR,"MODES\16\1400,1050"
HKR,"MODES\16\1600,1200"
HKR,"MODES\16\1792,1344"
HKR,"MODES\16\1856,1392"
HKR,"MODES\16\1920,1440"
HKR,"MODES\16\832,624"
HKR,"MODES\16\1366,768"
HKR,"MODES\16\1440,900"
HKR,"MODES\16\1600,900"
HKR,"MODES\16\1920,1080"
HKR,"MODES\16\1920,1200"
HKR,"MODES\16\2048,1536"
HKR,"MODES\16\2560,1440"
HKR,"MODES\16\2560,1600"
HKR,"MODES\16\1280,600"
HKR,"MODES\16\1280,720"
HKR,"MODES\16\1280,768"
HKR,"MODES\16\1360,768"
HKR,"MODES\16\1680,1050"
HKR,"MODES\24\320,200"
HKR,"MODES\24\320,240"
HKR,"MODES\24\320,400"
HKR,"MODES\24\400,300"
HKR,"MODES\24\512,384"
HKR,"MODES\24\640,350"
HKR,"MODES\24\640,400"
HKR,"MODES\24\640,480"
HKR,"MODES\24\720,400"
HKR,"MODES\24\720,480"
HKR,"MODES\24\720,576"
HKR,"MODES\24\800,480"
HKR,"MODES\24\800,600"
HKR,"MODES\24\1024,600"
HKR,"MODES\24\1024,768"
HKR,"MODES\24\1152,864"
HKR,"MODES\24\1280,800"
HKR,"MODES\24\1280,960"
HKR,"MODES\24\1280,1024"
HKR,"MODES\24\1400,1050"
HKR,"MODES\24\1600,1200"
HKR,"MODES\24\1792,1344"
HKR,"MODES\24\1856,1392"
HKR,"MODES\24\1920,1440"
HKR,"MODES\24\832,624"
HKR,"MODES\24\1366,768"
HKR,"MODES\24\1440,900"
HKR,"MODES\24\1600,900"
HKR,"MODES\24\1920,1080"
HKR,"MODES\24\1920,1200"
HKR,"MODES\24\2048,1536"
HKR,"MODES\24\2560,1440"
HKR,"MODES\24\2560,1600"
HKR,"MODES\24\1280,600"
HKR,"MODES\24\1280,720"
HKR,"MODES\24\1280,768"
HKR,"MODES\24\1360,768"
HKR,"MODES\24\1680,1050"
HKR,"MODES\32\320,200"
HKR,"MODES\32\320,240"
HKR,"MODES\32\320,400"
HKR,"MODES\32\400,300"
HKR,"MODES\32\512,384"
HKR,"MODES\32\640,350"
HKR,"MODES\32\640,400"
HKR,"MODES\32\640,480"
HKR,"MODES\32\720,400"
HKR,"MODES\32\720,480"
HKR,"MODES\32\720,576"
HKR,"MODES\32\800,480"
HKR,"MODES\32\800,600"
HKR,"MODES\32\1024,600"
HKR,"MODES\32\1024,768"
HKR,"MODES\32\1152,864"
HKR,"MODES\32\1280,800"
HKR,"MODES\32\1280,960"
HKR,"MODES\32\1280,1024"
HKR,"MODES\32\1400,1050"
HKR,"MODES\32\1600,1200"
HKR,"MODES\32\1792,1344"
HKR,"MODES\32\1856,1392"
HKR,"MODES\32\1920,1440"
HKR,"MODES\32\832,624"
HKR,"MODES\32\1366,768"
HKR,"MODES\32\1440,900"
HKR,"MODES\32\1600,900"
HKR,"MODES\32\1920,1080"
HKR,"MODES\32\1920,1200"
HKR,"MODES\32\2048,1536"
HKR,"MODES\32\2560,1440"
HKR,"MODES\32\2560,1600"
HKR,"MODES\32\1280,600"
HKR,"MODES\32\1280,720"
HKR,"MODES\32\1280,768"
HKR,"MODES\32\1360,768"
HKR,"MODES\32\1680,1050"

; ADD TO:
; User visible strings
; ---------------------------------------------------------
[Strings]

AnaPa = "VBE Miniport - Standard PCI Graphics Adapter (VGA)"


Have fun!

Link to comment
Share on other sites

That's an interesting approach, I might try that!  However, I have an update.  It turns out, that with an unchanged CUSTOM.INF and a slightly modified MSBATCH.inf:

[System]
Display="VBE Miniport" ; Comes from vbemp.inf
Monitor="QEMU Monitor"
DisplChar=24,1024,768 ; 16.7 million colors (24-bit) 1024 x 768

It actually works perfectly! BUT, only in Win 98SE.  So for now, I think I'll proceed with my project using Win98...  It's unfortunate that Win95 is making my life so hard!  It also has an issue where if I mount the disk image in a Linux or macOS host to add files (such as a piece of software I'm developing), it (EDIT: appears to...) corrupts the disk so that Win95 under QEMU randomly reboots :( Win98SE also seems to not suffer from this problem.  Very strange.

But thanks for your knowledge, help, and pointers everyone!! 🙌

Edited by docker
Link to comment
Share on other sites

The disk (I believe you actually mean file system) corruption is "queer", whilst 95 A was different, both 95 B and C should have no real differences when compared with 98, regarding file systems and disk access,

jaclaz

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...