Limitations, Shortcuts and Bugs

This page was last updated on 05/14/2003


Known Bugs in the Phase Two Code

Virtual H8 Version 1.33 of 04/12/2003, issued 04/12/2003

  1. There is a problem with the front panel buttons occasionally vanishing when you press them. I have a fix which I will include in the next build. Meanwhile, if you click a button and it disappears, drag the window so the control panel keypad is off-screen and then drag the window back -- this should redraw the button.

Virtual H8 Version 1.32 of 08/18/2001, issued 08/18/2001

  1. I was able to locate the H-19 documentation and the H-19 which I had lent someone a decade ago was returned to me. So I had the PROM contents and a physical unit to look at again. I discovered that the emulator's H19 logo was not photorealistic, so I redrew it. I also found that the character generator for the H19 font had many defects. The character generator now produces pixel patterns identical to the H19 PROM listings' patterns.

Virtual H8 Version 1.31 of 07/20/2001, issued 07/21/2001

  1. The PROM loader code which reads PAM37.ROM as the application starts will only accept OCT and DEC radix image files. (The parser does the wrong thing on "DATA" and "END" keywords because the first letter of the keyword is interpreted as a hex digit.) This has been corrected in the 1.32 release. [Reported by Neal Granroth.]
  2. The PAM-37 keyboard buttons act strange if you click on a button and drag the mouse off the button before releasing. What was happening was the button got the WM_LBUTTONDOWN message but when the mouse was moved off the button it never got the WM_LBUTTONUP message. I fixed this in 1.32 by having the button capture the mouse until the WM_LBUTTONUP message was received. Now these buttons behave properly. [Reported by Neal Granroth.]
  3. Enhancement: I found out how to do the 1000 Hz tone as a resource [thanks, Neal]; the wave file is no longer needed in the H8 directory (though it is now needed in the code's RES directory so you can compile the program).
  4. Enhancement: The Configure menu now lets you select TAU without having to recompile the code. However, the selection won't take effect until you close the program because by the time you make the new selection, the timer process that uses it is already running.

H-19 (Demo) Version 1.05 of 06/14/2001, issued 06/16/2001

  1. The H-19 will not function under Windows 95 or Windows 98. I suspect it will also not function under Windows ME, but I've not heard about that. (It will function under Windows NT 4.0 and Windows 2000.)
  2. Not a bug, but rather an enhancement: When the program starts with a desktop area of 975x585 pixels or greater, you get a semi-photorealistic display including the nameplate and an Online/Offline button. You can click a button on the nameplate and display a chart of PC-to-H19 keyboard mapping. On the other hand, if the display is 800x600 (or you have a bunch of menu bars on the screen so the available area is less than that (but still at least 700x585), the program will re-configure itself to show only the "CRT" and move the OnLine function to a check item and the keyboard help to a command triggering a pop-up dialog in the system menu.

H-19 (Demo) Version 1.0 of 05/31/2001, issued 06/02/2001

  1. The H-19 Demo is known not to work under Windows 98. I believe the problem has to do with GDI object or resource management. I don't have a fix, since I don't have Win98. The problem does not seem to be happening under Windows NT or Windows 2000 Professional.
  2. The resources directory ("res") was missing from the source code set in the initial download, so the project would not compile. This has been corrected in the current download.
  3. See "release_notes.txt" in the download for details of what's not yet working in this initial release.

Known Bugs in the Phase One Code

Version 1.13 of 05/09/2001, issued 05/12/2001

  1. The Virtual H8 cannot open its named pipes under Windows 98. This means the program is limited to what you can do with the front panel only -- no tape. I may or may not be able to fix this, but without the H19, it will be kind of pointless.
  2. The Virtual H8's 2 millisecond interrupt is running at half speed under Windows NT 4.0 Server (in what will become the next version of the code -- it's okay in the one currently available for download). This is apparently an issue with the resolution of the multimedia API's high-precision timer. In Workstation (and Windows 2000 Professional) when you ask for an interrupt once per millisecond that's what you get. In Server, on the other hand, you get an interrupt every two milliseconds. For future versions of the Virtual H8, I must have the ability to divide time into one-millisecond increments (to simulate the diskette, for example). It may be okay to have time running at one-half the wall-clock rate, but I suspect that the diskette I/O code will break badly if the CPU-based timing loops in the HDOS driver code think the disk is spinning at 150 RPM instead of 300.
  3. The memory map manager has a bug that makes the system think it only has 32K of RAM instead of 64K. I'm going to wait to release the fix for this until I have the UART emulation for the console port built. If you insist on a fix, email me and I'll tell you what to change in the source code -- it's a two-line change.
  4. See "release_notes.txt" in the download for details of what's been added and what was fixed between the 04/25/2001 release and the 05/12/2001 release.

Version 1.0 of 04/14/2001, re-issued 04/25/2001

  1. The memory dump programs "dumh17.c" and "dumpam.c" included in the first issue of the ZIP file were incorrect and will not compile with Toolworks C/80 version 3. I've revised the code and updated the ZIP file -- if you took a copy of the 04/14/2001 version and need the correct dump programs, please download again. These were the only two files in the distribution that have changed.
  2. Interrupt request is interacting with IN and OUT operations such that an IREQ during an IN instruction causes zero to be read and an IREQ during a write operation causes the OUT to write the same data to the port twice. This is not harmful with respect to PAM-37 code, but will upset emulation of other programs that do I/O.
  3. The real-time tick is not at 2 milliseconds.
  4. The sound sample is poor.
  5. You must put the program executable and the 1000_hz.WAV file on C:\h8 and put the ROM content in C:\h8\firmware.
  6. ROM content is in two files: PAM37.ROM and H17.ROM. PAM37.ROM must ORG at 0000.0000 and be not more than 020.000 bytes long; H17.ROM must ORG at 030.000 and be not more than 010.000 bytes long.
  7. The emulator has some trouble with the ION indicator -- it flickers. I've attempted to modify the UI to eliminmate the flicker, but the modification led to the state being shown incorrectly for some programs. I decided to let the blinkin' light blink.
  8. Not all Z-80 instructions have been implemented. (I'll get 'em next time.)
  9. Until/Unless I get permission to distribute the PAM37 and H17 ROM contents, the emulator is incomplete. (See Legal Issues.) The supplied PAM37.ROM and H17.ROM files are not what a real H-8 would have in its ROMs and the emulator therefore does not act like a real H-8. You are on your own to create actual ROM image files.

Limitations in Phase One


H8 Top Page      Home