LoginLogin

How to use SmileBASIC File Manager to edit files on a PC.

Root / Submissions / [.]

triangleCreated:
If you haven't seen already, I made a homebrew application that can copy files to and from SmileBASIC without the need for Petit Modem's annoying sounds. You can find that here: http://www.smilebasicsource.com/forum?ftid=468 Some people have reported that it isn't exactly the most self-explanatory program. So here is a tutorial on how to transfer files properly, along with some general advice. I will be referring to SmileBASIC File Manager with the acronym SBFM. I also made some web tools that are intended for use with SBFM: https://trinitro21.github.io/

GENERAL ADVICE

The first letter of filenames You may notice that each of your files starts with a T or a B. This is to quickly distinguish between TXT (T) and DAT (B) files. Without these, SmileBASIC might not behave correctly, and so SBFM automatically inserts a T or B if one isn't present. If it can't determine which to insert, it will ask the user. Methods of copying There are three options when transferring files: you can copy with either X, Y, or A. Pressing Y copies the entire file, while X ignores the 80-byte header and 20-byte footer, and A ignores the 80-byte header, the 28-byte DAT header, and 20-byte footer. Pressing X to copy a file back into SmileBASIC will inject a "default" header and footer that I made, and pressing A will inject a custom DAT header that is created from user input in addition to the default header and footer. The option to copy with X was made so that you can edit the code without worrying about doing something bad with the header or footer, and also so that you might be able to make your own programs without editing a program that you made. File formats Some file formats may have SmileBASIC equivalents, like WAV files; however this does not mean that they are compatible with the PC formats. Don't attempt to just copy over any file from a PC to SmileBASIC. It most likely won't work. Line breaks Instead of the CHR$(13)+CHR$(10) that most programs use for line breaks, SmileBASIC just uses CHR$(10). This causes problems, because some text editors don't support the line breaks. For example, Notepad (the text editor that comes with Windows) won't actually go to another line when it incounters a line break from SmileBASIC. The ones I know of that work are Programmer's Notepad, SynWrite, and Notepad++. When creating files, this isn't much of a problem unless you don't want double line breaks, as SmileBASIC reads two-character line breaks as two separate line breaks. If using Notepad++, you can avoid this problem with Edit > EOL Conversion > UNIX/OSX Format. Syntax highlighting If you would like to have syntax highlighting for SmileBASIC in your text editor, you can use this user-defined language that I made for Notepad++ (https://drive.google.com/file/d/0B4kbPEFlGXXIRUdCcE1xc0dTMTQ/view?usp=sharing) or this SynWrite build (http://www.smilebasicsource.com/page?pid=54). To use my syntax highlighting, open Notepad++, then go to Language > Define your language..., hit Import, then browse to the file you downloaded. Something that may improve the experience is using the Black board style (Settings > Style Configurator...) and the fonts from SmileBASIC's website: http://smilebasic.com/en/download/. You can set a style's fonts from the style configurator. GRP editor There exists an aseprite mod that can edit GRP files: http://www.smilebasicsource.com/page?pid=69 However you should not use this to create GRP files, only to edit them. When it creates GRP files, it doesn't put in the correct headers for SBFM to recognize it as a GRP file, even when you try the headerless copy method, and it will show up improperly in SmileBASIC because of this. For creating GRP files, you should convert the image from another image format.

PRG FILES

The recommended usage for editing PRG files is:
  • Dump your program with SBFM using Y or X to copy the file.
  • Put your SD/microSD into your computer or connect it using FTP or MicroSD Management.
  • Edit the file with a text editor such as Notepad++. Keep in mind that if you copied it with the header, there will not be a line break before the first line, so you might have to scroll to edit that.
  • Put the file back onto your SD/microSD if you moved it off of it. Make sure that the file retains the T at the front of the filename. That indicates a TXT file, and without it, SmileBASIC will not correctly display the file or filename.
  • Open SBFM and restore your file using the same button you used to copy it.
  • Open and save your file within SmileBASIC to make sure everything can be uploaded without any potential errors.
The recommended usage for creating PRG files is:
  • Create your file in a text editor such as Notepad++.
  • If you can, use UNIX/OSX format line breaks.
  • Save your file with a name that starts with T and only includes uppercase characters, periods, underscores, dashes, and @. Other characters won't be displayed by SmileBASIC.
  • Put the file on your SD/microSD card and open SBFM.
  • Transfer the program using X.
  • Open and save your file within SmileBASIC to make sure everything can be uploaded without any potential errors.

GRP FILES

