it didn't support VGA's native mode and worked en EGA-compatible mode. For example, there is no VGA choiсe in 1.04 installation. However I remember there was an screenshot in the web where 1.04 was running in 640x480 resolution. How is it possible?The 1.04 release of Microsoft Windows now supports the IBM
Personal System/2 family of equipment.
Did Windows 1.04 support VGA resolution (640x480)?
Did Windows 1.04 support VGA resolution (640x480)?
As I understand, although 1.04 supported PS/2:
Quod licet Jovi, non licet bovi
Re: Did Windows 1.04 support VGA resolution (640x480)?
Perhaps it only activated if you choose PS/2 as machine during installation.
You can also try to copy a driver from 2.03 to your setup files.
You can also try to copy a driver from 2.03 to your setup files.
Stephen Elop….I curse you, that after your death your soul will be forever trapped in the sourcecode of Windows and one day Microsoft will fall because of that virus code!
- Rob Jansen
- Donator
- Posts: 5271
- Joined: Sat May 12, 2007 1:05 pm
- Location: The Collection Book
- Contact:
Re: Did Windows 1.04 support VGA resolution (640x480)?
@z180:
You can try, but I think it doesn't work, it works for the mouse driver, but during setup you must select the Videocard you have, in the 2.03 setup and higher there is an VGA option, while during the 1.x setup it doesn't say VGA.
You can try, but I think it doesn't work, it works for the mouse driver, but during setup you must select the Videocard you have, in the 2.03 setup and higher there is an VGA option, while during the 1.x setup it doesn't say VGA.
Re: Did Windows 1.04 support VGA resolution (640x480)?
I replaced egahires.drv, however the system won't boot with it.Rob Jansen wrote:@z180:
You can try, but I think it doesn't work, it works for the mouse driver, but during setup you must select the Videocard you have, in the 2.03 setup and higher there is an VGA option, while during the 1.x setup it doesn't say VGA.
Offtopic Comment
Re: Did Windows 1.04 support VGA resolution (640x480)?
You need drivers and appropriate hardware. There was no generic Windows 1.0 VGA driver because it was released 2 years before the release of the PS/2. And PS/2 compatibility meant it is compatible with the hardware (memory etc), not that it provides a VGA driver. Here are some graphic cards which support Windows, but it's impossible to find the drivers because no one archived them: http://books.google.com/books?id=_z4EAA ... &q&f=falseRaiker wrote:As I understand, although 1.04 supported PS/2:
it didn't support VGA's native mode and worked en EGA-compatible mode. For example, there is no VGA choiсe in 1.04 installation. However I remember there was an screenshot in the web where 1.04 was running in 640x480 resolution. How is it possible?The 1.04 release of Microsoft Windows now supports the IBM
Personal System/2 family of equipment.
Re: Did Windows 1.04 support VGA resolution (640x480)?
Nice screenshot!yksoft1 wrote:I replaced egahires.drv, however the system won't boot with it.Rob Jansen wrote:@z180:
You can try, but I think it doesn't work, it works for the mouse driver, but during setup you must select the Videocard you have, in the 2.03 setup and higher there is an VGA option, while during the 1.x setup it doesn't say VGA.
Offtopic Comment
Re: Did Windows 1.04 support VGA resolution (640x480)?
That screenshot shows how the fake "Windows 2.9" was made.
Stephen Elop….I curse you, that after your death your soul will be forever trapped in the sourcecode of Windows and one day Microsoft will fall because of that virus code!
-
WinPC
Re: Did Windows 1.04 support VGA resolution (640x480)?
Actually, the fake Windows 2.9 used the normal drivers, not to also mention that it was almost completely the same as Windows 3.00a.
If you ask me, I would say that that is among the worst fake builds that I've ever seen, and this is coming from someone of whom has known about this fake build for a few years now.
If you ask me, I would say that that is among the worst fake builds that I've ever seen, and this is coming from someone of whom has known about this fake build for a few years now.
- trustBA
- Donator
- Posts: 1206
- Joined: Sat Jun 14, 2008 11:30 am
- Location: In the Floating island above the sky
- Contact:
Re: Did Windows 1.04 support VGA resolution (640x480)?
Did you try pce-ibmpc? I think it supports VGA.
Online periodically.
---
M$ Software Labels | OS Tester | Software Geek | Creative Agent!
Last edited by trustBA on Mon, 3rd Nov, 2013 6:99 am, edited 100 times in total.
---
M$ Software Labels | OS Tester | Software Geek | Creative Agent!
Last edited by trustBA on Mon, 3rd Nov, 2013 6:99 am, edited 100 times in total.
Re: Did Windows 1.04 support VGA resolution (640x480)?
I managed to patch Windows 2.03 vga driver to work with Windows 1.03.yksoft1 wrote:I replaced egahires.drv, however the system won't boot with it.Rob Jansen wrote:@z180:
You can try, but I think it doesn't work, it works for the mouse driver, but during setup you must select the Videocard you have, in the 2.03 setup and higher there is an VGA option, while during the 1.x setup it doesn't say VGA.
Offtopic Comment
But no text. Needs more work.
Re: Did Windows 1.04 support VGA resolution (640x480)?
How did you patch it? in header or entry point code?
- DarkerJ
- Donator
- Posts: 1637
- Joined: Thu Jun 10, 2010 7:44 pm
- Location: Take a backward step, then a forward step
- Contact:
Re: Did Windows 1.04 support VGA resolution (640x480)?
I think he patched it via version number hacking. Windows 2.0 and Windows 1.0 are virtually the same OS, except that Windows 2.0 has overlapping windows and there are versions designed just for the Intel i286 and i386.yksoft1 wrote:How did you patch it? in header or entry point code?
Well, at least you have it running in 640x480. I think the issue with the text is that the Windows 2.0 driver uses smaller text sizes, while Windows 1.0 uses the standard size fonts, and Windows 1.0 doesn't want to use Windows 2.0's smaller text size.kalakala wrote: I managed to patch Windows 2.03 vga driver to work with Windows 1.03.
But no text. Needs more work.
<°)))><●▬▬▬▬๑۩۩๑▬▬▬▬●><(((°>
When in doubt...
iddqd
idkfa
When in doubt...
iddqd
idkfa
Re: Did Windows 1.04 support VGA resolution (640x480)?
I used IBMPS250.DRVyksoft1 wrote:How did you patch it? in header or entry point code?
It uses keyboard driver ordinal that is not in Windows 1.03 driver. No point to try adding keyboard.drv as it calls kernel ordinal not in 1.03.
In Enable it calls function into USER. NOP it out or you get AUX error.
So i patched segment relocation where keyboard call is used (to LOCALINIT). Then added ret in one location. But it seems i forget one place.
Edit:
Got it working. Font is roman.fon.
In ENABLE i NOP'd call to hook_int_2Fh.
Patched drv and some images. Have fun.
http://www.mediafire.com/?az6ea1rvqhq9xir
Re: Did Windows 1.04 support VGA resolution (640x480)?
I remember there are sources of Windows 3.0/3.1's default display drivers in Win 3.0/3.1 DDK...
And
we could find something in it..
Seemed you bypassed ScreenSwitchEnable... However after I played a bit on Windows 286/2.1's IBMPS250.drv (removed calls that invoke ScreenSwitchEnable, and NOPed the unknown USER call in Enable) the debug kernel still complain that there is one and only one missing reference in KEYBOARD.
And
from http://support.microsoft.com/kb/32905
DDL 1/87 Windows Device Driver Library Volume 1
Additional support for display devices,
printers, and pointing devices added
we could find something in it..
Seemed you bypassed ScreenSwitchEnable... However after I played a bit on Windows 286/2.1's IBMPS250.drv (removed calls that invoke ScreenSwitchEnable, and NOPed the unknown USER call in Enable) the debug kernel still complain that there is one and only one missing reference in KEYBOARD.
If I choose Ignore, Windows started without more complaints.Invalid ordinal reference to KEYBOARD: C:\103\KEYBOARD.DRV 1DBF:00A7
Re: Did Windows 1.04 support VGA resolution (640x480)?
You need to change segment relocation table where KEYBOARD call is. Look at bindiff files i posted.Seemed you bypassed ScreenSwitchEnable... However after I played a bit on Windows 286/2.1's IBMPS250.drv (removed calls that invoke ScreenSwitchEnable, and NOPed the unknown USER call in Enable) the debug kernel still complain that there is one and only one missing reference in KEYBOARD.If I choose Ignore, Windows started without more complaints.Invalid ordinal reference to KEYBOARD: C:\103\KEYBOARD.DRV 1DBF:00A7
But you still need to bypass these calls. I made jmp/ret mods. To be sure.
Re: Did Windows 1.04 support VGA resolution (640x480)?
You didn't include your changes of the import table in two bindiff screenshots. The two diffs are for the ScreenSwitchEnable and the unknown USER call.kalakala wrote:You need to change segment relocation table where KEYBOARD call is. Look at bindiff files i posted.Seemed you bypassed ScreenSwitchEnable... However after I played a bit on Windows 286/2.1's IBMPS250.drv (removed calls that invoke ScreenSwitchEnable, and NOPed the unknown USER call in Enable) the debug kernel still complain that there is one and only one missing reference in KEYBOARD.If I choose Ignore, Windows started without more complaints.Invalid ordinal reference to KEYBOARD: C:\103\KEYBOARD.DRV 1DBF:00A7
But you still need to bypass these calls. I made jmp/ret mods. To be sure.
Re: Did Windows 1.04 support VGA resolution (640x480)?
In first image bindiff1 at offset 0x48FD is KEYBOARD.100 (ScreenSwitchEnable) changed to KERNEL call.
You didn't include your changes of the import table in two bindiff screenshots. The two diffs are for the ScreenSwitchEnable and the unknown USER call.
I use debug version of 1.03 and made regular install from 1.03 version. No errors.
Re: Did Windows 1.04 support VGA resolution (640x480)?
I will need continue tweak that for myself since my IBMPS250.drv is not the same as the one in Windows 286 2.03..
Re: Did Windows 1.04 support VGA resolution (640x480)?
I found the reference to KEYBOARD from Windows 2.1/286's IBMPS250.drv Segment 0001
at 48FFh from the start of the file:
03 01 90 40 01 00 64 00
first "01" represent an ordinal import.
the second "01 00" (16-bit unsigned integer 1 in little-endian) represent KEYBOARD in import modules.
the "64 00" represent the ordinal 0064h of KEYBOARD (still present in NTVDM's keyboard.drv as a stub), ScreenSwitchEnable.
If I simply change 01 00 to 02 00 the kernel will stop complaining about the unsatisfied KEYBOARD dependency, however ordinal 0064h of KERNEL is ValidateCodeSegments, which is not in SDK windows.h, but documented in later SDK as
I don't know if an argument pushed into stack for such a function which doesn't need arguments will affect the stability, but I didn't find anything wrong for now.
And the USER import is in fact RePaintScreen. This is undocumented however I remember that one of Win9x tricks call that to refresh the desktop quickly.
I did get a working IBMPS250.drv for 1.03 and 1.04 with only 2 bytes different with original one.
at 48FFh from the start of the file:
03 01 90 40 01 00 64 00
first "01" represent an ordinal import.
the second "01 00" (16-bit unsigned integer 1 in little-endian) represent KEYBOARD in import modules.
the "64 00" represent the ordinal 0064h of KEYBOARD (still present in NTVDM's keyboard.drv as a stub), ScreenSwitchEnable.
If I simply change 01 00 to 02 00 the kernel will stop complaining about the unsatisfied KEYBOARD dependency, however ordinal 0064h of KERNEL is ValidateCodeSegments, which is not in SDK windows.h, but documented in later SDK as
Code: Select all
VOID FAR PASCAL ValidateCodeSegments(void);
And the USER import is in fact RePaintScreen. This is undocumented however I remember that one of Win9x tricks call that to refresh the desktop quickly.
I did get a working IBMPS250.drv for 1.03 and 1.04 with only 2 bytes different with original one.
Last edited by yksoft1 on Tue Aug 02, 2011 4:42 pm, edited 1 time in total.
Re: Did Windows 1.04 support VGA resolution (640x480)?
In my sample these calls are never made in one place jmp is made over call and ret before call.
Change it to ordinal witch is present in kernel and then bypass if possible. But you cant use call xxxx:xxxx for your code as kernel writes seg:offs to this location when relocations are made.
Windows 3.x DDK display source will help a little bit.
Change it to ordinal witch is present in kernel and then bypass if possible. But you cant use call xxxx:xxxx for your code as kernel writes seg:offs to this location when relocations are made.
Windows 3.x DDK display source will help a little bit.
Re: Did Windows 1.04 support VGA resolution (640x480)?
There are 4 places that calls the code for calling ScreenSwitchEnable in Windows 2.1's IBMPS250.drv. Now that ScreenSwitchEnable is remapped to ValidateCodeSegments, it will be interesting when the system actually runs into those calls..
By the way the bitmap fonts problem might be much, much harder to fix...
By the way the bitmap fonts problem might be much, much harder to fix...
Re: Did Windows 1.04 support VGA resolution (640x480)?
Yes, i agree. And i think sometimes vga driver is unstable.yksoft1 wrote:
By the way the bitmap fonts problem might be much, much harder to fix...
Like i cant edit text in notepad. Some strange keyboard errors.
Re: Did Windows 1.04 support VGA resolution (640x480)?
There is an unofficial VGA mode 800x600 16 colours.
I cant say if it is present on all hardware.
I cant say if it is present on all hardware.
Stephen Elop….I curse you, that after your death your soul will be forever trapped in the sourcecode of Windows and one day Microsoft will fall because of that virus code!
- DarkerJ
- Donator
- Posts: 1637
- Joined: Thu Jun 10, 2010 7:44 pm
- Location: Take a backward step, then a forward step
- Contact:
Re: Did Windows 1.04 support VGA resolution (640x480)?
Can you change it to the normal Windows 1 font? (I think it's either HIFONTS.FON or LOFONTS.FON)kalakala wrote:I used IBMPS250.DRVyksoft1 wrote:How did you patch it? in header or entry point code?
It uses keyboard driver ordinal that is not in Windows 1.03 driver. No point to try adding keyboard.drv as it calls kernel ordinal not in 1.03.
In Enable it calls function into USER. NOP it out or you get AUX error.
So i patched segment relocation where keyboard call is used (to LOCALINIT). Then added ret in one location. But it seems i forget one place.
Edit:
Got it working. Font is roman.fon.
In ENABLE i NOP'd call to hook_int_2Fh.
Patched drv and some images. Have fun.
http://www.mediafire.com/?az6ea1rvqhq9xir
Also, I remember seeing on Toastytech Windows 2.0 running at 1024x768. Maybe we could get Windows 1.0 to do the same.
<°)))><●▬▬▬▬๑۩۩๑▬▬▬▬●><(((°>
When in doubt...
iddqd
idkfa
When in doubt...
iddqd
idkfa