On Sep 14, 19:03, Jonathan Engdahl wrote:
[ Pete wrote : ]
> Why not burn it into (EP)ROM? 64K for the opcode
jump table fits in a
> 27512, you maybe want about the same again for the code, and that
> would fit
> in some devices used for BIOS ROMs these days. Or put it on a SIMM or
> DIMM.
That actually was my first idea. That way, the hacked
PC would be almost
indistinguishable from a real PDP-11. The hard drive would contain an
exact
image of a PDP-11 disk, with no underlay of PC-ish
partitioning.
But I'm not sure how much ROM space is available on modern PC mainboards.
Does it matter very much? There's at least 64K bytes for the BIOS ROM and
often twice that or more. Besides, that's why I suggested a SIMM or DIMM.
What I had in mind was a bootstrap in the "BIOS" ROM socket and an EPROM
or two on a home-made SIMM/DIMM with the main code.
You can probably tell my x86 coding skills are really
rusty. Most of my
x86
programming has been either on an 80188 (many years
ago) or in C. But,
you
get the idea.
Mine are worse :-) 80x86 is one of the few common architectures I've never
written any amount of assembly language for.
Lots of detail unresolved: condition codes, for
example. My suggestion,
forget about them until you get to a branch instruction. Use the native
x86
condition codes. The architectures are probably
sufficiently similar. In
the
example above you might have to insert "and
bx,bx" or whatever the x86
equivalent is after the MOV to set the condition codes PDP-11 style. (I
think MOV sets the N and Z flag, right?)
Sets N and Z according to the value left in the destination, clears V,
leaves C unaffected.
--
Pete Peter Turnbull
Network Manager
University of York