? announcing SmileBrowser, a possible internet browser for SmileBasic (Page 1) ● SmileBASIC Source Forums

Sign In

Register
*Usernames are case-sensitive
Forgot my password

announcing SmileBrowser, a possible internet browser for SmileBasic

  • #1 ✎ 162 Shelly So, 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 Edited by Shelly
  • #2 ✎ 162 Shelly The 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 ✎ 226 ToadIsTheBest Forum Contributor Hidden Achievements Video Games I like to play video games! Hobbies Intermediate Programmer I 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 Posted
  • #4 ✎ 162 Shelly
    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
  • #5 ✎ 226 ToadIsTheBest Forum Contributor Hidden Achievements Video Games I like to play video games! Hobbies Intermediate Programmer I 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
    Posted
  • #6 ✎ 162 Shelly
    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
  • #7 ✎ 226 ToadIsTheBest Forum Contributor Hidden Achievements Video Games I like to play video games! Hobbies Intermediate Programmer I 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
    Posted
  • #8 ✎ 162 Shelly
    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
  • #9 ✎ 226 ToadIsTheBest Forum Contributor Hidden Achievements Video Games I like to play video games! Hobbies Intermediate Programmer I 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.
    Why do you even have to use dial-up
    Posted
  • #10 ✎ 162 Shelly
    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
  • #11 ✎ 43 a_load_of_barnacles Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Good Page Hidden Achievements Avatar Taboo I didn't change my avatar for 180 days Website This looks like a cool idea, I'll keep an eye on this and see where it goes. Posted
  • #12 ✎ 162 Shelly So 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 Edited by Shelly
  • #13 ✎ 162 Shelly So, 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 Edited by Shelly
  • #14 ✎ 162 Shelly 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. Posted Edited by Shelly
  • #15 ✎ 43 ninjagnu Avatar Taboo I didn't change my avatar for 180 days Website Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Intermediate Programmer I 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.
    Yes I've heard that building your own TCP/IP stack can be quite daunting.
    Posted Edited by ninjagnu
  • #16 ✎ 162 Shelly So, 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
  • #17 ✎ 43 ninjagnu Avatar Taboo I didn't change my avatar for 180 days Website Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength 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. Posted
  • #18 ✎ 162 Shelly
    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
  • #19 ✎ 162 Shelly Okay, so a lot has happened. First, this project thread's purpose is being shifted, from a dialup internet interface to an interface for PetNet, the network I am creating. So, the planned network will basically consist of all of your devices connected together via a skype call, or something similar. Each network would need to have at least: -One DNS server. This is used for the internet browser -One "SmileSHOP" server. Basically, when you search for a program in the shop, the search information is sent to this server, and the server sends back the information of which server is hosting that program. Right now the interface for the program is pretty ugly, and uses only PRINT, no real graphics. The key for the folder with all of the appropriate programs might be released soon. Oh yeah, I should probably mention why I stopped the dialup project. Basically, it was just too much to handle, with the handshaking, encryption, decryption, loading all of the header formats, and other stuff. This is MUCH simpler, and should be done really soon. Posted
  • #20 ✎ 162 Shelly There are a lot of real possibilities for what could be done once this system is complete. This includes an eshop-like downloader for SB titles, "online" multiplayer online games, and an internet browser to browse website hosted on this network. One thing people might think about is speed problems when trying to connect to a game server, using this method. However, this could quickly be solved by using multiple 3ds systems to host a server. Basically, one 3ds would be the real host server, and would also the host in the MP session. Then, you would connect each client 3ds to a different skype call. This way, you don't have too many systems trying to connect on one skype call. Posted