Jump to content
IGNORED

Turbo Basic XL hacks or improvements


peteym5

Recommended Posts

Did anyone ever disassemble Turbo Basic XL, hacked or improved upon it since its original release?

 

Does anyone have the original source code? Even if the comments are in German, we can probably translate it to English with Google or Bing translator.

 

  • Like 1
Link to comment
Share on other sites

Hello Peter

 

... we can probably translate it to English with Google or Bing translator.

 

 

I was under the impression that people want to know what was really written. :D

 

But seriously, most comments are made up of short sentences. Determining what the author really meant to say is therefor hard enough without Google or Bing interfering. It shouldn't be to hard to find somebody who speaks English, German and assembler.

 

Sincerely

 

Mathy

Link to comment
Share on other sites

I found it on one of the original Turbobasic disk images.

 

I also disassembled the Turbo Basic Executable to look at where it is loading into memory and under the OS. It may be possible to hack and modify it.

 

Personally I would not worry about making it work with SpartaDOS because there are versions that someone did hack, but that only left you only about 20K for your programs. Both SpartaDOS and TurboBasic load in the RAM under the OS. Another option I am surprised no one considered is to load TurboBasic into one of the banks of a 130XE.

 

Hacks I am thinking about is start optimizing the program down further. Its probably already very compact, but like Phaeron did with Atari Basic, he did find some things. I would target the section that loads into main ram and reduce it. leaving more memory available for your programs.

Link to comment
Share on other sites

TB already provides a very generous amount of free RAM, and it'll be a difficult prospect to modify it in useful ways without source code. If you can understand a disassembled interpreter, it might be easier to sit down and write a new version of TB from the ground up, as Phaeron did with AltBASIC (which is not a hacked or altered version of Atari BASIC, but a complete reimplementation of it).

 

As for loading code into extended RAM: the reason it probably hasn't been done is that you end up with contention between code and data (i.e. your BASIC program) occupying the same address space, making direct access to data slow and difficult.

Link to comment
Share on other sites

Using an XE bank is a good idea, if the above problem Jon just mentioned can be dealt with. It also needs to respect SDX bank usage. I would also love to see a version (at least of the Runtime) that is optimized for speed using 816 code.

Sparta 3.x compatibility is no big deal to me, but, if the under the OS code is moved to an XE bank, SD3.x may be possible.

Edited by Kyle22
Link to comment
Share on other sites

Remember that if you're using SDX, the Shadow RAM contention issue becomes irrelevant anyway since Turbo BASIC XL runs just fine with SDX as it is.

Yes, that's my BASIC programming platform of choice. More free RAM, and taking advantage of (at least) the 816 block copy instructions would be nice, though.

Link to comment
Share on other sites

Could also do it in the style of OSS Basic XE with EXTEND. Keep all the variables, interpreter, etc. in low memory, and put the basic program source in extended memory. Maybe keep everything except the source outside of $4000 to $7FFF, ending up with 64K for the program on the 130XE. Could also have it detect extended memory available (256K, 320K, 576K machines)

Link to comment
Share on other sites

FWIW, Andreas had an ATR of several variants of TBXL. Nothing major, but worth looking at. I'll look through my stuff and see if I can find it. If not, you might PM "CharlieChaplin" and ask him.

 

-Larry

Link to comment
Share on other sites

When programming Basic or TurboBasicXL on the Atari i often use the built in short names like gr. instead of graphics and so on. As we know when we list the program the full name appears in the listing,Like Graphics and color and Setcolor and so on. Doesn't these long Names gobble up the memory ? i mean i nice hack would be that the listing would be just like you write it

with the short names and thus saving a lot of memory ?

Link to comment
Share on other sites

Nice did't know that. But still a bit annoying when the tokens expand because of the 3 line limit, when using short names to cramp as much as possible into 3 lines and one want to edit the same line after listing, One have to do a lot of extra editing. i still think the TurboBasic XL could benefit with listing short names. Maybe we could have a short names version of Turbobasic XL for people who prefer that.

Link to comment
Share on other sites

Nice did't know that. But still a bit annoying when the tokens expand because of the 3 line limit, when using short names to cramp as much as possible into 3 lines and one want to edit the same line after listing, One have to do a lot of extra editing. i still think the TurboBasic XL could benefit with listing short names. Maybe we could have a short names version of Turbobasic XL for people who prefer that.

If a complete re-write can be done, possibly *K and *K+ for normal or abbreviated Keywords? Just an idea.

Link to comment
Share on other sites

OK, I've looked through my stuff in the usual places and come up empty -- sorry!

 

Another TBXL variant is Drac030's MultiBasic for the 65816. You must have a 65816 CPU and 65816 OS (which he also has put together). Don't have a 65816? Well, they are coming, and Drac030 may even find time to enhance his Basic (which is very similar to regular TBXL). But it also contains some interesting extensions. You can find out more about it (and other neat stuff he has written):

http://drac030.krap.pl/en-main.php

 

-Larry

Link to comment
Share on other sites

Well, there's the goto guy for TBXL source code: Konrad already performed the feat of reverse-engineering it from scratch.

You mean the G. guy :)

 

On a serious note, I sure hope he:

 

1> makes a compiler and linker available for it,

2> allows the option of using XE RAM or 816 Linear RAM, so as not to lock out us 65c802 guys, and those with 65c816 and no high RAM.

Link to comment
Share on other sites

Okay then,

 

TB XL was released in (german) Happy Computer magazine and later also in Happy Computer Special magazine (Atari XL/XE Sondermagazin 1). They used a special tool named "Ampel" to type in the ML data, think the tool worked similar to Compute`s MLX. You can find a PC program that works like Ampel does and even the TB XL, Runtime and Compiler listing in Ampel format here:

 

http://www.atarionline.pl/v01/index.php?ct=utils&sub=Z.%20Inne%20platformy&tg=PC#PC

 

Simply scroll down to Atari Ampel Decoder 0.09.7z and download this program.

 

The most common version of TB XL is the original one, TB XL 1.5. The original short docs used german language and (the displayed text in) the compiler also used german language, but Ron Fetzer and others made great english translations...

TB_XL_plus_docs.zip

 

But there also exist:

 

- versions for the Atari 400/800 (given the names Frost Basic, TB XL 400 or TB XL 800 and other names; TB is appended to DOS 2, so that DOS.SYS has a length of 180 sectors),

TB_400_800.zip

 

- a version for Sparta DOS 3.2d (named TB 3.2q),

Turbo_32q.zip

 

- one or more versions for a turbo-tape (TB XL V2.0 and/or V2.1),

TB_XL_20.zip

TB_XL_21.zip

 

- a special loader from Happy Computer special magazine to load TB XL from a standard tape drive,

(I do not think anyone will use this today, but if interested, let me know.)

 

- some TB XL enhancements

TB_XL_ext.zip

 

- some "simple" patch programs, e.g. a program to alter the colour of TB XL while loading; a program to edit the title and/or logo of TB XL, various patch-programs to make TB XL work better with certain mouse-drivers (Multi Mouse Management by Simon Trew), floppy-speeders (turbo 1050 floppy drive), etc. - I did not keep the colour or title/logo changers...

Edited by CharlieChaplin
  • Like 2
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...