Jump to content
IGNORED

Turbo Basic


wmt029

Recommended Posts

14 minutes ago, baktra said:

If the shooter is to be written from scratch, FastBASIC, CC65, Mad Pascal, or KickC are better options.

I'm not sure that's true for a simple shooter (depending on how simple of course). Don't forget, TBXL now has the ability to be easily cross-developed using DSMC's BASIC/TBXL Parser -- which enables working without line numbers and diminishes the output program size (if desired) significantly (including disappearing "REM" lines). A rather formidable development combination -- especially when used with a good PC editor and quality language definition files. Development is quite quick using it; and when less time is spent on general development, more time can be devoted to optimizations, if needed.

 

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

1 hour ago, MrFish said:

TBXL now has the ability to be easily cross-developed using DSMC's BASIC/TBXL Parser

Where I find it with compiler? All statement of TB XL are implemens?

4 hours ago, wmt029 said:

I'm thinking about converting my simple space shooter to the Atari 8 bit line. I'm not sure I want to take the time to learn Assembly language. What do people thing about using Turbo Basic? I vaguely remember that it was possible to compile Turbo Basic programs.

Can you show us your shooter? All is depend of complexity of your game. And Yes, Turbo Basic XL is simply language to learn to peoples, who know BASIC dialects.

Link to comment
Share on other sites

31 minutes ago, Sikor said:

Where I find it with compiler? All statement of TB XL are implemens?

It doesn't compile. You still have to do that with TBXL. No big deal, because compiling is usually just something you do at the end, or from time to time when testing out the speed of things. BASIC/TBXL Parser does shorten your source to the most compact possible tokenized or ATASCII form, though, giving you a lot of memory use reduction. It's Windows command line, so you can execute from any good IDE (Notepad++ works great with it).

 

All TBXL statements are implemented. I've been using it for years now with great success.

 

The latest version can always be found here: TBXL / Atari BASIC Parser

It's by user @dmsc here; the same guy who developed fastBasic.

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Hi!

5 hours ago, MrFish said:

It doesn't compile. You still have to do that with TBXL. No big deal, because compiling is usually just something you do at the end, or from time to time when testing out the speed of things. BASIC/TBXL Parser does shorten your source to the most compact possible tokenized or ATASCII form, though, giving you a lot of memory use reduction. It's Windows command line, so you can execute from any good IDE (Notepad++ works great with it).

 

All TBXL statements are implemented. I've been using it for years now with great success.

 

The latest version can always be found here: TBXL / Atari BASIC Parser

It's by user @dmsc here; the same guy who developed fastBasic.

 

Yes, FastBasic started as my attempt at writing a new compiler for TBXL, and realizing that changing the language would be easier and produce faster results.

 

And that link above reminds me, it has been 1.5 years since last release of the tbxl-parser, I should prepare a new release with all the changes already included in the source - specially the added support for Atari BASIC output.

 

Have Fun!

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

11 hours ago, Sikor said:

Where I find it with compiler? All statement of TB XL are implemens?

Can you show us your shooter? All is depend of complexity of your game. And Yes, Turbo Basic XL is simply language to learn to peoples, who know BASIC dialects.

Here is my itch.io: https://wayneoxfordgames.itch.io/ (Sorry it's an ugly page at the moment)

 

It's the game called 'Tunnel Vision'. There are screenshots and a Windows download.

Link to comment
Share on other sites

First stab at emulating the screen layout. No sprites or actual game yet. Text layout needs more polish, just a first swing.

 

Left is the the full Windows version of the game (built in GameMaker Studio 2), right is Turbo Basic version in progress. Basically it draws a random starfield then the lines (it'd be neat if I could somehow imitate the parallax star scrolling effect of my Windows game but I think that's asking a lot of a Basic program). Next up will be figuring out the sprites/player missile graphics.

tunnelvision.png

  • Like 1
Link to comment
Share on other sites

On 2/20/2021 at 10:30 PM, wmt029 said:

I'm thinking about converting my simple space shooter to the Atari 8 bit line. I'm not sure I want to take the time to learn Assembly language. What do people thing about using Turbo Basic? I vaguely remember that it was possible to compile Turbo Basic programs.

Yes, although "compiled" TB programs still need to be distributed with a runtime.    Compiled TB was much faster than Atari Basic, and has lots of useful commands Atari BASIC doesn't have

 

One possible drawback is because of how TB memory is mapped,  TB programs will only work on systems with 64K RAM or more

Link to comment
Share on other sites

1 hour ago, zzip said:

Yes, although "compiled" TB programs still need to be distributed with a runtime.    Compiled TB was much faster than Atari Basic, and has lots of useful commands Atari BASIC doesn't have

 

Can you try anyway use LINKER? My programs was made usually with Turbo Basic XL and usually I made one file (xex) running standalone without any extended runtime. And yes, runtime is in it and it took about 16Kb RAM ?

I red about version of TB XL for Atari 800 (48K), but I never try it in real machines and I don't know if runtime works for 800.

In attachment is my old text game written in Turbo Basic XL.

Tajemniczy Zamek 2 (2011)(Sikor Soft)(PL)[en].xex

 

Link to comment
Share on other sites

6 hours ago, zzip said:

Yes, although "compiled" TB programs still need to be distributed with a runtime.    Compiled TB was much faster than Atari Basic, and has lots of useful commands Atari BASIC doesn't have

 

One possible drawback is because of how TB memory is mapped,  TB programs will only work on systems with 64K RAM or more

Oh that's too bad. I would like it to be able to run on an Atari 400/800. I'll look into something else.

