• Please review our updated Terms and Rules here

HP Time-Shared BASIC code question

tradde

Veteran Member
Joined
Apr 30, 2003
Messages
2,137
Location
Katy, Tx
This may not sound vintage. But this question is based on a Monopoly game program I printed 40+ years ago. So kind of vintage. :)

I printed BASIC code for a Monopoly game long ago (40+ years) from I believe an HP Time Shared Basic system that we had a remote terminal for at the local Community College. Well, I finally got it all typed in. Still finding a few errors. Problem is I have no way to run it. I might be able to boot the HP Time Shared Basic code using Simh. Don't remember much about how to use that system. Not even sure if that was the system used. But looking at a BASIC manual for that system seems to have all the commands I see in the code and in the same format. So I am trying to take the PY-Basic system that is a small Python system that can interpret BASIC code. It's not perfect and I am having to make changes to support this specific dialect of BASIC. Not sure it's even worth it. If anyone wants to see the code I can get it loaded somewhere. Any suggestions on a better way to run this? Thanks for any thoughts or ideas. Don't know if this group is even read much now.

My main question is how is the random access file defined? How does it know how long a record is? I don't see anything in the documents I have found so far. It appears to be a very in depth version of the game, even allowing for a computer player. It's possible this was from a different system than the HP. The printout does not have anything on it to indicate the system. Just hoping someone might have some answers. Thanks.
Tim
 
I can't speak to this BASIC.

However, HP BASICs were known to use dimensioned strings, in contrast to other BASICs. By that, I mean when you declared a string, you declared how long is was (like A$(80)). In MS-BASIC, that's an array of 80 strings. In HP, (mind this is all supposition, it's been awhile), that's a single string of 80 characters. I don't know how HP BASIC did string arrays (if it did them), but the key point is that unlike MS-BASIC, if a string is referenced (say for a random file access) the system already knew how big the strings were. You may not of had to map them special.

Just something to consider in your explorations.

Is this from an HP 3000?
 
Yes, this seems to agree with what I have read and see in the code. It did seem odd at first to see string dimensioned. I understand how
it must have worked now, but still have to figure a way to make this interpreter work in that fashion. I may just have to pad the strings with spaces to fill to 25 characters so all records are the same size. And then use string compare functions to do the compares. Kind of a funky way to do it but I'd like to see this program actually work. Thanks.
 
I don't know what this came from. All I have is the printout of the 11 files that make up the code. The front page which would normally show system info shows nothing. This was printed probably back in 1976 or 1977.
 
I found a manual on TSB (no doubt the same manual you've seen) and, yea, the random file section is kind of inscrutable to be honest.
 
What I found was "A Guide to Time-shared Basic" from April 71. That has so many differences from any Basic I've ever used. I don't even remember how I found this game. But it is 10 files so about 2000-3000 lines of Basic. All Chaining between each. And even COM (seems to come from Fortan Common) statements. Very odd. I'd rewrite it in something else but that would require fully understanding how this works and there are tons of variables I have not documented yet.
 
Interesting. I never found that web site. I'll have to give it a try. Thanks for the link.
 
This is where I found the manual I was looking at:


I was looking at this one: HP 2000F - BASIC Reference Manual, December 1975 (PDF)

(It's an FTP link, FYI)

It definitely documents the COM stuff, but the disk IO stuff was...pretty weird.
 
That is a treasure trove of information that I had not known of. I can't access those files as FTP access is blocked. But they seem to be all on bitsavers. Hadn't thought to look there. Once again thank you.
 
Last edited:
https://www.moondew.com/basic/ seems to be a Windows version of the interpreter of the BASIC in the HP 2000. Supports COM and CHAIN but some of the more complex functions haven't been implemented.
I tried running this on Win10 in a DOS Window. It runs, but gives some weird errors when I load the first part of the Monopoly code. It corrupts the first 5 or 10 lines somehow and they don't even show as being there. Somehow it thinks the end of this program is at 3000
but there are many lines beyond that. It may be user error, but I don't think so. Code looks fine in Text Edit. So this may not be very
useful.
 
Back
Top