Microsoft Windows 1.0 Development Release #5 research thread

Discuss MS-DOS, Windows 1, 2 and 3.
jagotu
User avatar
Posts: 518
Joined: Mon Feb 04, 2013 5:03 pm
Location: Czechia
Contact:

Microsoft Windows 1.0 Development Release #5 research thread

Post by jagotu »

So yeah, as some of you may know, I am a slight DR5 addict (My BA profile Favourite OS? The fact that I created this beasty article about it?). Dunno if it's the fact that it is the first windows version we can get our hands on, but I get really attracted to it. So I started this thread hoping that somebody else will maybe love it as much as I do, and to share some of my findings.

RES files
Recently, I installed it again, and wondered what else can I dive deep into. After a few soruce code and documentation readings I finally got it - I'll extract the res files!
As you may or may not know, pretty much every executable in DR5 comes with its res file (for example you get both calc.exe and calc.res). A quick look into one of the samples that have its source code included, it's not hard to see how it came to be (I use ppdemo, as it's fairly simple and not too cluttered).

Code: Select all

ppdemo.res: ppdemo.rc ppdemo.ico
    rc ppdemo.rc
It was apparently created from ppdemo.rc using the command "rc ppdemo.rc" (I never got rc.exe to work properly, it always complains about cc not found). What does the ppdemo.rc file look like?

Code: Select all

ppdemo  icon    ppdemo.ico
ppdemo  cursor  normal.cur
ppdemo  it
BEGIN
Options
    StdChars
Definitions
    Mouse-Button1  = 256
    MouseMove = 257 MouseCoords
END
If you ignore the "pddemo it" part, you can see it simply defines the icon and cursor files, which then get later embedded into the res file. To further proof this idea, you can take a look at the resource loading code:

Code: Select all

    /* get the resource file info: cursor, icon, it table */
    if(hPPDemoRF = OpenResourceFile((LPSTR)"ppdemo.res"))
        {
        pPPDemoClass->hClsCursor = CursorLoad(hPPDemoRF, (LPSTR)"ppdemo");
        pPPDemoClass->hClsIconId = IconLoad(hPPDemoRF,(LPSTR)"ppdemo");
        pPPDemoClass->hClsItTable = ItLoad(hPPDemoRF,(LPSTR)"ppdemo");
        CloseResourceFile(hPPDemoRF);
        }
So, knowing this, I started up HxD, opened up notepad and started to guess the file layout. After a few bad attempts I managed to have a draft of what the file format looks like (my notes if anybody is interested), and after that it was only a matter of time to write a simple extracting utility in .NET (you can download it if you want, takes just one argument - the res file path, if you want the source code, just ask away) and to extract everything in a batch (click here to see what was inside each of the res files).

