announcing SmileBrowser, a possible internet browser for SmileBasic

#1✎ 185ShellySo, this is effectively the new thread for the "PetNet" development project.
So what's new? A lot actually. First off, I am perfecting code which will be able to communicate with a 300 baud FSK dial-up modem. The only hurdles I have to overcome still are the "handshake" process (which may turn out not to be necessary), and implementing all of the necessary commands.
After that it is as simple as processing the data which is received.
FAQs:
-Is it really only 300 baud? For now, yes.
-Is there a working program yet? No. Right now it is still in the development stages. Also, the actual browser isn't the main project; rather, the development of a suitable modem software. That way I can release it, and let other people develop their own custom browsers.
Timeline:
12/21/2017: The first call was made with a phone (and suited 3ds) in which there was SOME sort of communication between the ISP modem and my 3ds, and the correct tones were found to be present. This is proved by experiments in which it was noted an ISP modem would hang up if the correct tones were not found. No useful data was recorded though. In other words, they communicate, but I still need to send/ receive the CORRECT data.
So how does it work? Its actually quite simple. In a normal 300 baud modem their are two frequencies, each representing a binary level (zero or one). This concept is known as FSK, or Frequency Shift Keying. The first step to establishing a connection with the other modem is to call into it. This step must be done manually, with an actual phone. Then, once you here the iconic "dialup" tones you must plug an audio cable into your phone, and the other end into your 3ds.
What happens next is a process known as "handshaking", which I haven't actually implemented yet. Basically, this process establishes that the modems are communicating correctly.
After that there is really only one more step, figuring out what binary data to send to the other modem.
Does that make sense?
Right now I am working on a couple things. Examples of the things I'm working on are:
-Making sure the timing is correct
-Implementing the "handshake" process
-Sending IPV6 packets
Right now I am only working on a 300 baud connection. However, once this system is functional it is POSSIBLE that a 1200 baud connection could be easily established, due to it using the same transfer method (FSK). In fact, theoretically it could be possible to have up to a 4800 baud connection, using a multiplayer session and having each 3ds call in to a dialup service.
___________________________________________________________________________
For daily updates look at my profile description.
Posted 3 months ago
Edited 3 months ago
by Shelly

#2✎ 185ShellyThe main problem I have found so far is a lack of quality information. It seems as if the only way I can currently find suitable information is to dig through datasheets for the original interface set, Bell 103A in this case.
Posted 3 months ago

#3✎ 280ToadIsTheBestForum ContributorHiddenAchievementsVideo GamesI like to play video games!HobbiesIntermediate ProgrammerI can make programs, but I still have trouble here and there. Programming StrengthThere’s a built-in web browser for 3DS AND Wii U so if this really connects to the internet, it’s pointless, although if it used fake websites it would have a point
Posted 3 months ago

There’s a built-in web browser for 3DS AND Wii U so if this really connects to the internet, it’s pointless, although if it used fake websites it would have a point

It would be MOSTLY pointless, but there are a few scenarios in which it would actually be BETTER. Such as:
-If you are out in a remote place with nothing but a cellphone, you want internet, and you don't want to pay for an internet plan. You would just have to call into a dial-up ISP, most of which don't cost anything for the first few hours.
-Using your 3ds as a server
Also, no, it will use real websites.
Most importantly though, it opens up a new realm for development with SmileBasic.
Posted 3 months ago

#5✎ 280ToadIsTheBestForum ContributorHiddenAchievementsVideo GamesI like to play video games!HobbiesIntermediate ProgrammerI can make programs, but I still have trouble here and there. Programming Strength

There’s a built-in web browser for 3DS AND Wii U so if this really connects to the internet, it’s pointless, although if it used fake websites it would have a point

It would be MOSTLY pointless, but there are a few scenarios in which it would actually be BETTER. Such as:
-If you are out in a remote place with nothing but a cellphone, you want internet, and you don't want to pay for an internet plan. You would just have to call into a dial-up ISP, most of which don't cost anything for the first few hours.
-Using your 3ds as a server
Also, no, it will use real websites.
Most importantly though, it opens up a new realm for development with SmileBasic.

There’s a built-in web browser for 3DS AND Wii U so if this really connects to the internet, it’s pointless, although if it used fake websites it would have a point

It would be MOSTLY pointless, but there are a few scenarios in which it would actually be BETTER. Such as:
-If you are out in a remote place with nothing but a cellphone, you want internet, and you don't want to pay for an internet plan. You would just have to call into a dial-up ISP, most of which don't cost anything for the first few hours.
-Using your 3ds as a server
Also, no, it will use real websites.
Most importantly though, it opens up a new realm for development with SmileBasic.

