Family Basic V3 Manual Translation

Started by P, January 28, 2014, 02:22:48 am

Previous topic - Next topic


January 28, 2014, 02:22:48 am Last Edit: June 19, 2020, 03:59:53 am by P Reason: Update
Note: Latest version of the translation can always be found in the attachment of this first post. Parts of the translation written in some posts may be outdated.

After completing the translation of the manual for V1/V2 I started slowly working on the V3 manual. And now it's time to make it public I thought.

I start with the most important things first such as the commands and how to use the backup feature. That way this translation document can be used as a reference until the whole project is complete.

Japanese scans
I don't know who scanned them but thanks a lot to that person. This makes things much easier.
Download from Famicom World (126 MB)

Initial translation
As usual I skipped the table of contents and started on page 2. I then skipped to the introduction of the commands. It should give people the basic idea how to use them but I have yet to translate the real explanations in the back of the book. Then I skipped to the explanation on how to use the backup switch since it's a bit different from V1/V2. Finally I translated the memory map on page 126 and the five new error codes in V3.

TN = Translator's Note

---Front Cover-----

---Front Cover-----

Empty page


On this occasion we want to thank you for purchasing Nintendo "FAMILY BASIC V3" cartridge. Thank you very much indeed.
Before using the product, please read this handbook carefully and pay heed to the warnings and advises in order to get familiar to the correct usage of the product. Furthermore please keep this handbook in a safe place.

Table of Contents

1 Let's get familiar with the features of Family BASIC V3!......1
1-1 The contents of the 4 programs......2
TN: Since translating something out of context is seldom a good idea I'll save this table of contents until I've translated everything else.

TN: Continuation of the table of contents

TN: Continuation of the table of contents

TN: Continuation of the table of contents

TN: Continuation of the table of contents

1. Let's get familiar with the features of Family BASIC V3

1-1 The contents of the 4 programs

In the Family BASIC V3 cartridge there are 4 programs together with BASIC.
②Penpen Maze
③Mario World
④Star Killer

After turning on the power, these programs may be executed by one touch on the [F1]~[F4] buttons. When blowing into the microphone on Controller [II] hearts will appear, or Penpen, Mario, or a spaceship shows up. Nothing but fun things. Also it doesn't take the same amount of effort and time as reading programs from cassette tapes does, so you can play around with them with ease. What's more, these programs are all written in BASIC, so they may be modified freely. Usually it takes a lot of effort and time to modify the programs in the book. But this book thoroughly explains how to modify each and every program, so that even beginners can enjoy making modifications to the programs. With these methods you can naturally make your own original games without having to type programs from the beginning.

        1. Let's get familiar with the features of Family BASIC V3!

Furthermore, the 4 built-in programs are all listed here as well as explanations for them. It might be hard to understand all the details here, but we believe that one should be able to understand the overall flow of the programs. By all means refer to this when you are studying BASIC or making your own game.

Feature Enhancements
●BASIC has been enhanced
①More collision checking (CRASH) and similar functions that makes it easier to make a game.
②More commands that helps with making programs and testing.
③More BASIC commands, programs may become 1/3 shorter than before. TN: I'm not sure about this line


●BG GRAPHIC have become easier to use
①It is now possible to use BG GRAPHIC from BASIC without first going back to a menu.
②BG GRAPHIC is now able to hold 2 screens which can be swapped from the program.
③BG GRAPHIC data can now also be backed up using batteries.
④It's now possible to save and load BG screen data to and from tapes in BASIC mode using commands.

Memory Expansion
●Memory increased to 4 kilobyte
①Capacity is doubled so it's now possible to store long lists.
②By using the enhanced features it's possible to make more advanced programs than before.

Built-in Programs
●4 programs built-in
①Can be used as is to be played immediately
②We will introduce various ways to modify these programs, so it will be easy to modify them.
③Comments are written along the lists, so the programs may also be worthwhile to read.
Fig. 1


TN: There's lots of PR here so I'll skip a few pages to translate the more interesting stuff first.

A. Helpful commands for making programs

