Hi Vladimir, the fundamental limitation is that GW-BASIC (and hence PC-BASIC) stores strings as 16-bit pointers, which only allows for 64KiB address space.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2015-01-21
Thank you for your reply. Yes, I knew about the reason for the limitation, but wondered if this can be overcome in the environment like your version? I guess you are saying that the answer is no.
Vladimir
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Vladimir, I don't think it's impossible, but at the moment my focus is on improving the compatibility with GW-BASIC, including its memory representation of variables, so that as many programs as possible will run correctly.
Once that's satisfactory and stable, perhaps I can work on extending the capabilities beyond what GW-BASIC can do, without breaking compatibility...
What is it you're trying to do? Have you considered things like FreeBASIC or QB64?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Rob. I just found your site and your program, and I want to say thank you. I started my career thirty years ago writing PC BASIC programs for a publishing company. I have programmed in many other languages since then, but I still have about 20 BASIC programs from that time that I have maintained and want to expand.
One of them is a more advanced version of the classic Star Trek game. I have added more commands and features, and I have grown the galaxy from 8 x 8 to 45 x 45.
I would very much like to have a much larger memory space. The Star Trek program is tight in memory, that I have added a special step that copies the program to a special name and removes comments to keep it under 64K.
Again I will be downloading the tool and trying it out. Thanks.
PB
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi PB, thanks! I'll think about extending memory (or really, address space) but I can't promise it will be quick - as explained above it brings up a number of compatibility issues relating to the original GW-BASIC being 16-bit.
Meanwhile, if the program itself gets that large, perhaps you can split it and load the modules using CHAIN? It's also possible to save space by removing spaces between tokens in the tokenised saved program but you'd need to edit the binary file.
Rob
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It seems that this interpreter keeps the 64K imitation that exists in GWBasic. Is it something that would be easy to change?
Many thanks,
Vladimir
Hi Vladimir, the fundamental limitation is that GW-BASIC (and hence PC-BASIC) stores strings as 16-bit pointers, which only allows for 64KiB address space.
Thank you for your reply. Yes, I knew about the reason for the limitation, but wondered if this can be overcome in the environment like your version? I guess you are saying that the answer is no.
Vladimir
Hi Vladimir, I don't think it's impossible, but at the moment my focus is on improving the compatibility with GW-BASIC, including its memory representation of variables, so that as many programs as possible will run correctly.
Once that's satisfactory and stable, perhaps I can work on extending the capabilities beyond what GW-BASIC can do, without breaking compatibility...
What is it you're trying to do? Have you considered things like FreeBASIC or QB64?
View and moderate all "[CLOSED] General Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Hi Rob. I just found your site and your program, and I want to say thank you. I started my career thirty years ago writing PC BASIC programs for a publishing company. I have programmed in many other languages since then, but I still have about 20 BASIC programs from that time that I have maintained and want to expand.
One of them is a more advanced version of the classic Star Trek game. I have added more commands and features, and I have grown the galaxy from 8 x 8 to 45 x 45.
I would very much like to have a much larger memory space. The Star Trek program is tight in memory, that I have added a special step that copies the program to a special name and removes comments to keep it under 64K.
Again I will be downloading the tool and trying it out. Thanks.
PB
Hi PB, thanks! I'll think about extending memory (or really, address space) but I can't promise it will be quick - as explained above it brings up a number of compatibility issues relating to the original GW-BASIC being 16-bit.
Meanwhile, if the program itself gets that large, perhaps you can split it and load the modules using
CHAIN
? It's also possible to save space by removing spaces between tokens in the tokenised saved program but you'd need to edit the binary file.Rob