Greetings everyone, I am looking for BASIC programs to run my PicoCalc and haven’t had much success finding anything online so far. Could anyone point me in the right direction ?
I have no simple answer to that.
I’ve certainly seen and visited links to archives full of creaky old BASIC programs with text output from the 1980s but I don’t seem to have kept a copy of those links.
You could try asking in:
- the Facebook “BASIC Programming Language” group, or
- the MMBasic community who gather here: https://www.thebackshed.com/forum/ViewForum.php?FID=16.
I have a page of links to interesting programs on the MMBasic forum here: Home · thwill1000/mmbasic-sptools Wiki · GitHub
My own github repositories largely filled with MMBasic are here: thwill1000 (Thomas Hugo Williams) · GitHub
There is a now dormant archive of MMBasic programs targeting the Colour Maximite 2 here: https://cmm2.fun/
HOWEVER whether any given graphical program will run out of the box on the PicoCalc is doubtful because of variations in how the graphics display is managed by the different MMBasic flavours (Colour Maximite 2, PicoMite{VGA|USB|HDMI}, MMBasic for Windows, MMBasic for Linux).
One possibility might be to try some of the programs I curated for the Game*Mite: https://github.com/thwill1000/mmbasic-gamemite/releases/download/v1.2.0/GameMite-1.2.0-alternative.zip but even there you’ll have to go in and disable the code that tries to read the GPIO pins used by the Game*Mite’s controller.
If you do try any of these and encounter errors then let me know and though I’m working without a PicoCalc I can try to get you over the hump, or at the very least explain why any given program might not be working.
Vintage Basic is an archive of old basic programs from the 80’s, which may require a bit of work to get going.
101 BASIC Computer Games is a mirror of the source code provided inside the book “101 BASIC Computer Games”, by David H. Ahl, published in 1978.
Tim Hartnell’s Adventure Games There is probably a lot of other old basic programs rolling around Atari Archives.
Thank you. I will try to test some of them over the course of the weekend, I just installed Funix to try it out.
I’ve put the programs I’ve converted on GitHub.
Notes:
- These run but have not been fully debugged. So they may still have errors when run.
- These are converted from olde tyme BASIC programs. So the code is awful and there are still line numbers (most of the time).
I’m planning to write and share a bunch of retro style BASIC games in the spirit of ones I wrote in the 70’s. Anything you’re particularly interested in?
I’ve updated my GitHub repo of BASIC programs.
Fixed a few glitches, so the programs are a bit more polished.
Added Appalachian Trail - an Oregon Trail-like program.
Now that I figured out the quirks in setting colors, Super Star Trek now has more color.
I can’t think of anything beyond the ones I’ve already converted. But I’m sure we all have our favorites.
And I added a very simple menu program that reads all the .BAS file on the B: drive (SD Card), presents them as a list of file names, and using the cursor keys, allows you to select one of them to run.
I submitted a PR with a minor edit to your menu program. The selection can now wrap around, moving from the bottom back to the top, and vice versa.
Mostly I was just playing around with the PicoCalc examples and your files, but having the selection stop at the top and bottom annoyed me a little so I used it as an excuse to try the editor over a serial connection, and also tried the MMEdit program. MMEdit has some useful features, and can connect and control the PicoCalc as it was apparently made to do for the PicoMite and other devices, and just requires setting up the COM port and identifying the device. I’m not a fan of how it reformats the code though, changing case and sometimes breaking longer lines incorrectly (like comments) across multiple lines. Still might be worth a look and could be useful for certain things.
Thanks for sharing your work in progress BAS conversions. SST was particularly nice to see.
More updates to my collection of programs in GitHub.
- Merged in adcockm’s change to menu.bas.
- menu.bas now sorts the file names alphabetically.
- Minor bug fixes.
- Added color to slots.bas.
- Created a program to run on boot. Since the PicoCalc doesn’t have an RTC, this program prompts you for the date/time, sets the date/time then defaults you to drive B: (the SD card).
I updated hamurabi.bas to a more modern format, ie no line numbers and descriptive variable names. You are free to add it to your repo if you so desire.
I spent a little time messing with the interface today.
Here’s what I did, which may or may not be worth considering for your repo:
- Used a flash slot to save your
onboot.bas
file. And set it to autoload. This works across power cycles and even if you remove the SD card. (Without using a flash slot like this, autoload was always loading my previously loaded program.) In my case, I did:
load "b:\onboot.bas"
flash save 1
option autorun 1
- added a line to menu.bas under the arrow key detection lines to press F1 to exit the menu
If Asc(a$)=145 Then End
(I couldn’t figure out a way to detect if Esc was pressed, so I made it F1 instead.) - assigned a shortcut key to run menu.bas
option F1 "run "+chr$(34)+"b:\menu.bas" +chr$(34)+chr$(13)+chr$(10)
Those last two things make it so from the prompt, you can press F1 to load the menu, and then inside the menu, press F1 again to return to the prompt.
I should have probably figured out how to clear the screen when the menu ends, but I guess I’ll leave that as an exercise for the reader.
Cool. I was going to research if I could make something autorun.
Time and energy. We never have enough.
Esc should be chr$(27). I thought I remember testing that one when I was checking key codes.
Might also be worth considering saving some date/time data in a file on the SD card at the end of onboot, and loading it back up when the onboot is run. That way it could have defaults and present them when asking for input. I expect it will get annoying to type the year in every time, for instance. Maybe the date too, if you power cycle multiple times a day. And if you don’t want to bother updating it for that power cycle you could just take the defaults.
Funny thing is, I realized that having to type the date might actually be a good thing. I’ll know what day it is!
I also found out when you run a program. If you type list it will list the last program run. You then type run to run it. Using Pico 2 W.
This is currently a work in progress, but it was mentioned on the discord, and seems like it could be a good addition to your repository if the developer agrees.
Here’s the discord link:
and some context:
Latest updates for my GitHub repo:
- I added a new base 2,8,10,16 conversion program similar to the TRS-80 Model 100’s HBD program. But this wasn’t a port. This was new from the ground up using HBD as an inspiration.
- Added business calculator ported from the TRS-80 Model 100 BASIC.
- Added a port of the date calculator from the TRS-80 Model 100 BASIC.
I just added a rewrite of the Commodore PET safe cracking game to my repo.
Here is Lunar.bas, another old program I updated, again feel free to post it on your github repository.