[sebhc] Emulator fixes / additions

Dave Dunfield dave04a at dunfield.com
Wed May 26 17:28:56 CDT 2004

Aaarrrgghhh... I just can't put this thing down!

>On the next clock interrupt.  PAM8's service routine checks to see if it's 
>in user mode (mon led is out), and if so, it checks to see if the 
>interrupted opcode is a halt, or if the RTM key combination is being 
>pressed.  In either case, it beeps and returns to monitor mode.  Remember, 
>PAM8 itself is designed to be a debugger!
>Anyway, to work like a real H8, you shouldn't jump into your debugger on a 
>HLT unless it occurs while interrupts are disabled.

OK - I have implemented this - a HLT with interrupt disabled just freezes
until another PAM-8 interrupt - this does indeed go back to PAM-8.

HLT with interrupts disabled will trap to the debugger.
I have also added a /H option to cause the simulator to trap ALL halts.

Put in a few other goodies as well:

- The simulator now maintains a 32 entry map, and can selectively write
  protect any 256 byte page in the first 8k (0000-1FFF). This means:

  PAM-8 and H17 ROM are now write protected by this method, meaning that
  we could easily turn them OFF, and allow all of memory to be RAM -
  currently no I/O port for doing this, but it could be easily added.
  [Unfortuntely, you can't do this when starting the simulator because PAM-8
   dies if all memory is RAM - its "find end of memory" test wraps to 0000
   and it continues forever]

  I've added a 'LR=' option to load a HEX file "READ ONLY" (if it's in
  the bottom 8k) - this allows you to install true ROM's into the expansion

  I've added a WP= option to let you specifically write protect pages - Not
  sure why you would want to do this, but if you need to eliminate some RAM
  from the expansion area, this will let you do it.

- I've made the H17 optional. Basically, the H17 ROM and I/O ports will not
  appear in the virtual 8080 environment until you have performed at least
  one disk MOUNT function (eiher by command line argument or Mount function
  key) - this allows me to exactly simulate my H8  - which has no H17 :-(
  [Dosn't anyone out there have an extra H17?]

- I've added the ability to load a user supplied 80x86 code module into the
  simulator to handle IN and OUT requests. Such modules can also set and clear
  pending interrupts. This allows you to "write" your own custom hardware and
  attach it to the virtual H8.

  At some point I'll create a custom library for my Micro-C/PC compiler which
  will let you write virtual I/O devices in 'C'.

New version is available at:  http://www.dunfield.com/pub/H8.ZIP

dave04a (at)    Dave Dunfield
dunfield (dot)  Firmware development services & tools: www.dunfield.com
com             Vintage computing equipment collector.

Delivered by the SEBHC Mailing List

More information about the Sebhc mailing list