This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

Tool to compile Family Basic program to .NES file

Tool to compile Family Basic program to .NES file
by on (#112992)
Hi,

I discover a tool to compile Family Basic program to .NES file : STTONES

So you can easily develop small game on NES with BASIC language and compile it !

How it works ? STTONES convert VirtuaNES savestates of Family Basic to .NES ROM file.

Tutorial :

1 - Run Family Basic V3 rom on VirtuaNES

2 - Type your program on Family Basic, don't run program before convert it with STTONES

3 - Save state with VirtuaNES, it creates .st0 file on VirtuaNES state folder)

4 - exit VirtuaNES

5 - drag and drop your .st0 file to STTONES.EXE it creates .NES file !

6 - Run your .NES rom file on emulator or

download the STTONES1000.zip on skydrive :

https://skydrive.live.com/redir?resid=6 ... 06dB-h0IPg

Step by step operations (Japanese but screenshots) :

http://messatu.wordpress.com/2013/02/24 ... %E3%81%99/

I hope it we help us to easily develop on Famicom.
Re: Tool to compile Family Basic program to .NES file
by on (#112995)
It works! Thank you this is great! :D

However, I loaded a program from tape but I couldn't get it to work in SSTONES. I hope I can convert my other FB programs stored in other formats. It's still great that there's a way to do it though. :)

Now I'm curious if the generated NES-files work on real hardware. Anyone with a flash cart can check (I don't have one) , since the state files that comes with SSTONES contains five sample games ready to be converted.
Re: Tool to compile Family Basic program to .NES file
by on (#113055)
THIS IS AMAZING!!!!! Finally, BASIC enthusiasts can make games on the good 'ol NES ^_^

The limitation of not being able to RUN your program seems harsh. How would you debug your BASIC without running it?
Re: Tool to compile Family Basic program to .NES file
by on (#113066)
Does it mean you cannot run the program at all or does it mean that the program has to be not running at the time the save state is created?
Re: Tool to compile Family Basic program to .NES file
by on (#113072)
Can you please attach it in your post?
Re: Tool to compile Family Basic program to .NES file
by on (#113086)
OK loading a game from tape works now, not sure what I did wrong before. Also running the game before or even while you make the save state doesn't seem to matter, so debuging shouldn't be a problem. I'm not sure if it matters but I typed CLS and then CLEAR before I made the save state and it worked.

Virtuanes' VTP-tape files and Nestopia's TP-tape files are the same, just a different extension. It's usefull to know since Nestopia can use code in the clip-board as a macro.
Re: Tool to compile Family Basic program to .NES file
by on (#113088)
The _README.TXT says something about

Base : MMC3
Mapper : 1
PRG-ROM : 32k
CHR-ROM : 32k

Does that mean if one wants to make an actual cart I'd have to find a donor cart with MMC3 chip and the same PRG/CHR specs?
Re: Tool to compile Family Basic program to .NES file
by on (#113090)
slobu wrote:
Does that mean if one wants to make an actual cart I'd have to find a donor cart with MMC3 chip and the same PRG/CHR specs?

You can use smaller ROMs than those in the donor cart.
Re: Tool to compile Family Basic program to .NES file
by on (#113093)
slobu wrote:
The _README.TXT says something about

Base : MMC3
Mapper : 1
PRG-ROM : 32k
CHR-ROM : 32k

Does that mean if one wants to make an actual cart I'd have to find a donor cart with MMC3 chip and the same PRG/CHR specs?

Dunno what that info is about, because the converted example games use/need MMC1 with 32KB PRG, 8KB CHR and 8KB WRAM.

On a sidenote, the example games are surprisingly good, too.
Re: Tool to compile Family Basic program to .NES file
by on (#113096)
The readme says the generated NES-files will have those listed specs though. Maybe a mistake.

It also says that you can use V2 (or V1 I guess if you have that) as long as you don't use parts of the memory that's not the same in V3, or otherwise mess with the CALL command or such in a way that's incompatible with V3.
The instructions is basically the same as on the homepage. None of them mentions that you can't run your program before making the stand-alone. Nothing else interesting in there.

thefox wrote:
On a sidenote, the example games are surprisingly good, too.

Yeah they are really well made! I had no idea you could make such bosses in Family Basic.
Re: Tool to compile Family Basic program to .NES file
by on (#133743)
lbarasc wrote:
download the STTONES1000.zip on skydrive :
https://skydrive.live.com/redir?resid=6 ... 06dB-h0IPg


it looks like a broken link (from microsoft, i'm not surprised at all...)

is there any other mirror link of it, like from googledrive, dropbox, etc.?
Re: Tool to compile Family Basic program to .NES file
by on (#133747)
nitrofurano wrote:
lbarasc wrote:
download the STTONES1000.zip on skydrive :
https://skydrive.live.com/redir?resid=6 ... 06dB-h0IPg


it looks like a broken link (from microsoft, i'm not surprised at all...)

is there any other mirror link of it, like from googledrive, dropbox, etc.?


All the rest of the links off of Google seem to be dead too. I kind of lost interest after many on hear noted that the results cannot be distributed as your own game legally. If I find a download I'll see if I can save it for you. Any chance you'll try to make a ZX Basic port for NES? :)
Re: Tool to compile Family Basic program to .NES file
by on (#133748)
I plan to write a BASIC interpreter for NES as soon as someone figures out how to use an MCU to adapt the PS/2 keyboard's wire protocol to the 7-pin port of the NES. Otherwise, I'd be looking at $100 for a keyboard plus more for an ENIO board.
Re: Tool to compile Family Basic program to .NES file
by on (#133749)
slobu wrote:
nitrofurano wrote:
lbarasc wrote:
download the STTONES1000.zip on skydrive :
https://skydrive.live.com/redir?resid=6 ... 06dB-h0IPg


it looks like a broken link (from microsoft, i'm not surprised at all...)

is there any other mirror link of it, like from googledrive, dropbox, etc.?


All the rest of the links off of Google seem to be dead too. I kind of lost interest after many on hear noted that the results cannot be distributed as your own game legally. If I find a download I'll see if I can save it for you.

thanks! this would allow me to try a kind of tokenizer for .nes files, as useful as zmakebas or zxtext2p


Quote:
Any chance you'll try to make a ZX Basic port for NES? :)


i'm dreaming on it!!!!! - i actually talked with Boriel about this - and that is the toughest part, the actual ZX Basic is all structured on Z80, and would be great if someone could help recoding that Z80 part into 6502, so we could not only target NES, as we could Apple-I/II, Atari Lynx, some Atari 8bit hardware, PC-Engine, C64, etc.

for now, i'm in that part on how can i learn 6502 assembly from what i humbly think i know from Z80, and perhaps being able to do similar things one day - the good thing is the ZX Basic allows inline-assembly, and we can create custom libraries quite easily (via #include) - the actual source of ZX Basic is plenty of routines for calculation that i have no idea how it would look like in 6502 assembly, and for example, i'm struggling to find ready 6502 examples of code that i use all the time, like for 16bit calculations, or ldir-like stuff

so, what we really need is help from people that could help converting ZX Basic to compile to 6502 from what we have there for Z80 - i think it is not that impossible to do, but it is really something far beyond my humble knowledge and skills... :S
Re: Tool to compile Family Basic program to .NES file
by on (#133752)
There is already a language called Atalan that targets both the 6502 and Z80
http://atalan.kutululu.org/

Maybe you can use that to contrast and compare.
Re: Tool to compile Family Basic program to .NES file
by on (#133759)
slobu wrote:
There is already a language called Atalan that targets both the 6502 and Z80
http://atalan.kutululu.org/

Maybe you can use that to contrast and compare.


it looks a bit confusing for starting (more than perl, in my opinion), but i'll try to find out more about this one, thanks! :)
Re: Tool to compile Family Basic program to .NES file
by on (#135584)
I guess the reason it's not legal to distribute your games is that it essentially contains a copy of FB ROM embedded. They could have just patched FB ROM to copy from ROM to the part of RAM used normally for BASIC programs and then just RUN it without user intervention.

Using a different interpreter would be feasible? There are source codes to some 6502 ROM-based BASICs but think they still claim copyright on the tokenizer (easy to remake a parser for the PC that creates tokenized binaries) and (more importantly) size-optimized interpreter that we'd need.

If I was writing this from scratch for the NES or SNES to run natively, I'd use a tokenizer just like many microcomputer BASICs did. This could even be made to fit in as an optional component (along with editor) of the interpreter's ROM, that could be replaced with a direct loader like in the first paragraph (except legal of course).
Re: Tool to compile Family Basic program to .NES file
by on (#137059)
tepples wrote:
I plan to write a BASIC interpreter for NES as soon as someone figures out how to use an MCU to adapt the PS/2 keyboard's wire protocol to the 7-pin port of the NES. Otherwise, I'd be looking at $100 for a keyboard plus more for an ENIO board.

I got my CIB Family BASIC V2.0 in good condition for something like 40$~. But you have to keep your eyes open since they are not easy to find cheap outside of Japan. A PS/2 adapter would be nice though.
Re: Tool to compile Family Basic program to .NES file
by on (#139551)
Quote:
<alphamule> https://github.com/jefftranter/6502/tre ... asm/wozmon Guess what is open-sourced. Need to find the license, though.
<alphamule>Ah, Apache

This is a very limited inline assembler, but it's a good start towards replacing the FB ROM. I can't seem to find the license of Integer BASIC, which would be nice to port to the NES. We'd probably have to use something like a menu (loader) and/or chained modules, for certain licensing reasons. That, or just write our own using compatible syntax. I'm still looking into this. Good luck on your FB projects!
Re: Tool to compile Family Basic program to .NES file
by on (#153378)
Hello everyone, I am new here. I would really like to get this to work.
I have virtuanes and the v3 image.
I saved the state, and dropped it into STTONES, but nothing happened.

Does anyone know what is going on?
Re: Tool to compile Family Basic program to .NES file
by on (#153379)
It's a bit unreliable. Fiddle around with it a bit and it should work eventually.
Re: Tool to compile Family Basic program to .NES file
by on (#153381)
Ok, so I have messed around with it a bit more. Still cant get it to work with anything.
I took a print screen of what I am seeing when I drop the file in.

I am using windows 7.

I am wondering if they changed sttones or something, because I am following the steps exactly.
Inside the pictures though the nes rom they are using is named differently (japanese of course),
so I am wondering if that could be the problem.

Edit: Could someone upload the 1000 version of sttones. I am thinking that could be the problem.
Re: Tool to compile Family Basic program to .NES file
by on (#153382)
You're lucky I know how to read those question marks.

It says "FAMIBE_V3.nesが存在し無いため終了します。" which means "terminating because FAMIBE_V3.nes does not exist."

According to _README.txt, you need to put a copy of the Family Basic v3 ROM named FAMIBE_V3.nes in the same folder as STTONES.EXE.
Re: Tool to compile Family Basic program to .NES file
by on (#153383)
Thank you, you are a genius. I wish I knew how to read japanese. I have been searching for the answer for 3 hours now lol.
No where did they mention what you have just pointed out.
Re: Tool to compile Family Basic program to .NES file
by on (#153604)
All right, I have two other questions, and I dont really know if I should be starting my own topic or not, so I will just post it here.

I first open the nes rom in nestopia, and everything is fine.
I then edit the family basic rom with tile molester.
I change the mario sprite, the first one to be precise.
I save the rom.
I open the rom in nestopia again, and it says something about a keyboard error or something.

I changed mario back to the original mario, and when I did that the game worked again...

I was thinking this was a checksum error, but if it is how would I fix it?

Secondly
Inside the manual of family basic, it says to enter SYSTEMreturn to call the GAME BASIC mode screen from the BASIC screen.
So I type SYSTEM and hit the enter key, but it gives me a weird japanese msg again.

I am trying to make a BG Graphic, so this is rather important if I want to do so.
Anyone have any ideas?
Re: Tool to compile Family Basic program to .NES file
by on (#153605)
There unfortunately seems to be no way to inform Nestopia that it should use the family basic keyboard except by changing its NstDatabase.xml.
This record right here is for Family Basic 3:
Code:
    <game>
        <peripherals>
            <device type="familykeyboard" />
        </peripherals>
        <cartridge system="Famicom" dump="unknown" crc="B2530AFC" sha1="E232C621BFEDBFC6B100677BFBFC50B910248282">
            <board mapper="0">
                <prg size="32k" />
                <chr size="8k" />
                <wram size="4k" battery="1" />
                <pad h="1" v="0" />
            </board>
        </cartridge>
    </game>
you could copy this and update the CRC and SHA1 entries for your hacked thing.
Re: Tool to compile Family Basic program to .NES file
by on (#153619)
MrElephant wrote:
Secondly
Inside the manual of family basic, it says to enter SYSTEMreturn to call the GAME BASIC mode screen from the BASIC screen.
So I type SYSTEM and hit the enter key, but it gives me a weird japanese msg again.

I am trying to make a BG Graphic, so this is rather important if I want to do so.
Anyone have any ideas?

The SYSTEM command is used to exit BASIC mode and go back to the menu (where you select BG GRAPHIC). But I guess you are using V3. There is no menu in V3, you do everything from BASIC mode via commands. If you enter SYSTEM in V3 you just exit BASIC mode and get a message that tells you to turn ON the backup switch if you want your data to remain. You do this before shutting down your Famicom if you are using batteries and want to keep your WRAM content (the backup switch can't be turned off in BASIC mode, or weird things happen).

Enter BGTOOL to go to BG GRAPHIC mode. Saving and loading also works differently in V3 and there are new commands for saving BG GRAPHIC screens to tape if I remember correctly. Check the V3 manual I'm currently translating. All the critical stuff including the explanations for all the new commands should already be translated.
Re: Tool to compile Family Basic program to .NES file
by on (#154688)
lidnariq wrote:
There unfortunately seems to be no way to inform Nestopia that it should use the family basic keyboard except by changing its NstDatabase.xml.
This record right here is for Family Basic 3:
Code:
    <game>
        <peripherals>
            <device type="familykeyboard" />
        </peripherals>
        <cartridge system="Famicom" dump="unknown" crc="B2530AFC" sha1="E232C621BFEDBFC6B100677BFBFC50B910248282">
            <board mapper="0">
                <prg size="32k" />
                <chr size="8k" />
                <wram size="4k" battery="1" />
                <pad h="1" v="0" />
            </board>
        </cartridge>
    </game>
you could copy this and update the CRC and SHA1 entries for your hacked thing.




In the tile molester program how would I go about changing the graphics? Meaning which xml do you want me to paste the data into? I have already tried the settings and the Family Basic.xml, but I have had no success.


Edit: Let me rephrase the question since I might have been confusing. I just want to change the mario sprite into a custom desgin. How would I go about doing this?
Re: Tool to compile Family Basic program to .NES file
by on (#177602)
Hi, guys. I tried to find this tool, but no results. Has anyone a copy of this tool? Give it to me, please. ;)
Re: Tool to compile Family Basic program to .NES file
by on (#177642)
Here's the new link: https://messatu.wordpress.com/2013/02/2 ... %E3%81%99/

Download link doesn't seem to work though. I have an old version here in attachment.
Re: Tool to compile Family Basic program to .NES file
by on (#177653)
Pokun wrote:
Here's the new link: https://messatu.wordpress.com/2013/02/2 ... %E3%81%99/

Download link doesn't seem to work though. I have an old version here in attachment.

Thank, bro. Now I have a full picture for Family BASIC. :)
Re: Tool to compile Family Basic program to .NES file
by on (#177657)
Interestingly, but which category I'll need to carry my future game? Is it hack of Family BASIC or homebrew? :)
P. S.: I hope that the final version of the utility anybody still finds itself in and upload it. ;)
Re: Tool to compile Family Basic program to .NES file
by on (#177662)
Pokun wrote:
Here's the new link: https://messatu.wordpress.com/2013/02/2 ... %E3%81%99/
Download link doesn't seem to work though. I have an old version here in attachment.


That's the older expired link, actually!
It's not difficult to find the one that works, but I'll attach the file here, for convenience:
Attachment:
STTONES2000.zip [105.72 KiB]
Downloaded 113 times
Re: Tool to compile Family Basic program to .NES file
by on (#177684)
Oops my bad! Thanks for the link anyway! :)
Re: Tool to compile Family Basic program to .NES file
by on (#177733)
Thanks to everyone who posted this utility. Nevertheless, she is no longer needed. My good friend translated it into Russian and simplified its use. No you don't need to put rom of Family BASIC - it's already embedded in utility. Just select your savestate and enter the name of your game. ;)
Here is it:
Re: Tool to compile Family Basic program to .NES file
by on (#177924)
lancuster wrote:
Thanks to everyone who posted this utility. Nevertheless, she is no longer needed. My good friend translated it into Russian and simplified its use. No you don't need to put rom of Family BASIC - it's already embedded in utility. Just select your savestate and enter the name of your game. ;)
Here is it:


I like this improved version of STTONES
Is it possible to translated it into English?
Re: Tool to compile Family Basic program to .NES file
by on (#177929)
Maybe. But I can't. :(
Re: Tool to compile Family Basic program to .NES file
by on (#177947)
lancuster wrote:
Maybe. But I can't. :(


No more need, translated by myself.
Re: Tool to compile Family Basic program to .NES file
by on (#178069)
Would you like to share the translation?
Re: Tool to compile Family Basic program to .NES file
by on (#178128)
Pokun wrote:
Would you like to share the translation?


Load savestate (*.st0 - *.st9) file(s)
Re: Tool to compile Family Basic program to .NES file
by on (#178431)
@AnnaWu

I was never able to figure out what exact board the converted ROMs need. Someday I'd like to put NES BASIC games onto real carts.

Have you figured anything out?
Re: Tool to compile Family Basic program to .NES file
by on (#178474)
IIRC, the tricky thing is that it not that it needs to be an MMC1 cart with PRG ROM, battery-backed PRG RAM, and CHR ROM (i.e. a pretty generic S[AIJK]ROM) but specifically that you need to load the content of your game into the cart's PRG RAM first.
Re: Tool to compile Family Basic program to .NES file
by on (#178544)
Tell me, please, how to write ":" - "colon" in VirtuaNES? I can't find this. :(
Re: Tool to compile Family Basic program to .NES file
by on (#178546)
Zoom in on a photo and see it's the key next to semicolon, which is probably the quotation mark key on your keyboard.
Re: Tool to compile Family Basic program to .NES file
by on (#178556)
I remember there where at least one key I never could access on VirtuaNES (and another key didn't work on Nestopia) no matter what. But I don't think it was colon. It was probably the kana key or something.

AnnaWu wrote:
Pokun wrote:
Would you like to share the translation?


Load savestate (*.st0 - *.st9) file(s)

Thanks! :)
Re: Tool to compile Family Basic program to .NES file
by on (#178577)
tepples wrote:
Zoom in on a photo and see it's the key next to semicolon, which is probably the quotation mark key on your keyboard.

On this emulator colon is not working. The rest - all OK, but on the VirtuaNES... :(
Re: Tool to compile Family Basic program to .NES file
by on (#178608)
Yeah I just tried it too and colon just doesn't seem to work on VirtuaNES, semicolon works but not colon. Also I can't find the GRPH key. The kana key seems to be F12.

You can do like I did and write you program in Nestopia (or MESS or even on a real Family BASIC V3 cart), save the program on tape and then load the tape in VirtuaNES. Nestopia uses the same tape-image format, just with a different file extension.
Re: Tool to compile Family Basic program to .NES file
by on (#178614)
Pokun wrote:
Yeah I just tried it too and colon just doesn't seem to work on VirtuaNES, semicolon works but not colon. Also I can't find the GRPH key. The kana key seems to be F12.

You can do like I did and write you program in Nestopia (or MESS or even on a real Family BASIC V3 cart), save the program on tape and then load the tape in VirtuaNES. Nestopia uses the same tape-image format, just with a different file extension.

Why is everything so difficult with this emulator? Then let's figure out how to import saves from Nestopia.
Re: Tool to compile Family Basic program to .NES file
by on (#178623)
Not the normal battery RAM save files, but the tape-image files.
Just take the *.tp tape-image file and rename it to *.vtp (you might not even need to rename it) and it should play in VirtuaNES.

If you type the program on a real Famicom you'll need to record it to a wav file and convert it to tp/vtp format like this:
http://www.famicomworld.com/forum/index ... #msg114035



I attached the English translated Family BASIC manuals to this post in case you don't know how to save to tape. Remember that SSTONES only works with V3 and tapes from V2.1 or earlier are not compatible with V3, so type the program on a V3 cart.
Re: Tool to compile Family Basic program to .NES file
by on (#178663)
Pokun wrote:
Not the normal battery RAM save files, but the tape-image files.
Just take the *.tp tape-image file and rename it to *.vtp (you might not even need to rename it) and it should play in VirtuaNES.

If you type the program on a real Famicom you'll need to record it to a wav file and convert it to tp/vtp format like this:
http://www.famicomworld.com/forum/index ... #msg114035



I attached the English translated Family BASIC manuals to this post in case you don't know how to save to tape. Remember that SSTONES only works with V3 and tapes from V2.1 or earlier are not compatible with V3, so type the program on a V3 cart.

Sorry, I'm not interested. I am wondering how to run saves from Nestopia on VirtuaNES, and why the "colon" isn't working.
Re: Tool to compile Family Basic program to .NES file
by on (#178737)
Why Japanese craftsmen did not think to support saves from other emulators? Why do we have to resort to such distortions? I, for one, will not go for it, while the newcomers - especially.
Re: Tool to compile Family Basic program to .NES file
by on (#188831)
I apologize for posting on a semi dead topic, but this question has been poking at the back of my mind for several-months now. Say you write a program that requires input from the user, like from the keyboard. The nes doesnt have a keyboard, so how would that ever work? Am I just missing something, or am I just being dumb. Maybe some of both.

Thanks.
Re: Tool to compile Family Basic program to .NES file
by on (#188843)
MrElephant wrote:
I apologize for posting on a semi dead topic, but this question has been poking at the back of my mind for several-months now. Say you write a program that requires input from the user, like from the keyboard. The nes doesnt have a keyboard, so how would that ever work? Am I just missing something, or am I just being dumb. Maybe some of both.

Thanks.


It's a problem if you want the keyboard, that can only work if you connect a Famicom keyboard to the NES expansion port (this can be done using chykn's ENIO board)

Looks like the controllers have their own BASIC command, STICK. So if the controller would be enough, you're fine if you don't use INPUT, LINPUT, or INKEY$.
Re: Tool to compile Family Basic program to .NES file
by on (#188920)
Yeah you use STICK (dpad) and STRIG (the other 4 buttons) for reading the controller buttons.