Debug: Database connection successful
You are not logged in.
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
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
QuickBASIC program to compute trajectories for falling objects:
(th)
Offline
Like button can go here
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.
Offline
Like button can go here
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
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
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