Categories
Uncategorized

More Folders for More Games

Time for more adventures with the Anbernic RG35XX running GarlicOS! After I got a large set of games, I thought to myself “Maybe I’ll have two SD cards, one with my favorites, and one with everything. Well, I didn’t have to do that, because I discovered you can just make your own folders, and put whatever ROMs you want into them. So here’s a look at my current setup.

Those “FAV” folders show up with text labels because there is not a corresponding image file to display. (Which is a handy trick as well!) I may make some images at some point, or not…

To get this to work you have to edit the coremapping.json file. You can just duplicate the original line and make a new folder name. Here I’ve added GBA-FAV right under GBA. Note that the folders are displays in alphabetical order in GarlicOS. But also note, you can name the folders anything you want. So you could order them manually using naming conventions with letters or numbers.

Also note, you can’t mix ROMs, so putting Game Boy and Game Gear ROMs in the same folder will not work. Each folder’s ROMs will run using the specific library listed in the line of the file. Still, this can go a long way towards organizing things.

You can find the coremapping.json file in the CFW folder. (If you have two SD cards it will be on the first one… Mine is on the MISC partition. (If you screw up the file the UI will display blanks, so make a backup file first if needed.)

I do know you can mark games as Favorites in GarlicOS, and I still use that feature (in my own way) but I found that it was too easy for me to “unmark” a favorite and then have it disappear from the list (and my mind) so this lets me have my curated folder of favorites along with the folder of “everything else”.

One more tip! If I want to move ROMs between the FAV folder and “regular” folder I can do it on a computer but it’s also very easy to do it using Dingux Commander running directly on the RG35XX.

Categories
Uncategorized

Fix Corrupt PICO-8 Save Data on Anbernic RG35XX

I’m still loving the Anbernic RG35XX but sometimes thing go wrong and I need to pop the SD card into a computer to delete a file to get some things working again. The OS saves the game state when you close a game, and occasionally with PICO-8 games the save file gets corrupted and you can’t launch the game again until you delete the bad file…

Since there’s a terminal application you could go into that and cd to the correct directory and delete the file, but they keyboard is… well, it’s like a TV remote. Arrow around a keyboard and enter keys one at a time, so there has to be a better way… so I wrote a script.

I just launch SimpleTerminal, and to save keystrokes the script lives right in that directory…

So I type ./fixp8.sh (Or actually just ./fi and then the tab key to autocomplete…

…And then the script runs, and shows some instructions. It also shows the most recently modified file so you can choose to fix it, skip it, or quit the script.

If that file doesn’t belong to the game causing issues, I skip it, and it moves on to the next most recently modified file…

The script only accepts f, s, or q for input. When you are done (hopefully after fixing the bad file) you can quit.

Note that the script doesn’t delete any files, just renames them, in case you “fix” the wrong file. (You can un-fix it easily on a computer by renaming it back. We just add a ~ after the file name.)

I think (and should confirm) that the way the system works, if you launch a game by selecting it and pressing the A button it should try to reload the last saved state, but if you press the Start button, it should start fresh ignoring the save file. It seemed like this didn’t always work… maybe just with PICO-8 games? If you find out, let me know.

In the meantime it’s been really interesting (and a little fun!?) learning how to write and run scripts on this device. I mean, it’s basically Linux. You can even run scripts at startup, and I think I saw that you can get cron installed, which is pretty wild but also not really, because Linux.

(Note: Since I wrote this I found another use case for fixing files, and I’ll follow up with that in another post.)

Here’s the script!

#!/bin/sh

# where the directory is located
# mms for first card, SDCARD for second card
SAVEDIR="/mnt/SDCARD/Saves/CurrentProfile/saves/fake-08/cdata/"

cd "$SAVEDIR"

# we need a way to get only txt files not txt~ files
FILES=`ls -t *txt | head -n 50`

echo ""
echo "This will fix bad P8 save files."
echo "Fix a file, skip it, or quit."
echo "Fix [F], Skip [S], Quit [Q]."
echo ""

for f in $FILES
do
	while true; do
	    read -p "Fix $f? " fsq
	    case $fsq in
	        [Ff]* ) echo "Fixing $f"; echo ""; mv "$f" "$f~"; break;;
	        [Ss]* ) echo "Skipping $f"; echo""; break;;
	        [Qq]* ) echo "Quitting"; echo""; exit;;
	        * ) echo "Please answer F, S, or Q.";;
	    esac
	done
