BetaArchive
https://www.betaarchive.com/forum/

Windows 1.0 DR5 Hi-Res Drivers
https://www.betaarchive.com/forum/viewtopic.php?f=59&t=41278
Page 1 of 1

Author:  jb881122 [ Sun May 17, 2020 10:44 pm ]
Post subject:  Windows 1.0 DR5 Hi-Res Drivers

These drivers allow Windows 1.0 DR5 to be run in EGA, VGA, and VESA 800x600 modes. To use, copy the driver files (inside the disk image) to your WINDOWS\TEST folder. Then (assuming WINDOWS\BIN is in your PATH), the drivers can be installed using:
Code:
 EGA: drivers EGAHIBW
 VGA: drivers VGAHIRES
VESA: drivers VESA800


Download link: https://drive.google.com/uc?export=download&id=1v1_LOPqqDPuciop7p4Egl67F71yE4n5m

Let me know if there are any glitches. I tested them as thoroughly as I could, but something might have slipped through.

EDIT: Added screenshots now that I have 3 posts:
Image
Image
Image

Author:  AlphaBeta [ Mon May 18, 2020 1:38 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

Wow, that's awesome!

Did you write the drivers from scratch, or port the EGA driver from Alpha?

Author:  jb881122 [ Mon May 18, 2020 1:43 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

AlphaBeta wrote:
Wow, that's awesome!

Did you write the drivers from scratch, or port the EGA driver from Alpha?

They are actually modified Hercules drivers. I was considering porting Alpha's EGA driver but Alpha and DR5 are different enough that I doubt it would work. I probably could have used the CGA driver as well, but I have already tried modifying both drivers several times and the attempt that worked just happened to be with the Hercules driver.

Author:  Overdoze [ Mon May 18, 2020 2:02 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

Very nice work, didn't think the Hercules driver would be the key to EGA for DR5. Now if only there was a way to write a color driver.

Author:  jb881122 [ Mon May 18, 2020 2:21 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

Overdoze wrote:
Very nice work, didn't think the Hercules driver would be the key to EGA for DR5. Now if only there was a way to write a color driver.

I was toying with that idea last night. While I don't think it would be impossible (especially considering that I just got a Hercules driver to work with EGA), it would probably be more difficult than just rewriting a set-mode function, changing around a few numbers, and NOPing out some interlacing code, bitshifts, and sign code. I wonder if it's possible to disassemble the Beta display driver code, as the disassembly of DR5's display drivers helped me quite a bit. I'm not planning on porting any drivers from the Beta version (as I'm sure they're highly incompatible), but looking at the difference in functions between the EGAHIBW and EGAHIRES drivers would probably be of great help.

Author:  DJ Deedahx [ Mon May 18, 2020 2:57 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

Solid work. This has been confirmed to work on 86Box! Thanks for sharing this with us.
Image
This is the VGA (640 x 480) driver shown here.

Author:  jb881122 [ Mon May 18, 2020 3:15 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

DJ Deedahx wrote:
Solid work. This has been confirmed to work on 86Box! Thanks for sharing this with us.
Image
This is the VGA (640 x 480) driver shown here.

No problem! There's no use in me hoarding these drivers, especially when other people can probably put them to better use than I can.

Author:  vlad557776 [ Mon May 18, 2020 9:09 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

Great! Now just need PS/2 mouse drivers and every single version of 1.0 is in my VBox.

Author:  jb881122 [ Mon May 18, 2020 9:20 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

vlad557776 wrote:
Great! Now just need PS/2 mouse drivers and every single version of 1.0 is in my VBox.

I already modified the mouse driver to use int 33h (DOS mouse driver). Download link is here:

https://forum.winworldpc.com/uploads/editor/ia/cv7u73oelqhu.7z

It might be a bit buggy. I haven't had any problems moving and clicking the mouse, but when I start Windows on the VM more than once without rebooting, it sometimes hangs. Rarely ever hangs when booting up though.

Author:  johnlemon647 [ Wed May 20, 2020 5:19 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

Overdoze wrote:
Very nice work, didn't think the Hercules driver would be the key to EGA for DR5. Now if only there was a way to write a color driver.


I agree with Overdoze but be it nice to add colors into Windows 1.0 DR5 and Windows 1.0 Alpha. Maybe we need rewrite Windows 1.0 Beta Color Driver to get work on Windows 1.0 DR5 and Windows 1.0 Alpha.

Author:  ComputerHunter [ Thu May 21, 2020 8:09 am ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

There is a big difference in size between mono and color drivers so I don't think it would be an easy task. It is impossible to port Beta Releases's EGA color driver to DR5 or Alpha Release since they are too different. I was able to disassemble a PS/2 mouse driver and compile it for Alpha Release and it works to some degrees (hangs randomly). The video driver would've been written in assembly and C and without a proper DDK, documentations and libraries, it would be a real challenge to write something from scratch.

Maybe thinking about comparing Beta Release's mono and color driver to work out the different functions and decompile them and find some way to add them to Alpha or DR5. Ghidra is capable of decompiling Beta Release's executables and IDA works without any python scripts.

Author:  jb881122 [ Tue May 26, 2020 6:18 am ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

ComputerHunter wrote:
There is a big difference in size between mono and color drivers so I don't think it would be an easy task. It is impossible to port Beta Releases's EGA color driver to DR5 or Alpha Release since they are too different. I was able to disassemble a PS/2 mouse driver and compile it for Alpha Release and it works to some degrees (hangs randomly). The video driver would've been written in assembly and C and without a proper DDK, documentations and libraries, it would be a real challenge to write something from scratch.

Maybe thinking about comparing Beta Release's mono and color driver to work out the different functions and decompile them and find some way to add them to Alpha or DR5. Ghidra is capable of decompiling Beta Release's executables and IDA works without any python scripts.

I don't think the difference in size would be the hard part. It seems like DR5's simple NE header only needs one value changed (the size of the segment in paragraphs). As long as that value is changed accordingly, you can give yourself quite a bit of room for the color-related code, which can then be called or jumped to from the rest of the driver (I was also thinking about doing this for bank-switching code for a possible 1024x768 driver). I still don't know how to do that for the Alpha version, as those drivers have several segments within them, and it crashes every time I try to play with the segment table. I was initially going to use a TSR to store that code, but I would rather not require the user to launch a program before Windows. The BitBlt function in the Windows 2.11 Binary Adaptation Kit doesn't seem to have changed a ton since DR5, so I have been copying all of the code within the color #ifdefs into the TSR (and attempting to adjust variables accordingly); so far, some of the color code (though I'm not close to done with even one function, so don't ask for screenshots) is in my TSR, but now I am working on putting the code into the driver itself.

There might be some fatal flaw with all of this, but I will continue this until someone points it out.

Author:  ComputerHunter [ Wed May 27, 2020 12:37 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

I wasn't saying it is hard to change the executable size but the difference in size indicates the amount of extra code. Very impressed with your work here! It is a shame that none of the documentations, libraries and DDKs of early Windows 1.0 releases are leaked. Even a DDK from 1.01 RTM would help a lot.

Maybe you can try working with John Elliott if you ever encounter any troubles since he is very experienced in patching drivers.

Author:  Overdoze [ Wed May 27, 2020 3:11 pm ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

The DDK before 3.0 was probably just part of the OAK with driver samples and such, as we can observe in 2.11 OAK. We really could use that either way, I agree.

Author:  NickWillis [ Thu May 28, 2020 9:28 am ]
Post subject:  Re: Windows 1.0 DR5 Hi-Res Drivers

jb881122 wrote:
These drivers allow Windows 1.0 DR5 to be run in EGA, VGA, and VESA 800x600 modes. To use, copy the driver files (inside the disk image) to your WINDOWS\TEST folder. Then (assuming WINDOWS\BIN is in your PATH), the drivers can be installed using:
Code:
 EGA: drivers EGAHIBW
 VGA: drivers VGAHIRES
VESA: drivers VESA800


Download link: https://drive.google.com/uc?export=download&id=1v1_LOPqqDPuciop7p4Egl67F71yE4n5m

Let me know if there are any glitches. I tested them as thoroughly as I could, but something might have slipped through.

EDIT: Added screenshots now that I have 3 posts:
Image
Image
Image


Wow! Very decent work!

Page 1 of 1 All times are UTC [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/