VOGONS


Reply 20 of 89, by Jo22

User metadata
Rank l33t++
Rank
l33t++
jakethompson1 wrote on 2023-09-07, 00:39:
davidrg wrote on 2023-09-06, 22:57:
I believe a lot of telescope control stuff for Windows (eg, EQMOD) is built with Visual Basic 6 just because there are a bunch […]
Show full quote
Peter Swinkels wrote on 2023-09-06, 09:21:

So in short, does anyone here still use these for a hobby or even practical reasons?

I believe a lot of telescope control stuff for Windows (eg, EQMOD) is built with Visual Basic 6 just because there are a bunch of standards based on COM and its easier to build COM stuff in VB than in C++

But today unless you're targeting vintage DOS/windows I don't know there is any practical reason to build new stuff in these old languages.
Today Python is a better "beginner" language than BASIC while also being a serious language suitable for building real software in.

I believe VB6 technically lives on within VBA

Yes. And VB6 has another advantage, its applications run from Windows 98 to Windows 11 without any doing.
The core libary, msvbvm60.dll, is still included since the Windows 98 days and has a "just works" type of status.

I vagueley remember there are also a few VB6 compatible languages that use Java etc, but they're not as popular.
What differenciates old VB Classic from "modern" languages is that it was a fine RAD IDE (Rapid Application Development IDE).

It was very useful for prototyping, for writing a sample application or a dummy (functionless input mask) of what should latter become the real application.

However, and that's the irony, many sample/demonstration programs ended up being good enough so that they were actually being used.
And that's a circumstance what I think is barely understood/remembered.

VB Classic was used by a lot of layman, which weren't Top Gun type of programmers (those C++ elitists).
They rather were experts in their own field, rather than programming.

However, because they knew their fellows, they could program applications in a way that suited them.
So the final application perhaps wasn't great from a code point of view, but the look&feel and the functionality was.

That's why that bus driver vs fight jet pilot comparison comes up sometimes.
Some of the VB Classic programmers were just happy to be bus drivers.
And that's why .NET killed off VB as a language, the simplicity of original Basic was gone.

That's also why Delphi was so popular for a while, it was same principle, but based on Turbo Pascal/Object Pascal.

Edit: The 16-Bit line of Visual Basic (1.0 - 4.0 16-Bit) supported VBX modules (control sets), while VB5/6 used .OCX..
That's also a reason why VB3 was popular for so long, even in the Windows 95 days. It was close to VB4, but faster&slimmer.
There used to be a market for VBX modules in the 90s (the shareware scene alone was full of it).

A VBX was like a special DLL that could be easily imported in an VBX compatible application, like a plug-in.
Just think of a VBX that comes with a database, a piece of hardware (interface etc), a game.
If a VBX was loaded, it often visually appeared in the IDE as a new set of Windows standard controls.
Delphi 1.0 also supported VBX controls, I vaguely remember.

Edit: Also interesting: VB Classic was compiling applications to use P-Code by default.
It's some sort of pseudo code, with a virtual machine executing it. It's not really interpreted code, though.
Rather, it's similar to CHIP-8 or Java. And that's not bad per se, maybe. It can be near as efficient as native x86 code, depending on situation.
However, VB6 Professional and higher support compiling to i386 machine code, as well.
In the business world, this feature was rather used for another purpose, though. To make disassembly more difficult.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 21 of 89, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

Okay, I am glad to see so many detailed stories but don’t really have much to add myself other than that I am familiar with vb6 and not much with the rest that has been mentioned such as Delphi, Pascal and Visual C++. I see some people here did mention writing stuff in BASIC. Does anyone here have an entertaining BASIC program they would like to share with the other people here?

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 22 of 89, by ThinkpadIL

User metadata
Rank Oldbie
Rank
Oldbie
Peter Swinkels wrote on 2023-09-07, 11:13:

... I see some people here did mention writing stuff in BASIC. Does anyone here have an entertaining BASIC program they would like to share with the other people here?

There are so many flavors of BASIC, depending on your computer. There were many books and magazines in the past where were published program listings so if you want to get some BASIC programs, this is your destination for a research.

