On 2014-Sep-10, at 1:10 PM, Tony Duell wrote:
On
2014-Sep-09, at 3:51 PM, Chris Osborn wrote:
On Sep 9, 2014, at 2:02 PM, Tony Duell <ard at p850ug1.demon.co.uk> wrote:
Hang on though... An HP9830 + HP59405 HPIB
interfce should eb able to
tlak to an HP1350 'Graphics Translator' That would give it a vector
display. Given you only need a couple of keys for input, perhaps a few
sense switched wired up to a parallel interface unit would do. Now tht
would be an interesting project, but not one that owuld take a week?
Is there no way to interface a terminal to it and have the BASIC send
its output to the terminal, and then read from the terminal? Then all
you?d need to do is send the right cursor codes.
hre are actualyl at least 3 RS232 interfaces for this machine. The 11205
is a half-duplex hardware device which could certainly be used ot drive a
terminal. The 11206 is a bit-banged one, and is pretty much useuless from
BASIC. The 11284 is a very nice hardaare device with synchronous mode too
(but good luck in finding one).
If I was to consider non-origianl hardware I could add a little circuti
to the built-in pritner interfce (Whcih is a paralell port simialr in
concept to Centronics) to output to a serial terminal.
I don't think there's any way to make the HP9830 use an external termianl
for the consle, but you can certainyl send/reciever data to a seiral port
from within a program (although you need an Extended I/O ROM for many
applicaitons).
Maybe that would eb the simplest solution, althoguh it would involve
non-HP hardware i think.
After far too much work, "Under The Sea" is running on the HP9830.
Most of the work was the backwards step of porting to the primitive 9830 version of BASIC.
(I basically hate BASIC.)
For display, it's driving a VT100 terminal emulator through a tortured path:
{9830 + homebuilt plug-in I/O interface} ==> {RPi} =ethernet=> {router}
=ethernet=> {Mac/VT100 emulator}
- The RPi here is effectively just acting as an I/O adapter, doing I/O to the 9830 on a
couple of GPIO pins
and running a program doing character relaying.
- The Mac is running Terminal in VT100 mode and ssh to the pi.
The homebuilt I/O interface for these purposes appears to the 9830 as a
'general-purpose' I/O device, so original HP devices that can do character I/O
should work instead.
For input, as Tony indicated, the native 9830 firmware doesn't allow for polling the
built-in keyboard, so it would not allow game play.
To get around this, a new function was written in assembly to extend BASIC to allow
polling the external terminal keyboard, so the above output path is essentially reversed.
(It might be possible to write an assembly function to poll the internal keyboard, it
would require linking into the firmware interrupt structures.)
The Extended I/O ROM (which I don't have) has a STAT function which should provide a
similar capability to the new polling function.
So, while it was accomplished with facilities and techniques on hand, it should be
possible to make it work with original HP 9830 extensions/options, together with a
terminal capable of cursor positioning.
However - as anyone who knows the 9830 could anticipate - it is far too slow.
A screen update cycle take ~ 3 seconds, and over 4 minutes for a complete traverse of the
screen.
For speed, could rewrite it in assembly, if more giggles were desired.