Uhmmm. Sure

In addition there are also other scenarios in which security would be a factor. For example, using this method you can dial into your own dial-up server at your house, using an encrypted format. This way you could browse the internet as if it was at your house.
Posted 3 months ago

#7✎ 280ToadIsTheBestForum ContributorHiddenAchievementsVideo GamesI like to play video games!HobbiesIntermediate ProgrammerI can make programs, but I still have trouble here and there. Programming Strength

There’s a built-in web browser for 3DS AND Wii U so if this really connects to the internet, it’s pointless, although if it used fake websites it would have a point

It would be MOSTLY pointless, but there are a few scenarios in which it would actually be BETTER. Such as:
-If you are out in a remote place with nothing but a cellphone, you want internet, and you don't want to pay for an internet plan. You would just have to call into a dial-up ISP, most of which don't cost anything for the first few hours.
-Using your 3ds as a server
Also, no, it will use real websites.
Most importantly though, it opens up a new realm for development with SmileBasic.

Uhmmm. Sure

In addition there are also other scenarios in which security would be a factor. For example, using this method you can dial into your own dial-up server at your house, using an encrypted format. This way you could browse the internet as if it was at your house.

There’s a built-in web browser for 3DS AND Wii U so if this really connects to the internet, it’s pointless, although if it used fake websites it would have a point

It would be MOSTLY pointless, but there are a few scenarios in which it would actually be BETTER. Such as:
-If you are out in a remote place with nothing but a cellphone, you want internet, and you don't want to pay for an internet plan. You would just have to call into a dial-up ISP, most of which don't cost anything for the first few hours.
-Using your 3ds as a server
Also, no, it will use real websites.
Most importantly though, it opens up a new realm for development with SmileBasic.

Uhmmm. Sure

In addition there are also other scenarios in which security would be a factor. For example, using this method you can dial into your own dial-up server at your house, using an encrypted format. This way you could browse the internet as if it was at your house.

I don’t have dial-up

Well then I guess you are out of luck. The only way to use this is if you have an ISP to call into, which could be a commercial one or one setup specifically for a small private group. Go to coinz's thread where I talk about a method for setting up your own ISP.
Posted 3 months ago

#9✎ 280ToadIsTheBestForum ContributorHiddenAchievementsVideo GamesI like to play video games!HobbiesIntermediate ProgrammerI can make programs, but I still have trouble here and there. Programming Strength

There’s a built-in web browser for 3DS AND Wii U so if this really connects to the internet, it’s pointless, although if it used fake websites it would have a point

It would be MOSTLY pointless, but there are a few scenarios in which it would actually be BETTER. Such as:
-If you are out in a remote place with nothing but a cellphone, you want internet, and you don't want to pay for an internet plan. You would just have to call into a dial-up ISP, most of which don't cost anything for the first few hours.
-Using your 3ds as a server
Also, no, it will use real websites.
Most importantly though, it opens up a new realm for development with SmileBasic.

Uhmmm. Sure

In addition there are also other scenarios in which security would be a factor. For example, using this method you can dial into your own dial-up server at your house, using an encrypted format. This way you could browse the internet as if it was at your house.

I don’t have dial-up

Well then I guess you are out of luck. The only way to use this is if you have an ISP to call into, which could be a commercial one or one setup specifically for a small private group. Go to coinz's thread where I talk about a method for setting up your own ISP.

There’s a built-in web browser for 3DS AND Wii U so if this really connects to the internet, it’s pointless, although if it used fake websites it would have a point

It would be MOSTLY pointless, but there are a few scenarios in which it would actually be BETTER. Such as:
-If you are out in a remote place with nothing but a cellphone, you want internet, and you don't want to pay for an internet plan. You would just have to call into a dial-up ISP, most of which don't cost anything for the first few hours.
-Using your 3ds as a server
Also, no, it will use real websites.
Most importantly though, it opens up a new realm for development with SmileBasic.

Uhmmm. Sure

In addition there are also other scenarios in which security would be a factor. For example, using this method you can dial into your own dial-up server at your house, using an encrypted format. This way you could browse the internet as if it was at your house.

I don’t have dial-up

Well then I guess you are out of luck. The only way to use this is if you have an ISP to call into, which could be a commercial one or one setup specifically for a small private group. Go to coinz's thread where I talk about a method for setting up your own ISP.

Why do you even have to use dial-up

It is the only connection type which can easily be interfaced to, because of how it works.
Posted 3 months ago

