Nintendo Family BASIC Type in Games

What is Family BASIC?

Family BASIC was an add-on created for the Nintendo Famicom as a joint project by Nintendo, Sharp, and Hudson Soft. Released in June of 1984, the cartridge contained the titular programing language and a development environment (Known as NS-HuBASIC). The included keyboard could be attached to the Famicom’s 15 pin expansion port in order to type in code. A tape data recorder was also an optional accessory which could save and later load programs/games that were typed in. (Interestingly this featured had been used by three early Famicom releases Excitebike, Mach Rider, and Wrecking Crew for saving and loading custom designed levels.)

Three additional versions of Family BASIC were released, with V2.0 being the first version that could be acquired for free by mailing in a V1.0 cart to Nintendo which would be replaced. This was followed up with V2.1 which had additional bug fixes and could be acquired the same way, requiring a purchase of the new version from a Family BASIC set. The final version – V3.0 – was released on February 21, 1985 as a separate red cartridge with no keyboard, as it was meant for people that already owned the original Family BASIC setup. V3.0’s biggest benefit was the expanded memory it provided – which would be a boon to homebrew type in games that we will get to shortly.

Game Game 20, Game 8: Bird in Family BASIC

The first thing you might notice about the games created with Family BASIC is that they all use the same sprites, which is due to the fact that 16 animated sprites are all that were provided in the development environment included with the system. Still it’s interesting to see how this limitation was cleverly used by hobbyist Family BASIC users to create games, especially some of the later ones. Programmers were also given the ability to use a single background layer as well.

The original V1 release of Family BASIC didn’t come with any built-in games, neither did the later V2 versions, but both included type-in code so users could recreate games by typing in the commands provided. V3.0 did include pre-prepared minigames which helped showcase what the system could do.

While the language, graphics, and memory provided were all pretty minimal, clever programmers were able to create some rather neat games despite the limitations.

Preserving Family BASIC

Metal Arms from Micom BASIC (マイコン BASIC) 1990/01

As in the United States and Europe, Japan also had books and magazines with user submitted type-in code for games and programs for their various computers. Family BASIC was no exception to this and many programs were submitted over the years to various Japanese magazines as well as books dedicated to Family BASIC. Sadly in the English speaking world not much of this is still known about these and they have not been digitally preserved.

However that is changing thanks mainly to fellow Gaming Alexandria Discord member ozidual. He has started to research the subject of Family BASIC in some of the magazines provided by Gaming Alexandria and others, figuring out how to type in and save various Family BASIC games in an easy-to-load ROM format for emulators. He also kindly wrote up instructions on how to do this which we have included in lower sections.

Thanks to him we now are able to host these on our site and provide them for you all to check out and enjoy!

More type-ins await in the #typingtaskforce channel!

If this is something that interests you and you think you’d like to help contribute, please join our Discord and check out the #typingtaskforce channel where we discuss type-in listings of many different computers. Should Family BASIC not be your interest, there’s plenty of other computers out there and plenty of code provided in magazines which Gaming Alexandria has made available on the Internet Archive that we would love to see digitally recreated and preserved!

Please join up, as we need all the help we can get in this area. Our community is also great at encouraging and trying to help each other out when we run into various hurdles with typing in code so don’t be shy.

Here’s a little pep talk from ozidual himself on this process.

“Here’s my process. Find some code to type up but ignore all the descriptions of the game. Not hard since they’re in Japanese. Type in the code (an hour or two depending on the code). Run the code a couple times to figure out your mistakes and maybe compare the code to the original (half hour). Finally, run the game and see what you’ve created! Occasionally you get a dud, but most of the games printed in magazines seem to be the cream of the crop at that time, so it’s almost always worth it. Not to mention you’ll get drawn into even the simplest game because YOU CREATED IT!

