Virtu is an Apple IIe emulator for the .NET Framework using C# with Silverlight, WPF, and XNA.
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'
. 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
(on Windows, Mac OS X
, and Windows Phone 7
(on Windows only); and XNA
(on Windows, Xbox 360
, and Windows Phone 7).
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
wiki pages for platform specific details.
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.
Xbox 360 Controller
for Windows, orXbox 360 Console
andXbox 360 Chatpad
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.