Jump to content
IGNORED

Turbo-BASIC XL - Expanded Documentation


MrFish

Recommended Posts

 

This is based on documentation by Ron Fetzer, who based his documentation on the English translation by Dave and Laura Yearke of the Western New York Atari Users Group.

 

Thanks for this great expanded version of the Turbo Basci XL documentation.

 

You wrote in the introduction: "The superb Turbo-BASIC XL by Frank Ostrowski from Holland ..."

As far as I know Frank neither came from the Netherlands nor he lives there ;-)

 

Frank

 

PS: No, Im not this Frank!

Edited by NGFrankW
Link to comment
Share on other sites

 

Thanks for this great expanded version of the Turbo Basci XL documentation.

 

You wrote in the introduction: "The superb Turbo-BASIC XL by Frank Ostrowski from Holland ..."

As far as I know Frank neither came from the Netherlands nor he lives there ;-)

 

Frank

 

PS: No, Im not this Frank!

 

No problem...

 

I didn't write any of the documentation actually. All text is original. All I've done is reformatted it and edited out typographical errors.

 

I always thought Frank was from Germany too, and I considered changing the statement you refer to as I was going through the documentation. But I decided to leave it as rendered.

Edited by MrFish
Link to comment
Share on other sites

I made a mistake on the bookmarks and omitted the "Memory" heading. So the Memory section ending up appearing under the "Disk Commands" heading. I've corrected that, and decided to fix the erroneous "Frank from Holland" statement while I was at it.

 

 

Edited by MrFish
  • Like 4
Link to comment
Share on other sites

Great Job MrFish :thumbsup:

Would be nice if it also had a single/double page reference sheet.

Also if it had the abbreviations for commands (DP. PAU. etc - pretty useful for the 10 liner contest!)

 

I have an old photocopy of a WNYAUG guide. -MOVE copies "Starting" with the last byte of the block ;)

 

Not sure if it mentions run at address 2080 to return from DOS to TB - there is a DOS2.5"TB" patch from Page6/Atari User mag that fixed this properly.

Link to comment
Share on other sites

Great Job MrFish :thumbsup:

Would be nice if it also had a single/double page reference sheet.

 

Thanks. My thought exactly. I have one single page reference -- the source of which I forget (possible from a Polish user) -- that I plan to add. But I haven't taken the time to format it yet. You're welcome to it in it's current form.

 

 

 

Also if it had the abbreviations for commands (DP. PAU. etc - pretty useful for the 10 liner contest!)

 

Good idea, but I don't know what they are, without experimenting. If you'd like to help out, I'd be happy to add them.

 

 

I have an old photocopy of a WNYAUG guide. -MOVE copies "Starting" with the last byte of the block ;)

 

Yes, I saw that one too and left it as is, in trying to preserve the original documentation, since it still at least made sense. But I'll change it next time I revise the document. I didn't actually make any attempt to proofread this documentation, other than typographical errors. So if you, or anyone else, see anything that needs correcting, let me know.

 

 

Not sure if it mentions run at address 2080 to return from DOS to TB - there is a DOS2.5"TB" patch from Page6/Atari User mag that fixed this properly.

 

Thanks, I wanted to add this when I first started working on this, but I couldn't remember the address, and didn't seem to have it written down anywhere. I'll add it later also.

Edited by MrFish
Link to comment
Share on other sites

Thanks for posting this - your timing was perfect! I was just getting some ideas together for a NOMAM 10 Liner and having difficulty with the syntax of single line IF/ELSE/ENDIFs. The original very brief documentation that came with my Turbo Basic disc doesn't give an example of this. I tried a few variations but somehow didn't manage to get it right - then found the answer in your manual.

Link to comment
Share on other sites

Depending on how much of a project this becomes - was there ever a Turbo BASIC book?! - Page 6 had a few disks that may be useful:

Compiler Disk / PDF of Docs

 

DS#20 - Turbo Basic Support

Just what many of you Turbo Basic users have been waiting for, particularly if you are not a top notch programmer, is this first support disk prepared by a Turbo user in the States and aimed at making Turbo Basic a little easier to understand and use. The first side of the disk contains extensively rewritten documentation with many suggestions for the use of various commands in example programs. Every single command is covered and there are lots of hints to help novice or intermediate programmers. Side 2 contains a couple of tutorials on Arrays and Sorting with an explanation of pseudo string arrays which could help a lot of people who don't fully understand how to manipulate strings on the Atari. The disk is rounded off with a Ram Disk Cataloguer which is only really of practical use on the 130XE but which will, nevertheless, provide an opportunity to study a long Turbo program. A double sided disk, with both sides full and the ideal next step for beginners or Intermediate programmers who have Turbo Basic. And if you don't have Turbo Basic you should be ashamed, order it now).

 

 

