Famicom World

Family Computer => Famicom / Disk System => Topic started by: P on January 28, 2014, 02:22:48 am

Title: Family Basic V3 Manual Translation
Post by: P on January 28, 2014, 02:22:48 am
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 http://www.famicomworld.com/forum/index.php?topic=8876.0 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 fambasv3.zip from Famicom World (http://famicomworld.com/Personal/uglyjoe/fambasv3.zip) (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.

Spoiler
TN = Translator's Note

---Front Cover-----
FAMILY BASIC V3
Handbook

---Front Cover-----

Empty page

---------(-5)---------
FAMILY BASIC V3
Handbook
---------(-5)---------

---------(-4)---------
Greeting
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.
---------(-4)---------

---------(-3)---------
TN: Continuation of the table of contents
---------(-3)---------

---------(-2)---------
TN: Continuation of the table of contents
---------(-2)---------

---------(-1)---------
TN: Continuation of the table of contents
---------(-1)---------

---------0---------
TN: Continuation of the table of contents
---------0---------

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

---------2---------
1-1 The contents of the 4 programs

In the Family BASIC V3 cartridge there are 4 programs together with BASIC.
①Heart
②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.
---------2---------

---------3---------
        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

(BASIC命令が増え、今までの1/3のプログラム量ですむ。)

●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

---------3---------

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



---------8---------
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.

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

●DELETE
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.

●FIND
A command that searches for the string specified, and then displays the corresponding string.
---------8---------

---------9---------
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.
「○○という命令を使っている行をリストアップする」といった使い方ができます。

●ON ERROR GOTO/RESUME
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.

●ERL/ERR/ERROR
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).

●CRASH()
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
---------9---------

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

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

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

●FILTER
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)
--------10---------

--------11---------
to battery backup or tape with these commands.

●BGTOOL
A command that calls the BG GRAPHIC drawing function.

●BGGET/BGPUT
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.

●SAVES/LOADS
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

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

●CLICK ON/OFF
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.

--------11---------

--------12---------

●GAME
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!

--------12---------
[close]
I have a bit more but I need to make another post because it will be too big.
Title: Re: Family Basic V3 Manual Translation
Post by: L___E___T on January 28, 2014, 05:37:32 am
A tremendous achievement - thanks for sharing here :D
Title: Re: Family Basic V3 Manual Translation
Post by: UglyJoe on January 28, 2014, 05:58:32 am
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.
http://www.sendspace.com/file/dpywew (126.27MB)


I think Manuel is the one who scanned it.
Title: Re: Family Basic V3 Manual Translation
Post by: P on January 29, 2014, 04:32:01 am
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.

--------19---------
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.


--------19---------

--------20---------
④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.
--------20---------

--------21---------
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!
--------21---------

--------22---------
  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.
--------22---------

-------126---------
Memory Map

<<Changes in V3>>

User (RAM)
Unused region
BASIC Interpreter
BG Screen (used for Mario World)
GAME 0
GAME 1
GAME 2
GAME 3
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

0
1
2
3
TN: These looks the same as in the V2 manual so I'll save it for later.
------126---------

------127---------
TN: I'll just translate the new ones for now. Please look in the V2 manual for the rest.
4
5
6
7
8
9
10
11
12
13
14
15  UF  Undefined function           Called a function that hasn't been defined.
16
17
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.
------127---------


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.
Title: Re: Family Basic V3 Manual Translation
Post by: P on February 14, 2014, 03:53:28 am
Hello now it's time to explain how to save to a cassette tape.


--------23---------
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.
--------23---------

--------24---------
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.

--------24---------



