[Coco] Embedding CoCo emulators in an IDE

Roger Taylor operator at coco3.com
Fri Sep 10 11:35:14 EDT 2010


I though the subject line would grab the attention of some of you 
programmers.  An idea that I've had since the old Portal-9 days was 
to have a nice CoCo emulator pop up after you click Build, but 
instead of the emulator program and window being isolated from IDE 
control, what if the emulator window could be positioned by the IDE, 
resized, moved, etc. like it was part of the IDE interface.

Finally, this has come true.  Thanks to the flexibility of the .NET 
framework and Visual Studio .NET, I've figured out how to embed both 
the M.E.S.S. emulator and the VCC emulator in the IDE GUI (I know, 
these acronyms are terrible), so that the user can control where the 
emulator window should be, how big, and even what monitor if you have 
multiple monitors.  The IDE will then launch and kill the emulator 
when needed.  The emulators are not really part of the IDE, but the 
IDE knows how to integrate them just by pointing to the .exe files.

The M.E.S.S. emulator can be run without the Windows frame, so it 
looks better in the IDE, but VCC keeps the Windows frame.  Still, 
both emulators can be used with my new IDE (working name is Phoenix 
IDE).  Because Phoenix can be configured to use any compatible 
emulator, each project can point to a different emulator and control 
what modes are used, etc. automatically.

M.E.S.S. can launch to mounted .dsk images and ROM Paks, but VCC 
appears to only launch to .bin and ROM images and not .dsk images 
from the command line.  If VCC would add something similar to the 
M.E.S.S. -flop switch, things would be better.  And if M.E.S.S. could 
launch a ROM image directly without first going through Disk BASIC, 
it would work better.  For example, VCC can be set to autostart my 
CoCoNet ROM, bypassing Disk BASIC, with emulates how a real ROM pak 
w/CoCoNet would start up into the CoCoNet DOS.  So, M.E.S.S. works 
great for developing ROM Pak games but what about Disk ROMs?

With all this talk about Mocha, I wonder if the Java program can be 
used in the same way, giving yet another CoCo emulator option to programmers.

Other emulators I've tried with the IDE and they failed were the 
Nintendo emulator which works excellent by itself, but can't be 
embedded because of it's DirectX/Direct3D pane nature.  The video 
appears in one spot even if I move the window around.  The window 
slides away from the DirectX pane.  I've also tried an Atari emulator 
but it won't work on my 64-bit Windows 7 system.

Because Phoenix will work similar to how Rainbow works - allowing you 
to develop for almost any computer and launch into emulation, in 
order to make claims for any system I've got to find a suitable 
emulator for each that can launch the various types of images like 
cartridges, disks, and direct binary files, etc.  It's a lot of work, 
but so far the CoCo support is working great.  This will be the 
vintage programmer's IDE to drool over, no doubt.  More editor 
classes have been added, like HTML viewer/browser, image converter, 
hex editor, text, source code, and I'm working on adding a sound 
editor as well giving you a suite of classes for the types of files 
you can have in a project that can be converted/built into whatever 
object files you need for your end program.

You might ask why an HTML viewer?  Well, it can load web files or 
local files and if the content is source code, the builder will act 
on it just like a text/source file.  The goal is to allow all sorts 
of file types to be loaded and edited, and the builder programs will 
have to convert the content into the object.  CCASM is a builder, for 
example.  It converts .asm to binary.  What about converting JPEG to 
a CoCo compatible picture format or .asm file?  I'm working on this 
as well.  The image converter editor can load any PC format and 
eventually output to vintage picture formats for embedding in your 
end program/games.  We needed this luxury 20 years ago, and perhaps 
the big companies had similar tools at their disposal, but I've yet 
to hear about such a single program that can manage all these chores.

If you guys know of any Windows GUI type emulators you'd like me to 
test and add, please shoot an e-mail my way and I'll check it 
out.  Phoenix is set to be released by the end of this year.

-- 
~ Roger Taylor




More information about the Coco mailing list