Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Qbasics for Windows
#11
Opresion, here's somethig found on the Internet:
Quote:The big advantage of the PDS over QuickBasic 4.5 is that it has an option to put strings into FAR memory (outside the 64K data segment). This frees up a lot more memory for simple variables and allows you to build much bigger programs.

So, it would seem that your PDS should be able to put strings in far memory.  Perhaps you can use that property to convert a proposed large array into smaller string arrays that you can store in far memory?  What do you think?  I am goingto download PDS and start playing around with it.

As to the program that I used, back in 1987, I remember that in a FOR/NEXT loop, I had to use a transformation of each element of the array I was using before it could be stored in far memory.  I just don't remember the syntax nor the name of the ausiliary program! 
Ralph, using QuickBASIC 4.5 and Windows XP Home Edition and Service Pack 2, with HP LaserJet 4L printer.
Reply
#12
I found still more information on the large array topic.  It seems that if I start qb.exe from the DOS-PROMPT window, using the /ah switch (arrays huge switch), thus:
qb /ah
I can now get an array(43,43,43), corresponding to 43^3 = 79,507 elements = 79,507*4 = 318,028 bytes, again, the available memory for this DOS program.

BUT, I also learned that, for QB7, one can use the metacommand, '$DYNAMIC, to generate arrays in far memory.  So, give it a try!  Me, I'm still looking for qb7.
Ralph, using QuickBASIC 4.5 and Windows XP Home Edition and Service Pack 2, with HP LaserJet 4L printer.
Reply
#13
(02-02-2008, 04:50 AM)Ralph link Wrote:So, it would seem that your PDS should be able to put strings in far memory.  Perhaps you can use that property to convert a proposed large array into smaller string arrays that you can store in far memory?  What do you think? 

Apparently there is a limit of 640 Kbs. In my webpage I wrote that that limit can be overpassed but I don't remember where I did read that, possibly it has a relation with the overlays.

(02-02-2008, 04:50 AM)Ralph link Wrote:I am goingto download PDS and start playing around with it.

Click my signature.

(02-02-2008, 04:50 AM)Ralph link Wrote:As to the program that I used, back in 1987, I remember that in a FOR/NEXT loop, I had to use a transformation of each element of the array I was using before it could be stored in far memory.

Maybe could be something like converting the numbers to strings, same way as used in this funtions of the Basic
MY QBASIC'S PAGE                                                  I ONLY USE WINDOWS 98SE
Reply
#14
(02-02-2008, 10:40 AM)Ralph link Wrote:...using the /ah switch (arrays huge switch), thus: qb /ah...

The PDS compiler also include the /Fs option for the Far strings.

(02-02-2008, 10:40 AM)Ralph link Wrote:...But, I also learned that, for QB7, one can use the metacommand, '$DYNAMIC, to generate arrays in far memory...

That metacommand also can be seen included in the QB45.

(02-02-2008, 10:40 AM)Ralph link Wrote:...So, give it a try!  Me, I'm still looking for qb7.

Click here.
MY QBASIC'S PAGE                                                  I ONLY USE WINDOWS 98SE
Reply
#15
With respect to qb7.1:  I have downloaded the zip file from three different sources.  Each time, when I try to run the setup.exe file, I get stuck in a screen that asks me to Re-enter Paths and Directories.  The only thing I see that I believe I have to change is the first line, "Source Drive: a:", which I changed to"c:".  Everything proceeds fine, until I get to the point where I press "I" to install 7.1...then, it asks me to insert Disk 1 in drive C:.  I enter "c", for Continue, and I can't proceed!  Do you have any suggestions?  The only reason that I have tried to get 7.1 is to see if I can get the large arrays in far memory...

In QuickBASIC 4.5, when I enter "qb /ah" in the DOS-Prompt command line, I can then create an array,
a(43,43,43)
which has 43^3 = 79507 elments, or 79507*4 (bytes/single-precision element) = 318,028 bytes, just the memory area available to qb 4.5.  I'm hoping that "far memory" refers to a good chunk of the 512 MB of memory in my computer! I hope.
Ralph, using QuickBASIC 4.5 and Windows XP Home Edition and Service Pack 2, with HP LaserJet 4L printer.
Reply
#16
(02-07-2008, 02:48 AM)Ralph link Wrote:...Everything proceeds fine, until I get to the point where I press "I" to install 7.1...then, it asks me to insert Disk 1 in drive C:.  I enter "c", for Continue, and I can't proceed! Do you have any suggestions?

I did test again the Setup to be able to answer you. I found that All the files must be in the 'Root' of a partition or harddisk but Not into a temporary directory. Then it will run completely.

(02-07-2008, 02:48 AM)Ralph link Wrote:...I'm hoping that "far memory" refers to a good chunk of the 512 MB of memory in my computer! I hope.

I think it's only the 640 Kbs. area. To use 64 Mbs. it is needed a program for the EMS like This, for example.
MY QBASIC'S PAGE                                                  I ONLY USE WINDOWS 98SE
Reply
#17
Opresion, thank you for your help in trying to obtain 7.1 for me.  As I have explained, I was only trying to use it to help you, and have given up on 7.1.  Your last post, with the URL for the EMS tutorial by Plasma, was great!  I think that is going to be the only solution for your extra huge arrays of the type
array(300,300,300), which would have 300^3 = 27,000,000 elements.

Since the EMS can, apparently, be used in 4.5, if you want to work with EMS for your arrays, I will be happy to try to help you.  Working together, I'm sure we can solve your need for extra huge arrays.  Or, have you already solved this?
Ralph, using QuickBASIC 4.5 and Windows XP Home Edition and Service Pack 2, with HP LaserJet 4L printer.
Reply
#18
(02-09-2008, 07:31 AM)Ralph link Wrote:...if you want to work with EMS for your arrays, I will be happy to try to help you...

I think that's enough for me, I have made some good efforts but I see no results. Thank you anyway.

(02-09-2008, 07:31 AM)Ralph link Wrote:...I'm sure we can solve your need for extra huge arrays.  Or, have you already solved this?...

No, but Iam afraid that I will have to use Freebasic or the Visbasic 3 of Microsoft.
MY QBASIC'S PAGE                                                  I ONLY USE WINDOWS 98SE
Reply
#19
Well, Opresion, I have Visual Basic 6.0, Working Model Edition, and I was able to run this ok:
DIM(325,325,325)
which (uses 325^3*4)*3 = 411,937,500 bytes!
I got an "Out of memory" error message for
DIM(330,330,330)
which would have been 330^3*4*3 = 431,244,000 bytes.

I don't know why some 430 megabytes or so seems to be my limit, here.
Ralph, using QuickBASIC 4.5 and Windows XP Home Edition and Service Pack 2, with HP LaserJet 4L printer.
Reply
#20
(02-18-2008, 07:50 AM)Ralph link Wrote:...I don't know why some 430 megabytes or so seems to be my limit, here.

The limit it's the Ram.
MY QBASIC'S PAGE                                                  I ONLY USE WINDOWS 98SE
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)