Next up is how to modify the built-in games!
Title: Re: Family Basic V3 Manual Translation
Post by: P on July 14, 2014, 06:10:10 am
Finally did some more work on this project.



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.
Title: Re: Family Basic V3 Manual Translation
Post by: doctorx0079 on July 06, 2015, 07:04:28 pm
Could somebody PLEEEEEZ upload the translated Family BASIC manuals again? I was only able to get the famibasv2_e.zip file because the others are gone.
Title: Re: Family Basic V3 Manual Translation
Post by: UglyJoe on July 06, 2015, 07:11:25 pm
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: http://famicomworld.com/Personal/uglyjoe/FamilyBasicManual.pdf (http://famicomworld.com/Personal/uglyjoe/FamilyBasicManual.pdf)
Title: Re: Family Basic V3 Manual Translation
Post by: P on July 07, 2015, 02:27:31 am
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.
Title: Re: Family Basic V3 Manual Translation
Post by: doctorx0079 on July 07, 2015, 04:16:16 pm
Arigato gozaimasu!  ;D

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

FYI the 176MB file with the link https://www.sendspace.com/file/cpn7om is no longer out there.
Title: Re: Family Basic V3 Manual Translation
Post by: DahrenDreamcast on July 09, 2015, 05:38:33 pm
EDIT (Sorted)
And amazing job for translating this..Thank you! :-)
Title: Re: Family Basic V3 Manual Translation
Post by: P on August 27, 2015, 08:47:59 am
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:


--------------------------------------------------------------------------------
PAGE 95

4. FAMILY BASIC V3 Command Comprehension

--------------------------------------------------------------------------------
PAGE 96

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.
--------------------------------------------------------------------------------
PAGE 97

AUTO

[Working]
Automatically inserts line numbers while a program is being typed.

[Abbreviation]
A.

[Grammar]
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

[Explanation]
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,
--------------------------------------------------------------------------------
PAGE 98

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.


BACKUP

[Working]
Used to backup programs or BG screens.

[Abbreviation]
BA.

[Grammar]
BACKUP

[Explanation]
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
--------------------------------------------------------------------------------
PAGE 99

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
displayed.


BGGET

[Working]
A command for backing up BGscreen1.

[Abbreviation]
BGG.

[Grammar]
BGGET

[Explanation]
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).


BGPUT

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

--------------------------------------------------------------------------------
PAGE 100

[Abbreviation]
BGP.

[Grammar]
BGPUT

[Explanation]
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.


BGTOOL

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

[Abbreviation]
BG.

[Grammar]
BGTOOL

[Explanation]
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)

[Working]
Undefines an animated character defined with DEF MOVE.

[Grammar]
CAN n0,n1,n2......n7
n0~n7...sprite number

[Explanation]
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

CLICK

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

[Abbreviation]
CLI.O./CLI.OF.

[Grammar]
CLICK {ON }...click sound comes out
      {OFF}...silence


CLS

[Working]
Clears whatever is displayed on a BG screen.

[Abbreviation]
CL.

[Grammar]
CLS[BGscreen]
  0...clears BGscreen0.
  1...clears BGscreen1.
  If omitted, the currently accessed BG screen will be cleared.

[Explanation]
There two BG screens, 0 and 1. Which screen is cleared, is specefied with the
number.
--------------------------------------------------------------------------------
PAGE 103

[Working]
Determines if DEF MOVE animated characters overlaps each other.

[Abbreviation]
CR.

[Grammar]
CRASH (n)
n...Sprite number (0~7)

[Explanation]
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.



DELETE

[Working]
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.

[Abbreviation]
DEL.

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

[Explanation]
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-  ...④


ERL
[Working]
Requests the line number where an error happened on.
--------------------------------------------------------------------------------
PAGE 105

[Explanation]
Used when an error happens and one wants to know what line number it happened
on.
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
statements.


ERR

[Working]
Requests the error code of an error that happened.

[GRAMMAR]
ERR

[Explanation]
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
(P.127).


ERROR

[Working]
Executes a fictive error.

[Abbreviation]
ERR.

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

[Explanation]
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.


FIND

[Working]

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

[Abbreviation]
FI.

[Grammar]
FIND X
  X...Searched word  within 31 characters


[Explanation]
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.


FILTER

[Working]
Colors all BG screens.

[Abbreviation]
FIL.

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

Default value is 0

[Explanation]
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.


GAME

[Working]
Executes the games that are built-in in the ROM.

[Abbreviation]
GA.

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

