News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Support for Win9x, WinME

Started by gwapo, June 02, 2006, 02:20:01 AM

Previous topic - Next topic

gwapo

Hi,

I was thinking about this for some time, about the softwares we developed using either MASM, C, C++ or any other programming language, targetting Win32 platform. Do we really need to *always* support old operating system in order to be portable? I mean, how many still uses Win9x and WinME? I know Win32 is about portability in all Windows platform, but some features and APIs are not implemented in older systems, or if its implemented, it was badly implemented, hence we either perform our own implementation, or use the implementation by dynamic loading, which is for me, consume some time and effort to do so.

Another thing, is it a good idea to just create two versions of executable, one running in Win9x, and one running in WinNT/Win2K/WinXP -- Or create just one executable, that has support for old operating system?

I hope you guys can share some light on this topic, thanks.

Cheers,

-chris

JohnnyReb

I use Win98.  I have no plans to upgrade, but my wife uses XP Home Ed.
Your mileage may vary,
JohnnyReb

dsouza123

At work most of the systems are older and have 98SE or ME,
they don't have enough RAM or CPU speed for XP.
All new machines have XP though.

Programs written for Distributed Computing projects
usually work on both 9x/ME and NT/2000/XP systems.
Though the cutoff might be 98SE because of API/DLL support issues,
also the CPUs and the amount of RAM found on systems
with earlier OSes may be too slow or too small to be usable.

hutch--

Chris,

It depends on how much functionality you want, if you can live with about win95b capacity, it will almost run on all of the later versions but the features you dial in limit the capacity to when those features were made available. and usually later.

If you stick to core API code and assembler, you are reasonably safe but you miss out on a lot of better functionality by going this way.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Roger

Chris,

Another side to your question is whether you support old hardware.
   Older machines tend to run older versions of Windows and can't be upgraded.
   New machines can't run older versions because the manufacturers often provide drivers for the latest version.
Each new machine/version 'looses' a little more of the older compatibility/capability so that I am now forced to have two machines just to be able to do the different things on them that I want to do.

My spec for the 'old' machine:-

  • Must run real DOS (not 'DOS mode')
  • Must have 2 ISA slots
  • Must have serial ports (COM1 & COM2 not USB)
Not much but my 'new' machine fails all three.

I have just upgraded it to a P11 system because I was given an old machine which was being thrown out and I could recover the mother board. When it finaly dies in a few years time I do not know how I will be able to replace it then.


Regards Roger

hutch--

Roger,

A VM is not a bad deal to test old stuff. I loaded a Microsoft 2004 version recently and it can run just about anything you install into it, I even played with a Linux version using it. I keep win98se set up on one and it will start in real mode dos if you set it up that way.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Roger

hutch,

Thank you for the suggestion. However one reason for the old machine is as a hardware platform. I have some hardware prototyping boards which I use for circuit development and the interface using ISA slots is nice and simple. To modernise I would have to build and use a much more modern bus system (PCI) which will run at far higher frequencies than I need or am equiped to handle.

Regards Roger

tenkey

If you want to run old DOS stuff, you might want to look at PC/104 boards.

The moniker refers to the old ISA interface, but through socket and pin connectors, rather than card edge connectors. The connectors allow mechanical "stacking" of boards. (You could also use ribbon cable to a prototype board.)

The PC/104 interface is intended for embedded systems.
A programming language is low level when its programs require attention to the irrelevant.
Alan Perlis, Epigram #8

gwapo

Thanks everyone, I really appreciate all your response, I learned a lot about old stuff being not really that old.  :U

By the way, sorry for the delayed long response, I got lost finding my own post  :dazzled:

Cheers,

-chris