Hi!
As an article about ZXVGS I have only this.
Yarek.
Someone who has only used one Spectrum compatible computer (meaning
they
don't use two different disk systems) will never see the need to change.
I
use a SAM Coupé and a Timex FDD 3000 and can honestly say that before
I
wrote my operating systems there was 0% compatibility between them.
If you have ever wanted to send a Spectrum program to another person
with
a different disk system, you will probably have found that you must
resort
to tape. But unfortunately, you must then bid farewell to memory
extensions,
additional screen modes, printers, mice, etc., because there are
different
standards, depending on the system used and not supported by the
tape
format.
Usually in games there is menu like this:
1. Keyboard
2. Kempston
3. Sinclair 2
4. Cursor
5. Fuller
This example wouldn't cause any problems, because the list is complete.
For
joysticks, it is possible to handle all possibilities by placing all
the
required code into one program.
It would be theoretically possible to do this with mice and printers
too,
but there is one hitch: there are many different models. Take, for
example,
the installer for ArtStudio - there are about 18 different
printer
interfaces listed. Don't think that all existing ones are listed
there
either!
I suspect that no one person will know about all of them - always
at
least one will be overlooked! Besides, if all printer interfaces
were
supported in one program, then either there would be little memory left
for
the main program, or the installer would be the size of a bovine
quadruped
and ardous to use.
The only way to guarantee that a program is able to use a "resource"
that
the author had not known of, is to have a good operating system.
It would be most desirable to be able to load programs from HDD,
play
music on sound cards, print various things and play with the mouse. But
for
this to work, all programs must adhere to one standard. At present, the
only
standard I know of is a hardware standard - ZX Spectrum 128 (meaning
128kB
RAM, AY, Sinclair2 joystick and tape). I don't think this is what we
all
dream of.
It is not feasible to introduce any more new hardware standards.
(There
is not even a single standard for joysticks - not everyone owns a
Kempston
interface.) This option is too expensive, there are too many
competing
products, and there is too much variety in hardware the people own
already
for this to be successful. The only thing we can do now, is to introduce
a
software standard, which means an operating system like ZXVGS or NeOS.
But
we must want this to work, and put a bit of effort into it, so that we
can
reach a new Spectrum standard where software runs "under [system]" and
not
"on [hardware]".
There are, of course, some other ways:
- everyone obtains a complete set of Spectrum hardware, to add or
remove
interfaces depending on program needs;
- someone constructs a "multicompatible" hardware combination (big
and
expensive);
- we stick to "multicompatible" emulators like X128 or R80;
- there can be separate "hardware ghettos".
But I find these options to be less desirable.
(Thanks to James Gasson for English translation.)