dmsc / fastbasic

FastBasic - Fast BASIC interpreter for the Atari 8-bit computers
GNU General Public License v2.0
139 stars 20 forks source link

Interoperability with Fujinet N: device #76

Closed 77poker125 closed 4 months ago

77poker125 commented 1 year ago

FastBASIC does not appear to operate properly with the FujiNet N: device which is installed via the FujiNet AUTORUN.SYS file.

I'm using MyDOS, so I copied FB.COM to a MyDOS disk which has the FujiNet N: handler as AUTORUN.AR0.

If I try to execute OPEN #3,4,0,"N:[url]" and then GET #3,A, the OPEN either crashes or returns bad data.

dmsc commented 1 year ago

Hi!

Please, can you attach an ATR to test with?

Thank you!

77poker125 commented 1 year ago

Maybe I do not have the syntax correctly. I also tried the NOPEN command, but it always gives me a parse error. Can you provide a code snippet which is correct, which reads some data from a URL into a string variable?

dmsc commented 1 year ago

For the NOPEN and other commands, you need the git version (not the release)

Which version are you using?

And it would be easier to solve the OPEN crash issue if you attach the problematic ATR to test here.

Have Fun!

77poker125 commented 1 year ago

I am using 4.6. Here is the ATR. FBTEST2.atr.zip

dmsc commented 1 year ago

Hi!

This is the problem:

MyDOS uses memory up to $1DE8, then if you load the AUTORUN.SYS it installs a resident handler that uses memory up to $233A.

This is too high for FastBasic (and many other Atari programs), that loads at $2000, so on loading of FB.COM you overwrite the Fujinet handler. This in turn causes it to crash when calling the fujinet functions.

Sadly, there are very few DOS that would give you enough free RAM to install a handler of 1362 bytes without passing the $2000 (16KB) limit.

I do know that some people use FastBasic with Fujinet - perhaps you could ask how they load the driver using less memory?

Have Fun!

77poker125 commented 1 year ago

Aha! Thank you. That is an amazing solution for the mystery. I will ask on the Fujinet Discord!