Fort Apocalypse Posted July 5, 2022 Share Posted July 5, 2022 According to @RevEng, each minor release of bB could break existing games written for the previous version of bB, effectively making them major releases. I'd like to suggest that a standard header be added to .bas files that has the bB version, to ensure that those in the future trying to build that file know that it may not compile or work as intended with a different version of bB. For example, maybe everyone could start making the first line of their .bas file look something like: ;bB 1.5 That way, in theory, someone could have multiple versions of bB installed and have a script/program that could automatically use the correct version of bB by looking at the first line of the provided .bas file. RT had similar in an example of a human-readable header in: https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#rem Quote Example: rem **************************************************************** rem * rem * Name: Space Nuggets rem * Version: 2016y_03m_21d_0225t rem * rem **************************************************************** rem * rem * Programmer: Scadoobie Floinkenburger rem * Language: batari Basic v1.0 rem * System: Atari 2600 VCS rem * rem **************************************************************** That's nice also. I was just thinking that having a shorter standard header might be less likely to have problems parsing it by some yet to be developed tool? 3 Quote Link to comment Share on other sites More sharing options...
+splendidnut Posted July 5, 2022 Share Posted July 5, 2022 To make it easy to parse: - Always have it on the first line and always start at the very beginning of the line (no leading whitespace). - Make it two tokens separated by a space ;#BBVER# bB1.0 ;#BBVER# -- identifies line as containing the BB version number bb1.0 -- identifies which version (can be any variant of this - tool will just need a mapping table of versions) Tool runs as follow: (1) Open file (2) Read first line (3) Do string compare of first token to see if you've got ;#BBVER# (4) If so, loop thru array of versions and compare with second token to find version. (5) If not found (either first or second token), report error. (6) If found, do what you want with that information. 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted July 5, 2022 Share Posted July 5, 2022 I don't know if it's the same with semicolons, but if you don't have at least one space between rem and your comment, your program may not compile. Quote Link to comment Share on other sites More sharing options...
+splendidnut Posted July 5, 2022 Share Posted July 5, 2022 Fair enough... IF that's an issue THEN the tool will have to parse 3 tokens separated by whitespace instead of two. And IF bBasic doesn't like the lack of whitespace at the beginning of the line, THEN the tool will have to handle that as well. OR, bBasic can be fixed to better handle token processing... but that's a tall order. Also, the tool will probably want to allow either ';' or 'rem' as the first token. 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted July 5, 2022 Share Posted July 5, 2022 VisualbB does something like this automatically: rem Generated 7/5/2022 11:54:26 AM by Visual bB Version 1.0.0.568 rem ********************************** rem *<filename> * rem *<description> * rem *<author> * rem *<contact info> * rem *<license> * rem ********************************** Maybe someone could submit a feature request for Atari Dev Studio? 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted July 5, 2022 Share Posted July 5, 2022 If I'm trying to compile old bB code and it doesn't work, I would much rather try to fix it to work with the new version than to keep a bunch of outdated versions around to compile using the original version. Yes, in theory new releases could break compatibility, but in practice, from what I have seen at least, such issues are relatively uncommon, and easily solved when they do show up. 6 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted July 16, 2022 Share Posted July 16, 2022 I think with HDD space being gyrourmous the careful programmer could dump a specific version of bB and their IDE of choice into the project folder itself. Known features. Known quirks. Isolated from other projects and their needs. I had to do this with NES Maker as the interface, tutorials and plug ins are VERY specific to each version. UPDATE: That is, to say.. both my one bB folder to rule them all and each project getting its own (NES Maker) strategy is OKAY. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.