[Explanation]
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.
Title: Re: Family Basic V3 Manual Translation
Post by: zmaster18 on August 27, 2015, 10:20:04 am
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
Title: Re: Family Basic V3 Manual Translation
Post by: P on August 27, 2015, 02:21:07 pm
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 (http://wiki.nesdev.com/w/index.php/PPU_registers#Mask_.28.242001.29_.3E_write). 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
Title: Re: Family Basic V3 Manual Translation
Post by: zmaster18 on August 27, 2015, 02:57:22 pm
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?
Title: Re: Family Basic V3 Manual Translation
Post by: P on August 28, 2015, 02:06:08 am
Color emphasis is just for some color effects without touching the palettes. Most games (http://wiki.nesdev.com/w/index.php/Colour-emphasis_games) use it for making a red, green or blue tint on the screen or to flash it by quickly setting all three bits on and off.

The FILTER numbers just sets all possible combinations of the three emphasis bits. There's no logical order to them other than that they set the bits in order from red to blue:
0 = all three emphasis bits clear
1 = red emphasis bit set
2 = green emphasis bit set
3 = red and green emphasis bits set
4 = blue emphasis bit set
5 = red and blue emphasis bits set
6 = green and blue emphasis bits set
7 = all three emphasis bits set
In other words they are the decimal form of the three bits settings (000=0, 001=1, 010=2, 011=3 and so on).

Check the wiki I linked to, to see all the bits in &H2001 and what they do. Then just convert the hexadecimal numbers to binary (use a programming calculator, comes with modern OSes) to see why you poke those hexadecimal values to get the same effect.

Some games like Just Breed and Magician sets all three bits to dim the screen at all times. This makes them unplayable on RGB PPU systems (Sharp C-1, Famicom Titler, VS System and PlayChoice-10) since those PPUs treats the setting differently (screen becomes totally white if you set all three bits on those PPUs, and it becomes impossible to see anything). So if you want your game to be compatible with the Titler and C-1, don't set all three emphasis bits at the same time (in other words don't use FILTER 7).

Another possible incompatibility is that PAL and Dendy PPUs swaps the meaning of the red and green bits (so FILTER 1 makes the screen green instead of red and FILTER 5 makes the screen sky-blue instead of magenta and so on).
Title: Re: Family Basic V3 Manual Translation
Post by: P on August 31, 2015, 04:20:16 am
Thought I should finish the commands by the weekend. :)


--------------------------------------------------------------------------------
PAGE 109

Furthermore, when a game is called forth, it will automatically delete the
program currently in the memory so please be carefull.
Out of all of the built-in games in V3, only "Mario World" needs to have its
background transfered.


INSTR (in string)

[Working]
Requests the position of a character (string2) in string1 in a program.

[Abbreviation]
INS.

[Grammar]
INSTR ([P]string1,string2)
 P...From which line the search for string1 begins.
 Default is 1.

[Explanation]
First it will see whether string1 contains string2 or not. If it does, it will
start counting from the beginning of string1 to the position of string2 and use
that number as the return value.
--------------------------------------------------------------------------------
PAGE 110

The scope of the value is between 1~31, if the string can not be found it
returns 0. The counting goes from left to right.


LOADS (load es)

[Working]
A command that loads the BG GRAPHIC data from a casette tape.

[Grammar]
LOADS "file name"
Provided that filename: within 31 characters

[Explanation]
Basically the same as the command for loading programs (LOAD).
If a file name is specified, that name will be used to find the BG. Other BG
or programs on the tape will be skipped (SKIP will be displayed).
If the file name is omitted, it will load the first BG it finds on the
cassette tape.
To load a porgram and BG together, press:
[L][O][A][D]["]program name["][:][L][O][A]
--------------------------------------------------------------------------------
PAGE 111

[D][S]["]file name["][RETURN].
When loading, LOADING file name will be displayed, and when it is done it will
say OK.


ON ERROR GOTO

[Working]
Specifies the line to branch to, when an error happens.

[Abbreviation]
O.ERR.G.

[Grammar]
ON ERROR GOTO line number

[Explanation]
By executing this statement in the beginning of the program, one can branch to
the specified line (error handler routine) when an error happens.
When this routine that was branched to is done, one can use RESUME or END
commands. If RESUME is used, it will return to the specified line in the
previous main routine. Moreover, if END is used,

