Emulation (Was: Emulators of Classic Computers)

From: Gordon JC Pearce <gordonjcp_at_gjcp.net>
Date: Thu Jan 15 06:45:06 2004

On Thu, 2004-01-15 at 03:17, Damien Cymbal wrote:
> All this talk about emulators has got my juices flowing again.
>
> I use emulators alot, and have always been fascinated with machine
> emulation.
>
> It's always been a desire of mine to code up an emulator of my own for some
> box but I've never been confident enough in either my coding chops or
> understanding of really low-level machine details to think I could pull it
> off (I am an application programmer by day and have done little serious
> system-level and below coding).

An emulator really is just an application.

> Recently I've been toying with maybe trying to do something, but where to
> start? I picked a candidate like the Visual 1050 because my first thought
> was "there's alot of free existing, debugged code that can be utilized" i.e.
> no need to write a Z80 or 6502 core as there are quality ones available.
> Being a cpm machine would appear to be another plus in this area. And, I
> like this machine and I don't believe there is an existing emulator for it.

Awww come on, surely you'd want to write the CPU core yourself? Then
you can say it's all your own work.

> Now the part that I'm hoping someone who has written an emulator can shed
> some light on: how much machine docs/specs does one need to hope to have a
> fair shot at pulling this off successfully? For example, I'm pretty sure
> that there must be some 6502 ROM code somewhere in that box that provide
> graphic routines services. If you had a listing of this I'm sure that you'd
> be that further ahead towards your goal. Or even if you knew where it was
> mapping into memory you could at least dump it and disassemble it. Thing
> is, all the docs I have are user guide/usage type things which obviously do
> not go into these sort of technical details. I'm sure there are those that
> could reverse engineer the entire machine soup-to-nuts but it certainly
> seems like that is trying to find the needle in the haystack (which is maybe
> some of the fun?).
> Comments?

I have just finished writing a simple PDP-8 emulator, based entirely on
a handbook picked up in a charity shop. As it stands, it seems to run
ODT and the programs in the manuals quite successfully. It doesn't have
interrupts (yet), and I'm not 100% confident in the memory extension
fields (but they seem to work). My next project is to write a DF32
extension for it, and see if I can't get the OS/8 or 4k Disk Monitor
System going.

There are PDP-8 emulators out there already, better ones than this too.
But I wanted one that was *mine*! (Shh, little secret, keep it under
your hat but it's an experiment, maybe a precursor to building an 8 in
TTL).

If you want me to write up a more expansive description of what I did,
then I will. It took about three evenings, start to finish.

Gordon.
Received on Thu Jan 15 2004 - 06:45:06 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:46 BST