alexjplant
10 hours ago
QBasic was my first programming language. I wrote an "operating system" called QWIN using it when I was 7 years old. It had a fake POST with a rising tone and some atonal beeps followed by a series of unnecessary pauses and prompts before getting to a text-based shell (you read that right - QWIN had no windows) which was a pile of spaghetti driven by IFs and GOTOs with arbitrary labels. I was afraid of GOSUB and loops of all types so the embedded unlicensed Pokemon text adventure was nothing more than a series of fleshed-out decision trees until you reached the end. My screensaver that drew random lines used a static seed for the RNG so it was the same every run. Fun times.
My best good friend still has a copy of it someplace on a floppy disk because we would run it on the computer that he put together out of spare parts on a piece of plywood. Thankfully he has a family and is too busy to dig it up and send it to me so I'm spared the embarrassment that would come with seeing it.
I'm always happy to see projects like this and OHRRPGCE where people did something useful with the language.
versteegen
2 minutes ago
> I'm always happy to see projects like this and OHRRPGCE where people did something useful with the language.
Also still active after 29 years in development :) and even still looks much the same as its MS-DOS days.... so decades of work left to do. Recently ported to consoles (for Fighto Fantasy & Axe Cop RPG)!
I hope it didn't take too long for you to discover the wonder of GOSUB -- simulating it with GOTO and IF is a pain! GOSUB is just a single x86 'call' instruction and RETURN a single 'ret' instruction. Beautifully simple, I even reimplemented GOSUB/RETURN as macros in FreeBASIC that way. And putting all your code in a single scope, no locals/globals/arguments, makes coding more "fun".
tdeck
9 hours ago
This brought me a wave of nostalgia for the old Qbasic "operating system" projects, of which there were many. This site has a lot of reviews and screenshots:
http://qbasicgui.datacomponents.net/
Ans this site has more
It was a popular style of project. Some even implemented their own programming languages so they could multitask applications written for them by running lines from each app in a round-robin fashion.
EvanAnderson
8 hours ago
I wrote a ton of QBasic / QuickBasic code as a kid. Until I got turned-on to Turbo Pascal it was my jam.
Because QBasic would run on versions of Windows NT that had the NTVDM (virtual DOS machine) I used it as a scripting language on early NT systems I supported. Eventually I moved over to VBScript under Windows Scripting Host when it arrived on the scene.
alexjplant
8 hours ago
> I used it as a scripting language on early NT systems I supported
Me too! Well, sort of. Between the ages of 14 and 19 I worked as a part-time helpdesk technician. When I started we used a series of bootable floppies with DOS to use Symantec Ghost. If memory serves two floppies were required - the first had DOS and the requisite NIC driver and the second was universal and merely had GHOST.EXE on it. I developed a bootable USB memory stick image comprising all of the NIC drivers along with Ghost and a series of other useful things like a WinPE environment and maaaaaybe a Linux one via loadlin.exe. I ended up making a boot menu/shell for it in QuickBasic.
It was still in use a year or two after I'd moved to doing software engineering professionally. I wonder whether it's sitting in a drawer someplace on the other side of the country. I also wonder how this thread turned into a chronicle of my youthful programming misadventures :-D
vunderba
10 hours ago
I did something very similar as a kid - a bunch of almost like DEMOSCENE stuff (simple line rotations, psetting all over the place, doppler sound effects, etc.) before dropping the user into a TUI with little games, etc.
I remember first reading about the DATA command in the IDE built-in help (what a fantastic resource) and laboriously copying my drawings of monsters on graph paper into lines of comma-delimited ones and zeroes in DATA statements.
Since we had a copy of QuickBasic 4.5 I was able to compile it to an EXE and place it in the AUTOEXEC.BAT - fun times!
alexjplant
10 hours ago
Kindred spirits! Me discovering that QuickBasic was able to liberate my proggies (as I called them for a brief stint) from the confines of the editor by compiling them to EXEs was one of the happiest moments of my young computer life.
Hacking EXPLORER.EXE and changing the Start Menu side graphic with Borland Resource Workshop was another notable one.
vunderba
9 hours ago
Love it. One fun hack that I figured out as a kid was that while you couldn't get rid of the mouse in Win9x - you could deliberately create a completely transparent "CUR" file.
Watching an adult try to navigate in Windows with an invisible mouse was like the digital equivalent of using a dowsing rod to find water.
pabs3
8 hours ago
Wonder if there are any QBasic projects still out there.
pikuseru
6 hours ago
Windows 10