We need people who can type up games (right!)
We need people who can find decent emulators for old computer systems. There are a lot out there.
We need people who can put together basic instructions for typing/saving/loading code on those emulators.
We need people who can identify easier code for new typers to decide whether they like it.
We need people who can cheer us on – come see cool games as they get typed up.

The best part is, you don’t have to devote much time. When I type up code, I do half an hour here or there and have a game in 2-3 days. Try it. If it pulls you in, great! Do more! If it doesn’t, well you lost a few hours of your life. If that’s the case, let me know and I will personally write out a personalized apology message to you. Free of Charge. You won’t find that offer many places.”

Play Family BASIC on Console

You must own:

  • Family BASIC Keyboard
  • Famicom OR NES with Enio EXP
  • Family BASIC v3.0 OR Flash Cart with Legally Obtained Family BASIC v3.0 ROM
  • 3.5mm audio cables
  • A computer that can play audio

Playing Family BASIC Games

  • Hook up the Family BASIC keyboard to the Famicom port
  • Hook up a 3.5mm audio cable from your computer’s audio output to the Read port on the top edge of your Family BASIC Keyboard
  • Insert a Family BASIC v3.0 cart or Flash cart with FBv3.0 into your console
  • Power on your console (and choose Family BASIC v3.0 if you are using a Flash Cart)
  • Type in LOAD and hit ENTER
  • On your computer, play a Family BASIC BASIC/GAME wav file
  • After a moment it should say LOADING [File Name]
  • A little after that it should say OK and you get a blinking cursor
  • If there is a background/BG file
    • Type in: LOADS and hit enter
    • On your computer, play a Family BASIC BG wav file for that game
    • After a moment it should say LOADING [File Name] and repeat that a few times
    • After about a minute it should say OK and you get a blinking cursor
  • Type in RUN and hit enter
  • Enjoy the game!
  • If the game ends or crashes, type in RUN and hit ENTER again

Play Family BASIC in VirtuaNES

Download and extract VirtuaNES: Download VirtuaNES
Download or create a legal copy of Family BASIC v3.0

  • Open VirtuaNES
  • File – Open and choose your Family BASIC v3.0 rom
  • Edit – ExtController and make sure FamilyBASIC Keyboard is checked
  • Type in: LOAD and hit enter
  • Edit – ExtDevice – Tape – Play(P)
  • Change the file type in the bottom right to All Files(*.*)
  • Open a Family BASIC BASIC/GAME wav file for a game you want to play
  • After a moment it should say LOADING [File Name]
  • A little after that it should say OK and you get a blinking cursor
  • If there is a background/BG file
    • Type in: LOADS and hit enter
    • Edit – ExtDevice – Tape – Play(P)
    • Change the file type in the bottom right to All Files(*.*)
    • Open a Family BASIC BG wav file for a game you want to play
    • After a moment it should say LOADING [File Name] and repeat that a few times
    • After about a minute it should say OK and you get a blinking cursor
  • (Edit – Quick Save – Slot0)
  • Type in RUN and hit enter
  • Enjoy the game!
  • If the game ends or crashes, go to Edit – Quick Load – Slot0 and Type in RUN again

How to Type Up Family BASIC Games with VirtuaNES

I. Preparation

II. First Use

  1. Extract/install VirtuaNES
  2. Rename your Family BASIC v3 ROM to FAMIBE_V3.nes
  3. Place your FAMIBE_V3 rom into the state folder in VirtuaNES
  4. Run VirtuaNES
  5. Go to Edit – ExtController – and click FamilyBASIC keyboard to put a check next to it
  6. File – Open and choose your FAMIBE_V3 rom inside your VirtuaNES\state folder
  7. (Optional) If you downloaded SSTONES.exe, place it in your VirtuaNES\state folder
  8. If you downlaoded the VirtuaNES save state, place it in your VirtuaNES\state folder
    • If you did not download the save state, follow the directions below to create one

