[Coco] CoCo 4 (or 5) perspectives: close hardware emulation?
farna at att.net
farna at att.net
Fri Jan 26 19:50:13 EST 2007
I think you have summed everything up quite eloquently! So far, all the platforms designed to take the CoCo to the next level have been relative flops. The MM/1 and Frank Hogg's TC-9. My personal feeling is the TC-9 came the closest, since it could run DECB software in a pseudo emulation mode (that didn't work very well, I've been told). But the expense of a new hardware platform with few users was the problem then, and is now. It's a little better now with FPGAs and some of the integrated chips available, but it's harder to solder one up at home. Even with FPGAs the thing has to be created in concept, so starting with emulation and porting that over to hardware does sound like the best way to go. But I proposed something between the two.
The only thing I would like to be out of the picture is Windows. I know most of us have a Windows machine, but it doesn't have to run Windows. I'd rather see the emulated CC5 run under Linux or a free version of DOS. That would give it a "background" OS to run the hardware wihtout bogging the virtual machine down with lots of unnecessary layers between the VM and background OS. Basically use one of the emulators that run under Linux now and strip the OS down to only what's needed, or use Jeff Vavasour's DOS CC3 emulator as a start. DOS can also be stripped down a bit.
The good thing about starting with Jeff's emulator is that the source code is readily available and it's freeware. The bad thing is it's written in Intel 16 bit assembly. This as done to make it run fast, but running under Windows slows it considerably. I doubt many here could modify Intel assembly code.
A better starting point would be David Keil's emulator (http://discover-net.net/~dmkeil/coco/coco3.htm). It already has support for some added features. It would be much easier to build on his work, but it's written in 16 bit Intel code also.
That would make MESS the logical choice (actually XMESS -- the Linux version of MESS). The only problem there is that it ould be best to trim the system down and make a full custom version, and that's prohibited by the legal statement that comes with XMESS. That might have to be tolerated -- at least it's in code that some of the people here can write in.
There is another option -- re-write Jeff's emulator in C++ and use it. That would be a big task in itself, unless there's some sort of code converter out there. Even then there would be a lot of de-bugging to do.
I saved the best for last! Why not get the group here to definitize the requirements for a CoCo5, then approach David Keil about modifying his emulator to meet that definition? A group interested in purchasing the enhanced version for a reasonable price each (I would say $50 USD would be fair) would be an enticement. But there's no need to approach anyone until a consensus on what is needed/wanted is reached. Legacy support is a must, but is there a need to support the Pseech/Sound pak AND the Orchestra 90? Which was most often used? I ouldn't worry about future support -- an enhanced sound capability could be an added feature of the "new" machine.
Date: Fri, 26 Jan 2007 09:55:22 +0100
From: "Fedor Steeman" <petrander at gmail.com>
Given the mere mentioning of a CoCo4 gets so many people off their chairs
and starts them musing makes me wonder why this has not been realized a long
time ago. For me too, a CoCo 4 would be a dream come true. Just to prove
that the CoCo *is* able to go this little push further. What most of us want
is after all a more advanced computer that can to a more than the CoCo3, but
still has the same 'feel' and backwards compatibility.
It should be possible to canalize all that energy, enthusiasm and know-how
into a concrete project with results. Problem, as always, is agreeing on
something and spending coordinated time on it. What should the next
generation CoCo be able to do? Would software emulation be good enough or
will only hardware emulation be satisfactory? For many, emulating a CoCo4
(5) would not be satisfying, because without hardware limitations you are
basically entering the realm of fantasy. You can make a CoCo4 (5) do
anything you like, which spoils part of the fun.
In the end, it would be nicest to have some piece of stand alone hardware
that is not dependent on other systems or platforms. But that would be a
hard goal to achieve.
BUT! We could of course design the hardware for the new CoCo as closely as
we can by emulating the precise specifications for its hardware components.
So instead of adding anything or making anything up, we stick to existing
hardware limitations and see if we can make them work at least virtually?
Object-oriented design and programming in C++ could do the trick and if you
would use SDL it could run on many platforms other than Windows too! When we
have a satisfactory product we could eventually implement it in hardware
using existing raw materials or custom made FPGAs.
I am not so very experienced when it comes to hardware, but I would
certainly be able to contribute to the object-oriented software design. Just
as long as the hardware guys tell us what can and can not be done, this
could actually work!
Just my 50 eurocents...
All the best,
Publisher, "American Motors Cars"
For all AMC enthusiasts
(free download available!)
More information about the Coco