I personally collect vintage computers (mostly laptops, palmtops and pocket computers) and many of them by default use different versions of BASIC, like Sharp PC-1500 Pocket Computer or Epson HX-20 Laptop for example, so I'm trying to get as many BASIC programs for them as I can in order to play with them later. But if I want to learn BASIC to be able to write programs from the scratch by myself? I doubt it cause in my view it is a complete waste of time even if it is a hobby spare time.

Reply 23 of 89, by TuesdaysGone

User metadata
Rank Newbie
Rank
Newbie

My first computer was a TI-99/4A way back in 1983! And like most computers of the day, it came with a version of BASIC built-in and even a book to teach you BASIC programming. You were expected to know and learn some programming to get the computer to do anything fun or useful. 😉 I kind of miss those days.

But that introduction lead me to a life and career as a programmer but I've always had a soft spot for BASIC. I love QuickBasic , Turbo Basic later Powerbasic (who I worked for briefly) and Visual Basic 3.0 up to 5.0. And many shareware variants through the years. I even wrote my own BASIC compiler, called XPB! Basic and distributed it as shareware in the early 2000's.

So, given my background, I still enjoy using QuickBasic for DOS and Visual Basic, especially 3.0, today on my Retro rig just for a hobby and for nostalgia purposes.

Best wishes,

Tony.

ASUS P2B-F 440BX BIOS Rev. 1014 Beta 003
Intel "Katmai" Pentium III 450Mhz
256MB, 80GB, Epson SD-800 Combo FD, Voodoo Banshee 16MB, SB Live, CT7160 MPEG-2 PCI Decoder, 3Com 3C905B-TX PCI NIC, Iomega Zip 100, Creative PC-DVD, Sony CDRW, Win 98SE

Reply 24 of 89, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

@ThinkpadIL: I am primarily focussing on BASIC programs for MS-DOS. And if you think writing in BASIC is a waste of time, that is your opinion, but then this isn't really a meaningful thread for referring to those games you collect. What games have you collected? And did you say they were in BASIC?

@TuesdaysGone: and did you write anything amusing in BASIC recently?

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 25 of 89, by TuesdaysGone

User metadata
Rank Newbie
Rank
Newbie
Peter Swinkels wrote on 2023-09-07, 19:23:

@TuesdaysGone: and did you write anything amusing in BASIC recently?

Not real recent, but I do have 3 solitaire games I've written in Blitz Basic. Pyramid Solitaire, Baroness Solitaire and Blackjack Dash.

Thanks,

Tony.

ASUS P2B-F 440BX BIOS Rev. 1014 Beta 003
Intel "Katmai" Pentium III 450Mhz
256MB, 80GB, Epson SD-800 Combo FD, Voodoo Banshee 16MB, SB Live, CT7160 MPEG-2 PCI Decoder, 3Com 3C905B-TX PCI NIC, Iomega Zip 100, Creative PC-DVD, Sony CDRW, Win 98SE

Reply 26 of 89, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

@TuesdayGone: What kind of BASIC is Blitz BASIC?

Has anyone here ever written a Tetris Clone, Connec Four, submarine hunting, or pong like game? In one of the many BASIC dialects?

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 27 of 89, by TuesdaysGone

User metadata
Rank Newbie
Rank
Newbie
Peter Swinkels wrote on 2023-09-07, 20:08:

@TuesdayGone: What kind of BASIC is Blitz BASIC?

Blitz was originally developed for Amiga OS and eventually to 32 bit Windows. There were several flavors Blitz Basic, Blitz Plus and BlitzMax before being discontinued. It was a pretty good version of BASIC geared toward Windows game development.

Best wishes,

Tony.

ASUS P2B-F 440BX BIOS Rev. 1014 Beta 003
Intel "Katmai" Pentium III 450Mhz
256MB, 80GB, Epson SD-800 Combo FD, Voodoo Banshee 16MB, SB Live, CT7160 MPEG-2 PCI Decoder, 3Com 3C905B-TX PCI NIC, Iomega Zip 100, Creative PC-DVD, Sony CDRW, Win 98SE

Reply 28 of 89, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

@TuesdayGone: do you have the source online somewhere?

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 29 of 89, by TuesdaysGone

