Summary
Virtu is an Apple IIe emulator for the .NET Framework using C# with Silverlight, WPF, and XNA.
History
The
Apple IIe left an indelible mark on my teenage psyche. Virtu was born out of an interest in emulators and wanting to wallow in nostalgia. Over time it has also become a vehicle to explore developer environments.
Originally developed for
RISC OS 3.11 on the
Acorn Archimedes in 1995 using some
C but mostly
ARM assembly language. Published on the
cover disk of the October 1997 issue of
Acorn User. Later that year we started porting Virtu to
Microsoft Windows 95 on the
'PC' using
C++ with
DirectX. A port to
Microsoft Windows CE 2.11 soon followed. These were tweaked over the next couple of years but never published. Fast forward to the present and the latest incarnation of Virtu, this time ported to the
Microsoft .NET Framework using
C# with
Silverlight (on Windows,
Mac OS X, and
Windows Phone 7);
WPF (on Windows only); and
XNA (on Windows,
Xbox 360, and Windows Phone 7).
Platforms
The target platform has been abstracted to a software framework which can take advantage of the various implementations and subsets of the framework to get more portability. I'm currently interested in all of the above for various reasons and couldn't choose which to target, so I thought it would be interesting to target them all, and thereby compare and contrast them to learn the pros and cons of each. Check out the Virtu
Silverlight,
WPF &
XNA wiki pages for platform specific details.
Usage
After a successful build, you should be able to run the emulator and perform a self test by pressing the key combination Control+OpenApple+CloseApple+Reset. Boot to the monitor (after Reset) where you can program interactively using
Applesoft BASIC or CALL-151 to use
6502 assembly language. Of course disk images can also be booted to complete the nostalgia experience.
The current release is an early work in progress and has many rough edges. Most notably, there is no user interface for configuring the emulator, but this can be worked around by editing the default machine settings source at build time, or in some cases pressing a hotkey at runtime. Any platform specific issues will be listed on their wiki page.
Recommendations
Xbox 360 Controller for Windows, or
Xbox 360 Console and
Xbox 360 Chatpad
Silverlight Demo
See the Virtu
Silverlight wiki page for key bindings. For the best image, set the browser zoom to 100%, 200% etc, or install and run out of browser, which can also run fullscreen.