The recommended usage for editing GRP files is:
  • Dump the GRP file with SBFM using Y to copy it.
  • Download this aseprite mod that can edit GRP files: http://www.smilebasicsource.com/page?pid=69
  • Put your SD/microSD into your computer or connect it using FTP or MicroSD Management.
  • Add .GRP to the filename if it doesn't already have it; aseprite won't recognize your image as a GRP unless you do.
  • Open up your file in aseprite.
  • Enable transparency by going to Layer > Layer from Background.
  • Edit away! You can also use an image editor of your choice and copy and paste into aseprite.
  • Put the file back onto your SD/microSD if you moved it off of it. Make sure that the file retains the B at the front of the file name. That indicates a DAT/GRP file, and without it, SmileBASIC will not correctly display the file.
  • Open SBFM and restore your file using Y to copy it.
  • Open and save your file within SmileBASIC to make sure everything can be uploaded without any potential errors.
The recommended usage for creating GRP files is:

WAV FILES

Instructions for using Perska's WAV2SBWAV tool can be found here: http://www.smilebasicsource.com/page?pid=339

Thanks! This helps clear up a few things... although it would help to explain the difference from dumping using X and Y.

Thanks Trinitro21, you have done it again! I forgot to so the transparency stuff with aesperite.

Replying to:Defaultio
Thanks Trinitro21, you have done it again! I forgot to so the transparency stuff with aesperite.
Nvm, bg file still wouldn't work. Guess I'll keep trying.

Replying to:Defaultio
Thanks Trinitro21, you have done it again! I forgot to so the transparency stuff with aesperite.
Nvm, it worked with a non blank sprite sheet. Wonder why bg tiles won't work then.

Replying to:h267
Thanks! This helps clear up a few things... although it would help to explain the difference from dumping using X and Y.
Done. Thanks for the suggestion!

I thought I wouldn't need this, but this guide makes it sound super useful so I'll go ahead and install it. If it does miracles, thank you in advance Trinitro21

Replying to:JustGreat
I thought I wouldn't need this, but this guide makes it sound super useful so I'll go ahead and install it. If it does miracles, thank you in advance Trinitro21
Red Alert! It does miracles!

I'm gonna start using this. Thanks Trintro!

Replying to:JustGreat
I thought I wouldn't need this, but this guide makes it sound super useful so I'll go ahead and install it. If it does miracles, thank you in advance Trinitro21
Glad to hear that people are appreciating my application!

Along with FTBrony, you don't even need to remove the SD card. Very useful.

I don't know how the header and footer of SB files work, but they're at least partially understandable, right? A way to inject a custom header and footer (as in user defined information information) into files with no header upon import is probably all this program needs to be "complete"

Replying to:JustGreat
I don't know how the header and footer of SB files work, but they're at least partially understandable, right? A way to inject a custom header and footer (as in user defined information information) into files with no header upon import is probably all this program needs to be "complete"
I already understand at least most of the header, enough to have made a header injection routine. You can do this by pressing X to copy from the SD card to SmileBASIC. http://www.smilebasicsource.com/page?pid=308#copying Do you want your own information in there or is that good enough?

Replying to:JustGreat
I don't know how the header and footer of SB files work, but they're at least partially understandable, right? A way to inject a custom header and footer (as in user defined information information) into files with no header upon import is probably all this program needs to be "complete"
I was saying a simple menu to specify what gets injected by the routine would be all this program needs to be perfect. However, I understand if you can't because you don't know what everything does yet.

Replying to:JustGreat
I don't know how the header and footer of SB files work, but they're at least partially understandable, right? A way to inject a custom header and footer (as in user defined information information) into files with no header upon import is probably all this program needs to be "complete"
Would this menu have any edit features? If so, it's doable but I haven't done that because lpp3ds's keyboard sucks. If not, I already have a feature that views the header information; just press A when your cursor is over a file.

"10/10 better than Petit Modem, sorry." --GameExplorer "Replacement for Petit Modem, lel." --JFM "Super Cool Mega Amazing Miracle Worker!" --JG_SD

Replying to:JustGreat
I don't know how the header and footer of SB files work, but they're at least partially understandable, right? A way to inject a custom header and footer (as in user defined information information) into files with no header upon import is probably all this program needs to be "complete"
I guess what I really wanted was a header modifier then. That sounds much simpler anyway. Keep the old header injection system, and add a new feature to edit headers in app. I will look forward to it if you can get a keyboard working nicely!

...Or just use FTBrony to transfer the SD to the PC .-.

If I take a text file and transfer to SB with X, will it work...? I'm not sure if I understand this. EDIT tried to transfer a .txt file with X, it didn't work, what'd I mess up?

Replying to:Minxrod
If I take a text file and transfer to SB with X, will it work...? I'm not sure if I understand this. EDIT tried to transfer a .txt file with X, it didn't work, what'd I mess up?
I think you use Y.

Replying to:Minxrod
If I take a text file and transfer to SB with X, will it work...? I'm not sure if I understand this. EDIT tried to transfer a .txt file with X, it didn't work, what'd I mess up?
Was every letter of the filename uppercase? Did it begin with the letter T to indicate to SB that it's a TXT file?