TN: The string on line 100 in the sample program "トケマセン" means
"can not be solved".
--------------------------------------------------------------------------------
PAGE 112

the program will terminate, and wait for command input.

TN: Look in the manual scan for the real diagram but here is roughly how it
looks like:

 Main
 routine

 ON ERROR
     GOTO

 Main
 routine
               (branch)
 Error occurs ------\
             ^      |
             |      v
             |    Error handler routine
             |      |            |
             |    RESUME        END
 Main        |      |             |
 routine <----------/             |
     |           return to        |
     |           main routine     |
     |                            v
     \-------------------------> Terminate


RENUM

[Working]
A command that replaces the program's line numbers.

[Abbreviation]
REN.

[Grammar]
RENUM [L],[m],[n]
 L...Starting number for the new line numbers.
--------------------------------------------------------------------------------
PAGE 113

 m...Original starting line number to change
 n...How many lines to increase each line number with.
 Default value L,m,n are all 10

[Explanation]
A command that sorts a program's line numbers. Not only does it sort the line
numbers, it also automatically updates any line number argument used in
branches by GOTO, GOSUB and such commands, to the corresponding new line
numbers that resulted from the sorting.
However, literals like ERL=1000 are not updated, so please be careful.

RESUME
[Working]
A command that resumes to the main routine from an error branch routine.

[Abbreviation]
RESU.

[Grammar]
RESUME [{line number}]
      [{NEXT       }]
 only RESUME ...Resume to the line where the
                error occured on.
 line number ...Resume to the specified
--------------------------------------------------------------------------------
PAGE 114

                line number
 NEXT        ...Resume to the line after the
                line number where the error occured on

[Explanation]
A command that resumes from an error handler routine that was branched to
using the ON ERROR GOTO statement.
※Refer to the ON ERROR GOTO sample program.


SAVES (save es)

[Working]
A command for saving BG GRAPHIC data to a cassette tape.

[Grammar]
SAVES "file name"
 file name must be within 31 characters.

[Explanation]
Basically the same as the command for saving programs (SAVE).
To save a program and BG together,
--------------------------------------------------------------------------------
PAGE 115

press:
[S][A][V][E]["]program name["][:][S][A][V][E][S]["]file name["][RETURN].
When saving, WRITING file name will be displayed, and when it is done it will
say OK.


SCREEN

[Working]
Sets which of the two BG screens are to be displayed and which to be active,
in any combination.

[Abbreviation]
SC.

[Grammar]
SCREEN display screen[,active screen]

 --------------------------------------------
 |command\ | display screen | active screen |
 |------------------------------------------|
 | SCREEN  |                |               |
 |  0,0    |       0        |       0       |
 |------------------------------------------|
 | SCREEN  |                |               |
 |  0,1    |       0        |       1       |
 |------------------------------------------|
 | SCREEN  |                |               |
 |  1,0    |       1        |       0       |
 |------------------------------------------|
 | SCREEN  |                |               |
 |  1,1    |       1        |       1       |
 |------------------------------------------|
 |[CTR]+[D]|                |               |
 |         |       0        |       0       |
 |------------------------------------------|
 ※These numbers represents BG-screen 0 and 1.

--------------------------------------------------------------------------------
PAGE 116

[Explanation]
There are two BG screens, and it is possible to set which of them is active
(writable) and which of them is being displayed.
If display screen and active screen are to be the same screen, the active
screen argument can be omitted.
 SCREEN 0,0 → SCREEN 0
※By holding the [CTR] key while pressing the [D] key, both display screen
 and active screen are set to BG-screen0.
※Active sreen is in reality the screen where the cursor can be moved around
 and make changes to the screen on.


TRON/TROFF (trace on / trace off)

[Working]
Activates and cancels trace mode.

[Grammar]
TRON...Trace execute mode
TROFF...Go back to normal mode

[Explanation]
By using TRON, it is possible to display the current line number as the
program runs.
--------------------------------------------------------------------------------
PAGE 117

