Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

SmileBASIC File Manager 3DS: Difference between revisions

From GameBrew
No edit summary
Tag: visualeditor-switched
m (Text replacement - "Category:Homebrew utility applications on 3DS" to "")
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = SmileBASIC File Manager
|title=SmileBASIC File Manager 3DS
| image = https://dlhb.gamebrew.org/3dshomebrew/SmileBASICFileManager.jpg|250px
|image=Sbfm2.png
| type = Utilities
|description=An application designed to make transferring resources from a PC to SmileBASIC easier.
| version = v1.7
|author=Trinitro21
| licence = Mixed
|lastupdated=2019/05/09
| author = Trinitro21
|type=Utilities
| website = https://github.com/Trinitro21/lpp-3ds
|version=1.7
| download = https://dlhb.gamebrew.org/3dshomebrew/SmileBASICv1.7.7z
|license=Mixed
| source = https://github.com/Trinitro21/lpp-3ds
|download=https://dlhb.gamebrew.org/3dshomebrews/sbfm.7z
|website=https://github.com/Trinitro21/lpp-3ds
|source=https://github.com/Trinitro21/lpp-3ds
}}
}}
<youtube>kI1v3_RDhEI&t=2s</youtube>
SmileBASIC File Manager, also known as SBFM, is an application designed to make transferring resources from a PC to SmileBASIC easier. It runs under Rinnegatamante's [[Lua Player Plus 3DS]].  
 
= Description =
 
'''SmileBASIC File Manager''' is an application designed to make transferring resources from a PC to SmileBASIC easier. It runs under Rinnegatamante's Lua Player Plus 3DS. You can find details [http://www.smilebasicsource.com/forum?ftid=468 here] and [http://www.smilebasicsource.com/page?pid=308 here].
 
= Features =


==Features==
* Copying files.
* Copying files.
* Copying files without the header or footer.
* Copying files without the header or footer.
Line 25: Line 22:
* Downloading select projects from a server.
* Downloading select projects from a server.


