Jump to content
IGNORED

FastBasic - Summer Release


dmsc

Recommended Posts

Very nice and clean website.

 

When you'll have time, please add FastBasic to Basic section.

 

Thanks.

 

I'd been planning to add it, but I was waiting till it gets to a mature state -- so I wouldn't need to update as much.

Maybe it's getting there now though...

 

Question for dmsc: how are things on planned features/additions to FastBASIC at this point? Is there still a lot

on the table?

Edited by MrFish
Link to comment
Share on other sites

I agree.... I found very interesting things there I was not aware of. Thank you!

 

Good to hear people are finding it useful.

 

BTW, some updates on the site occur silently, such as for PC based applications and utilities -- which tend to get updated frequently. I like to keep the update

page devoted to section additions and major sections changes, rather than as a monitor for these constant application/utility version ramps -- which would

ultimately inundate the update page. So, even if you don't see much happening on the update page, most likely there are changes throughout the site in the

areas mentioned.

Link to comment
Share on other sites

Hi!

 

Thanks.

 

I'd been planning to add it, but I was waiting till it gets to a mature state -- so I wouldn't need to update as much.

Maybe it's getting there now though...

 

Question for dmsc: how are things on planned features/additions to FastBASIC at this point? Is there still a lot

on the table?

I don't have any specific short term plans on the table for the current IDE, mostly try to optimize a few bytes and perhaps add some useful functions, and lately I did not have much time to work on FastBasic.

 

Medium term, I think that the current integer-only IDE is in a good balance between size and features, but thinks I would like to add to the floating-point IDE are:

 

- Proper procedures with parameters and local variables,

- User defined functions (like procedures but with a return value),

- A proper cross-compiler to native assembly.

 

The last one is the most difficult, as that would need rewriting the library to remove the dependency on the interpreter, but would make the language appropriate for writing longer programs.

  • Like 3
Link to comment
Share on other sites

Hi!

 

I don't have any specific short term plans on the table for the current IDE, mostly try to optimize a few bytes and perhaps add some useful functions, and lately I did not have much time to work on FastBasic.

 

Medium term, I think that the current integer-only IDE is in a good balance between size and features, but thinks I would like to add to the floating-point IDE are:

 

- Proper procedures with parameters and local variables,

- User defined functions (like procedures but with a return value),

- A proper cross-compiler to native assembly.

 

The last one is the most difficult, as that would need rewriting the library to remove the dependency on the interpreter, but would make the language appropriate for writing longer programs.

 

Hi and thanks for the infos. It sounds fairly situated for now then, with some good future goals.

Link to comment
Share on other sites

When you'll have time, please add FastBasic to Basic section.

 

FastBASIC is unique in that it carries a native and cross compiler. I'm not sure how to list it exactly. I'd prefer not to separate the two;

but it makes the most sense in terms of my site's layout. Maybe I can include both components in each category.

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

I've added FastBASIC v3.5. I separated them, but I put a link for the other on each section.

 

Serious Computerist: Update

 

fastbasicnative.pngfastbasiccross.png

 

Nice design... Who made it?

 

I think that somewere in the description should say that there are 2 editions for the same version: Integer and Floating Point.

 

Also, shouldn't dmsc's name be in the "Programmer" field?

  • Like 1
Link to comment
Share on other sites

Hi!

 

I've added FastBASIC v3.5. I separated them, but I put a link for the other on each section.

 

Serious Computerist: Update

Thanks, and really nice icons :)

 

Can I ask you to put a link to the github page https://github.com/dmsc/fastbasic/ ?

 

Also, if you want you can include the manual (from https://github.com/dmsc/fastbasic/blob/master/manual.md) as a PDF file, I used http://www.markdowntopdf.com/ to convert to the attached file.

 

Thanks again!

fastBasic-3.5-manual.pdf

Link to comment
Share on other sites

 

fastbasicnative.pngfastbasiccross.png

 

Nice design... Who made it?

 

Thanks, I did it this afternoon.

 

 

I think that somewere in the description should say that there are 2 editions for the same version: Integer and Floating Point.

 

Maybe. I figured people will find out once they get into it. But maybe I'll see if I can add something.

 

 

Also, shouldn't dmsc's name be in the "Programmer" field?

 

I would have, but I haven't seen his name on anything. Some people aren't interested in slathering

their real name all over the internet. But if he's interested in putting it I'd be glad to add it.

 

 

Thanks, and really nice icons :)

 

Can I ask you to put a link to the github page https://github.com/dmsc/fastbasic/ ?

 

Thanks for putting together the nice language. People rarely follow through with creation of new

languages on the Atari. It's a great addition to the system's arsenal (along with the basicParser).

 

I try to keep the linking down to a bare minimum on my site, since I have maintain the bloody things,

which I don't want to get out of hand. But, I put any requests by authors of software on my site

ahead of my own ideas; so I'll add the links for you.

 

 

