Jump to content

Photo

Turbo-BASIC XL - Expanded Documentation


69 replies to this topic

#1 MrFish OFFLINE  

MrFish

    River Patroller

  • 3,834 posts
  • Location:1010-1010

Posted Thu Feb 20, 2014 11:54 AM

Final formatting and corrections. Also added TBXL memory map and compiler instructions. PDF'ed and bookmarked.

 



#2 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,482 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Thu Feb 20, 2014 12:30 PM

Wow! Was there an English original or did you also translate it? I only have/know the German "ABBUC TurboBasic Handbuch".


Edited by JAC!, Thu Feb 20, 2014 12:33 PM.


#3 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Thu Feb 20, 2014 12:59 PM

Wow! Was there an English original or did you also translate it?

 

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.



#4 NGFrankW OFFLINE  

NGFrankW

    Space Invader

  • 27 posts
  • Location:Germany

Posted Sun Feb 23, 2014 10:01 AM

 

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, Sun Feb 23, 2014 10:03 AM.


#5 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 12,369 posts
  • Location:United Kingdom

Posted Sun Feb 23, 2014 11:24 AM

I thought he was German.

#6 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Sun Feb 23, 2014 12:45 PM

 

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, Sun Feb 23, 2014 12:58 PM.


#7 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Mon Feb 24, 2014 3:58 PM

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, Mon Feb 24, 2014 4:20 PM.


#8 therealbountybob OFFLINE  

therealbountybob

    Quadrunner

  • 7,226 posts
  • High Score Club - Post a score already
  • Location:Approaching "Space Fortress Omega"

Posted Mon Feb 24, 2014 6:52 PM

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.



#9 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Mon Feb 24, 2014 7:43 PM

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, Mon Feb 24, 2014 7:59 PM.


#10 cliffh OFFLINE  

cliffh

    Space Invader

  • 42 posts
  • Location:UK

Posted Tue Feb 25, 2014 1:57 PM

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.



#11 therealbountybob OFFLINE  

therealbountybob

    Quadrunner

  • 7,226 posts
  • High Score Club - Post a score already
  • Location:Approaching "Space Fortress Omega"

Posted Sun Mar 2, 2014 12:55 PM

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



#12 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 12,369 posts
  • Location:United Kingdom

Posted Sun Mar 2, 2014 2:40 PM

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.

#13 Stephen ONLINE  

Stephen

    Quadrunner

  • 6,170 posts
  • A8 Gear Head
  • Location:Akron, Ohio

Posted Sun Mar 2, 2014 3:44 PM

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.



#14 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 12,369 posts
  • Location:United Kingdom

Posted Sun Mar 2, 2014 3:56 PM

Thanks Stephen. :)



#15 therealbountybob OFFLINE  

therealbountybob

    Quadrunner

  • 7,226 posts
  • High Score Club - Post a score already
  • Location:Approaching "Space Fortress Omega"

Posted Sun Mar 2, 2014 7:12 PM

Ahh PA. works for PAUSE - so it's the first unique abbreviation then :ponder:

should help to cram even more into my next 10 liner project :thumbsup:

 



#16 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Sun Mar 2, 2014 9:51 PM

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...



#17 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Sun Apr 20, 2014 2:19 AM

Not sure if it mentions run at address 2080 to return from DOS to TB

 

Is this supposed to work with DOS 2.5? I remember being able to use an address for DOS 2.5. All it's doing for me -- at least in emulation -- is redrawing the DOS menu.



#18 snicklin ONLINE  

snicklin

    River Patroller

  • 2,029 posts
  • Location:Australia

Posted Sun Apr 20, 2014 3:35 AM

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?



#19 Synthpopalooza OFFLINE  

Synthpopalooza

    Stargunner

  • 1,258 posts
  • Location:knoxville, TN

Posted Sun Apr 20, 2014 1:30 PM

Best you can do is, there is a linker, which will take a .CTB (Compiled Turbo Basic) file and make it into a binary executable.



#20 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Sun Apr 20, 2014 5:01 PM

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.

 



#21 peteym5 OFFLINE  

peteym5

    Stargunner

  • 1,649 posts
  • Location:Buffalo NY USA

Posted Mon Apr 21, 2014 2:34 PM

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.



#22 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 12,369 posts
  • Location:United Kingdom

Posted Mon Apr 21, 2014 2:47 PM

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).



#23 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Fri May 23, 2014 5:03 PM

New version, which has the corrections mentioned above, and the addition of a newly formatted single-page quick-reference:

 

Attached File  Turbo-BASIC XL - Expanded Documentation.pdf   4.69MB   466 downloads

 



#24 CharlieChaplin OFFLINE  

CharlieChaplin

    River Patroller

  • 2,463 posts

Posted Sat May 24, 2014 3:22 AM

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...

Attached Files


Edited by CharlieChaplin, Sat May 24, 2014 3:23 AM.


#25 MrFish OFFLINE  

MrFish

    River Patroller

  • Topic Starter
  • 3,834 posts
  • Location:1010-1010

Posted Sat May 24, 2014 12:13 PM

- 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.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users