Jump to content
wmt029

Turbo Basic

Recommended Posts

Hi!

13 hours ago, baktra said:

Since FB cross compiler is a transpiler

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

 

Only a nitpick, FastBasic cross-compiler is not a transpiler in the common sense, as it directly produces assembly files. It does use the CA65 assembler and the LD65 linker to produce the final executable.

 

On 2/23/2021 at 8:59 AM, wmt029 said:

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?

 

FastBasic produces stand-alone Atari DOS executables (.XEX), and works on any Atari 8-bit system. If you program using the Atari IDE, the compiled programs will always include the full run-time, but this is only about 3kb. Using the cross-compiler, as @baktra said above, the resulting program will be smaller. Also, the cross-compiler includes an optimizer, making the code about 10% faster.

 

Have Fun!

  • Like 2

Share this post


Link to post
Share on other sites

Hi!

On 2/21/2021 at 9:41 PM, wmt029 said:

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

 

I downloaded your game to see what it is like, I think you could borrow the technique from the WAZERS ten-liner (made by @vitoco in 10 lines of FastBasic) to implement this, see the description at: http://www.vitoco.cl/atari/10liner/WAZERS/

 

Basically:

- Your ship and the shots are players.
- Enemies are implemented in character mode (ANTIC mode 4, using redefined charset), this allows having many enemies in the same line.

- Collisions are detected using hardware collision registers.
- The star-filed could be implemented as two missiles with the horizontal position controlled from a DLI.

 

Have Fun!

 

  • Like 2

Share this post


Link to post
Share on other sites
12 hours ago, dmsc said:

Hi!

 

I downloaded your game to see what it is like, I think you could borrow the technique from the WAZERS ten-liner (made by @vitoco in 10 lines of FastBasic) to implement this, see the description at: http://www.vitoco.cl/atari/10liner/WAZERS/

 

Basically:

- Your ship and the shots are players.
- Enemies are implemented in character mode (ANTIC mode 4, using redefined charset), this allows having many enemies in the same line.

- Collisions are detected using hardware collision registers.
- The star-filed could be implemented as two missiles with the horizontal position controlled from a DLI.

 

Have Fun!

 

Awesome! Thanks for the advice!

Share this post


Link to post
Share on other sites

All in all, I'd recommend MadPascal for this. Not that the other solutions are incapable, far from it, but MP is really powerful, fast, high level, and single executable. Fastbasic sounds good too, but I've no experience with it.

Edited by danwinslow
  • Like 1

Share this post


Link to post
Share on other sites

Speaking of @dmsc’s amazing work, I was notified an hour ago of a new Fast Basic v4.5 release candidate :) Thank you for the awesome work, Daniel!!

 

https://github.com/dmsc/fastbasic/releases/tag/v4.5-rc

 

To the original question, I LOVE Turbo BASIC XL, but if you need to wring more performance out of a BASIC program, Fast Basic will definitely gain you a good deal of performance in most areas. This evening I was playing around with Fast Basic V4.4, TBXL, and Advan BASIC, just testing how many times it would read a joystick and print the STICK(0) results at 0,0 on a GR. 2+16. Nothing else was going on, just reading STICK(0) and printing that value at 0,0 for 15 seconds in a WHILE/WEND loop. Fast Basic does a little over twice the # of iterations (averaged about 3,600). This was directly on real hardware.

 

 

  • Like 1

Share this post


Link to post
Share on other sites

I tried FastBasic and I love it, it's neat how the compiler is integrated so nicely into it. Imagine having that back in the day.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

I have a very dumb Mad Pascal question...

 

Do you actually write the code on an Atari? I've been hunting around and I found the github page for it but I don't see anything like an .atr, .xex. com file etc.

Share this post


Link to post
Share on other sites
55 minutes ago, wmt029 said:

I have a very dumb Mad Pascal question...

 

Do you actually write the code on an Atari? I've been hunting around and I found the github page for it but I don't see anything like an .atr, .xex. com file etc.

You write code on a Windows/Linux/macOS machine, and compile for the Atari. Getting the executable over to the Atari is an exercise for the reader. 😎

 

 

  • Like 1

Share this post


Link to post
Share on other sites
15 minutes ago, gozar said:

You write code on a Windows/Linux/macOS machine, and compile for the Atari. Getting the executable over to the Atari is an exercise for the reader. 😎

 

 

Thanks- that's what I thought!

Share this post


Link to post
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...