Page 1 of 1

My Lab is now snaked and spider web'ed with wires ready 2 go

Posted: Wed Jun 08, 2011 8:50 pm
by Kiyotewolf
I'm concurrently recording old magnetic media, including audio tapes, and data short minute tapes for retro computers into Audacity, behind me, doing lots of things at once.

I have a really nice USB headset, instead of the regular audio ear/mic in jacks, it's got 200% better quality than the normal jack interfaced headsets.

I'm going to be, starting today, trying to do some tutorials, on DOS, QBasic, trying to refresh the memory of the old, and imprint the memory of the n00b, so people can make better use of the various DOS flavors, DOS emulations, and even getting XMS/EMS flavored QBasic to run in WinXP! Hard to fathom, but it's true, I did get an working XMS flavored QuickBasic v4.5 program running under WinXP, without any emulation, it had to run fullscreen to work, and it was in SVGA, but it DID work.

I'll try to tutorial how to make the shortcut links, as well as *.LNK, *.PIF, *.CMD, *.BAT scripts, so your stuff will run on at least WinXP.

If you're stuck with Win7 or Vista, I feel for you, just look for some Linux variant, and Wine to emulate WinXP enough so you can have the same old stuff once again.

I really gotta get a proper install of Wine going, asap, before the binaries become too scare to find for a proper Win32 Wine WinXP simulated environment.


I will try to host everything off-site, so it's not a resource hog on the QB Forum itself, as well as try to make things easy enough on the eyes to be readable.

Posted: Wed Jun 08, 2011 9:33 pm
by burger2227
My tutorial uses VB Script to create shortcuts for Qbasic. It makes URL links in 98 or PIF links when run in XP. Not sure how it works in VISTA or 7 as Qbasic can't run in them anyhow. Chapter 16 has the how to.

I have Qbasic make the Script file and run it with SHELL.


Posted: Thu Jun 09, 2011 2:53 am
by Kiyotewolf
Hmm, well, there's another part to my tutorial, getting the XMS memory to work.

I had to make a wrapper for the Extended/Expanded memory management routines, that enclose the sliding window movement functions, in DEF FN so that the sliding window, to XMS, gets slid around, being called out of the MAIN of a QBasic program, then to a SUB, then back to the MAIN, then on to another part of the program again.

I can try to summarize how it theoretically works, I think that the memory management when you get in to large *.LIB files for Qbasic, it has some sort of glitch, that messes up your sliding window for XMS memory usage.

In my programs, besides a MAIN full of code, and a bunch of SUB's and FUNCTION's, I could only afford two 64K blocks of data, for SCREEN 13 pixel pushing, but I wanted and needed more.


Using my trick, which boomerangs the XMS sliding window INTerrupt call into the MAIN part of the QB source, into a SUB to alter the XMS sliding window of available 64K memory, then back to the MAIN, then finally back again to whatever calling point, say in a SUB, then QBasic was happy.

You see a bunch of demos which call ASM to use XMS and stuff, but for some reason, after a few minutes, the data degrades, and everything falls apart.


It's because the XMS ASM routines, are fighting with Qbasic's own internal memory management.

My huge project, the last major project I ever undertook was my sprite editor, which I'm going to hammer out any redundant files, either that or include a rudimentary set of the redundant files to get the program started, but the ONLY way it worked, was because I had extra memory to store a total of 4 pages of SCREEN 13 data, in the XMS memory bubble.


I display the 4 SCREEN 13 data as dithered 640x480x16 color images, in four quadrants, making a 2x2 large image, that can be captured from, and you can rip sprites out of.


There is a whole bevy of support programs, that import and export various file types, and the editor even intelligently handles any type of *.PAL file it gets, based on the file's filesize. It knows, based on 3 possible file sizes, the scheme of how to recover the *.PAL data.


I want to get all that stuff cleaned up, and published, and it ALSO, uses a DOS QBasic extender, QBEXTEND, which took care of some of the GUI stuff, that ALSO removed some code from my project.

I remember from the book, you could derive stuff from his DOS extender TSR, and not worry about reselling, it was sorta a copyleft situation.

It's a small TSR you load before QBASIC runs, and then a small ASM file which gets loaded to memory when the program runs, that hooks to the DOS extender.


I dunno if you've played or seen the "Qbasic Games and More" book, or any of it's demos, but I studied that book like it was a bible handed down from the Pope, for my entire High School life.


Because that sprite editor is so powerful, that's kinda why I'm pushing the whole XMS under WinXP with Qbasic angle, because I gotta get my code released, published, but not without a bunch of cleanup first.