Link to comment
Share on other sites

4 hours ago, Sikor said:

Can you try anyway use LINKER? My programs was made usually with Turbo Basic XL and usually I made one file (xex) running standalone without any extended runtime. And yes, runtime is in it and it took about 16Kb RAM ?

I red about version of TB XL for Atari 800 (48K), but I never try it in real machines and I don't know if runtime works for 800.

In attachment is my old text game written in Turbo Basic XL.

Tajemniczy Zamek 2 (2011)(Sikor Soft)(PL)[en].xex 46.44 kB · 5 downloads

 

Thanks! I suppose I could test in an emulator in Atari 800/48k mode.

Link to comment
Share on other sites

2 minutes ago, wmt029 said:

Oh that's too bad. I would like it to be able to run on an Atari 400/800. I'll look into something else.

Yeah the plus side is TB gives the programmer more memory to work with than Atari BASIC does despite all the additional features,  but the downside is it can't be used on 400/800

Link to comment
Share on other sites

2 hours ago, zzip said:

Yeah the plus side is TB gives the programmer more memory to work with than Atari BASIC does despite all the additional features,  but the downside is it can't be used on 400/800

To be more specific, it's Turbo-BASIC XL 1.5 that's not compatible with 400/800 machines (only XL/XE) -- due to memory layout.

Turbo-BASIC 1.4 is compatible with 400/800 machines -- and I believe compatible with XL/XE machines too (not entirely sure; haven't tested it much); but it doesn't include a compiler (and I'm pretty sure won't work with the Turbo-BASIC XL 1.5 compiler either; but I could be wrong about that; never have tested it).

 

Here's the 400/800 compatible version.

 

Turbo-BASIC 1.4.atr

 

Edited by MrFish
Link to comment
Share on other sites

7 hours ago, MrFish said:

Here's the 400/800 compatible version.

Ok, I tried it - I attach disk with simple test programs. I compile it under TBC.COM and link with linker. And yes, i can'y run it in altirra 400 os (compiled and compiled and linked), but I think - good compiler and linker, wchich can attach ony used commands woul'd be solution for Atari 800 (48Kb).

Anyway - can anyone try it on real hardware (800)?

- from this disk (run test.tb source, try brun test.ctb compiled and run test.com - compiled and linked

- load from other dos and run it (test.com) standalone?

- load from other dos TB XL 1.4 and brun compiled test.ctb?

 

Turbo-BASIC 1.4.atr

Edited by Sikor
more info
  • Like 1
Link to comment
Share on other sites

11 hours ago, MrFish said:

To be more specific, it's Turbo-BASIC XL 1.5 that's not compatible with 400/800 machines (only XL/XE) -- due to memory layout.

Turbo-BASIC 1.4 is compatible with 400/800 machines -- and I believe compatible with XL/XE machines too (not entirely sure; haven't tested it much); but it doesn't include a compiler (and I'm pretty sure won't work with the Turbo-BASIC XL 1.5 compiler either; but I could be wrong about that; never have tested it).

 

Here's the 400/800 compatible version.

 

Turbo-BASIC 1.4.atr 90.02 kB · 3 downloads

 

Thanks! I'll need to test it. I think I'd want to be able to compile the game into an executable.

 

Maybe I'll take a look at FastBasic or MadPascal. Does anyone happen to know if those platforms work with the 400/800?

Link to comment
Share on other sites

6 hours ago, wmt029 said:

Thanks! I'll need to test it. I think I'd want to be able to compile the game into an executable.

 

As you can see from @Sikor's post, you can compile v1.4 sources with the compiler that is part of v1.5, and then link the runtime to the compile sources to output a single binary executable file.

 

His example is simple though. So, I'd say a little more thorough testing is needed to ensure full compatibility between 1.4 and the compiler.

 

6 hours ago, wmt029 said:

Maybe I'll take a look at FastBasic or MadPascal. Does anyone happen to know if those platforms work with the 400/800?

 

I don't think there are any restrictions that prevent MadPascal or FastBasic from working with 400/800 machines.

 

Link to comment
Share on other sites

Well,

every compiled TB XL program requires a Runtime and afaik, the Runtime for CTB programs uses RAM under the OS, so it is XL/XE compatible only and will not run on 400/800 machines. (And the CTB-linker simply links runtime+CTB into one single file, which then of course still requires RAM under the OS and therefore does not run on 400/800 machines.)

 

If you want to create a compiled executable, try standard Atari Basic and then ABC/MMG compiler or better use Fast Basic. (Never used Advan Basic, so I do not know if its compiler produces a stand-alone executable or if it produces a compiled program that requires a separate runtime. The next Abbuc magazine will maybe tell us more...)

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, CharlieChaplin said:

the Runtime for CTB programs uses RAM under the OS, so it is XL/XE compatible

So, Question is: is it possible write new runtime, maybe relocated?

I dream about compiler integrated with runtime, wchich can be add to compiled programs only used instruction set... Yes, I know, is only dream... Nobody makes it ?

Link to comment
Share on other sites

15 hours ago, Sikor said:

So, Question is: is it possible write new runtime, maybe relocated?

I dream about compiler integrated with runtime, wchich can be add to compiled programs only used instruction set... Yes, I know, is only dream... Nobody makes it ?

It would be possible, however the RAM available for the compiled program would be reduced significantly. Using RAM under ROM is one of the key contributors to TBXL's success.

 

Since FB cross compiler is a transpiler

to CC65, it benefits from its linker LD65 and only includes used parts of the runtime library.

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