To create a prepared Save State file for Family BASIC V3 (if you did not download one above):

  1. Open VirtuaNES and load FAMIBE_V3
  2. Type in: KEY1, CHR$(58)
    • note, Shift-8 is left parenthesis, shift-9 is right parenthesis. It’s shifted over by 1.
  3. Hit return and it should say OK
  4. Type in: KEY2, CHR$(42)
  5. Hit return and it should say OK
  6. Go to Edit – State save
  7. Outside of VirtuaNES, open the VirtuaNES folder and the state folder inside that
  8. Create a copy of FAMIBE_V3.st0 and name it FAMIBE_V3 Keys.st0

What we’ve done is mapped a few keys to F1, F2, and F3 since they don’t get mapped to a standard keyboard from a Family BASIC keyboard.

III. Starting up Family BASIC

  1. Open VirtuaNES
  2. In VirtuaNES go to File – Recent File – FAMIBE_V3.nes to bring up Family BASIC
  3. In the VirtuaNES\state folder, copy FAMIBE_V3 Keys.st0 and rename it FAMIBE_V3.st0
  4. In VirtuaNES go to Edit – State load
  5. You are now ready to enter code

IV. Oddly Placed Keyboard Keys

If you followed the directions above or used the downloaded save state:

F1 = :
F2 = *
Some other common keys that are in weird spots:

Del = Delete (Delete key does nothing)
Shift-2 = ”
Shift-6 = &
Shift-7 = ‘
Shift-8 = (
Shift-9 = )
Shift– = =
Shift-; = +
\ = Yen symbol
Insert – Inserts a space pushing the letter to the right further to the right
End – Breaks the currently running program to bring you back to the BASIC screen

Other Special Keys

F12 – Shifts to Japanese letters (see Family BASIC keyboard to see about how these map)
Shift-F12 – Shifts back to English letters
Holding Shift in F12 brings up another set of Japanese letters

V. BASIC

  • Start each line with a line number (e.g. 10 PRINT”OK”)
  • A single line of code can wrap around the window to the next line multiple times
  • Use : between multiple commands on a single line of code (e.g. 10 LOCATE 22,11:PRINT”OK”)
  • Spaces do nothing unless they are in quotes
    • (e.g. 10LOCATE22,11 is the same as 10 LOCATE 22, 11)
    • (e.g. 10 PRINT “OK” is not the same as 10 PRINT ” OK “, the second will add spaces when printed on the screen)
  • Hit return when you are done typing in a line of code to add it to your program
  • If you type in the same line number but use different code, the original code for that line number will be replaced
  • Type VIEW and hit return to view the current background
  • Type RUN and hit return to run your code

VI. Tips and Tricks

  • You can use the arrow keys to move around the window.
  • LIST – writes all of your code on the screen
  • LIST 10 – writes line 10 of your code on the screen
  • LIST 10-20 – writes lines 10-20 of your code on the screen
  • You can list out your code, go back into it to make changes and then hit return to update the code
  • Do a ‘Edit-State save’ before running code to make things easier to load back up
  • CLS – clears the screen (but not sprites)
  • SPRITE OFF – hides the sprites that are on the screen (SPRITE ON brings them right back where they were)
  • If your program is crashing, add a PRINT”1″ or PRINT”2″ between lines of problematic code to see where it is breaking

VII. Advanced (Hex Editor)

When you load a save state into a hex editor:
0x2A19 start of your code
0x4A14 start of the text you can see on the screen
0x4E14 start of the background
0x5214 end of the background
Edit a save state, save it and then do State load in VirtuaNES to load in your changes

  • this allows you to make changes to what’s written on the screen (add in background images, japanese letters, etc. to your code)
  • if you have a preserved background from archive.org in .hex form, you can copy it and paste it to 0x4E14, save and load state

Download Programs/Game ROMs

Title – Flies
Publication
Micom BASIC (マイコン BASIC) 1986/01
Page Scans1 2

Preserved byozidual
Download ROM
Download WAV File(s)