First we will introduce some commands that are useful when you are typing new programs or testing them. For example when you are typing your program there are the command AUTO that automatically inserts line numbers, or the command RENUM that fixes your unevenly numbered lines by adding or removing numbers. Getting accustomed to these will prove to be very helpful. Also the TRON/TROFF which used for testing movements in your program, and FIND which is used to search variable names in the list. These additions makes things even easier to do.

●RENUM (renumber)
A command that cleans up an already typed list by ordering the line numbers in a 10, 20 ......... like fashion.

A command that automatically inserts line numbers as you type your program.

A command that deletes several lines in groups in an already typed list.

●TRON/TROFF (Trace On/Trace Off)
A command that displays the list's line numbers while the program is running, in the order they are executed. And a command that returns the execution process back to normal.

A command that searches for the string specified, and then displays the corresponding string.

It can be used to display the name of a command on a line. TN: I don't get this last sentence. What it does is that it can search for either a string or a string variable name. Either way it will display both as well as the line number it was found on.

A command that jumps to a specific line if an error occurs during program execution. RESUME is used for returning back to the original line again after jumping.

Commands that are used for dealing with errors. It's used when you want to know what error occurred on what line.

B. Commands that are useful for making games
Next we will introduce some commands that is have practical use when making games, and will increase your efficiency. Some commands like CAN, CRASH() and VCT() can get complicated but their strength is realized when one wants to make a fast program. It's these kinds of ommands that is Family Basic V3's secret to making shorter and more efficient programs.

●CAN (cancel)
A command that cancels designations by DEF MOVE (define move).

A command that checks if Mario or other animated characters defined by DEF MOVE collides with each other. Used for laser collision checking and such things.

Mario's notepad: Program

●VCT() (vector)
A command that checks what direction an animated character is moving in with the MOVE command.

A command used to swap between BGScreen0 and BGScreen1. It's possible to write to one while displaying the other.

This command has been expanded upon. It's now possible to pick one of the two screens to clear.

A command that colours the whole screen pale.

V3-kun: You can load another background screen to your program! TN: I'm not sure about this line. It uses the word of 100 meanings "kakeru" in funny way.

C. BG GRAPHIC commands

BG GRAPHIC is one of the big features of Family Basic. By drawing backgrounds with this tool you can save greatly on memory space. And in Family Basic V3 more functions has been added. You can now save your BG GRAPHIC screens with the battery backup, and there are commands from BASIC mode that you enter to do things like saving or loading the screens to and from tapes. However please be careful, because you can only save BGScreen1 (screen made with BG GRAPHIC)

to battery backup or tape with these commands.

A command that calls the BG GRAPHIC drawing function.

A command for preparing to save a BG screen to battery backup, as well as a command that restores a backed up BG Screen. Forgetting these commands means that you can't backup BG Screens.

Commands that saves and loads a BG screen to tape. Since the commands SAVE/LOAD is used to save and load programs to and from tapes, this command has an S for SCREEN added to it. There's also a way to SAVE/LOAD both a program and BG Screen at the same time (refer to P.24).

D. Other commands

A command used for saving programs or BG screens to the battery backup memory. Forgetting this command means that you can't backup correctly.

A command that specifies whether the "pi pi" sound (click sound) will be heard or not when pressing down keys.

●INSTRNG() (in string)
A command that checks whether a specified string exists in a data string. TN: That's what it seems to say but it sounds weird. What this command actually does is that it returns the starting position (as a number starting with 1) of a specified string or part of a string in a specified string variable.



A command that loads one of the 4 built-in programs. You can execute them immediately after loading them. The program numbers are 0~3 and it's also possible to specify a built-in background screen to be loaded together with the game as well.

※For such things as how to use the keyboard, how to use commands, Character Table A and B and Colour Chart, Please see the previous Family BASIC instruction manual.

Mario: Once you understand the features...
Mario: Let's go to the next page!

I have a bit more but I need to make another post because it will be too big.


A tremendous achievement - thanks for sharing here :D
My for Sale / Trade thread


