[sebhc] Emulator progress & Hardware Q's

Lee Hart leeahart at earthlink.net
Mon May 10 12:19:31 CDT 2004

Dave Dunfield wrote:
> I've been poking away at my H8 simulator... Progress so far:

Wow; sounds like you have a lot done!

> I have a few questions regarding the H8 hardware...

It's been a *long* time, but I'll try to remember.

> #1 - Can anyone provide clairification as to the purposes of bits 4-5
>      in the front panel control register (Address F0h - 360o):

Bit D4 of port 360o controls the single-step function. D4=0 enables
single-step. As I think you've figured out, single-step works by having
the PAM8 monitor enable interrupts, and "return" to the program to be
single-stepped. The hardware counts two M1 cycles; the "return"
instruction and one instruction of your program; and generates an /INT20
interrupt to call to the PAM8 monitor. PAM8 then lets you examine or
change registers, memory, I/O etc. and when ready, do another
single-step. Kinda neat; it can even trace programs in ROMs.

Bit D5 of port 360o controls the "MON" LED on the front panel. D5=1
turns the LED on. It normally indicates when the front panel PAM8
software is running, so the front panel is working. D5 is latched by
IC106, but its outputs are unconnected.

Bit D5 has another function when the "0 org" option is installed. It
disables the PAM8 ROM and H17 board ROM and RAM, and selects the "all
RAM" memory map. This is necessary to run 0 org CP/M.

> #2 - Can someone send me or point me to a reference for detailed info
>      on the H19 terminal so that I can correctly implement the various
>      control codes? (I don't have an H19)

I've got all the H19 manuals, but no scanner. Here's a quick summary of
the Heath mode ESC sequences and modes (the other mode is VT-52 ANSI

ESC F	graphics mode		ESC G	  ESC z  reset to power-up config
ESC p	reverse video mode	ESC q	  ESC #  transmit page
ESC v	wrap at end of line	ESC w	  ESC ]  transmit 25th line
ESC t	shifted keypad		ESC u	  ESC n  transmit cursor position
ESC =	alternate keypad	ESC >	  ESC <  enter ANSI mode
ESC {	keyboard enable 	ESC }	  CTL-T-Y-BACKSPACE unlocks

ESC x 1  25th line	ESC y 1	  ESC x 6  shifted keypad	ESC y 6
      2  key click	      2		7  alternate keypad	      7
      3  hold screen mode     3		8  auto LF on CR	      8
      4  block cursor	      4		9  auto CR on LF	      9
      5  cursor off	      5	  ESC [    hold screen mode	ESC \

ESC r A  110 baud	  ESC r F  1800 baud	  ESC r K  7200 baud
      B  150 baud		G  2000 baud		L  9600 baud
      C  300 baud		H  2400 baud		M  19200 baud
      D  600 baud		I  3600 baud
      E  1200 baud		J  4800 baud

 BLUE = ESC P		f1 = ESC S		 f5 = ESC W
  RED = ESC Q		f2 = ESC T	      ERASE = ESC J
WHITE = ESC R		f3 = ESC U	shift ERASE = ESC E
BREAK = NULL + garbage	f4 = ESC V

key		normal	shift	alternate
0		0	0	ESC ? p
1 (IL)		1	ESC L	ESC ? q
2 (v)		2	ESC B	ESC ? r
3 (DL)		3	ESC M	ESC ? s
4 ( < )		4	ESC D	ESC ? t
5 (HOME)	5	ESC H	ESC ? u
6 ( > )		6	ESC C	ESC ? v
7 (IC)		7	ESC @	ESC ? w
8 ( ^ )		8	ESC A	ESC ? x
9 (DC)		9	ESC N	ESC ? y
.		.	.	ESC ? n

ESC A		cursor up
ESC B		cursor down
ESC C		cursor right
ESC D		cursor left
ESC E		erase page
ESC H		cursor home
ESC I		reverse index (backwards TAB)
ESC J		erase to end of page
ESC K		erase to end of line
ESC L		insert line
ESC M		delete line
ESC N		delete character
ESC O		end insert mode
ESC Y line# col#	position cursor
ESC l		erase line
ESC @		insert char mode
ESC j		save cursor position
ESC k		restore position

> #3 - Can someone send me or point me to a reference for detailed info
>      on the disk controller. (I don't have a disk controller).
> #4 - Can someone send me a binary image of the PAM-8 ROM - save me
>      having to set up the H8 and figure out how to download it?

Someone else will have to help you with this.

> #5 - Here are some notes I've made on the H8 hardware, if anyone out
>      there is intimately familier with this material could give it a
>      review and let me know of any errors, or additional information
>      that I have missed, that would be greatly appreciated.
> Memory Map:
> -----------
> 0000-03FF = System ROM
> 0400-1FFF = Reserved for future expansion
> 2000-203F = Monitor RAM
> 2040-FFFF = User RAM

Yes, this is the standard power-up memory map. The H17 hard-sector board

1800-1FFF = 2k floppy ROM (Heath 444-19)
1400-17FF = floppy RAM

The ROM space from 0000-1FFF can have a variety of different ROMs,
depending on what other disk controllers and accessories are installed.

> I/O ports: [snip]

On a casual look, these all appear correct. Minor typo; the 7-segment
LED display's decimal point is controlled by bit D7, not D8.
"Never doubt that a small group of committed people can change the
world. Indeed, it's the only thing that ever has!" -- Margaret Meade
Lee A. Hart  814 8th Ave N  Sartell MN 56377  leeahart_at_earthlink.net

Delivered by the SEBHC Mailing List

More information about the Sebhc mailing list