If you’ve ever watched Equilibrium or apparently Wanted (I’ve never seen it), you’ll know about bullet curving. This isn’t quite that, but you do have to guide your shots around corners. You’re a fighter pilot trying to shoot a fly. There’s another re-spawning, suicidal fly that is attempting to crash into you to destroy you. There are also quite a few steel girders in the way that you need to destroy and some impenetrable blocks that you need to shoot around. While you’re at it, you need to destroy power balls to increase your bullets’ POWA so you can destroy the main fly and reach the flag behind it. You have 3 lives (LAFT) and there are multiple levels. You control your plane until you shoot (hold B) and then you control the left/right of your bullet as it speeds forward. Take out the girders and power balls but make sure to keep hitting the green fly whenever it gets close to you. Getting that final curve for the final fly/flag takes a little practice, but I had a blast with this one!


Title – Dark
Publication
Micom BASIC (マイコン BASIC) 1986/01
Page Scans1 2
Preserved byozidual
Download ROM
Download WAV File(s)

Another 1986 game, this time a simple game with a twist. Walk around the level and get the flags before the walking ball can get you. Pay attention to where everything is because as soon as you get the first flag, the screen goes dark and all you see is you and the ball. The ball that is always creeping closer to you. Find a flag and you get light. For a brief time, then back to darkness. Multiple levels and 3 lives total.


Title – Pen Pen
Publication
Micom BASIC (マイコン BASIC) 1987/01
Page Scans1 2
Preserved byozidual
Download ROM
Download WAV File(s)

This is a Binary Land clone with a decent soundtrack and everything. If you’ve never played Binary Land, it’s a puzzler where you control two penguins at the same time. The trick here is you have to get each set of Ink Wells at the same time while avoiding attacking creatures.


Title – Fisraduth – Castle of Tyramis
Publication
Micom BASIC (マイコン BASIC) 1988/01
Page Scans1 2 Correction Notes
Preserved byozidual
Download ROM
Download WAV File(s)

This game is an artistic gem. Family BASIC limits you to specific sprites: Mario, Pauline, Penguin, Fly, etc. This game somehow uses those to create everything from a shielded knight to a flame spewing tektite to a gowned lady – all 2-3x taller than normal sprites. You are usually limited to a single background in Family BASIC. Fisraduth uses darkness to hide portions of the background to give you the feeling of multiple rooms. There are even hidden, secret rooms. It does have its flaws, and I’ve created an easier version to help out based on recommendations from a NicoNico video. It is still very difficult.

You control a knight with a sword that can swing high or low, and you fight creatures that can hit you or shoot things at you. Along the way you gain a shield that can block projectiles and can increase your armor/sword strength by going into rooms (including secret rooms) to collect powerups. Maybe you have to see first hand the limits of Family BASIC, but it is at least worth seeing a video of Fisraduth on NicoNico if you don’t plan on playing it. I should note that this code needed 1 correction as well. The printed version has a 1 where an I should be. I’ve included a file with Fisraduth that also has variable/code info to help you manipulate the game.


Title – Spirit of Satan
PublicationMicom BASIC (マイコン BASIC) 1989/01
Page Scans1 2
Preserved by – ozidual
Download ROM
Download WAV File(s)

Spirit of Satan was made by Shingo and also had an earlier version that appeared in a MicomBASIC 1987 issue. Smooth movement, large ships similar to how Fisraduth created larger sprites using pieces of smaller sprites. Multiple enemy types including a mini-boss and boss levels with distinct bosses. The stars move down and with you at the same time in a scroll. Stationary stars during boss fights. It is a little slow, you can only have two shots out at a time, and there are only so many enemy shots at a time. Move with D-Pad and shoot with A/B.


 

Title – Metal Arms
PublicationMicom BASIC (マイコン BASIC) 1990/01
Page Scans1 2 3
Preserved by – ozidual
Download ROM
Download WAV File(s)