Great work, so far!

Quote from: P on January 28, 2014, 02:22:48 am
Japanese scans
I don't know who scanned them but thanks a lot to that person. This makes things much easier. (126.27MB)

I think Manuel is the one who scanned it.


OK thank you Manuel!

Here's the rest I promised. Here comes the explanation for cartridge backup and the memory map.
Using a spoiler clause didn't work here so I had to use a code clause.

TN: Here from page 13 comes the usual explanations how to insert the cartridge etc as well as
how to load each built-in game. GAME # (#=0-3)
I'll just skip to the battery backup explanation for now since it's a bit different from V1/V2.

2-4 About Memory Backup

You can temporarily put your BASIC programs or BG GRAPHIC screens inside the V3 cartridge
memory backup using batteries. Please use this whenever you need to rest from your
programming and turn off the power.

A. When backing up both a program and BG GRAPHIC

In this case, first prepare by using the BGGET command to save the BG GRAPHIC, and then
use the BACKUP command and follow the on-creen directions and turn the backup switch to ON.
Please be careful not to use BGGET and BACKUP in the wrong order.

①Press the following keys: [B][G][G][E][T][RETURN][B][A][C][K][U][P][RETURN].
②The message 「バックアップ スイッチ ヲ ON ニ シテクダサイ」 (Please turn the backup switch to ON) will appear.
③Turn the switch on the upper left part of the V3 cartridge to ON (the right position).

Objects held by V3-kun: BASIC Program, BG GRAPHIC Screen, Battery
V3-kun: Temporarily storing in memory.


④The message 「デンゲン ヲ OFF ニ シテクダサイ」 (please turn OFF the power) will appear.
⑤Turn off the main unit, and then pull out the V3 cartridge.

In addition, if you enter the BGGET command, you will get "OM ERROR". This means that there
is not enough memory to backup both program and BG GRAPHIC data. In this case save one of
them to a cassette tape and the other one to the backup memory.

B. When only backing up a program
This is basically the same as backing up both, but preparing the BG GRAPHIC backup will be
unnecessary so the procedure will take this form:
①Press the following keys [B][A][C][K][U][P][RETURN].
②The following steps are identical to the ones in A.

C. When only backing up BG GRAPHIC
This is also basically the same as backing up both. However since the program is not needed
in this case, change step ① of A, to the following one and the program will be deleted before
backing up.

Here, a program that has been deleted cannot be restored again, so it might be a good idea
to save the remaining program to a tape.
①Press the following keys [N][E][W][RETURN][B][G][G][E][T][RETURN][B][A][C][K][U][P][RETURN].
②The following steps are identical to the ones in A.

D. Steps for how to go back to using the backed up code/data.

①Plug in the V3 cartridge into the main unit and switch on the main unit.
②The message 「バックアップ スイッチ ヲ OFF ニ シテクダサイ」 will appear.
③Turn the backup switch on the upper left part of the V3 cartridge to OFF (the left position).
④BASIC mode starts and you will now be able to use the program and/or BG GRAPHIC that
is stored in memory.

V3-kun: Backup complete!

  Turning on the power with the backup switch in the ON position and starting like this is
called a HOT START. It will also say "HOT START" on the screen. This is means that there
already is a program in the backup memory. If there are BG GRAPHIC in memory it will say
"HOT START BG". And then BGScreen1 data will automatically be transferred from the user
RAM to the VRAM. The command BGPUT restores that backed up state. If BGPUT is used
again here, the error NB will appear since the data already has been transferred.

[Right picture:] If there are BG GRAPHIC data

TN: Starting normally without any backed up stuff is called a COLD START as it's explained
on page 16.

Memory Map

<<Changes in V3>>

User (RAM)
Unused region
BASIC Interpreter
BG Screen (used for Mario World)
Used by system

Error Messages
※If an error occurs during execution and you don't understand what kind of error it is,
please refer to the following list.

Error Code  Error Displayed  Error Message  Explanation

TN: These looks the same as in the V2 manual so I'll save it for later.

