I figure that I can help the BASIC Engine project by writing some sofwtare on/for it. As mentioned previously, I want to write a card game. The first thing to do is write the basic card manipulation routines. Not very complicated, but I wanted to get them right, and maybe use them as an example of programming practice.

Anyway, to my reason for this post. I would like to know how difficult it is to develop within the BASIC Engine environment. Sure, I could program in my favourite code editor (VS Code) in my chosen OS (Ubuntu), but I want to know what it's like actually programming in the environment that my program will run. After all, from my perspective, that's a great way for students to learn to program. Remove all the distractions of a modern operatinf system and just give them what they need to get the job done.

So I've started trying to use Atto as my editor. It's been a LONG time since I've relied on a console based editor for programming. Sure I can use vi to edit a config file, or even nano, but mostly I use GUI editors like VS Code.

So I know SOME of the commands to edit in Atto, much like I know how to edit a config file in vi. However, when you are programming, you need a much larger suit of commands. Things like Block select/cut/copy, even column select.

I understand that Atto is based off a "real" editor, but I couldn't find a good cheat sheet for it.

Can anyone point me the the editor commands for Atto?

Thanks,
Mike

PS: The first IDE I used in anger was Turbo Pascal and Turbo C. I got REALLY familiar with those commands. Maybe they're the same, but I've forgotten now.

davegardnerisme Thanks Dave, that repository explains a lot...not just the keybindings, but also that it is an Emacs derivative. That accounts for the somewhat obscure key bindings. On only one project, many years ago, did I have to use Emacs as my IDE. It was very powerful, but I found it un-intuative to use and required remembering a lot of complicated key sequences. My memory is not what it once was, so I need things simple and obvious these days, and if I need to find out how to do something new, "please" make it easy for me to find the help.

Thanks again, the cheat sheet on that site is what I was after.
Cheers,
Mike

Thank you, @davegardnerisme , this info will definitely have to go into the wiki.

@Hawk To me personally, I've not written anything over maybe 100 lines in a single program (not counting REMarks); but it is very unwieldy to use the standard Engine BASIC/early to mid 80s BASIC line number interface. Atto does make it much easier. Are you using ATTO on your PC or on the BASIC Engine? It would be very handy for me to be able to use it on a PC/laptop PC - especially nights like tonight when I come to pick the wife up for work and only play emulator games for an hour 🙂

    painintheworld I'm only using Atto on the BASIC Engine. On my PC I choose to use something more intuitive and easier ( VS Code). But as stated earlier, I'm trying to experience programming directly on the BASIC Engine. I'm currently working on an Atto cheat sheet for BASIC Engine that will make it easier to learn. I'm going through the commands at the link that davegardnerisme supplied and working out which ones work and which ones don't. I hope to get it to a single page to print.

    This afternoon I sat down and hammered on the BASIC Engine for 2-1/2 hours, working on some proof of concept stuff. It didn't work out so well 😆 I had a series of ischemic strokes after a botched heart surgery in 2015. Several things I learned way back when, specifically mathematics related stuff, have had to be partially re-learned. Got to take a couple of semesters of geometry and trigonometry sooner or later.

    ...just installed VS Code. Will definitely have to do some reading on it tonight. It would be awesome to be able to call Engine BASIC from VS Code 🙂 Are there any specific macros, tips, etc. that I should check out?

      painintheworld I haven't looked into running the BASIC program directly into BASIC Engine SDL yet, so far I've just been doing the coding bit, and then manually loading it into BASIC Engine SDL or transferring to a real machine. I haven't sorted out the resolution issue I'm having with BASIC Engine SDL yet. For some of the stuff I'm playing with I just run it in the old Host version.

      Still working through the Atto Cheatsheet. Hope to publish it here soon so we can all start using it to make our BASIC Engine life easier.

      UPDATE: I am really not enjoying the Atto commands. I still haven't worked out how to select/copy/cut/paste. And since when does "Yank" mean paste?

        11 days later

        Hawk And since when does "Yank" mean paste?

        At least 1978; see https://archive.org/details/bitsavers_mitaiaimAI_4967481/page/n5/mode/2up

        Given that "yank" is written in quotes, and everywhere else in this manual the term "un-kill" is used instead, it is probably reasonable to assume that even back then nobody understood this.

        BTW, I have spent way too much time researching this. Be careful with your rhetorical questions here...

          uli This must be one of those language barrier things, like if you pat someone one the "fanny" here in Australia you're likely to get a VERY different response than if you do it in the US. There must have been some "in" joke at the time amongst the programmers.

          I better get back to updating the cheat sheet.

          BTW, have you considered how it may be possible to execute the BASIC program from the Atto editor without having to exit the editor our re-run in and reload the basic program?

          uli Man, you think you're bad, I still can't let it go. It seems the term "Yank" started back in the 60s, where as the term "Paste" was coined by Xerox in the mid 70s with the development of their GUIs. I'm amazed that the term "Yank" continues to this day, given the previlance of the "cut'n'paste' paradime used today.

          https://emacs.stackexchange.com/questions/17056/what-is-the-origin-of-the-term-yank

          The question is, if I was using the BASIC Engine NG to teach programming to young kids, what keyboard shortcuts would benefit them the most for a future as a programmer? Aside for the ridiculous use of a finger as a device for positioning the cursor and selecting and pasting text, what would benefit kids the most from a keyboard only interface with a modern keyboard?

          5 days later

          Thank you for the shortcut link, @Hawk!

          You and I would probably have a hilarious discussion. My accent is a very thick, deep in the mountains of the Southern Appalachians accent. An accent that has been mocked for decades on television, even though I've NEVER heard a good imitation of it in any TV show or movie. At least in this part of the country, to yank something would be to pull something/pull on something or the like ("He yanked that engine out of the truck").

          Ahoy,
          In Ohio "yank" means the same thing as your region PITW (there's another meaning but this is a "G"-rated board). To me a "yank" command would more likely mean "cut" the text.
          daveyb

            10 days later

            First cut at the Cheat Sheet is up now.
            Atto for BASIC Engine Cheat Sheet
            Edit:
            Look at that, no sooner do I post it than I start finding issues with it. 😅
            If you find issues or suggestions, you can post them in this thread, or raised them as issues against the basicengine-wiki in GitHub.

              3 months later

              Hawk I'm thankful for this post, Hawk!

              Getting back on some coding on the BASIC Engine LT system, and was drawing a blank on the Atto shortcuts. Your document saved my bacon!

              Powered by: FreeFlarum.
              (remove this footer)