[Coco] ...speaking of emulation on the CoCo
John Kowalski
sock at axess.com
Thu Jan 20 01:40:30 EST 2005
At 07:42 PM 19/01/2005 +1100, msmcdoug at optushome.com.au, wrote:
>John Kowalski wrote:
>
>> This is why I think it should be possible to run Vectrex
>> games on the CoCo3 - Good software manually drawing lines on a bitmapped
>> screen might still run as fast as the Vectrex's own vector routines.
>
>Ahhh, I doubt it...
Seriously - I think it's possible. The Vectrex's vector hardware was pretty
minimal and it's 6809 had to time all it's actions - which pretty much means
the CPU couldn't do anything else while vector lines were being drawn.
A good software line drawing routine could probably do it just as fast.
But the best part, I think, is that a Vectrex emulator wouldn't need to
actually emulate Vectrex hardware - on the CoCo anyway - because, I *think*
pretty much every game used documented system ROM calls to do all the line
drawing, sound and I/O (joysticks..etc...)
So... Set up the CoCo's memory map similar to the Vectrex's, load in a game
"ROM" into the same RAM addresses (possibly scan it's contents and modify a
few details like interrupt handling), put our own custom "System ROM" (that
processes system calls in the same manner, but is actually written for CoCo3
hardware) into the same area where the Vectrex had it's system ROM and away
you go.
Some details need to be worked out just to make absolutely certain things
will work, but it's on my 'to do' list of CoCo projects to eventually get
started on :)
Time is pretty short these days, so my 'to do' list is piling up :(
>> Unless two CoCo's shared a good portion of the memory map, you'd probably
>> lose the advantages of having two CPUs to the overhead required in
>>...
>
>The problem is the memory interconnect would be painfully slow. And you'd
>have the overhead of a process that was updating the link on each side, as
>well as synchronisation problems. No doable IMHO...
Two CoCos talking to each other would be too slow, but if they were somehow
interconnected so that lets say 8K of the 64K memory map coexisted between
the two CoCos, they could both read,write and process data from that area at
full speed. This is way complicated to implement and very few people would
be willing to attempt it - A vectrex emulator like this isn't much good if
only one or two people on the planet have the hardware setup to run it.
John Kowalski (Sock Master)
http://www.axess.com/twilight/sock/
More information about the Coco
mailing list