"Family BASIC or Famicom BASIC is the consumer product for programming Nintendo's Family Computer video game console of Japan." wikipedia

I can't seem to find much info about Family BASIC anywhere on the internet. So I have a 2 simple questions.

  1. Was Family BASIC powerful enough to create full programs or was it just made as a toy for people interested in programming?

  2. I know Assembly language was used exclusively to create games for the NES/Famicom. Would you have a lot more limitations with BASIC compared to Assembly.

    Ex: speed, graphics, sound, etc?

enter image description here

5 Answers 5


1. Was Family BASIC powerful enough to create full programs or was it just made as a toy for people interested in programming?

It depends on your defintion of 'powerfull'. The Famicom, aka NES, was a 1.8 MHz 6502 machine, thus it got processing power superiour to a C64 or VIC20. It's graphics system was also more capable than what a C64 or similar machines got.

Family BASIC on the other hand was a special developed, MS alike dialect. Somewhat based on the BASIC, also provided by Hudson Soft, for the Sharp MZ80 (and follow up) series, but a seperate development. As a speciality it got a GAME BASIC mode. Basicly it switched all variable handling to Integer to improve performance considerable. Much like the Integer BASIC Woz did out of the same reasoning for the Apple II.

And like the TI 99/4s Extended BASIC it featured many special functions to utilize the hardware to a dregree unknown in other implementations. Next to all features of the Hardware could be accessed from BASIC. The only real restriction was the limited RAM size. 2 KiB for the original version and 4 KiB for Family BASIC V3. Due the great integration this was less lmiting than it seams.

Maybe take a look at this youtube video to get an idea how able Hudson Softs GAME BASIC was. It shows several games writen in Family BASIC. The first (Mario Jump) is an example taken from the Family BASIC manual.

So I'd say more than (almost) any other 8 Bit BASIC machine (back then).

2. I know Assembly language was used exclusively to create games for the NES/Famicom. Would you have a lot more limitations with BASIC compared to Assembly.

Well, is eating noodles with chopsticks more limitating than using a fork?

As usual it depends. If you're in doubt about the underlaying principles, RetroComputing might not be the right place to ask. The question about a comparsion between BASIC and Assembler, even if it's a specific BASIC, is way to broad to be discussed here. Maybe try to ask this on more general, programming orientated, subsites of StackExchange.

  • 1
    In the youtube video you can see where the deficiencies are. Biggest is the slowness, which is visible when the games draw the playfield one tile at a time. But you can also see where the NES hardware can compensate for that. Sprites only require updating XY coordinates, so they're fast. And the scrolling top down shooter only needs to draw a single line of tiles every second or so to keep up, the rest happens via hardware scrolling. As long as you can minimize the need for background tile updates, it works reasonably well.
    – tylisirn
    Commented Nov 18, 2017 at 18:18

From the token list at atkinsoft, there were certainly enough keywords from BASIC to suggest that Family BASIC was Turing-complete, and thus could be used for "serious" programming.

(ref: Wikipedia:Nintendo Entertainment System) Since the CPU was a 6502, the same as used in e.g., early Apple and Commodore home computers, it is clear that the only limitation on "serious" programming would be available resources (such as RAM).

  • 1
    I think explaining the difference between Assembly and BASIC is more-or-less off-topic for Retrocomputing, and might be better asked in Super User (but I won't rule out it being declared off-topic there, too). Assembly languages are also generally Turing-complete, but the operations they specify are "more granular" - akin to the difference between "draw a square" and "draw a one-inch line, then turn 90 degrees clockwise, then draw a one-inch line, then turn 90 degrees clockwise, ...". Commented Nov 15, 2017 at 19:00
  • 2
    Turing-complete, yes, but it's not clear if it's Tetris-complete (ie. has the I/O capabilities needed to run a game of Tetris). You also can't tell the speed at which it runs from looking at the keyword list.
    – Mark
    Commented Nov 15, 2017 at 21:04
  • 1
    I think Mark just means that it's unclear whether that BASIC was Tetris-complete, not the hardware: it has PEEK and POKE so likely you could hit any hardware you wanted, but how fast was the (I assume) interpreter? Personally I'd be amazed if it were too slow for Tetris, but I'll wager you couldn't write Super Mario in it (caveat: other than by subversion, which I count as jumps like putting the machine code into a REM or DATA and using CALL; I'm probably trying to contrast writing something in BASIC, the language, and writing it within BASIC, the environment).
    – Tommy
    Commented Nov 15, 2017 at 21:40
  • 1
    @Tommy GAME BASIC got even instructions for Sprites and Sound, so it's more than just able to do game programming.
    – Raffzahn
    Commented Nov 16, 2017 at 15:52
  • 2
    @Raffzahn I agree, based on the other answer it sounds like it had game programming as a primary purpose, which I'm mapping reductively to my home computer-oriented experience of the time as making it like an STOS or AMOS, rather than a Commodore BASIC.
    – Tommy
    Commented Nov 16, 2017 at 16:51

Mendel Palace, GameFreak's first game, was written in family basic, so it is powerful enough to run a real-time puzzler. I read it in a book.

  • Do you have a link to this so as to help illustrate the capabilities the game demonstrated?
    – bjb
    Commented Jul 15, 2019 at 17:13
  • 1
    Here is a link to a video of it. Commented Jul 16, 2019 at 18:15
  • Impressive! I presume then that the BASIC made it easy enough to say "move this sprite this direction at this speed and animate it" and wouldn't have to be a furiously busy loop updating position and frames...?
    – bjb
    Commented Jul 17, 2019 at 16:56
  • 1
    This is incorrect; while Satoshi Tajiri did get started with Family Basic, the published game is written entirely in assembly and has nothing to do with Family Basic.
    – j__m
    Commented Jan 11, 2020 at 2:55

Stumbled into this question while searching for games for Family Basic. While I have no idea what kind of power the systems of the time had, I can tell you this, the original manual for Family Basic V2 (specifically Game Basic) explicitly mentions that you can write directly to any memory address of the console using the POKE function and also directly call machine code subroutines with the CALL function, which I've been able to successfully leverage to write my own 6502 machine code subroutines while playing around in the emulator. The manual also describes the memory structure of the console.

If you want to test this, just type "CALL &8000" into Family Basic. &8000 is the starting address of the ROM, and after pressing Enter, you should find yourself staring at the starting screen of Family Basic. In V2, this would be the selection menu between BG GRAPHIC and BASIC, and V3 will entertain you by printing "BASIC HOT START" instead of the default welcome message.

  • You can also POKE into the PPU registers and mess up the display.
    – LawrenceC
    Commented Dec 29, 2020 at 23:35

Kirby's dream land was made entirely in family basic on a twin famicom with a track ball.... does that answer your question?

edit: it wasn't family basic, but a very similar program.

  • 6
    I can't find any evidence that Kirby's Dream Land was implemented in Family Basic. Why do you think this? (You might be right; absence of evidence is not evidence of absence.)
    – wizzwizz4
    Commented Mar 10, 2018 at 10:46
  • 1
    A source / reference, or if you could expand with your own personal knowledge of how it was made would really improve this answer.
    – mnem
    Commented Mar 11, 2018 at 5:39
  • I really doubt that because it was one of the more technically advanced games of the time for that system. I don't think basic is fast enough. Commented Mar 12, 2018 at 13:12
  • Googling "sakurai trackball" gets you tons of results. pcmag.com/news/353345/… arstechnica.com/gaming/2017/04/…
    – Eddy Hamz
    Commented May 9, 2018 at 22:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .