Great question actually. I have considered it at one point, but in my opinion, Basic is too dated and the PicoMite community is too spread apart.
I agree with you about PicoMite, there just too many issues to be dealt with. adcockm was a brave man dipping his toe into that one.
As for Basic itself, I don’t know, it has survived longer than most programming languages. It is possible that Basic will still be rolling around long after Rust has come and gone, although the same thing could be said about C/C++. On this forum alone, a lot of people have stuck with PicoMite just because it is a lot easier to get things done with it then it is to compile a whole new uf2 just to do one thing.
All I am really asking is for you to take a look at uBasic and decide how difficult it will be to port. I did not find it particularly hard to build a PicoCalc version of it with the PicoCalc Text Starter. I didn’t even alter any of the original code, I just dropped a main.c on top of it to handle all the PicoCalc stuff.
The thing about BASIC, though, is I don’t see it as giving any real advantages over MicroPython or Lua. It in most of its dialects is a more limited language than either of those while not really being any easier – or in its interpreted forms having any real performance benefit (even though compiled BASIC’s may be faster). The main exceptions to this are languages such as VB.NET (which as we all know is essentially a dumbed-down C#).
In this case I would recommend concentrating on MicroPython support rather than attempting to support too many things.
As a former computers/electronics teacher, I humbly request that BASIC be included. I find it much easier to get a total beginner going with BASIC than any other language. Most of my students found line terminators to be troublesome (one of the biggest errors in C was forgetting the semicolon at the end of each line.) In addition, trying to explain how a tab, or not tab was continuing or not a python command. I can usually get a newbie going in BASIC within couple hours, and then they advance on their own.
I really love PicoMite BASIC, but most other modern versions of the language would be fine too.
If you’re interested, here’s the source for PicoMite V6.01.00RC 11 ported to the PicoCalc.
If you’re interested, here’s the source for PicoMite V6.01.00RC 11 ported to the PicoCalc.
Thanks for adding the delete to file manager. It works GREAT.
Thanks for all your new additions in the latest release! Any chance a key could be pressed in the file manager or apps list that opens the file for editing rather than needing to type the entire path ?
My biggest problem is that BASIC’s like PicoMite are rather lacking in modern amenities as data structures go when compared to the likes of MicroPython or Lua. BASIC’s in the style of PicoMite simply do not have arrays that are nearly as powerful as MicroPython’s lists or Lua’s tables or data structures with attributes that are as powerful as MicroPython’s objects and dictionaries or Lua’s tables (for those here not familiar with Lua, tables in Lua act both like lists/arrays and objects/dictionaries). (Just try creating an array of arbitrarily-sized arrays, each different in size, in a PicoMite-style BASIC.)
I remember as an eight-year-old kid programming Applesoft BASIC lamenting that it lacked proper structures unlike some of the languages such as C I saw in books I borrowed from the local library, and when I look at the likes of PicoMite today I see similar deficiencies. Even as an eight-year-old I knew there was better, and I do not particularly miss BASIC (even if PicoMite has features I sorely wished I had in Applesoft BASIC such as real procedures and functions).
Of course, you could say much of the same about Forth (which is relevant as I am saying this as the author of a Forth implementation), but the difference between Forth and BASIC is that Forth is considerably more low-level than BASIC, giving you the power to build more sophisticated constructs on your own at the expense of requiring more work on your part. (Even then, my zeptoforth at least does provide structures, objects, and maps/dictionaries baked in.)
Came across a little issue last night, when in the App Store and not using the system dark mode switch and you select an App from the list the next screen appers to display no text (just blank)…. If the dark mode switch is enabled then the text can be read on that screen. I’ve just started playing with Picoware so it may be doing something wrong.
Awesome, glad its working for you!
That’s actually a fantastic idea. It may be easier to implement that into the editor itself. I’ll this in the next release
Thanks for checking out Picoware! I think it’s because I hard coded the foreground/background color instead of using the current system colors. I’ll fix that in the next release!
I appreciate your hard work.
Just popping in here to say thank you @jblanked for this amazing resource. I’ve got Picoware running from the uf2loader on my newly assembled PicoCalc with Pimoroni Pico + 2W and the possibilities that it opens up for this device is mind-blowing. Can’t wait to start hacking up some python scripts!
I dowloaded the game 2048 just fine, but it does not start from picoware 1.5.2, started with uf2loader. I tried your github account with github-downloader with jblanked then picoware, it stalled, the circle stopped circling.
But the version 1.5.2 seems very cool, I am sad that you feel deceived.
Thanks for checking out Picoware! I appreciate your support
Well, the GitHub Downloader has some limits. Im not exactly sure how many files/directories it can manage, but a repository like Picoware is unlikely. It stores each download path in a list currently:
But I bet if we used the SD card to hold the list instead of memory, it can be done. I’ll add this to the to-do list!
I hope everyone has a had a great weekend!
The past few days, I’ve worked on adding support for two Waveshare devices, the rp2350 Touch LCD 1.28 and rp2350 Touch 1.43
I also added a new menu/list style and updated the build tools
That’ll be in the next release ![]()
Is it the dev version?