The hidden fruit
So was this worth anything? I believe it was, as I was able to find 2 icons and one cursor in the windows.res that I believe are unused (if you can find them used I'll give you a cookie).
More precisely they are:

bomb.ico
Image

trash.ico
Image

uparrow.cur
Image

(sample.ico is also probably unused, but who cares about an empty square with black borders... click here if you're one of them)

You want more? Well, there's one other thing I didn't notice before (and you don't even have to extract the res files to see it). Check the SAMPLE.ICO (not the one in windows.res, but the one used in sample.exe, which was compiled from sample.c, but is actually iniside sample.res, which was made from sample.rc... get it?)
Image
Offtopic Comment
I believe I heard somewhere that's a batman logo or something like that yes, this is sarcasm
Well, that's all for today, hope you enjoyed seing a small part of my DR5 world, and don't worry to ask anything, say thank you, and most importantly - don't hesitate to download and try it yourself! :)
Windows TEN - Totally Erroneous Numbering
Always watching you...

user99672
Donator
Posts: 1446
Joined: Sun Sep 27, 2009 7:55 pm

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by user99672 »

The bomb icon is interesting, it shows some Apple or Atari TOS influence.

Battler
User avatar
Donator
Posts: 2117
Joined: Sat Aug 19, 2006 8:13 am
Location: Slovenia, Central Europe.
Contact:

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by Battler »

- JaGoTu: That SAMPLE.ICO thing is actually the Superman logo.
Main developer of the 86Box emulator.
Join the 86Box Discord server, a nice community for true enthusiasts and 86Box supports!

The anime channel is on the Ring of Lightning Discord server.

Check out our SoftHistory Forum for quality discussion about older software.

jagotu
User avatar
Posts: 518
Joined: Mon Feb 04, 2013 5:03 pm
Location: Czechia
Contact:

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by jagotu »

Code: Select all

[offtopic]I believe I heard somewhere that's a batman logo or something like that [size=1]yes, this is sarcasm[/size][/offtopic]
See the last part *hehe*
Windows TEN - Totally Erroneous Numbering
Always watching you...

DOS
User avatar
Posts: 206
Joined: Sun Mar 16, 2014 6:56 am

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by DOS »

So the .res file format isn't similar to the format that Microsoft has documented and can be accessed by tools like Borland's Resource Workshop?

ThePreAlpha
User avatar
Donator
Posts: 68
Joined: Wed Sep 04, 2013 6:05 pm
Location: Summoner's Rift

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by ThePreAlpha »

I like the trash.ico, it's a good icon haha. Something about it, anyway. Could you send it to somehow please?
grumpy

jagotu
User avatar
Posts: 518
Joined: Mon Feb 04, 2013 5:03 pm
Location: Czechia
Contact:

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by jagotu »

DOS wrote:So the .res file format isn't similar to the format that Microsoft has documented and can be accessed by tools like Borland's Resource Workshop?
I believe it is different, never worked with the "regular" MS res files. Feel free to try or compare http://pastebin.com/gReMvk1y to what does the .res file you are talking about look like.
ThePreAlpha wrote:I like the trash.ico, it's a good icon haha. Something about it, anyway. Could you send it to somehow please?
Sorry, what do you mean? If I could upload the trash.ico itself? Yes, I could, but as I believe the icon format also probably changed from 1985 I don't know if you'll be able to do anything with it.
If you still want to download it -> http://jagotu.ic.cz/RoSBD/trash.ico :)
Windows TEN - Totally Erroneous Numbering
Always watching you...

DOS
User avatar
Posts: 206
Joined: Sun Mar 16, 2014 6:56 am

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by DOS »

jagotu wrote:I believe it is different, never worked with the "regular" MS res files. Feel free to try or compare http://pastebin.com/gReMvk1y to what does the .res file you are talking about look like.
Oh yeah, it certainly looks different to what is documented at http://msdn.microsoft.com/en-us/library ... 85%29.aspx

RubyTuesday
User avatar
Donator
Posts: 76
Joined: Mon Jan 12, 2015 1:33 pm

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by RubyTuesday »

1st time poster...

I too am intrigued by DR5 (but also alpha and beta). I've searched the forums and scoured the web, but I can't seem to determine where the DR5/alpha/beta imgs came from? Were they contributed to BA from physical media, or sourced from a digital leak? Are there any part numbers, photos of the disks or any accompanying literature?

Are there any known physical copies? Perhaps a BA member has physical copies and can share imagery?

The Distractor

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by The Distractor »

RubyTuesday wrote:1st time poster...

I too am intrigued by DR5 (but also alpha and beta). I've searched the forums and scoured the web, but I can't seem to determine where the DR5/alpha/beta imgs came from? Were they contributed to BA from physical media, or sourced from a digital leak? Are there any part numbers, photos of the disks or any accompanying literature?

Are there any known physical copies? Perhaps a BA member has physical copies and can share imagery?
If I remember correctly, they came from mrpijey's physical media.

rthdribl
User avatar
Posts: 171
Joined: Sun Jul 15, 2012 2:05 am

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by rthdribl »

jagotu wrote: So was this worth anything? I believe it was, as I was able to find 2 icons and one cursor in the windows.res that I believe are unused (if you can find them used I'll give you a cookie).

trash.ico
Image
I want my cookie: http://www.betaarchive.com/wiki/index.p ... .0Beta.jpg
MINI NT EXECUTIVE Version 1.0
rthdribl

jagotu
User avatar
Posts: 518
Joined: Mon Feb 04, 2013 5:03 pm
Location: Czechia
Contact:

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by jagotu »

Hmm... Interesting. I wonder if there's any way to get it to show in DR5...
Windows TEN - Totally Erroneous Numbering
Always watching you...

DiskingRound
User avatar
Posts: 1535
Joined: Thu May 01, 2014 10:26 pm
Location: Inside the space between . and I

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by DiskingRound »

jagotu wrote: uparrow.cur
Image
Also, the uparrow.cur was used in the Windows 1.00 COMDEX demo. You can also see what looks like an icon that eventually became the Windows pre-3.0 logo:
Image

DiskingRound
User avatar
Posts: 1535
Joined: Thu May 01, 2014 10:26 pm
Location: Inside the space between . and I

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by DiskingRound »

jagotu wrote: (sample.ico is also probably unused, but who cares about an empty square with black borders... click here if you're one of them)
Sorry about double post and bump, but give me a cookie:
Image
It's apparently the icon of template.exe, meaning template.exe has its own icon but it's exactly the same as the sample.ico.

jagotu
User avatar
Posts: 518
Joined: Mon Feb 04, 2013 5:03 pm
Location: Czechia
Contact:

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by jagotu »

So, it seems the only one that remains unseen is the bomb...
Windows TEN - Totally Erroneous Numbering
Always watching you...

Schezo
User avatar
Posts: 28
Joined: Wed Mar 04, 2015 8:20 pm

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by Schezo »

The uparrow.cur seems to be an early version of the cursor you get in the Windows 1.0 Alpha when you hover the mouse over the title bar (in what is probably not a coincidence).

Image

This doesn't happen in the Windows 1.0 DR5, nor it does in any later version.

ovctvct
Posts: 1058
Joined: Fri Apr 25, 2014 6:19 pm

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by ovctvct »

*yes I know it's a 1 year bump but did anyone notice this:
Image

Only appears when closing the graph app.

Overdoze
User avatar
Posts: 1762
Joined: Mon Feb 24, 2014 10:28 am
Location: Slovenia

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by Overdoze »

Sorry for the bump...

I've extracted all the icons and cursors from the .RES files in DR5 and converted them to the modern ICO/CUR format. In case anyone is interested about the differences: the old format has a different (smaller) header, the position of the two bitmaps is switched and row order is reversed. So old icons can easily be converted into new ones. As for the cursors, it requires an additional step of extending every row word to a dword, with the high word being zeroed. Then you can edit and use these icons and cursors in modern Windows.

You can obtain all the extracted icons and cursors + the ones already stored in separate files here. I only excluded multiple copies of the same normal pointer/arrow cursor, which every application seems to include. I also couldn't get the clock icon, because that's drawn dynamically and actually displays the current time.

As jagotu said 3 years ago, the only icon that remains to be seen in action is the bomb. There's also two cursors which I haven't seen in use yet, namely CROSS (which is essentially a plus sign, found in WINDOWS.RES) and BOX (a rectangle with a plus sign in it, found in GRAPH.RES).

I would also like to point out that the SAMPLE icon from WINDOWS.RES is not actually the same as the icon of TEMPLATE.EXE, there's a difference in the border. The former is actually used when you grab and drag the clock window as a placeholder icon - as said, the clock icon is dynamic and won't actually display the time until you minimize the window.

Moving on from icons but staying with the clock app: it has a limit to how many instances of it you can have running at the same time. It seems to be 16 windows max, then you get this lovely error:

Image

Choosing any of the given options produces the same result: the dialog closes and nothing else happens (at least visually).
All roads lead to Neptune™

KRNL386 - my site about retro computing | My site about Windows 1.0 | My blog | 86Box Manager | LeakDB - list of PC OS warez leaks

DiskingRound
User avatar
Posts: 1535
Joined: Thu May 01, 2014 10:26 pm
Location: Inside the space between . and I

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by DiskingRound »

I always wonder why there is a music note icon? MS Piano in 1983?

xelloss
User avatar
Donator
Posts: 400
Joined: Sun Aug 18, 2013 7:26 pm
Location: Edinburgh, Scotland

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by xelloss »

DiskingRound wrote:I always wonder why there is a music note icon? MS Piano in 1983?
Probably a graphical representation of the "beep" sound.
When you consider that Windows 1.0x RTM used an ASTERISK (corresponding to the mnemonic constant MB_ASTERISK), you have to come to the conclusion that MS really lacked imagination at that time :-)
(The asterisk would later be changed to a lowercase "i" and the corresponding constant renamed to MB_ICONINFORMATION)

Update:
Overdoze wrote:CROSS (which is essentially a plus sign, found in WINDOWS.RES)
That is probably just the default crosshair cursor: WINDOWS.EXE (which is essentially an old name for USER.EXE) exports its handle as hCursCross. Even though the sample programs do not use it, it is available for other applications.

The bomb could also be the default error icon, i.e. hIconErr, and there appears to exist a default trash icon hIconTrash as well. I guess the bomb icon may be shown by certain MessageBox call, but I have no clue about the trash icon...

Overdoze
User avatar
Posts: 1762
Joined: Mon Feb 24, 2014 10:28 am
Location: Slovenia

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by Overdoze »

I'm pretty certain Windows had a trash can/recycle bin/wastebasket feature for much of 1984, then it was removed sometime before DR5. If you look at the two photos of pre-DR5 builds on the Tandy 2000, you can see it running on the right side of icon area. And it's also described here, on page 268, as a way to delete files. Based on the info in that article one can assume it was written before May 1984, perhaps it's describing the same developer seminar as this article here (page 76). That would mean the trash can was introduced after the COMDEX builds and lasted throughout much of the Development Release phase. Why it was removed, we can only speculate, though it would not surprise me if this was another thing sacrificed in order to avoid legal issues with Apple.

As far as the bomb goes, yeah, I was thinking the same thing, that it might be an error icon. There is that classic string in MSDOS.EXE "Windows is about to crash", so I wonder if that comes up in a dialog with the bomb icon (that'd certainly be pretty cool IMO)?
All roads lead to Neptune™

KRNL386 - my site about retro computing | My site about Windows 1.0 | My blog | 86Box Manager | LeakDB - list of PC OS warez leaks

DiskingRound
User avatar
Posts: 1535
Joined: Thu May 01, 2014 10:26 pm
Location: Inside the space between . and I

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by DiskingRound »

It really would, seeing something apparently from MacOS in Windows.
Offtopic Comment
BTW, I'd love to see a pre-DR5 build, we have been waiting for 10 years. Who knows maybe one day somebody will find the original DR from May 1984 or even a copy from 1983...

xelloss
User avatar
Donator
Posts: 400
Joined: Sun Aug 18, 2013 7:26 pm
Location: Edinburgh, Scotland

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by xelloss »

Overdoze wrote:As far as the bomb goes, yeah, I was thinking the same thing, that it might be an error icon. There is that classic string in MSDOS.EXE "Windows is about to crash", so I wonder if that comes up in a dialog with the bomb icon (that'd certainly be pretty cool IMO)?
I accidentally managed to reproduce that message box and, alas, it comes with the usual sixteenth note icon.
Also, I say "message box", but I think there is no MessageBox API in DR5: they are really custom dialogs.

@DiskingRound: never say never. These DR releases appear to have been circulated somewhat, so there are chances of surviving copies.

Overdoze
User avatar
Posts: 1762
Joined: Mon Feb 24, 2014 10:28 am
Location: Slovenia

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by Overdoze »

Well crashing DR5 is pretty easy, but it usually just freezes or glitches out without any fancy messages... What did you do to trigger it?
All roads lead to Neptune™

KRNL386 - my site about retro computing | My site about Windows 1.0 | My blog | 86Box Manager | LeakDB - list of PC OS warez leaks

xelloss
User avatar
Donator
Posts: 400
Joined: Sun Aug 18, 2013 7:26 pm
Location: Edinburgh, Scotland

Re: Microsoft Windows 1.0 Development Release #5 research th

Post by xelloss »

Overdoze wrote:Well crashing DR5 is pretty easy, but it usually just freezes or glitches out without any fancy messages... What did you do to trigger it?
I ran a several programs in a sequence (including attempts at starting .EXE-named dlls). Probably because my shift key was stuck, all the apps started as minimized icons.
Then I tried double-clicking the Chart sample (or was it Graph?) and MS-DOS executive presented me with that dialog, along with some mild screen corruption.
My attempts at reproducing the crash dialog failed (I only get simple freezes).

Post Reply