TN: I'll just translate the new ones for now. Please look in the V2 manual for the rest.
15  UF  Undefined function           Called a function that hasn't been defined.
18  NR  No Resume                      Jumping with ON ERROR GOTO although there is no
                                                     RESUME statement.
19  RE  RESUME without error     Jumped to a routine which has a RESUME statement
                                                     without using ON ERROR GOTO.
20  NB  No BG data                      The BG data doesn't exist in the RAM area.
21  UP  Unprintable error              An error that cannot be placed within codes 0~20.

※Codes 15, 18~21 are newly added errors in V3.

Next up is how to save/load to a tape!

Oh and I forgot to say this, as usual in my translation project everyone are welcome contribute with corrections, translations, suggestions, criticism, image editing etc.


Hello now it's time to explain how to save to a cassette tape.

2-5 Saving and Loading with Cassette Tapes

In Family Basic there are the commands SAVE/LOAD (for saving and loading
programs) from before, and the two newly added commands SAVES/LOADS (saving and
loading BG GRAPHIC data). Previously you could not save a screen created in BG
GRAPHIC unless you were in BG GRAPHIC mode, but with these commands it's now
possible to do it from BASIC mode. Both commands works the same as the two
commands for saving and loading programs SAVE/LOAD. (Family Basic instruction
manual "SAVE and LOAD programs" P.45~48) furthermore, it is possible to use this
command to read BG GRAPHIC data that has been made in previous Family Basic from
a tape.

Mario: You can do it with a BASIC command!
Flying person: BG GRAPHIC save and load

●About the built-in programs●
The 4 built-in games in the V3 cartridge can also be saved to tape with the SAVE
command the same way as the programs you have typed yourself.

Of course you can also save them after you have modified them in various ways.
Also you can use SAVES/LOADS to save/load screens, you can make many screens for
"Mario World" and use them for other things as well. TN:I'm not 100% sure about
this line.

●How to save programs and BG GRAPHIC data together
When you want to combine a program and BG GRAPHIC data
to one game, it is more convinient if they also can be
SAVEed/LOADed together. By doing the following you can
SAVE/LOAD programs and BG GRAPHIC data at the same time.
①When saving
[S][A][V][E]["]Program name["][:][S][A][V][E][S]["]BG file name["][RETURN]

②When loading
[L][O][A][D]["]Program name["][:][L][O][A][D][S]["]BG file name["][RETURN]

Mario: How about that? Convenient, isn't it?

※Instructions of the whole flow of using the V3 cartridge
from start to finish is illustrated on p.121~125.


Next up is how to modify the built-in games!


Finally did some more work on this project.

  • The latest translation can now be downloaded as a text file in an attachment in the first post.

  • Pages 25, 26 and 27 translated.

  • All the errors on page 126 and 127 are now translated which also makes those pages complete.

When translating the errors at page 127, I looked at the old Family Basic manual translation for the error codes descriptions (p. 105) and since all the old errors have identical Japanese descriptions in the two manuals, it would be fair if English translations also used identical translations I thought.

However error 16 was confusing in the old translation (it's not the command that is needed but the parameter) so I had to change that. And since it's not identical anymore I thought I might as well change other stuff as well. So they might be slightly different from the old translation but most of them was more or less copied.


Could somebody PLEEEEEZ upload the translated Family BASIC manuals again? I was only able to get the file because the others are gone.


I think this thread has all of the V3 text in it.  There's no "scanlation" like there is of the V2 manual.

The V2 manual translation is hosted by FW now to keep the link from dying:


Yes all V3 stuff is in this thread. I reuploaded Manuel's V3 scans again. Everything translated so far is in the text file attached to the first post. I think I have a few more pages translated, but until I can get them out from my broken computer this translation is unfortunately on hold.


July 07, 2015, 04:16:16 pm #9 Last Edit: July 07, 2015, 04:22:09 pm by doctorx0079
Arigato gozaimasu!  ;D

Post Merge: July 07, 2015, 04:22:09 pm

FYI the 176MB file with the link is no longer out there.


EDIT (Sorted)
And amazing job for translating this..Thank you! :-)
Nintendo Child <3