Also, if you want you can include the manual (from https://github.com/dmsc/fastbasic/blob/master/manual.md) as a PDF file, I used http://www.markdowntopdf.com/ to convert to the attached file.

 

Thanks again!

 

Sure, I like having a PDF. Do you have (or can you make) one for the command line compiler?

 

Also, would you like me make a large version of the design to use for covers on the manuals?

Edited by MrFish
Link to comment
Share on other sites

Hi!

 

I would have, but I haven't seen his name on anything. Some people aren't interested in slathering

their real name all over the internet. But if he's interested in putting it I'd be glad to add it.

I don't mind either way. And note that my real name is not really hidden, as it is over all source files, in the copyright :)

 

Thanks for putting together the nice language. People rarely follow through with creation of new

languages on the Atari. It's a great addition to the system's arsenal (along with the basicParser).

 

I try to keep the linking down to a bare minimum on my site, since I have maintain the bloody things,

which can get out of hand. But, I put any requests by authors of software on my site ahead of my

own ideas; so I'll add the links for you.

If you don't want to put links, you can put it as a text "distributed in github, at github.com/dmsc/fastbasic" would be enough. I only want to ensure that the reader knows that there is a bug-tracker and source history there.

 

Sure, I like having a PDF. Do you have (or can you make) one for the command line compiler?

So, I installed pandoc and Latex and generated my own PDF manuals using this template: https://github.com/Wandmalfarbe/pandoc-latex-template, attached are the results. I think that the result is a little better than the generated by http://www.markdowntopdf.com/.

 

Also, would you like me make a large version of the design to use for covers on the manuals?

Yes, that would be great!

 

Thanks again.

fastBasic-3.5-manual-2.pdf

fastBasic-3.5-cross-compiler.pdf

  • Like 4
Link to comment
Share on other sites

I don't mind either way. And note that my real name is not really hidden, as it is over all source files, in the copyright :)

 

Ah, no wonder I hadn't see it yet; I hadn't been in the sources. I'll add it, since there seems to be an interest.

 

 

If you don't want to put links, you can put it as a text "distributed in github, at github.com/dmsc/fastbasic" would be enough. I only want to ensure that the reader knows that there is a bug-tracker and source history there.

 

As I mentioned already, I will add a link. Links on my site are still pretty minimal and have been maintenance free

(so far), and yours is the first such specific request; so no problem.

 

 

So, I installed pandoc and Latex and generated my own PDF manuals using this template: https://github.com/Wandmalfarbe/pandoc-latex-template, attached are the results. I think that the result is a little better than the generated by http://www.markdowntopdf.com/.

 

Nice; I see they're bookmarked already too. Thanks.

 

 

Yes, that would be great!

 

Thanks again.

 

Alright, I'll add your name on the covers somewhere too.

Edited by MrFish
Link to comment
Share on other sites

  • 3 months later...

Hi all!

 

I just made a new release v3.6 with some minor enhancements:

 

- Adds the CHR$ function.

- Adds the MSET statement, this fills memory with the given value.

- Adds CLS statement, clears the screen.

- There is better error reporting in the cross-compiler.

 

Also, there are more optimizations, the parser is about 20% faster in the Atari and some bugs were fixed in the cross-compiler.

 

After all the additions, the integer IDE is only 30 bytes bigger at 8186 bytes and the floating-point IDE is 12 bytes bigger at 9453 bytes.

 

Note that the new MSET statement is specially useful when clearing and moving P/M data, as it is faster then doing the typical "POKE X,0: MOVE X,X+1,255", now you should write "MSET X, 256, 0" (address, length and value).

 

As always, download the new release from https://github.com/dmsc/fastbasic/releases/

Edited by dmsc
  • Like 8
Link to comment
Share on other sites

Great news!

 

CHR$ function was most wanted new feature in FastBasic for me :)

MSET seems to be very useful, too. I will test it in my examples, including CHR$, in Mad Studio.

 

I will check your documentation.

 

Greetings

Edited by Gury
  • Like 1
Link to comment
Share on other sites

As hinted above, MSET would just be faster.

More akin to looping through to save the same value at the address pointed to.

Whereas move is more generic as the target could be anywhere and so has to do a 'load source, save to dest'.

The specific case highlighted works as exploiting the copying of the value to the adjacent address in memory.

  • Like 1
Link to comment
Share on other sites

As hinted above, MSET would just be faster.

More akin to looping through to save the same value at the address pointed to.

Whereas move is more generic as the target could be anywhere and so has to do a 'load source, save to dest'.

The specific case highlighted works as exploiting the copying of the value to the adjacent address in memory.

 

Quite so: I simply hadn't read the prior post. My bad. :)

Link to comment
Share on other sites

Wow. Thanks!

 

MSET would save about 7 bytes, about 40% for each statement pair in my tenliners. I'll check how much room I can do in my latest FastBasic game to add more features, because when the POKE is not needed, I couls save only 1 byte..

 

CHR$ is very useful, but I've managed it with POKE as I usually don't use PRINT in my mini games. STR$ was the function that I needed, and it was added in a previous version.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Hello,

 

So, I'm a little lost.

 

How much free memory fastbasic provides ?

 

Cheers

 

Devwebcl

Booting the FastBasic 3.5 atr disk, loading FBI.com, entering PRINT FRE() in the editor, then pressing CTRL-R to parse/compile/execute shows 30755 after that tiny bit of code. When compiling as an executable to disk, the FRE() amount will be less (around 2K less or so) bc of the inclusion of the runtime. Using FB.COM the above sample will yield about 29467.

 

dsmc has done a fantastic job with his BASIC.

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