Part 1: Introduction
Summary
Game BASIC for Sega Saturn is a homebrew development kit that allows you to program games for the Sega Saturn using the BASIC programming language. If you’re familiar with the PlayStation’s Net Yaroze platform, think of this as the Saturn’s answer to it – just cheaper and easier to get started with.
Game BASIC’s use of the BASIC language makes for a very low barrier to entry in terms of programming skill. Though the Saturn is notoriously difficult to program for, Game BASIC makes it easy to get started and is surprisingly powerful, allowing very easy sprite manipulation and straightforward 3D polygon implementation. It even includes an adapter cable that allows you to communicate with the Saturn from your PC to transfer or save programs and streamline development. For example, here’s a Pilotwings-esque demo, but in Game BASIC:
The caveat? Game BASIC was released only in Japan, so this means a complete setup can be difficult to obtain and all documentation is in Japanese! Moreover, the supporting software that allows you to use your PC for streamlined development was intended for the Windows 95 era and flat out does not install on modern systems. Oh, and the adapter cable that allows you to connect your Saturn to your PC is a 25-pin serial connection!
Who in the world still has both Game BASIC and a Windows 95 PC with a physical serial port? Nobody! (Well, unless you’re Modern Vintage Gamer) But if you’re a brave experimenter who’s not afraid to tinker a bit, there are still multiple options to get everything working, even today! You can even do a lot just via emulation. So, let’s head to the Lab and get started…
What You’ll Need
There are several options for working with Game BASIC, ranging from quite simple but clunky to work with, to quite powerful and streamlined. Here are the three options:
The Simple Saturn-only setup
Required Tools
- A copy of the Game BASIC for Sega Saturn disc
- The ability to play Japanese Saturn games (A Japanese or modded console, a Pro Action Replay/Pseudo Saturn Kai cartridge, or a Saturn emulator)
- Any Saturn controller
- Plenty of room in the Saturn’s internal memory (if you want to save your programs)
For this option, you’ll run Game BASIC on the Saturn with no PC connection, using only standard Saturn accessories. This is a reasonable choice if you just want to write “Hello, World!”-style programs or play around with the neat games and demos that come with the kit. Theoretically, you can write even the most complex programs this way, but you’ll run into limitations on the size of games you can save to the Saturn’s internal memory. Plus, programming with a virtual keyboard is an absolute pain. Start here if you don’t have the necessary hardware for the other options, or if you just want to poke around a bit and see what this is all about.
The Enhanced Saturn-only setup
Required Tools
- All of the tools from Option 1, PLUS
- Some kind of external expanded memory, such as:
- A direct-save memory cartridge (e.g., the official Saturn Backup Memory)
- A Sega Saturn Floppy Disk Drive and some 3.5″ floppy disks
- A Sega Saturn keyboard OR the NetLink keyboard adapter with a PS/2 keyboard
- Fun peripherals, like the Stunner light gun, 3D Control Pad, multi-tap, and Shuttle Mouse
One of the great things about Game BASIC is how easy it makes it to access the Saturn’s peripherals, including the internal backup RAM, external memory cartridges, and even the Saturn Floppy Disk Drive. With a setup like this, you’ll have plenty of space to save your programs and you can use a real keyboard for text entry. You can even start experimenting with different forms of input, like analog controls and light guns! But without access to the tools a PC provides, it will be difficult to make nice-looking sprites, textures, and 3D models. So, this will still limit what you’re capable of. Regardless, this is a great option for the sheer fun factor of “Hey look! I’m programming with my Saturn!” or if you have no ability to connect your Saturn to a PC.
You can even go this route with a Saturn emulator, giving you easy access to improved keyboard, mouse, and storage options. I’ve confirmed that Mednafen successfully emulates Game BASIC and allows for keyboard and mouse pass-through input, meaning you can do a whole lot of Saturn development with very little barrier to entry.
The Full Saturn plus PC Setup
Required Tools
- A complete Game BASIC for Sega Saturn kit, including:
- A copy of the Game BASIC for Sega Saturn disc
- A copy of the Windows 95 Tools disc
- The special Saturn-to-PC serial cable adapter
- A modern PC with a USB port, capable of running a Virtual Machine (I use VirtualBox)
- A copy of Windows XP SP3 32-bit to install on a VM
- A USB-to-Serial adapter (Must support RS232 with a DB25 connector)
- The ability to play Japanese Saturn games on original hardware (Japanese or modded console, or a Pro Action Replay/Pseudo Saturn Kai cartridge)
- A Saturn controller
- Optionally, any fun Saturn accessories you may want to experiment with (I especially recommend a keyboard or keyboard adapter)
This is the Cadillac option! This is the setup I use, is how Game BASIC was really intended to be used (well, except nobody expected it to be run on a VM, I suppose), and is what the rest of this guide will focus on. With this setup, writing a game is as simple as writing BASIC in a text editor and hitting a couple of buttons to send it to your Saturn, where it immediately shows up on your TV and responds to controller and keyboard input! Seriously, it’s super cool once you get it working…
The Simple and Enhanced Saturn-only setups are extremely straightforward. You just boot Game BASIC like any other Saturn game and get started, so there’s not much configuration to discuss. Regardless of the setup you choose, continue on to Part 2 for a few test programs. But if you want the Full setup, it’s quite a project to get going, so read on to Part 3 for the complete How-To!
Is it possible to use otvdm instead of virtual machine?
Possibly! I never tried. The main problem is the installer application. If you can install the utilities on another system, you can copy paste the .exes to modern Windows and they’ll run. But I remember having stability issues/limitations with that approach (unfortunately, I don’t remember exactly what – it’s been a couple years), so I settled on using a VM as the most reliable method.
Just wanted to say thanks for writing this all up. It was particularly helpful to have the small details for getting the COM port appropriately forwarded in my VM. I got myself a pretty complete setup now.
I’ve been messing a bunch with BASIC Studio on ps2 (I have all the documentation and can read it), and have been shocked at how little it has been explored in the English-speaking spheres. I’m thinking of taking the time to scan it all and translate it, but have been looping around whether its worth the 20 hours it’ll take me. I’d love to talk with you about what motivated you to put this all together – please shoot me an email if you’re willing.