Jump to content
IGNORED

7800basic beta, the release thread


RevEng

Recommended Posts

beta 0.1 20140423 is now in the first post, replacing the old version.

 

Here's the complete change log...

  • added indirect arrays.
  • added CARRY to if...then implementation.
  • fixed a bug where incgraphic would refuse to import 256 byte-wide non-160A graphics.
  • fixed a bug where "return:rem comment" would cause a compile error.
  • extended the number of constants to accommodate large numbers of color constants.
...I ditched the pokey ipoke/ipeek concept in favor of implementing "indirect arrays", which is a general solution to using indirect addressing from within 7800basic.
  • Like 4
Link to comment
Share on other sites

Indirect arrays.. is that like when you DIM the playfield RAM as an array in bB?

 

dim vidmem = $a4

Nope. Those are RAM arrays, and function the same as in bB.

 

Indirect arrays are covered in the guide. The executive summary is they're like regular arrays, except you can change the location of the array at any time.

 

They're mostly handy for advanced pokey manipulation, though you could use them for heavily data driven game code where the data varies greatly. E.g. A point-and-click adventure room interaction engine.

 

 

Hey, you have a complete character set for both the regular and doublewide modes? Does it match up with ASCII, or how does that work?

The "atascii" one lines up with ascii, the others don't. Check out alphachars entry in the guide for usage.
  • Like 1
Link to comment
Share on other sites

Okay, just one more thing. /columbo How would you display characters that aren't on a keyboard? Is there a chr$ command or something to that effect? Also, which characters are off-limits to use? (Return seems like a candidate.) I did look through the alphachars section but didn't find an answer.

Link to comment
Share on other sites

There's no chr$ command. So far as valid characters in alphadata or as direct plotchar strings, you can use any alphanumeric or punctuation character except for the single quote, since it's used as the string delimiter.

 

If you want to display control/non-printable characters, like return, there are a few options...

 

1. If using a non-ascii graphic, just substitute an unused printable character and graphic for the non-printable one you want to display.

2. Use a regular data statement to define the characters by # instead of letter. To do this, the character graphic should be the first graphic you "incgraphic". If you use the atascii graphic, the # would correspond to the ASCII character code.

3. If you're using RAM based character maps/strings, you can use peekchar to set a non-printable character code at a given location.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

I know it wasn't anybody's intent, but this talk of theoretical bugs and the language not being finished dissuades people from actually using it.

 

I spent a good chunk of last year swatting down outstanding bB bugs, and 90% of the 7800basic codebase is bB. No large codebase is bug free, but we're standing pretty good right now.

 

7800basic is finished in the sense you can create a commercial quality game in it right now. If anyone is waiting to start a project - be it an IDE or their own game - until the language doesn't have additions, they're waiting until I abandon the language. That would be a very poor choice.

  • Like 3
Link to comment
Share on other sites

It does come across poorly, does anybody realize that no high-level language is ever done? Do you think C++ is finished? Java? Not so much.

 

And who cares about the IDE? Use your own IDE, I use Visual Studio for 7800 code, setup a makefile project and point at your command line batch file. Done.

 

:roll:

  • Like 2
Link to comment
Share on other sites

 

And who cares about the IDE? Use your own IDE, I use Visual Studio for 7800 code, setup a makefile project and point at your command line batch file. Done.

 

:roll:

 

I'd have to respectfully disagree about the IDE. Even though I knew about bB for years it took VisualbB to get me comfortable enough to code.

 

*now* I'm OK without a dedicated IDE. Just a few years ago? Fumbling through configuring a separate IDE would have been a showstopper.

 

Just sayin' from an (especially BASIC) newbies perspective: it's a big deal. :)

Link to comment
Share on other sites

I think as users of these wonderful gifts (7800BAS, bB, Stella, etc..) it's easy to over-generalize and demand much without realizing it. Our very benefactors are also valued AtariAge members and are right here. It's an awesome thing! No need to wait. The more we use 7800BAS the more constructive feedback we can contribute.

  • Like 2
Link to comment
Share on other sites

I know it wasn't anybody's intent, but this talk of theoretical bugs and the language not being finished dissuades people from actually using it.

 

I spent a good chunk of last year swatting down outstanding bB bugs, and 90% of the 7800basic codebase is bB. No large codebase is bug free, but we're standing pretty good right now.

 

7800basic is finished in the sense you can create a commercial quality game in it right now. If anyone is waiting to start a project - be it an IDE or their own game - until the language doesn't have additions, they're waiting until I abandon the language. That would be a very poor choice.

It does come across poorly, does anybody realize that no high-level language is ever done? Do you think C++ is finished? Java? Not so much.

I should have said "closer to version 1.0" instead of "closer to being finished." More commands will be added after 1.0, just like regular bB, but the language won't be changing as much in a short time. I didn't want to bother jwierer about it until RevEng was done adjusting things during this time when things are more likely to change from day to day.

 

 

 

And who cares about the IDE? Use your own IDE, I use Visual Studio for 7800 code, setup a makefile project and point at your command line batch file. Done.

So I'd have to teach Visual Studio Express how to do everything that Visual batari Basic already knows how to do?

 

post-13-0-25422200-1400636946_thumb.png

 

Is that even possible?

 

I couldn't have made Seaweed Assault without VbB and all of its useful features, especially the Bookmarks Tab.

Link to comment
Share on other sites

Probably not, but in all fairness, I never looked at it. I setup a batch file for multiple assembly calls (most of the time), some calls to sign the ROM (if needed), maybe a call to pad or process graphics, whatever). I have a project file, which has dependencies (VS knows when it needs to re-assemble) and I get all the output from the command line batch file, piped back into the output window. All I need to do is change a line of code, hit F7 and then TAB over to my DevOS control program, hit Re-Load ROM and Program. At a maximum, this process takes 45 seconds until it appears on real hardware on my TV, so I am not sure what Dan is babbling about "if I had the time to type up the commands I would".

 

Type what more than once? Shirley, if it works with ASM code, it works the same with 7800BASIC. :ponder:

 

Leslie-Nielsen_580.jpg

 

Just ignore my opinion, it really isn't fair for me to assume this crap is easy for everyone.

Link to comment
Share on other sites

Type what more than once?

 

Maybe he's talking about the Commands Tab? I usually copy and paste stuff from the bB page or from example programs on the bB page. I hardly ever type anything, except fill in the blanks stuff.

 

 

 

Just ignore my opinion, it really isn't fair for me to assume this crap is easy for everyone.

Yeah, I have learning disabilities on top of being a dumbass, so I need all of the features and tools I can get my hands on to keep me as far away as possible from things like the command line.

Link to comment
Share on other sites

 

Maybe he's talking about the Commands Tab? I usually copy and paste stuff from the bB page or from example programs on the bB page. I hardly ever type anything, except fill in the blanks stuff.

 

Perhaps, I wonder why he called it that, in my world that is called a macro. You write it once, forget about it, and stick it in a header file. :)

 

I need to get back to RLP (real life programming) and work on some SSE4 code.

 

@RevEng: Rename the thread to "Atari 7800 BASIC - Gold Master Candidate", it's the same as a "forever beta", like PlayStation HOME. :P ;)

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