Jump to content
IGNORED

BASIC Choices


Recommended Posts

I need to choose a BASIC for graphics and game programming. Here are my priorities, most important to least important.

 

1. Easy access to assembler/machine language statements

2. Strong support for graphics, p/m, and sound

3. Full-feature math library with support for most geometric and trigonometric functions

4. Widely compatible with, and conveniently executable on, popular hardware/software

5. Supports named procedures

6. Decent editor; 80 columns if possible

7. Supports compiling

8. Does not require line numbers

 

Please, offer suggestions, arguments, and potential pitfalls.

 

Link to comment
Share on other sites

TBXL has the advantage IMO.

Upside vs the likes of Basic XL/XE is that it's on disk so the audience is much bigger. Also I believe the PMG support is better and overall speed as well.

 

Downside is the memory footprint, plus I don't think it takes advantage of 130XE extended RAM. And possibly not compatible with a large range of Doses (?)

But really, if you do a game then it'll probably live on it's own disk/image with your choice of Dos so it's not that much of a problem.

 

80 col editor - I don't think any have that. E: alternatives that provide 80-col tend to not care what language environment is in use though TBXL would be at a disadvantage there thanks to memory footprint likely conflicting with such handlers.

Link to comment
Share on other sites

FastBASIC may appeal. Full-screen editor without line numbers, supporting 80 column editing (under SDX with S_VBXE.SYS/CON.SYS or any environment which patches the screen editor for 80 columns). Can compile.

 

As mentioned, TBXL uses the shadow RAM, so disk-based SpartaDOS and SDX using 'OSRAM' are out the window. TBXL has no additional instructions explicitly related to player missile graphics, although any BASIC (including TBXL) which includes a 'MOVE' statement can easily shunt PMG data around.

 

Not sure about the TBA files, but if you want to play with Turbo BASIC, you can download a number of ATRs here.

 

This is FastBASIC running under the aforementioned VBXE 80 column environment:

 

post-21964-0-85387400-1545130810.png

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

 

What's your take on it?

 

I didn't look too closely into it, but I imagine the runtime module (which is only 3K in size) is integral to the compiled executable, and it seems plenty fast regardless of the fact it compiles to some intermediary code type. It's hard to actually recommend anything beyond that, since once you become limited by compiled BASIC, the next logical steps are C and/or assembly language. The investment of time required to transition entirely to assembly language and the resulting increase in development time is more than offset, in my experience, by no longer having to fight against whatever constraints higher level languages put in the way.

 

That said, I spent a couple of years doing everything in TBXL and a couple more years working in CC65 before I fully committed to assembly language. I would probably have used FastBASIC instead of TBXL, though, had it been available in the early 90s.

  • Like 1
Link to comment
Share on other sites

Hi!,

 

FastBASIC looks impressive. My only misgiving is that it compiles to some kind of CC65 bitcode and requires a utility to run it. This isn't a tragedy, but I would strongly prefer something that actually links to an executable. What's your take on it?

FastBasic does compile to a bitcode, but links to the interpreter so it produces standalone executables, just type control-w in the ide.

 

The cross-compiler is the one that uses the CC65 assembler and linker, but this also produces standalone executables.

 

Have fun!

  • Like 2
Link to comment
Share on other sites

 

I didn't look too closely into it, but I imagine the runtime module (which is only 3K in size) is integral to the compiled executable, and it seems plenty fast regardless of the fact it compiles to some intermediary code type. It's hard to actually recommend anything beyond that, since once you become limited by compiled BASIC, the next logical steps are C and/or assembly language. The investment of time required to transition entirely to assembly language and the resulting increase in development time is more than offset, in my experience, by no longer having to fight against whatever constraints higher level languages put in the way.

 

That said, I spent a couple of years doing everything in TBXL and a couple more years working in CC65 before I fully committed to assembly language. I would probably have used FastBASIC instead of TBXL, though, had it been available in the early 90s.

 

I concur with all that, but I might suggest Action! be given some consideration. The machine code it produces is pretty fast usually. The main drawback is that you need to use a somewhat clunky add on library for floating point stuff, but even so you might find the clunkiness to be not so bothersome. Yes, I know it's not BASIC, but it is really not much more different from traditional line numbered BASICS than FastBASIC is from those too.

Link to comment
Share on other sites

I might suggest Action! be given some consideration.

 

I thought about Action!, as well as jumping straight to assembler. But I already know BASIC fairly well and I'm a big believer in using what I have for as long as I can. If and when my uses outgrow my tools, I will move to new ones and be clear on why. That has been, for me, the most natural and successful way evolve my skills.

Link to comment
Share on other sites

FastBASIC may appeal. Full-screen editor without line numbers, supporting 80 column editing (under SDX with S_VBXE.SYS/CON.SYS or any environment which patches the screen editor for 80 columns).

 

Do you have a disk image with SpartaDOS and VBXE 80 column already set up? Something that I can just point to in Altirra and go?

Link to comment
Share on other sites

 

Do you have a disk image with SpartaDOS and VBXE 80 column already set up? Something that I can just point to in Altirra and go?

 

Sure - try this:

 

fb_vbxe.atr

 

Boot with SDX cart, VBXE and some extended RAM (U1MB will do fine; delete 'DEVICE ULTIME' from CONFIG.SYS if you're not running U1MB). 80 column driver is installed and set up automatically. Type 'X FB' to run the FastBASIC IDE.

 

Drivers and AUTOEXEC.BAT are located in the 'DOS' folder.

  • Like 1
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...