Jump to content

In theory could an Odyssey 2 emulator run on a CoCo?


Recommended Posts

If it could be emulated with some degree of accuracy, you'd need a faster clock speed.
The Spectrum has successfully been emulated on the Atari, but you need an accelerator board for it to run full speed, and the Spectrum hardware might be easier to emulate.

Link to comment
Share on other sites

Would a 6309 be enough?


As far as I know the O^2 only has 16 colors so a CoCo 3 should have that down.

Look at the CP/M emulation running on the CoCo 3.

There is no fancy hardware to emulate and it still runs slow.

The 6803 would not be enough.

Link to comment
Share on other sites

I looked at the CP/M emulator videos and my thoughts are:


Some percentage of slow down could be due to it running under NitrOS9. I don't know the percentage but obviously this would probably run faster under RS-DOS.


Because it's under NitrOS9 and the fact that writing emulators in 100% Assembly Language would be a pain I'd be curious to find out if the emulator itself is written in Assembler or more likely C - which wouldn't be as fast.


I've never written an emulator but the way I was imagining it is behind the scenes there would be much more complexity with CP/M due to how complex it is vs. the O^2. Yes the O^2 has unique chips but these should be (in theory) a fraction of the complexity than an operating system.

Link to comment
Share on other sites

Generally speaking the host machine has to be at a minimum 10 times faster than the emulated machine to run at full speed. And that's assuming that graphics and audio emulation low overhead. To emulate another processor the host processor has to:


  1. Read the next opcode of the emulated processor.
  2. Jump to the associated routine to handle that operation.
  3. Run a routine which does whatever that instruction does
  4. Repeat.

It's pretty hard to do that dispatch in less than 4 or 5 instructions. And you're generally lucky to keep the opcode emulation down to an average of 5 instructions (flag registers are a big problem here). This doesn't even include detecting when the emulated processor is accessing an I/O port or memory-mapped device register. The "10 times" estimate is just an approximation and I think of it as the best one could hope for. If the host isn't 10 times faster then there's no chance of interpretive emulation. And beware the excluded middle. Just because a host is 10 times faster doesn't mean it is possible, either.


A dynamic emulator which translates blocks of emulated instructions into native instructions can do better. That can at least save the cost of dispatching the opcodes. And with a ROM based system that sort of translation can be done outside the emulator.


Even then I think the performance gap between the CoCo and Odyssey 2 is too narrow. No emulation/translation technology is going to run at full speed. At best I could see doing automated translation of most of a game and having a programmer go in and optimized the hot spots to get it running at full speed. Might be just as easy to port each game individually.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

If Odyssey^2 is too much, consider Channel F.


The lowest rated console of them all probably is the RCA Studio II which in its original form was B&W and ran all its games through an interpreted pseudo language. Recently a Studio II simulator was released for the .. *drum roll* Intellivision, which takes advantage of the interpreted mode and implements the instructions natively instead of emulating the 1802 CPU. It brings it to decent speed. That simulator also has a mode to emulate 1802 for the few recent homebrews that don't use the interpreted pseudo language, but then it crawls. I'm sure a 6809/6309 machine could do far better than the CP-1610 does in this case, but don't expect too much speed even for that purpose.

Link to comment
Share on other sites


Oh that would be interesting!

The APF actually runs the Motorola 6800, the "predecessor" of the CoCo's 6809. I guess they're not binary compatible, but assembly is okay (according to Wikipedia; I have no idea--that stuff is beyond me!).


Many APF games look like low-res CoCo games. Even if they're not "emulated," per se, I would imagine it wouldn't be a stretch to adapt some of the games for the CoCo. They even have the same text "font." :-D

Link to comment
Share on other sites

Forum is acting odd. Posted many times for some reason. I'm unable to delete.

I thought you were a spam bot gone nuts





Ah, 6800...that's right! I recommend everyone read the story of the young black engineer who built it. Amazing story.


Just an FYI, he's referring to the creator of the APF Imagination Machine, not the creator of the 6800.


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...