Debug: Database connection successful QuickBASIC - A special topic for updating code / Science, Technology, and Astronomy / New Mars Forums

New Mars Forums

Official discussion forum of The Mars Society and MarsNews.com

You are not logged in.

Announcement

Announcement: This forum is accepting new registrations via email. Please see Recruiting Topic for additional information. Write newmarsmember[at_symbol]gmail.com.

#1 2025-06-25 11:53:59

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,848

QuickBASIC - A special topic for updating code

This topic is available for NewMars members who might have old code that they'd like to update to run on modern computers.

The title shows QuickBASIC in the opening session, but other ancient languages can be included

The practical purpose of this topic is to allow ancient code to be copied to modern systems.

Anything uploaded here is assumed to be public domain.

Here is a link to the qb45.zip file that I downloaded and ran to successfully load GW Johnson's XYTRAJ program.
https://www.dropbox.com/scl/fi/rarlrx93 … baoab&dl=0

Unfortunately, I can no longer find the file. It turns out there are multiple sites offering a myriad of different things, and apparently the links I followed are not easy to follow a second time.  I usually take better care when downloading items, but in this case I was highly motivated to see if the code would work, and neglected the niceties.  In any case, I can verify that the file does what it is supposed to do, with the caveat that it is intended for a 32 bit Windows box. It ran under XP, and would probably run under later Windows with 32 bit emulation.

(th)

Offline

Like button can go here

#2 2025-06-25 11:55:50

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,848

Re: QuickBASIC - A special topic for updating code

This post is reserved for an index to posts that may be contributed by NewMars members.

Index:
Opening code: QuickBASIC program written by GW Johnson in the Dark Ages, just after the horseless carriage was invented.
Post #3

(th)

Offline

Like button can go here

#3 2025-06-25 11:56:37

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,848

Re: QuickBASIC - A special topic for updating code

QuickBASIC program to compute trajectories for falling objects:

(th)

Offline

Like button can go here

#4 2025-06-25 12:03:20

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,848

Re: QuickBASIC - A special topic for updating code

This post was intended to hold a program written in QuickBASIC. Instead, the file delivered is in tokenized form.  Here is a small sample:

000036e0  04 20 54 68 69 73 20 72  6f 75 74 69 6e 65 20 70  |. This routine p|
000036f0  65 72 66 6f 72 6d 73 20  6c 69 6e 65 61 72 20 69  |erforms linear i|
00003700  6e 74 65 72 70 6f 6c 61  74 69 6f 6e 20 62 65 74  |nterpolation bet|
00003710  77 65 65 6e 20 61 62 73  63 69 73 73 61 20 61 72  |ween abscissa ar|
00003720  72 61 79 20 22 75 22 20  61 6e 64 00 00 97 00 4e  |ray "u" and....N|
00003730  00 00 00 0d 04 20 6f 72  64 69 6e 61 74 65 20 61  |..... ordinate a|
00003740  72 72 61 79 20 22 76 22  20 66 6f 72 20 69 6e 74  |rray "v" for int|
00003750  65 72 70 6f 6c 61 74 65  64 20 6f 72 64 69 6e 61  |erpolated ordina|
00003760  74 65 20 22 79 22 20 62  61 73 65 64 20 75 70 6f  |te "y" based upo|
00003770  6e 20 61 62 73 63 69 73  73 61 20 22 78 22 2e 00  |n abscissa "x"..|
00003780  00 97 00 4c 00 00 00 0d  04 20 54 68 65 20 6f 6e  |...L..... The on|
00003790  6c 79 20 72 65 73 74 72  69 63 74 69 6f 6e 20 69  |ly restriction i|
000037a0  73 20 74 68 61 74 20 61  72 72 61 79 20 22 75 22  |s that array "u"|
000037b0  20 6d 75 73 74 20 6d 6f  6e 6f 74 6f 6e 69 63 61  | must monotonica|
000037c0  6c 6c 79 20 69 6e 63 72  65 61 73 65 20 77 69 74  |lly increase wit|
000037d0  68 00 00 97 00 1b 00 00  00 0d 04 20 69 6e 63 72  |h.......... incr|
000037e0  65 61 73 69 6e 67 20 69  6e 64 65 78 20 22 69 25  |easing index "i%|
000037f0  22 2e 73 00 00 97 00 02  00 00 00 00 00 97 00 02  |".s.............|

I had long forgotten this, but in Windows 98 days, this format could be run directly in the computer.  The format is called 'tokenized" and (according to Gemini) it was read directly by a BASIC interpreter in a properly equipped machine.

I understand there may be a translator available that runs in Python, so I'll be looking for that next.

update: Google found a web site where the owner/proprietor has created a Python program to (at least try) to decode QuickBASIC.

http://www.mac-guyver.com/switham/
(th)

Offline

Like button can go here

#5 2025-06-28 14:05:18

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,848

Re: QuickBASIC - A special topic for updating code

This post is an update on a strenuous effort to try to decode a QuickBASIC BAS file.

Success in this undertaking has proven elusive.

There are only hints here and there on the Internet about how the BAS tokenized program files were set up.

Guesswork is all that is available and that has proven less than effective.

To give the reader an idea, there is a command in Microsoft BASIC (and many languages) called CHR$.

This command has the code x'85' in a QuickBASIC BAS file.  It must have a parameter, and in this case, it does: x'03'

['CHR$', 0x85],

So at some point in the program, GW Johnson inserted a 3 somewhere.

But this identifiable command and it's parameter are surrounded by a sea of bytes that are otherwise mysterious.

An effort to try to analyze the BAS file came to an unsatisfying end due to problems parsing the input line.

Such problems are solvable, but they require energy and persistence and time, and those have run out for the moment.

(th)

Offline

Like button can go here

#6 2025-06-28 17:43:24

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,848

Re: QuickBASIC - A special topic for updating code

We have multiple updates in the QuickBASIC topic ...

GW Johnson still has his ancient desk top with Windows 98.  It has been years since it was powered up (let alone run) so it may not power up at all.

Meanwhile, I found something called qb45 at qbasic.net, so I downloaded it and unzipped in in a Windows XP I have for NewMars support.

The unzip seemed to go well and there are files that look reasonable in the folder. I have no idea what to do next.

I assume the program has to run in a terminal window.

Update late Saturday evening.... GW's program is running on my Dell XP.  I can hardly believe it!

The folks who did all the hard work of implementing QuickBASIC 4.5 so the entire world could use it deserve thanks!

(th)

Offline

Like button can go here

#7 2025-06-29 06:51:38

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,848

Re: QuickBASIC - A special topic for updating code

Update to #6....

GW Johnson has confirmed finding the source code in the GW Johnson Postings topic.

And! The author of the Python decoder wrote back by email.  He requested the source code so i sent him a link to the post in NewMars.

I also offered to help (if I can in any way) with modifications to the Python program to decode BAS files.

This has turned into quite an adventure, all started with GW Johnson's mention of an ancient (1990) program he had written but could no longer run or even ** see ** due to advances in technology and deterioration of  hardware over 35 years.

I am ** very ** interested in having a decoder and there is a chance the author (Steve Witham) will be interested in updating the program.

In case Steve Witham sees this message, part of the challenge was updating from Python 2 to Python 3.

(th)

Offline

Like button can go here

Board footer

Powered by FluxBB