I figured I should continue translate important parts of the manual, so I started translating the commands in the back of the book.

This is all I got so far:


4. FAMILY BASIC V3 Command Comprehension


How to read this document

Here we will explain the new command language added in Family BASIC V3. You
read this document in the following way.

[Working]...... Brief explanation of the functioning of the command.

[Abbreviation]...... The abbrevation of the command.

[Grammar]...... Syntax, shows the typical form of usage of the command.
                •[ ] The user is free to omit the contents inside these.
                •{ } The user is free to choose the item inside these,
                 but it can not be omitted.
                •( ), ",(comma)", ":(colon)", ";(semicolon), "-(hyphen)",
                 "=(equal)" and such symbols are to be inserted according to
                 the syntax rules.

[Explanation]...... How to use the command and all important details are
                   thouroughly explained.

                   ......Example usage of the command and its results and
                         similar things are shown here.

           ......If the user omits an item in the expression, the default value
           that are used instead are explaned here.

[CAUTION] TAB and SPC are reserved escape keywords, so they can't be used as
variable names.


Automatically inserts line numbers while a program is being typed.


AUTO [m], [n]
  m... First line number (0~65534)
  n... How many line numbers to be added at a time (0~65534)
  Default value m=10 n=10

When typing a program after using this command, line numbers automatically
increased and added for each line. It's also possible to assign the line number
increment per line.
Consequently, only the part of the program that is typed after this, will
get automatic line numbers.

After typing one line and pressing [RETURN] key, the next line number appears
and is increased with the specified increment value.
If m, n assignments are omitted, the default value 10 is choosen.

If a line number that has already been inserted before it appears, and this
is a line that is not to be overwritten,

press the [RETURN] key to skip the line.
If instead characters are entered and [RETURN] key is then pressed, the line's
content will be replaced with this new content.
The AUTO command is terminated by pressing the [STOP] key.


Used to backup programs or BG screens.



A command that prepares the contents in the user RAM area to not dissappear,
even if power is swiched off, by powering it with batteries.
If one wants to backup the program together with BGscreen1, it first needs
to be transfered to the user RAM area with the command BGGET.
However, in this case the program in memory

needs to be 3 Kbyte or less (refer to BGGET).
After entering this command, a message that says to turn backup switch to ON is


A command for backing up BGscreen1.



Transfers BGscreen1, that is in VRAM, to user RAM.
However, if there is not enough room in user RAM, an OM error will appear
(memory capacity is 4 Kbyte).


A command for transfering the BG screen, backed up with BGGET, to VRAM.

PAGE 100



Transfers data, that has been transfered to user RAM with BGGET, back to VRAM.
If it has already been transfered, an NB error will appear.
Also, during a HOT START data will automatically be transfered from user RAM
to VRAM just like if the BGPUT command was used.


A command that switches over to a mode for drawing backgrounds.



Switches over from BASIC mode to BG GRAPHIC mode where BGscreen1 may be drawed
out. It is possible to execute this, while in the middle of creating a program.
Furthermore, it's possible to include this command in a program. Creating a
background in BG GRAPHIC is the same as before.
PAGE 101

To return to BASIC mode, press the [ESC] key and then the [STOP] key.

CAN (cancel)

Undefines an animated character defined with DEF MOVE.

CAN n0,n1,n2......n7
n0~n7...sprite number

A command that undefines both the displayed instance and the coordinate
position of an animated character defined by DEF MOVE.
Until now in Family BASIC it was necessary to both erase the displayed
character and undefine its coordinate position (0,0), using the ERA and the
POSITION commands. In V3, this can be done by just using the CAN  command.
PAGE 102


Toggles the key input sound (click sound) ON/OFF.


CLICK {ON } sound comes out


Clears whatever is displayed on a BG screen.


  0...clears BGscreen0.
  1...clears BGscreen1.
  If omitted, the currently accessed BG screen will be cleared.