User metadata
Rank Newbie
Rank
Newbie
Peter Swinkels wrote on 2023-09-07, 20:29:

@TuesdayGone: do you have the source online somewhere?

Hey Peter,

I do have all of the source code, images, etc. for all 3 solitaire games archived locally but not online anywhere.

I also have a version of my old web site up at http://www.tinyfrogware.com if you wanna see a screenshot or two. I was going to port them to OS/2 but haven't yet so just ignore the OS/2 references as they are still Windows only games.

Best wishes,

Tony.

ASUS P2B-F 440BX BIOS Rev. 1014 Beta 003
Intel "Katmai" Pentium III 450Mhz
256MB, 80GB, Epson SD-800 Combo FD, Voodoo Banshee 16MB, SB Live, CT7160 MPEG-2 PCI Decoder, 3Com 3C905B-TX PCI NIC, Iomega Zip 100, Creative PC-DVD, Sony CDRW, Win 98SE

Reply 30 of 89, by ThinkpadIL

User metadata
Rank Oldbie
Rank
Oldbie
Peter Swinkels wrote on 2023-09-07, 19:23:

@ThinkpadIL: I am primarily focussing on BASIC programs for MS-DOS. And if you think writing in BASIC is a waste of time, that is your opinion, but then this isn't really a meaningful thread for referring to those games you collect. What games have you collected? And did you say they were in BASIC?

If you're focusing on BASIC programs for MS-DOS and also have interest in writing programs in BASIC, you should know that translating programs from one BASIC dialect to another was a common practice in early years. There were even books published on that topic ("BASIC Program Conversions - How to convert programs from one computer to another" for example). So you don't have to limit yourself to MS-DOS versions of BASIC only.

And yes, I definitely think that writing programs in BASIC from scratch using old versions of BASIC is a complete waste of time since there are tons of BASIC programs that are already written by more skilled folks in those days so in most cases any of your ideas was already implemented many years ago, so there is no need to reinvent a wheel. To tinker with already written programs is another story and I personally find it quite interesting.

If you are talking about Demoscene, that's another story, and then it definitely makes sense to study ancient programming languages, but BASIC won't be one of them, since it is the less suitable language for this kind of activity.

And why only games? I do not limit my interest in BASIC to games only. I collect any possible BASIC programs I can find since there aren't so many of them actually, especially for such an ancient computers like Sharp PC-1500 and Epson HX-20.

But if you're talking about games written in BASIC, here is an example of a game written in BASIC for Sharp PC-1211 Pocket Computer.

The attachment 20230907_235531.jpg is no longer available

In any case, I have no intention to discourage you from learning ancient dialects of BASIC and writing programs from scratch. If you find it interesting and you enjoy it then why not.

Reply 31 of 89, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

I'm coding C and ASM in Microsoft C 6 on DOS. I'm used to programming C/C++ on modern hardware.. and coming from that realm I find it funny what MS-C 6 does to support real-mode programming. Dare I say real-mode under ASM is easier?
The only thing that keeps me from going full ASM is that I find it boring and mundane to use to express high-level constructs. Hence, I'm trying a mix of C and ASM at the same time.

Reply 32 of 89, by riplin

User metadata
Rank Newbie
Rank
Newbie
wbahnassi wrote on 2023-09-08, 00:10:

I'm coding C and ASM in Microsoft C 6 on DOS. I'm used to programming C/C++ on modern hardware.. and coming from that realm I find it funny what MS-C 6 does to support real-mode programming. Dare I say real-mode under ASM is easier?
The only thing that keeps me from going full ASM is that I find it boring and mundane to use to express high-level constructs. Hence, I'm trying a mix of C and ASM at the same time.

That’s why I personally prefer working in Watcom C/C++. You get all the conveniences of C/C++, but Watcom’s #pragma aux construct for writing inline assembly is second to none. No call overhead, assign inputs and output directly to registers, tell it which registers you’re modifying and it takes care of the rest.

Reply 33 of 89, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

@TuesdayGnome: How can I download a trial game?
@thinkpadl: I haven't done it that much myself, but I am aware the practice existed.