DS#105 - Turbo Basic Programmer's Kit
The essential accessory for anyone who programs in Turbo Basic at beginners or intermediate level. Not only do you get expanded documentation but also tutorials on creating Turbo programs in a structured manner with examples of often used procedures. Disk 1 has fully expanded documentation on Turbo Basic itself with every new command illustrated by example and with program listings. There is also full information on the Compiler with step by step illustrations on how to compile your own program and create autoboot disks. Here you will also find amendments to Turbo Basic that bring small improvements in its use. On disk 2 you will find The Turbo Journal, a newsletter style presentation giving step by step instructions on creating a program in Turbo Basic with each module explained. Here is how you learn to write structured programs so that Turbo can run at its best. Disk 3 gives a further instalment of The Turbo Journal with tutorials on How To Use Module, How To Use Arrays and How To Do Sorting, each illustrated by practical examples. On the other side of the disk are over two dozen ready to use routines that you can combine with your own programs to do a myriad of tasks from accessing disk drives, to displaying text on screen or printer to sorting and much more. You can save time and enhance your programs by simply importing one of these routines. Three disks that will enable you to get the very best from Turbo Basic, even if all you ever do is compile the odd program.

 

I'll work on the abbreviations as I do my new game, but if anyone already has them listed?

DP =DPEEK

PAU.=PAUSE

END.=ENDIF

  • Like 1
Link to comment
Share on other sites

Are the abbreviations inflexible? In as much as, does the parser not simply look for the first word in the statement table of which the abbreviation is a partial match? So: PAUS. and PAU. would both match PAUSE... haven't actually tested this yet, but I wondered.

Pretty sure it works this way, which is why . is short hand for REM (REM is the 1st statement in the parser table). At least that is how Atari BASIC worked.

  • Like 1
Link to comment
Share on other sites

Depending on how much of a project this becomes - was there ever a Turbo BASIC book?! - Page 6 had a few disks that may be useful:

Compiler Disk / PDF of Docs

 

DS#20 - Turbo Basic Support

Just what many of you Turbo Basic users have been waiting for, particularly if you are not a top notch programmer, is this first support disk prepared by a Turbo user in the States and aimed at making Turbo Basic a little easier to understand and use. The first side of the disk contains extensively rewritten documentation with many suggestions for the use of various commands in example programs. Every single command is covered and there are lots of hints to help novice or intermediate programmers. Side 2 contains a couple of tutorials on Arrays and Sorting with an explanation of pseudo string arrays which could help a lot of people who don't fully understand how to manipulate strings on the Atari. The disk is rounded off with a Ram Disk Cataloguer which is only really of practical use on the 130XE but which will, nevertheless, provide an opportunity to study a long Turbo program. A double sided disk, with both sides full and the ideal next step for beginners or Intermediate programmers who have Turbo Basic. And if you don't have Turbo Basic you should be ashamed, order it now).

 

 

DS#105 - Turbo Basic Programmer's Kit

The essential accessory for anyone who programs in Turbo Basic at beginners or intermediate level. Not only do you get expanded documentation but also tutorials on creating Turbo programs in a structured manner with examples of often used procedures. Disk 1 has fully expanded documentation on Turbo Basic itself with every new command illustrated by example and with program listings. There is also full information on the Compiler with step by step illustrations on how to compile your own program and create autoboot disks. Here you will also find amendments to Turbo Basic that bring small improvements in its use. On disk 2 you will find The Turbo Journal, a newsletter style presentation giving step by step instructions on creating a program in Turbo Basic with each module explained. Here is how you learn to write structured programs so that Turbo can run at its best. Disk 3 gives a further instalment of The Turbo Journal with tutorials on How To Use Module, How To Use Arrays and How To Do Sorting, each illustrated by practical examples. On the other side of the disk are over two dozen ready to use routines that you can combine with your own programs to do a myriad of tasks from accessing disk drives, to displaying text on screen or printer to sorting and much more. You can save time and enhance your programs by simply importing one of these routines. Three disks that will enable you to get the very best from Turbo Basic, even if all you ever do is compile the odd program.

 

I'll work on the abbreviations as I do my new game, but if anyone already has them listed?

DP =DPEEK

PAU.=PAUSE

END.=ENDIF

 

Thanks. This contains the Expanded Documentation by Ron Fetzer, which is the source for this manual. Formatting this into a useable reference was really all I had in mind. For many years now I've been using the basic command reference, simply because the expanded version was not formatted well enough to make it easy to use. I do plan to add a formatted version of the single-page reference, make a few corrections, and add the abbreviations if a list ever comes about.

 

The journals look pretty interesting. I think I've seen them before, but I'll have to take another look when I get time. It shows how popular Turbo-BASIC was back then...

Link to comment
Share on other sites

  • 1 month later...

Nice work!

 

I found a little typo, just search for "fromat" (instead of 'format').

 

Oh, and the text in the graphics memory map is in German, is this supposed to be?

 