#11✎ 43a_load_of_barnaclesIntermediate ProgrammerI can make programs, but I still have trouble here and there. Programming StrengthGood PageHiddenAchievementsAvatar TabooI didn't change my avatar for 180 daysWebsiteThis looks like a cool idea, I'll keep an eye on this and see where it goes.
Posted 3 months ago

#12✎ 185ShellySo right now I am finding out that there IS a way to get the kind of information I need. Right now I'm working on the TCP header then I'll implement more.
Key soon to come. I'm also working on making my own dial-up server, for testing purposes.
Posted 3 months ago
Edited 3 months ago
by Shelly

#13✎ 185ShellySo, I have a lot to talk about. First off, I am actually designing code now to interface with the world-wide web. The first step is decoding the ipv6 and ipv4 headers, and learning how to send that information. This should be finished fairly soon, within a few days (yes, that short of a wait). One problem I am also facing is testing the received information, to make sure that the information is actually what you think it is. This is necessary for statistically-valid data.
This process SHOULD be finished within the next 2 or so days. A simple web browser should be available within 2-3 weeks, but that is assuming there are no hidden challenges. I'll be sure to tell you guys if I face any. A video update will be provided upon me making any major breakthroughs, to prove that this is all ACTUALLY happening.
Posted 3 months ago
Edited 3 months ago
by Shelly

#14✎ 185ShellyOkay, so not much has happened since the last update. This is due to me trying to grasp the IPV6 header. Once the IPV6 packet system is done I should be able to perhaps load certain aspects of a web page, but that would also require me to grasp other concepts. Oh, and I forgot about HTTP.
To sum it up: Yes, progress is being made. This process is hard.
Posted 3 months ago
Edited 3 months ago
by Shelly

#15✎ 55ninjagnuAvatar TabooI didn't change my avatar for 180 daysWebsiteZelda Is Awesome!I love The Legend Of Zelda!Express YourselfIntermediate ProgrammerI can make programs, but I still have trouble here and there. Programming Strength

Okay, so not much has happened since the last update. This is due to me trying to grasp the IPV6 header. Once the IPV6 packet system is done I should be able to perhaps load certain aspects of a web page, but that would also require me to grasp other concepts. Oh, and I forgot about HTTP.
To sum it up: Yes, progress is being made. This process is hard.

#16✎ 185ShellySo, today we need to make a decision. This is a big one.
Going forward there are two options for getting internet to SmileBasic. The option I have been working on so far would allow for SmileBasic to connect directly to a dialup ISP's modem. However, there is another option. The other option is to connect your 3ds to a computer, and the computer would then perform all of internet stuff.
Basically, the decision which needs to be made is release date vs usability. If I were to try the dialup method it would allow for internet access with a wider array of scenarios, and wouldn't need another computer. However, if I were to try the computer host method I could most likely release it sooner but it would have a more limited range of useful scenarios.
Keep in mind, BOTH methods are going to be pursued eventually, but I want to know which one I should do FIRST. Please tell me what you think.
Posted 3 months ago

#17✎ 55ninjagnuAvatar TabooI didn't change my avatar for 180 daysWebsiteZelda Is Awesome!I love The Legend Of Zelda!Express YourselfIntermediate ProgrammerI can make programs, but I still have trouble here and there. Programming StrengthI'd try my hand with the PC as a proxy approach first. To get the hang of transferring data between the PC and 3DS.
Posted 3 months ago

I'd try my hand with the PC as a proxy approach first. To get the hang of transferring data between the PC and 3DS.

Okay, I guess I'll do that first.
Posted 3 months ago

#19✎ 185ShellyOkay, so this project is actually still being worked on. Right now I am working on the signals, so that it will communicate correctly with the other modem.
Also, right now I am working on BBS support, rather than making a full-on internet browser. This should simplify things. Stay tuned for updates!
Posted 2 months ago

#20✎ 55ninjagnuAvatar TabooI didn't change my avatar for 180 daysWebsiteZelda Is Awesome!I love The Legend Of Zelda!Express YourselfIntermediate ProgrammerI can make programs, but I still have trouble here and there. Programming Strength

Okay, so this project is actually still being worked on. Right now I am working on the signals, so that it will communicate correctly with the other modem.
Also, right now I am working on BBS support, rather than making a full-on internet browser. This should simplify things. Stay tuned for updates!

That's not a bad idea. Do you have any publicly available documentation on how a protocol to communicate with a BBS works? A link would be great.
Posted 2 months ago
Edited 2 months ago
by ninjagnu