A TRON statement can be used both in direct mode and in program mode.
If TROFF is used, the TRON command is terminated and it returns to the original
mode.

TN: Japanese in the sample program reads:
"**The result of the executation follows**


VCT (vector)

[Working]
Reads the movement direction of animated character used by DEF MOVE.

[Abbreviation]
VC.

[Grammar]
VCT(n)
 n...sprite number 0~7
 VCT (n) value     0~8

TN: A diagram here. In the middle of the diagram it says: "direction"


[Explanation]
If the animated character is moving, this command returns the direction
number.
--------------------------------------------------------------------------------
PAGE 118

The VCT(n) value is the same as the value in the DEF SPRITE direction
parameter. However, if the animated character stops, the undefined value is 0.

※Refer to the CRASH sample program.



--------------------------------------------------------------------------------


I revised the AUTO command that I had translated recently (I had forgotten to translate a small text in the sample program).
Now hopefully everything is translated in the Command Comprehension chapter.
I updated the attachment in the first post to include all changes. I also changed its formatting so it's easier to read now.
Title: Re: Family Basic V3 Manual Translation
Post by: cpc6128 on April 05, 2016, 03:35:39 pm
tack så mycket  :)
Thank you ;)
Title: Re: Family Basic V3 Manual Translation
Post by: azaza1 on July 08, 2017, 03:42:33 am
Hello!
Where i can find V3 translated english pdf file?
Title: Re: Family Basic V3 Manual Translation
Post by: P on July 08, 2017, 04:47:49 am
There is none that I know of. The only English translation is the one in the text file attached to the first post. When it's complete maybe someone could help me and make an English PDF.

Quote from: cpc6128 on April 05, 2016, 03:35:39 pm
tack så mycket  :)
Thank you ;)

You are welcome! :)
Title: Re: Family Basic V3 Manual Translation
Post by: micahcowan on November 14, 2019, 02:16:10 am
Quote---------9---------
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.
「○○という命令を使っている行をリストアップする」といった使い方ができます。


Here's my go (including the final sentence):

FIND is a command that will search within the program listing for the specified string, and cause the relevant line to be displayed.
You can use it in situations where you may have said to yourself, "Gee, I'd like to list up the line(s) where the XX command is being used"
Title: Re: Family Basic V3 Manual Translation
Post by: UglyJoe on June 17, 2020, 05:36:13 pm
Nice!
Title: Re: Family Basic V3 Manual Translation
Post by: P on June 19, 2020, 03:53:19 am
Thank you Micahcowan for the translation input. It makes sense and I have updated the translation with your help. Just note that the latest version of the translation is in the attached TXT file and not in the post.

And thank you KScottDB for volunteering in the scanlation work. There are a lot of things I'm not very happy with, so this triggered me to look over the translation for the first time in 5 years and do a little update. There are probably lots of smaller errors though, including translation errors, since I didn't look through the whole thing.


Update:
The first update in 5 years! Fixed errors includes grammar and spelling errors, translation errors and things that I simply misunderstood since I started this translation before I understood how everything in V3 worked. I'm attaching the updated translation in the first post as usual.
Title: Re: Family Basic V3 Manual Translation
Post by: -N2 on July 06, 2020, 12:34:57 am
Quote from: P on June 19, 2020, 03:53:19 amThank you Micahcowan for the translation input. It makes sense and I have updated the translation with your help. Just note that the latest version of the translation is in the attached TXT file and not in the post.

And thank you KScottDB for volunteering in the scanlation work. There are a lot of things I'm not very happy with, so this triggered me to look over the translation for the first time in 5 years and do a little update. There are probably lots of smaller errors though, including translation errors, since I didn't look through the whole thing.


Update:
The first update in 5 years! Fixed errors includes grammar and spelling errors, translation errors and things that I simply misunderstood since I started this translation before I understood how everything in V3 worked. I'm attaching the updated translation in the first post as usual.

Wow this is really great!

now I must ask is there a way to patch the ROMs for English?
Title: Re: Family Basic V3 Manual Translation
Post by: UglyJoe on July 06, 2020, 08:05:14 pm
Quote from: -N2 on July 06, 2020, 12:34:57 amnow I must ask is there a way to patch the ROMs for English?