Metal Arms was also made by Shingo and a few others though they are credited with nothing. It was the first game I typed up that requires loading and running one program to prepare everything, then loading and running a second program to play the game. There is a 3rd program that is just the credits. This games is extremely smooth and extremely fast paced. There are 3 layers of background stars moving at different speeds which add a lot of depth. Lots of bosses which are smaller but look more ship-like and at least 3 standard enemy types. Bullets all over the screen. As before move with D-Pad and shoot with A/B.

Lets step back for a moment. Family BASIC v2.1 was released back in 1984 with 2K RAM. v3.0 came out in 1985 with 4K RAM. This was a huge improvement and many coders began using v3.0, but that wasn’t enough. PEEK and POKE started being abused to new levels and people began mapping out all of the RAM, not just the 4K they give you. While there was no internet to spread info, there was other people’s code you could mine in micomBASIC and I’m sure other resources. Now if your program needed more space, you’d create 2 or 3 programs. The first 1-2 programs would store data/variables inside system RAM and the final program could access and manipulate that data to create a game. You could also use PEEK/POKE to manipulate system variables to allow a more dynamic background, faster movement, more sprites on the screen, etc. That’s how you got games like Metal Arms and later Zacner II.


Title – The Tragedy of Ryohyukan
PublicationMicom BASIC (マイコン BASIC) 1994/01
Page Scans1 2 3
Preserved by – ozidual
Download ROM
Download WAV File(s)

As we know graphics and speed don’t necessarily make a great game. Sometimes all it takes is a new idea or a different way of looking at things. For Tragedy of Ryohyukan there are a bunch of penguins on the screen and your job as detective is to find the killer(s) and mark them pink/red. You can move your cursor with the D-Pad over 9 spots though only the 8 outside ones matter. All the penguins start in the bottom middle square and move counter-clockwise mostly in a group though staggered. Press A to change the direction of the penguins currently standing still. Press B to mark all the penguins standing still as killers. Press Start to see if you’ve marked all the killers (and just killers) red/pink. If you did, you win the stage. You get points for living penguins and bonus points for speed? or maybe for living killers identified since I believe killers can kill killers. There is a timer in the upper right corner with pink rectangles that disappear over time. If you run out of pink rectangles, you lose. If the killers kill all the innocents, you lose. You can lose up to 3 times before it resets you back to the main screen. There are 8 stages and as of stage 3, each stage seems to be the number of killers. I love this game!


Again if you’re interested in helping out with preserving more Family BASIC or really any computer type in programs please join the Gaming Alexandria Discord (Linked on our main page) and join up on the #typingtaskforce channel. We need all the help we can get! More will be added to this page in the future so be sure to check it out and keep up with updates on it by following our Twitter account!

About Dustin Hubbard

Founder and owner of Gaming Alexandria. Obsessed with high quality scans of games for all systems as well as preserving games before they are lost.

4 thoughts on “Nintendo Family BASIC Type in Games

  1. I set up VirtualNES with Family Basic v3 using the pre-made save state as described in this article. I’m all set and ready to begin entering some games I know haven’t been converted to ROMs yet, but I’m running into a very basic (no pun intended) problem: I can’t figure out how to switch back and forth between BG GRAPHIC and GAME BASIC modes (using a modern keyboard). I’ve checked out the unofficially translated manual, I’ve read this article and a few others, and for the life of me I still can’t figure out how to do that. Anybody able to assist?

    1. Hi Jeff,

      Good question. If you are using Family Basic V3:
      BASIC to BG by typing in BGTOOL and hitting Enter
      BG to BASIC by pressing ESC to bring up the menu and then press END (aka STOP)

      If you are using Family Basic V2.1:
      Basic to BG by typing SYSTEM and hitting Enter
      BG to Basic by pressing ESC to bring up the menu and then press END (aka STOP)

Leave a Reply

Your email address will not be published. Required fields are marked *