AtariBasics Posted Tuesday at 10:56 PM Share Posted Tuesday at 10:56 PM As the autumn leaves begin to fall, it's the perfect time to cozy up indoors and dive into some retro Atari projects! I'm excited to share the October edition of Atari Insights, packed with content to spark your creativity and fuel your passion for Atari computing. This month's highlights include: 🖥️ Spotlight on Atari BBSs - Then & Now: A deep dive into the world of Bulletin Board Systems (BBS) that once connected Atari users globally and how they are making a comeback in 2024. Whether you're reminiscing about late-night modem connections or curious to experience these retro communities, we’ve got you covered! 💾 Advanced Turbo BASIC XL Lessons: Take your programming skills to the next level with some exciting exercises and tips to help you master Turbo BASIC XL. 💽 Altirra Disk Image Management: A step-by-step guide to managing disk images in the Altirra emulator, perfect for keeping your digital files organized. 📁 SpartaDOS 3.2g User Guide & Quick Reference: Whether you’re new to SpartaDOS or an old pro, this guide will help you navigate its powerful features with ease. 🎮 FujiNet Adventures: Learn how to virtualize floppies and access remote systems with the versatile FujiNet device, bringing the best of old-school computing into the modern age! If you haven’t signed up yet, do that now to receive this month’s free issue along with the past few months at AtariBasics.com! Check out the latest issue and let me know what projects you're working on! Whether you’re exploring BBSs, diving into Turbo BASIC, or mastering SpartaDOS, I’d love to hear your experiences. Let’s keep the Atari spirit alive and thriving! 🎉 For any questions or feedback, feel free to reach out at john@ataribasics.com 6 2 1 Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted Wednesday at 12:41 PM Share Posted Wednesday at 12:41 PM I had a look at this for the first time, thought I would point out that the Turbo BASIC XL example on page 24 is completely wrong Turbo BAISC XL just like ATARI BASIC does not support multi-dimension string arrays, the DIM INV$(10) will only create a one dimensional array of 10 characters To use a string like that you would need a numeric array to store the positions of each piece of the string then use something like DIM INV$(100),INV(10) INV$="SWORD":INV(1,1)=1:INV(1,2)=LEN(INV$) INV$(LEN(INV$)+1)="SHIELD":INV(2,1)=INV(1,2)+1:INV(2,2)=LEN(INV$) INV$(LEN(INV$)+1)="POTION":INV(3,1)=INV(2,2)+1:INV(3,2)=LEN(INV$) etc. etc. So if you wanted "POTION" you would use something like:- PRINT #1;INV$(INV(3,1),INV(3,2)) Also when you print to a file the statement PRINT #1,INV$ will actually save " SHIELD", not "SHIELD" when you use a "," it outputs a TAB character, so it's best to use a ";" PRINT #1;INV$ Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted Wednesday at 03:18 PM Share Posted Wednesday at 03:18 PM (edited) Did he perhaps mean Atari Microsoft BASIC? In the beginning a good number of magazines had type ins that were AMB. It left a good deal of people scratching their heads, as they did not denote which official Atari BASIC Flavor was being used. or is this a mix of BASICs and not suitable for any without modification. Edited Wednesday at 03:19 PM by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
AtariBasics Posted Friday at 02:56 AM Author Share Posted Friday at 02:56 AM Hi TGB1718, I want to start by thanking you for pointing out the issues in my code! You were absolutely correct, and with your help, I was able to see the problem clearly. I honestly didn’t catch it until you brought it to my attention, and I appreciate you taking the time to review it. I’ve made the necessary updates to the code, and I will be pushing out the revised version in the newsletter this weekend. Once the newsletter is updated, the new code will be included. In the meantime, here’s the updated version of the code. If you have the chance to review it, I would be grateful for your feedback again: 10 CLS 20 DIM INV$(100),INV(10,2) 30 GOSUB 1000 35 REM START THE GAME 36 GOSUB 2000 : REM INITIALIZE INVENTORY 40 GOSUB 5000 : SAVE THE GAME 50 END 1000 PRINT "WELCOME TO THE" 1010 PRINT "ADVENTURE GAME!" 1020 PRINT "YOU WAKE UP IN A" 1030 PRINT "DARK ROOM." 1040 RETURN 2000 REM INITIALIZE INVENTORY 2010 INV$="SWORD":INV(1,1)=1:INV(1,2)=LEN(INV$) 2012 INV$(LEN(INV$)+1)="SHIELD":INV(2,1)=INV(1,2)+1:INV(2,2)=LEN(INV$) 2014 INV$(LEN(INV$)+1)="POTION":INV(3,1)=INV(2,2)+1:INV(3,2)=LEN(INV$) 2016 INV$(LEN(INV$)+1)="MAP":INV(4,1)=INV(3,2)+1:INV(4,2)=LEN(INV$) 2018 INV$(LEN(INV$)+1)="KEY":INV(5,1)=INV(4,2)+1:INV(5,2)=LEN(INV$) 2020 INV$(LEN(INV$)+1)="LANTERN":INV(6,1)=INV(5,2)+1:INV(6,2)=LEN(INV$) 2022 INV$(LEN(INV$)+1)="GOLD COIN":INV(7,1)=INV(6,2)+1:INV(7,2)=LEN(INV$) 2024 INV$(LEN(INV$)+1)="HELMET":INV(8,1)=INV(7,2)+1:INV(8,2)=LEN(INV$) 2026 INV$(LEN(INV$)+1)="ARMOR":INV(9,1)=INV(8,2)+1:INV(9,2)=LEN(INV$) 2028 INV$(LEN(INV$)+1)="RING":INV(10,1)=INV(9,2)+1:INV(10,2)=LEN(INV$) 2030 RETURN 5000 OPEN #1,8,0,"D2:SAVEGAME.TXT" 5010 FOR I=1 TO 10 5020 PRINT #1; INV$(INV(I,1), INV(I,2)) 5030 NEXT I 5040 CLOSE #1 5050 PRINT "GAME SAVED!" 5060 RETURN I really appreciate you taking the time to help, as I’ve never been very strong with strings, let alone multi-dimensional ones. But after tonight, I think I have a better grasp on them than before. Additionally, if you know anyone who would be interested in proofreading my code before it goes live in the monthly newsletter, I would be happy to send it along to avoid any future mistakes like this. Or, if you know someone who enjoys writing a column on Turbo Basic XL lessons and examples, I’d gladly hand over this baton to them! Thanks again for your help, and I look forward to your thoughts on the new code! Best, John@AtariBasics.com Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted Friday at 04:59 AM Share Posted Friday at 04:59 AM okay so you are using turbo basic, always include what BASIC you are using, as there a few different choices on the Atari Quote Link to comment Share on other sites More sharing options...
AtariBasics Posted Friday at 10:05 AM Author Share Posted Friday at 10:05 AM Sorry about that, I will make a note in the future... Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted Friday at 11:19 AM Share Posted Friday at 11:19 AM 6 hours ago, _The Doctor__ said: okay so you are using turbo basic, always include what BASIC you are using, as there a few different choices on the Atari Quote Link to comment Share on other sites More sharing options...
E474 Posted Friday at 03:24 PM Share Posted Friday at 03:24 PM Line 40 looks like it's missing a REM statement, maybe use a renumber tool too just for code polish (I am not a BASIC coder though)? Also a link to the privacy policy on the website seems to be missing. Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted Friday at 04:54 PM Share Posted Friday at 04:54 PM (edited) I did not recognize the program as being TurboBASIC XL in this thread as it seemed to be more like MicroSoft Atari BASIC. This appeared to be akin to - here is the code and it needs to be translated to TurboBASIC XL. However if you dis-regard the comments alluding to this looking like MAB then sending pictures of the list of contents indicating what flavor BASIC it is might be appropriate. Certainly an advanced lesson would already have the correct commands as well as syntax. Please translate (X)BASIC to (Y)BASIC is what I took it as. Edited Friday at 04:55 PM by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
AtariBasics Posted Friday at 10:02 PM Author Share Posted Friday at 10:02 PM 4 hours ago, _The Doctor__ said: I did not recognize the program as being TurboBASIC XL in this thread as it seemed to be more like MicroSoft Atari BASIC. This appeared to be akin to - here is the code and it needs to be translated to TurboBASIC XL. However if you dis-regard the comments alluding to this looking like MAB then sending pictures of the list of contents indicating what flavor BASIC it is might be appropriate. Certainly an advanced lesson would already have the correct commands as well as syntax. Please translate (X)BASIC to (Y)BASIC is what I took it as. I’ve spent most of my career in computer networking, ensuring systems are up and running, and handling updates for Windows PCs and servers. In that line of work, coding practices weren't always a priority as long as the job got done. However, I understand now that there's a potential audience that may learn from what I produce, so I’ll be making more of an effort to improve my coding accuracy moving forward. In the field I'm currently in, most people don’t really understand why I’m getting back into the world of Atari, and those who appreciate it don’t fully grasp the finer points of programming. If anyone here is interested in helping me out, I’d be happy to share my thoughts before going public each month. It would be great to have someone keep me honest and correct in what I’m producing. 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted Friday at 10:17 PM Share Posted Friday at 10:17 PM Yes, it's always a good idea to see if it runs and even then another pair of eyes to test and make sure it's doing what it should how it should or even more efficient. My cognition changes by the half day, so I can sympathize. I sometimes have to edit simple forum posts over the edit window because 5 minutes later you would find that it's unclear, the words were spell corrected, I left words out, etc. I don't like the word salad flowing from myself that is not unlike people in office these days. It's probably past the time for me to have left the public forums though. I think with a little help from others, and a little spot checking from your own machines and emulators, it will shape up nicely. If it's good enough, I may forget I read it, and then enjoy it for a second time . Doubling my readership for you. 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.