done

Categories
Uncategorized

TIC-80 Retro Fantasy Computer

As awesome as PICO-8 is, it’s always awesome to have alternatives, and one of the alternatives to PICO-8 is TIC-80. While PICO-8 is described as a “fantasy console” TIC-80 is a free and open-source fantasy video game console for making, playing, and sharing games on a limited platform that mimics the 8-bit systems of the 1980s.

I somehow stumbled upon TIC-80 after I got GarlicOS installed on the Anbernic RG35XX, since it can run TIC-80 programs/games. I downloaded a bunch, and some of them were not good, and some just ran really, really slow, so unplayable, basically. But the ones that do work, work well! And some of them are a lot of fun. (Note: the not running well or fast is due to the RG35XX specifically. Things work fine on a desktop computer.)

TIC-80 being an open source project run by a guy in Poland in his spare time isn’t quite the powerhouse that PICO-8 is, but there’s still a lot of goodness there.

Since I messed around with writing code for the PICO-8 I figured I should do the same for TIC-80. And yes, it’s a sweet sweet retro feel to coding things. It’s like using an Apple ][ (or maybe a TRS-80?) circa the early 1980s. (That’s probably what the 80 in TIC-80 is for.)

Just like PICO-8 you can play games in the browser, you can write your own games (or demos, programs, whatever) and if you’re of a certain age and messed around with computers 30 to 40 years ago, this stuff is heavy on nostalgia and just plain fun.

(The image above shows Continuous Factory and below shows Sonic Mini. You can play them both in your browser!)

PICO-8 definitely has some advantages over TIC-80, but if you prefer open source, are bothered by some of the limitations of PICO-8, want to use something besides Lua (TIC-80 supports Lua, JavaScript, MoonScript, Ruby, Wren, Fennel, Squirrel and D!) TIC-80 might be worth checking out.

And of course if you just want to play games, then just do that as well. Grab a handheld console that can run them, or use the browser or desktop software. Hey, it’s free/open source so all you really have to lose is your time. (Open source joke some people might actually get.)

While PICO-8 has splore to explore games TIC-80 has surf. Just launch TIC-80 and type surf and you can browse all sorts of games and programs. Are there as many as PICO-8? Nope. Not even close. But hey, that’s okay… Like I said, it’s always good to have alternatives.

Categories
Uncategorized

PICO-8 Game Development System (and Ecosystem!)

So the Anbernic RG35XX (and GarlicOS) sent me down a rabbit hole of searching for games, and somehow I came across PICO-8. The simplest explanation is that PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer programs. To expand on that, it’s a virtual machine and game engine created by Lexaloffle Games. It is a fantasy video game console that mimics the limited graphical and sound capabilities of 8-bit systems of the 1980s.

One of the reasons I got the RG35XX is that I wanted to disconnect from the computer and phone and just focus on something (in this case, playing games) and while playing Tetris (again) and discovering (for the time) all sorts of old Game Boy games is a blast, PICO-8 is something special. These are my observations about PICO-8 and games made with it.

PICO-8 games tend to focus on game play and not flashy graphics. Some games are simple, some are complex. Some are recreations of old games and some are new (?) ideas that haven’t been done before.

There’s a community of people sharing what they make. I wanted to say “people” and not “game developers” because while people who make games might be “game developers” I think there are also just regular people who like making games and sharing them and might not think of themselves as “game developers” in the traditional sense of a “software developer”. The Lexaloffle BBS is basically a feed of “hey, here’s a new game I finished, or I’ve been working on, or my progress so far” and you can check stuff out.

You can play the PICO-8 games in a web browser, and they all seem to be free of ads. You don’t need to visit an app store, pay for a game, give it permission to read all sorts of information about you… you don’t even need to sign up for an account or enter a credit card.

I started doing web development in the mid-1990s and “view-source” was how we learned things. PICO-8 has view-source! You can click the little ‘code’ button and see the code. You can copy and learn from the code, and modify it, and fix it, and… it’s refreshing to be able to do that.

`For the RG35XX there is not an official way to run the real PICO-8, but there’s Fake-08, which has the goal of making PICO-8 games run on platforms that aren’t officially supported. So you won’t see Fake-08 for Windows, macOS, Linux, Raspberry Pi, or for the web. It just fills the gaps left by Lexaloffle.

As you may have guessed when I mentioned the view-source thing above, I have already dabbled with writing code in PICO-8. I don’t know that I’ll ever actually release anything, but hey, it is bringing fun back to programming for me. (For anyone who has written code for themselves/for fun, and for others/for work, you probably know what I mean.) When I was a kid in the 1980s I tried writing an adventure game on the Apple ][+ completely in BASIC. It was fun at first but quickly became frustrating as the lines of code added up and what I wanted to do surpassed my programming abilities of the time. I could probably totally write that game with PICO-8 today.

I should mention that the Anbernic RG35XX may not be the ideal handheld console for PICO-8 games. There are handhelds that can run the official version of PICO-8 (instead of Fake-08) and you just need to load the Raspberry Pi version onto the device. (PICO-8 is $15 for the official runtime, but if you consider you get access to thousands of games it seems like a deal.) Some handhelds also have wifi, which means you can run splore which is basically a browser (or “app store”) for games. You can also run splore in the browser or desktop version of PICO-8 and it’s the best way to check out a zillion games to see what you like.

Categories
Uncategorized

Anbernic RG35XX Handheld Gaming Console

I must admit, I did not have “become a gamer” on my bingo card. Back in June I watched the Tetris movie, and I remembered how much fun I had playing Tetris 30(ish) years ago, and then I posted this to Mastodon.

I’d love to get a portable game device that could play Tetris.

I have no idea where to start with this. I don’t want actual Game Boy hardware, just some affordable facsimile.

I’ve seen a ton of devices online, but would love a recommendation from someone who has tried/used some.

I also looked around and found the Anbernic RG35XX which looked like it might work, then read this thread from Dan about the “Game Dad” as he calls it, which sealed the deal. I still went with the cheaper model because I am not a gamer (or am I!?!?) and I really just wanted to play Tetris.

Dan (and others) mentioned how a device like this can get you away from “doomscrolling” on your phone. Instead of opening up some social media app and just scrolling and scrolling… and scrolling… you might engage your mind with some puzzle solving in a game. Now sure, there are apps that are games, but then you’re still on your phone, and the app may have ads, and you may get notifications on your phone. Also, the controls (a touch screen) are not great for many games. And like… I just don’t want to play games on my phone!

There’s that whole idea that gaming can help with your mental abilities as well. (There are so many articles about Tetris or other games being good for your brain I won’t even link to any.) Needless to say, some people have said game playing really helps them deal with anxiety and ADHD.

So I got an Anbernic RG35XX (terrible name!) and used it for about a week before I installed GarlicOS which is a port of RetroArch for the RG35XX. Hey, I’m still not well versed in all of this, but I noticed searching for ROMs in GarlicOS was missing, which I really liked in the stock OS. Well, there are apps for RetroArch, including a romSearch app.

Anyway, I have now played a lot of Tetris. I also played Tetris DX and Tetris Worlds. There’s Game Boy, Game Boy Color, and Game Boy Advance, each with different versions. Neat! The funny thing is, I actually do have a Game Boy (Camera) which uses my daughter’s old GBA, and I swear I saw a Tetris cartridge somewhere in my office years ago. My daughter also had a Nintendo DS many years ago, and we do have an old Game Cube and Nintendo Wii. (Well shit, now I sound like a gamer! But really these were all casual things for family gaming. I almost never just played games by myself. But now… I do. (We were a big Animal Crossing family back in 2007.)

So yeah, I love this little device. The Anbernic Rg35XX is around $60 USD and you get a zillion old games on it, ready to play, right out of the box… And you can upgrade it to GarlicOS to make it more awesome. Even if I get tired of it and toss it in a drawer in six months, that’s not too bad.

But wait, there’s one more thing. A resource for thousands of games (for free) and the ability to make your own games! I’ll cover that in the next post!