There two BG screens, 0 and 1. Which screen is cleared, is specefied with the
PAGE 103

Determines if DEF MOVE animated characters overlaps each other.


n...Sprite number (0~7)

Determines if animated characters overlaps each other.
When an animated character is overlapped, CRASH(n) becomes the smalles sprite
number of the involved sprites. But if no overlapping happens, it becomes
-1, and if the sprite is undefined, it becomes -2.


When there is a part of the program that is to be deleted, one can assign
the line numbers with this
PAGE 104
and delete it all at once.


DELETE [m]{'}[n]
  m...Starting line number that is to be deleted
  n...Ending line number that is to be deleted

If only the m value is specified, only that line will be deleted (②).
Furthermore, if only the - (hyphen) to n value is specified,
everything between the first line and the specified line (n) is deleted (③).
If n is omitted, everything between the value in m and the final line is
deleted (④).
  DELETE m-n ...①
  DELETE m   ...②
  DELETE  -n ...③
  DELETE m-  ...④

Requests the line number where an error happened on.
PAGE 105

Used when an error happens and one wants to know what line number it happened
The value returned by ERL (the line number the error occured on), can be used
for deciding which error handler routine to jump to with ON ERROR GOTO


Requests the error code of an error that happened.


When an error happens, one can jump to an error handler with ON ERROR GOTO.
The value returned by ERR, is the error contents' coresponding error code,
and can be used for deciding the contents of
PAGE 106

the error handler routine.
※Refer to the ON ERROR GOTO sample program, as well as the error code list


Executes a fictive error.


ERROR error code
※Refer to the error code list (P.127).

This is a command for testing if an error handler routine is working as it
should, by executing a fictive error. The error corresponding to the
specified error code will execute on the current line.



A command that searches for a specified string in a program, and displays
the line(s) it found it on.
PAGE 107


  X...Searched word  within 31 characters

It compares with all lines that has been typed. When one wants to make changes
to a program, one can use this command to display all lines that contains the
word (called a string) one wants to make changes to. It is very convinient.


Colors all BG screens.


FILTER color number
#0     #1      #2        #3         #4       #5          #6           #7
no     red     green     yellow     blue     magenta     sky-blue     white

Default value is 0

When the filter is applied, colors become lighter.
PAGE 108

The table shows all 8 types (0~7) that can be set as a color number. If no
number is set, the default value (the valuse set automatically) 0 is choosen.
Also if [CTR] and [D] is pressed at the same time, the colors are set back to
default state.


Executes the games that are built-in in the ROM.


GAME P [,Sw]
  P...Game number (0~3)
  Sw...Transfer background: 1
       Do not transfer : 0, or omit number

There are 4 types of games. Each game is called by specifying the
corresponding game number. This command can not be included in a program.

With better understanding of how several commands works now, I corrected some errors in previous pages.
Everything is also included in the text file in the first post as usual.


Yes! Thank you so much for doing this. If you ever feel like updating a scanned version of the V3 manual images with the translated text, I would have to pay you! This is incredibly helpful. I'm learning more every day  ;D


I do about one command/page a day. Sometimes more. This way it's not too much and it will get done eventually.

BTW the FILTER command seems just to set the red, green and blue emphasis bits of &H2001. I guess Famicom Titler and Sharp C-1 Famicoms will show a blank white screen if FILTER 7 is used (CTR+D saves the day in that case).

The effects of FILTER can be achieved by poking &H2001 with the following values:
no color = &H1E
red = &H3E
green = &H5E
yellow = &H7E
blue = &H9E
magenta = &HBE
sky-blue = &HDE
white = &HFE

But there's no command for greyscale mode. For that, just change the lower nibble that you poke to &H2001 to an F:
greyscale = &H1F
It can even be combined with the color emphasises:
greyscale + green emphasis = &H5F


I don't fully understand FILTER. I've tried using it on a black, blue, and green background colored screen. I try FILTER 0 through 7 and see the background getting lighter or darker in an inconsistent order. There is difference on a black screen. What exactly can you do with FILTER?