= Known bugs =
==User guide==
===General===
'''The first letter of filenames:'''
* 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.
* Y copies the entire file; X ignores the 80-byte header and 20-byte footer; 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 the author made.
** 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 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 [https://drive.google.com/file/d/0B4kbPEFlGXXIRUdCcE1xc0dTMTQ/view?usp=sharing this user-defined language] that the author made for Notepad++ or [http://www.smilebasicsource.com/page?pid=54 this SynWrite build].
* To use 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 [http://smilebasic.com/en/download SmileBASIC's website].
* You can set a style's fonts from the style configurator.
 
'''GRP editor:'''
* There exists an [http://old.smilebasicsource.com/page?pid=69 aseprite mod] that can edit GRP files.
* 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 (e.g. Notepad++). 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 [http://old.smilebasicsource.com/page?pid=69 this aseprite mod] that can edit GRP files.
* 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:
* Create your image and save it in a format of your choice.
* Use [http://trotyl.tk/SBtools/imagetogrp.html imagetogrp] or [https://github.com/Perska/IMG2GRP/releases IMG2GRP] to convert your file to the GRP format.
* Transfer the file to your SD/microSD card.
* 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.
 
===WAV files===
Instructions for using Perska's WAV2SBWAV tool can be found [http://old.smilebasicsource.com/page?pid=339 here].
 
===Resources===
* [https://old.smilebasicsource.com/page?pid=308 Basic tutorial] by triangle.
* [https://trinitro21.github.io Web tools] to use with SBFM.
* [https://old.smilebasicsource.com/search/Resources Resources and programs] for SmileBASIC.
* [https://smilebasicsource.com SmileBASIC Source].
 
==Known issues==
After the 32nd copy, SmileBASIC File Manager is unable to access the SD card, extdata archive, or code for itself. Unclear what causes this or how to fix it.
 
==Changelog==
'''v1.7'''
* Added footer signing using the SHA1-HMAC algorithm.
* Fixed the crash that occurs when the "copy DAT contents" function is invoked on a file that doesn't evenly divide into the size of the data type.
 
'''1.6.4'''
* Fix titleid for EU.
 
'''1.6.3'''
* Detect EU systems and use the appropriate titleid.
 
'''1.6.2'''
* Fixed a bug in the numpad and added smooth scrolling.
'''1.6.1'''
 
* Fixed a bug regarding waiting for user input.
 
'''v1.6'''
* Swapped top and bottom screens.
* Added touch functionality for scrolling in the file browsers.
* Added SmileBASIC font.
 
'''v1.5'''
* Version number displayed.
* Removed shop thing that nobody used.
* Added ability to create folders and delete files/folders.
* Holding L or R in the keyboard holds shift.
 
'''v1.4'''
* Updated version of lpp3ds that supports the necessary extdata functions out of the box.
* Circle pad support.
* Highlights files differently than folders.
* Touchscreen keyboard and numpad.
* New copy option that injects both the main file header and the secondary DAT header, with inputs from the user.
 
'''v1.3'''
* More interactive and efficient when copying a file that doesn't start with T or B to SmileBASIC.
* Changed online protocol a little.
 
'''v1.2.2'''
* Altered ID to hopefully not conflict.
* Also, the CIA version now properly closes.
 
'''v1.2.1'''
* Fixed an error made in the copy function.
* Fixed an error made in the store list parsing function.
* Some other minor changes.
 
'''v1.2'''
* Redid copy options and made it into a menu with detailed descriptions of the copy options.
* Minor adjustments to the log on the bottom screen.
* Online distribution service. Press X to open up the shop. There is no upload service, rather all files must be added manually therefore able to control the content on the server. Only intended to be used in certain situations; the SmileBASIC official servers are good enough for most uses.


* After the 32nd copy, SmileBASIC File Manager is unable to access the SD card, extdata archive, or code for itself. I have no idea what causes this or how to fix it.
==External links==
* GitHub - https://github.com/Trinitro21/lpp-3ds
* SmileBASIC Source - https://old.smilebasicsource.com/forum?ftid=468&page=1
* SmileBASIC Source - https://old.smilebasicsource.com/page?pid=308

Latest revision as of 05:40, 6 Mayıs 2024

SmileBASIC File Manager 3DS
Sbfm2.png
General
AuthorTrinitro21
TypeUtilities
Version1.7
LicenseMixed
Last Updated2019/05/09
Links
Download
Website
Source

SmileBASIC File Manager, also known as SBFM, is an application designed to make transferring resources from a PC to SmileBASIC easier. It runs under Rinnegatamante's Lua Player Plus 3DS.

Features

  • Copying files.
  • Copying files without the header or footer.
  • Copying files and injecting a header and footer.
  • Copying whole folders.
  • Displaying information found in the header of a file in a readable format.
  • Downloading select projects from a server.

User guide

General

The first letter of filenames:

  • 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.
  • Y copies the entire file; X ignores the 80-byte header and 20-byte footer; 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 the author made.
    • 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 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 the author made for Notepad++ or this SynWrite build.
  • To use 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.
  • You can set a style's fonts from the style configurator.

GRP editor:

  • There exists an aseprite mod that can edit GRP files.
  • 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 (e.g. Notepad++). 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.
  • 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:

  • Create your image and save it in a format of your choice.
  • Use imagetogrp or IMG2GRP to convert your file to the GRP format.
  • Transfer the file to your SD/microSD card.
  • 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.

WAV files

Instructions for using Perska's WAV2SBWAV tool can be found here.

Resources

Known issues

After the 32nd copy, SmileBASIC File Manager is unable to access the SD card, extdata archive, or code for itself. Unclear what causes this or how to fix it.

Changelog

v1.7

  • Added footer signing using the SHA1-HMAC algorithm.
  • Fixed the crash that occurs when the "copy DAT contents" function is invoked on a file that doesn't evenly divide into the size of the data type.

1.6.4

  • Fix titleid for EU.

1.6.3

  • Detect EU systems and use the appropriate titleid.

1.6.2

  • Fixed a bug in the numpad and added smooth scrolling.

1.6.1

  • Fixed a bug regarding waiting for user input.

v1.6

  • Swapped top and bottom screens.
  • Added touch functionality for scrolling in the file browsers.
  • Added SmileBASIC font.

v1.5

  • Version number displayed.
  • Removed shop thing that nobody used.
  • Added ability to create folders and delete files/folders.
  • Holding L or R in the keyboard holds shift.

v1.4

  • Updated version of lpp3ds that supports the necessary extdata functions out of the box.
  • Circle pad support.
  • Highlights files differently than folders.
  • Touchscreen keyboard and numpad.
  • New copy option that injects both the main file header and the secondary DAT header, with inputs from the user.

v1.3

  • More interactive and efficient when copying a file that doesn't start with T or B to SmileBASIC.
  • Changed online protocol a little.

v1.2.2

  • Altered ID to hopefully not conflict.
  • Also, the CIA version now properly closes.

v1.2.1

  • Fixed an error made in the copy function.
  • Fixed an error made in the store list parsing function.
  • Some other minor changes.

v1.2

  • Redid copy options and made it into a menu with detailed descriptions of the copy options.
  • Minor adjustments to the log on the bottom screen.
  • Online distribution service. Press X to open up the shop. There is no upload service, rather all files must be added manually therefore able to control the content on the server. Only intended to be used in certain situations; the SmileBASIC official servers are good enough for most uses.

External links

Advertising: