Re: QBasic 1.1 language
- From: Happy Trails <nomail@xxxxxxxxxxx>
- Date: Wed, 29 Aug 2007 01:30:30 -0400
On Tue, 28 Aug 2007 20:53:29 -0500,
ArarghMail708NOSPAM@xxxxxxxxxxxxxxxxx wrote:
Like, if you put data in COMMON, it got it's own segment.I think NAMED common does, not sure about unamed common.
Just think of unnamed COMMON as a common section with the name NONAME,
and you'll understand it, hahaha.
You could have many times the data space available this way.Yes, but you still have to live with the 64k DGROUP limit, and QBX
eats 20k or so.
What do you understand "gets it's own segment" to mean?
If you used far strings, I'm pretty sure you got another 64K for the
far strings; ditto COMMON. Otherwise my systems/programs weren't
really as big as they were, hahahahaha!
There was also something funny about space allocation for structures
or whatever they were called, that let you bump up variable space as
well, (or maybe that's a different compiler).
In total I think you could "theoretically" get 4 x 64K of data space
altogether, but I never verified this.
Wasn't there also some oddball trick in either BC or the linker that
let you compile subs and link them as overlays? Then when they were
loaded they went in to EMS, so when they ran, they only had to be
copied from EMS to some low memory area to run. So if you had stuff
that didn't get used all the time, you did this to them. It was the
runtime equivalent of that other trick you mentioned earlier.
There was also some bug which I merely avoided rather than solved in
the IDE when you weer adding code to a program. At some point it
would just start giving errors every time you tried to add another
line. So you'd delete some other stuff and try again. Or you'd save
and reload the whole thing - same problem.
What I'd do then is reinstated the whole thing, save it as ascii, load
it into another editor, like Wordstar or something that could handle
any size file, then add the new code I was trying to add in the irst
place. Then I'd load the newer, bigger program into QBX, and most of
the time it would just carry on as if it were the most normal thing to
do????!!!!
I once ramped one program up to over 22,000 lines of source this way.
I eventually hit other limits though that made it too much of a pain
to keep doing this, and it was too much trouble to debug this monster
because you couldn't add one line of code in the IDE without getting
hard complaints.
You also never wanted to "include" any file more than once, because ifHell, yes. That is why BCET is one single 237k + one 3.6k source
you had 2 or more includes of the same file in the IDE, it would load
2 or more copies of the same thing into the IDE. That really ate
space up fast.
file. The big one is way WAY too big to actually compile with BC.
That is why I have a utility to split it into 13 smaller files to
compile. And some of those are pushing BCs limits.
My source files were huge because they contained all the SUBS. To
compile anything, I just split off all the SUBS into separate files,
added a line at the front of each to copy in the single humongous INC
file whether it needed it or not, and compiled each one that way.
There was a remark flag to indicate if a SUB was overlayable.
The compile .BAT and link .RSP files were built automatically, of
course, so there was no maintenance to do on the compile builder
system, no matter what software I added or changed. It only ever took
about 2 minutes to do about 200+ compiles/links on an old 486. Not
even enough time for a coffee.
Some interesting reading from the QBX help system. With a help page
selected, try searching for:
Overview of Memory Management
Using Expanded Memory
And "/Ea" & "/Nof" in the command line section.
I knew about these, but over time, had forgotten.
Me too. In fact, I moved from Singapore to Toronto a couple of years
ago, and haven't seen my PDS manuals since then. I had read those
absolutely cover to cover, including the link & lib sections, many
times in the previous 12 years, but it's getting a little hazy now.
.
- Follow-Ups:
- Re: QBasic 1.1 language
- From: ArarghMail708NOSPAM
- Re: QBasic 1.1 language
- References:
- QBasic 1.1 language
- From: Kristian
- Re: QBasic 1.1 language
- From: ArarghMail708NOSPAM
- Re: QBasic 1.1 language
- From: Happy Trails
- Re: QBasic 1.1 language
- From: ArarghMail708NOSPAM
- Re: QBasic 1.1 language
- From: Happy Trails
- Re: QBasic 1.1 language
- From: ArarghMail708NOSPAM
- Re: QBasic 1.1 language
- From: Happy Trails
- Re: QBasic 1.1 language
- From: ArarghMail708NOSPAM
- QBasic 1.1 language
- Prev by Date: Re: ternary if(,,) operator?
- Next by Date: Re: ternary if(,,) operator?
- Previous by thread: Re: QBasic 1.1 language
- Next by thread: Re: QBasic 1.1 language
- Index(es):
Relevant Pages
|