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.