Does anyone know if there is a way to (or a toolchain to) write out Turbo Basic programs on the PC and then auto compile them into a .xex or similar file?

Link to comment
Share on other sites

Nice work!

 

Thanks!

 

I found a little typo, just search for "fromat" (instead of 'format').

 

Good timing. I was just getting ready to post a new version, with the newly formatted one-page reference sheet. So I can make that and the other corrections when I add the new portion. Unfortunately it will have to wait until I get a new PDF editor, as my old version decided it doesn't want to work properly anymore (windows... adobe... beh!).

 

Oh, and the text in the graphics memory map is in German, is this supposed to be?

 

I think I pulled it directly from an old Happy Computer mag. Pretty easy for an English speaker to figure out what's what though, eh? :) Maybe it helps keep the language's origins in tact too.

 

Link to comment
Share on other sites

I have been using Turbo Basic XL for many years and is a great programming language. Since I primarily do cartridge ML programming now, only use Turbobasic to help demonstrate stuff or generate some per-calculated data. I was using ML routine calls that I found in Compute@ Magazine to handle Player/Missile graphics. I also have the Basic XE cartridge.

 

I wonder if anybody ever disassembled Turbo Basic or got a hold of the source code. I would like to see if it is possible to hack into Turbo Basic and give it more abilities.

 

I admit one issue with any Basic is that all the variables are Binary Code Decimal floating point, Have no option of using one or two byte positive integers. One major reason why compiled assembly to ML runs faster than even Compiled Turbo Basic.

  • Like 1
Link to comment
Share on other sites

Often wished that myself in years gone by. Ints would be big space-savers too. It's been very rare in twenty-odd years of coding on the A8 that I really needed floating point numbers, although up to 32-bit long integers are nice to have (along with signed ints on occasion). Using constants for assignments goes some way to reducing code bloat, but one problem I often used to run into there was filling up the variable name table (the 256 var limit being quite easily reached by ample use of PROCs).

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Errm sorry,

 

but there is another small correction I would like to mention:

 

- Turbo Basic XL automatically disables Atari Basic, so there is no need to hold down the Option key, when loading TB XL

 

- alas, the TB XL compiler and the CTB runtime do NOT disable Atari Basic, so you either have to hold down the Option key or use a Basic-off switcher in front of these files

 

-----

 

TB XL automatically loads a file named Autorun.BAS at startup; unlike some other languages it does not lock up if this file is not there nor does it search endlessly for this file, instead it goes to the READY prompt and its standard Gr. 0 screen.

(The Basic XL runtime requires a file named Autorun.BXL, if this file is not there, it searches for it endlessly, even Break or Reset will not help here. The name Basic XL "runtime" is confusing, since it loads uncompiled Atari Basic and Basic XL files; its a kind of shortened Basic XL that will only execute but not edit any Basic/Basic XL files; it was made freely available by OSS for those that do not have Basic XL but would like to execute Basic XL programs others wrote; afaik a BXL compiler does not exist)

 

I am not sure, but I think I have read somewhere, that if you load TB XL and then go to DOS you can re-enter TB XL with "M" run at adress $2080; it could be that MEM.SAV has to be active to make this work; since I do not program in AB or TB XL (I am no programmer), I have never tested this.

 

There exist various enhancements for Atari Basic, believe it or not, there are also some enhancements for TB XL, e.g. an "Extended TB XL" PD-disk with some extra routines and functions (not sure if these are useful or not). Attached the disk here...

tbxl_ext.zip

Edited by CharlieChaplin
  • Like 3
Link to comment
Share on other sites

- Turbo Basic XL automatically disables Atari Basic, so there is no need to hold down the Option key, when loading TB XL

 

- alas, the TB XL compiler and the CTB runtime do NOT disable Atari Basic, so you either have to hold down the Option key or use a Basic-off switcher in front of these files

 

Yes, I was aware that TBXL does disable internal BASIC on it's own. I didn't really think about the compiler and runtime, but that doesn't seem so odd, except that it's inconsistent. I'm in the habit of using option for any disk that's booting a machine language program. I suppose it's worth noting though.

 

 

There exist various enhancements for Atari Basic, believe it or not, there are also some enhancements for TB XL, e.g. an "Extended TB XL" PD-disk with some extra routines and functions (not sure if these are useful or not). Attached the disk here...

 

Interesting. I had not seen these before. Thanks for posting. I translated the reference manual -- although via google only -- and started playing around with the extensions. They look pretty decent. If they turn out to be worth the effort I'll add a section for them in the manual, although I would probably need some assistance from a native German speaker on a few points.

 

I see one extension file named SCROLL.XTB. However, I don't see any reference to scrolling in the documentation. I'm wondering if the documentation for this is missing, or whether the extension is actually for something not related to scrolling? If you have any more information or disks related to these extensions I'd be interested in checking them out.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...