Is rewriting something a waste of time because you might have a different take on the same idea? Or because it is easier than converting the original? Or even just for a little mental exercise?

Tinkering with other people's code can be interesting but it can take an excessive amount of time to fully understand someone's code.

What is Demoscene?

Oh, I mentioned only relatively simple games because I thought they would be the most interesting stuff written in BASIC because most dialects aren't really suitable for anything advanced and utilities seem a bit boring to me.

What game's code is displayed on that page?

@wbahnassi and riplin: What does MS-C 6 do to real mode programming?

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 34 of 89, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

Well.. in real-mode you're dealing with segmented memory. C pointers don't exactly work that way. So the compiler tries to offer options around this segmentation in terms of so-called memory models (tiny, small, compact, medium, large). But even these modes aren't enough for a program that needs to go beyond 640K. You will need to code support for something like XMS or EMS to break the limit. If you do that stuff in ASM it's clear, as you supposedly know what you're doing. But for MS-C, you will have to dance the compiler's memory model song while also adding paged memory support. Yay!

The memory models are not specific to MS-C 6. I was just saying I use that particular C compiler, which has no native support for protected mode programming, so you're forced to real mode C programming.

Of course all this disappears with protected mode, and C becomes very natural to use there.. but where's the fun in that, eh? 😅

Reply 35 of 89, by midicollector

User metadata
Rank Member
Rank
Member

It's cool seeing all the love for VB and old versions of C in this thread. Makes me want to try both!

Reply 36 of 89, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

@wbahnassi: have you ever successfully implemented EMS?

@midicollector: Would you really like to try an old programming language?

Last edited by Peter Swinkels on 2023-09-08, 11:43. Edited 1 time in total.

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 37 of 89, by ThinkpadIL

User metadata
Rank Oldbie
Rank
Oldbie
Peter Swinkels wrote on 2023-09-08, 03:07:

Is rewriting something a waste of time because you might have a different take on the same idea? Or because it is easier than converting the original? Or even just for a little mental exercise?

Don't think I completely understood your question. For me waste of time is to write programs in BASIC from scratch cause there are so many of them already written so whatever idea you have, most of the chances that someone already implemented it in BASIC many years ago. So, my approach is to take someone else's code and tinker with it trying different approaches.

Peter Swinkels wrote on 2023-09-08, 03:07:

Tinkering with other people's code can be interesting but it can take an excessive amount of time to fully understand someone's code.

I have no intention to fully understand the whole code, instead I just tinker with small bits of code because I have no intention to spend on a hobby excessive amounts of time.

Peter Swinkels wrote on 2023-09-08, 03:07:

What is Demoscene?

Google it.

Peter Swinkels wrote on 2023-09-08, 03:07:

Oh, I mentioned only relatively simple games because I thought they would be the most interesting stuff written in BASIC because most dialects aren't really suitable for anything advanced and utilities seem a bit boring to me.

I personally haven't seen complicated games written in BASIC.

Peter Swinkels wrote on 2023-09-08, 03:07:

What game's code is displayed on that page?

Its name is written on the top of the left page in Japanese.

Reply 38 of 89, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

@ThinkpadIL: Which part of my question might have given you trouble? Indeed, sometimes a hobby may get out of hand at the expense of more important things. Googled it: https://en.wikipedia.org/wiki/Demoscene - Have you seen any games that came close to being decently complex in BASIC? Is "UFO" the english translation?

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 39 of 89, by ThinkpadIL

User metadata
Rank Oldbie
Rank
Oldbie
Peter Swinkels wrote on 2023-09-08, 11:47:

@ThinkpadIL: Which part of my question might have given you trouble? Indeed, sometimes a hobby may get out of hand at the expense of more important things. Googled it: https://en.wikipedia.org/wiki/Demoscene - Have you seen any games that came close to being decently complex in BASIC? Is "UFO" the english translation?

BASIC - Beginner's All-purpose Symbolic Instruction Code. It is a programming language for the beginners. Programs written in BASIC take a lot of space on disk and in memory and also run very slow so BASIC is not suitable for any serious or complex programming.

For translating Japanese please use Google Translator application on your smartphone (choose "Camera" option).