There's not much to do for a translation patch. The parts of V2 that are not actually BASIC could be translated, but they're not really worth your time, IMO.  V3 just drops you into BASIC mode and most (all?) of the menus that you encounter are in English already.
Title: Re: Family Basic V3 Manual Translation
Post by: -N2 on July 08, 2020, 09:31:12 pm
Quote from: UglyJoe on July 06, 2020, 08:05:14 pm
Quote from: -N2 on July 06, 2020, 12:34:57 amnow I must ask is there a way to patch the ROMs for English?

There's not much to do for a translation patch. The parts of V2 that are not actually BASIC could be translated, but they're not really worth your time, IMO.  V3 just drops you into BASIC mode and most (all?) of the menus that you encounter are in English already.

I still see it as worthwhile for my Cousins & Friends children.
Title: Re: Family Basic V3 Manual Translation
Post by: P on July 11, 2020, 10:38:41 am
Literary the only things not in English is the screen that comes up when booting without a keyboard connected, and some text strings in the included sample games. The sample game strings could be translated by the user, by modifying the program listing and saving the modified game to a tape.
Ah there's also a message that comes up when you enter the command SYSTEM to quit.

Here they are:
Boot without keyboard connected:
キーボード ヲ セツゾク シテクダサイ
Please connect the keyboard


Quit (when entering the SYSTEM command):
バックアップ スイッチ ヲ ON ニ シテクダサイ
Please set the BACKUP switch to ON


Game 2:
カイゾウスル?
A=ソノママ B=スル
Modify?
A=keep as is, B=do


Game 3:
フタリ デ アソビマスカ(Y/N)
Play with two players? (Y/N)
That's all I could find. Tell me if there are any more strings and I'll translate them.
Title: Re: Family Basic V3 Manual Translation
Post by: emerson on March 06, 2021, 06:21:49 am
Here are some strings I found along with their memory locations while looking at the v3 rom in a hex editor. P translated most of these already but the text at $023d may be new. The text displayed on screen is a combination of these pieced together. I attempted to figure out the japanese characters but there are likely some mistakes as I have no experience with this.

Background tile values ($00 terminated):
 $022c: 20 4F 4E 00
 $0230: 66 2D AA 2D A5 20 8D 20 6D 71 A0 67 00
 $023d: A4 8C 9A 8C 20 8D 00
 $0244: A6 96 67 60 96 AD 20 6C 61 96 70 20 8D 00
 $0252: 20 4F 46 46 20 75 20 6B 72 67 A1 6A 61 00

My attempt at converting them to characters:
 $022c:  ON
 $0230: キーボード ヲ セツゾク
 $023d: デソグソ ヲ
 $0244: バックアップ スイッチ ヲ
 $0252:  OFF ニ シテクダサイ

Could someone please look at $023d and translate if possible? Thank you!
Title: Re: Family Basic V3 Manual Translation
Post by: UglyJoe on March 06, 2021, 07:15:57 am
It actually says デンゲン (dengen) and not デソグソ (desogeso).  The "n" and "so" katakana look very similar to each other, but from the location of the character 0x8c in the CHR table, it is definitely "n".

"Dengen" refers to "power" like the turning a TV on or off, as far as I can tell, but P would know better than me.
Title: Re: Family Basic V3 Manual Translation
Post by: P on March 06, 2021, 02:08:49 pm
UglyJoe is correct. You also mistook the "ge" for a "gu" so it became "desoguso" instead of "dengen". The full sentence should probably be:

デンゲン ヲ OFF ニ シテクダサイ
Please turn the power OFF.

So it's the string at $023D then the one at $0252.

I had missed this earlier, and I forgot when this is displayed. A quick look showed that it's not displayed after entering SYSTEM.
Title: Re: Family Basic V3 Manual Translation
Post by: emerson on March 06, 2021, 04:39:09 pm
Thanks to both UglyJoe and P for the corrections and translation.

I don't know when it's displayed either. I only saw it in the hex editor.