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