[Simh] HP2100 MSU BASIC

Tim Riker Tim at Rikers.org
Mon Feb 25 12:57:30 EST 2008


J. David Bryan wrote:
> [ Tim, I've trimmed ClassicCmp off of the reply list, as I think that this 
> is either a SIMH issue or a limitation of the BASIC program.  I'd recommend 
> posting a summary back to ClassicCmp when we resolve it. ]

makes sense

> I used the default SIMH setup, but I've just tested now with your 
> configuration, and it works OK too.  The only things I did differently were 
> to specify the TTY select code for both the LOG TTY and the CHANNEL 1 TTY 
> addresses, and I did not punch a tape but instead continued execution 
> directly.

ok

> I did have a squint at the source code, and the "information table" is 
> simply one to ten text lines that are printed as a "message of the day" 
> when you log in.  So something like "WELCOME TO MSU BASIC" would be an 
> appropriate entry.

ok

> If I patch the LOG TTY routines READL and OUTL to do an immediate JMP 
> READL,I and JMP OUTL,I right after the subroutine entries, BASIC seems to 
> work fine.  I can log in, enter a program, run it, log out, etc.  If the 
> READL and OUTL routines are executed (to read and print on the LOG TTY), 
> though, I get a hang.  That, coupled with the abstract in the catalog that 
> says that "two to five TTYs are supported," leads me to believe that you 
> need a second TTY, which SIMH doesn't support.  I suspect that trying to 
> point both the LOG TTY and the user TTY to the same device is causing some 
> interference.

agreed. ok, made the same change

> You could patch the program as above, though, if you don't need the log 
> device.  Here's a transcript of the session with the patches in place:  
> 
> [...]
> YEAR? 75
> MONTH? 12
> DAY? 12
> TIME? 1212
> HELLO-ROOT
> NAME-I.D.BILL-0
> CHAN: 1 ACCOUNT 0
> TIME ON:  1212  12/ 12/ 75
> WELCOME TO MSU BASIC
> 
> READY
> 10 PRINT "HELLO FROM MSU BASIC"
> 20 END
> RUN
> HELLO FROM MSU BASIC
> 
> READY
> BYE
> 
> CHAN: 1 ACCOUNT 0
> CONNECT TIME: 1
> GLAD TO BE OF SERVICE, BYE

Hmm. still not seeing this. Log attached (hope it makes it through if 
not: http://rikers.org/hp2100/simh-msu-log.txt). What version of simh 
are you using? What OS are you running it on?

> SIMH could be enhanced to respond to:
> 
>   sim> set tty dev=10,14,17
> 
> ...for example, to support multiple devices.  But the problem isn't syntax 
> but rather reentrancy.  A SIMH device has only a single set of state data, 
> unless it's explicitly written to handle an array of states (e.g., 
> multiplexers, disc controllers with multiple drives).  It'd be nice if the 
> framework duplicated the device state automatically, so that one could have 
> as many TTY cards (e.g.) as desired, but it'd be a big rewrite -- not only 
> the framework, but every device simulation would have to be changed as 
> well.

yes, these changes would require that the device state be tied to the 
slot, and not just directly to the device.

>> While I'm at it, I suppose I'd rather see part numbers than names, but
>> that's just me. (ie 12531C instead of TTY) 
> 
> Might be a problem with multiple devices that used the same type of 
> interface card, e.g., PTR and PTP both used the 12597 duplex register, 
> several different printers used the 12845 printer interface, etc.  Device 
> names are probably more reasonable, because we simulate both the peripheral 
> device and its associated interface card as a unit.

perhaps. I'd rather see some division there so that attached devices 
were abstracted a bit. One of the cards I have is an HP-IB card. It 
would be nice to be able to "attach" multiple external devices to that 
for example.

-- 
Tim Riker - http://Rikers.org/ - TimR at Debian.org
Embedded Linux Technologist - http://eLinux.org/
BZFlag maintainer - http://BZFlag.org/ - for fun!



More information about the Simh mailing list