+InsaneMultitasker Posted December 16, 2014 Share Posted December 16, 2014 Very cool! Would you mind sharing how you are performing the dns resolution? I am wondering if your approach could be applied for other systems using the UDS devices. 1 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 16, 2014 Author Share Posted December 16, 2014 Very cool! Would you mind sharing how you are performing the dns resolution? I am wondering if your approach could be applied for other systems using the UDS devices. Very cool indeed! It's great, it's not just P-BOX users, now V1 Nano-PEB'ers can get in on the action too. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 16, 2014 Share Posted December 16, 2014 And its own markup language, to boot. <99ml> Now just need a language add-on for Notepad++. 1 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 16, 2014 Author Share Posted December 16, 2014 And its own markup language, to boot. <99ml> Now just need a language add-on for Notepad++. I can see this evolving over time..who knows someday we might even have the ability to display very small icon sized B&W graphics. This thing could go in so many different directions it's impossible to guess... Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 16, 2014 Share Posted December 16, 2014 I can see this evolving over time..who knows someday we might even have the ability to display very small icon sized B&W graphics. This thing could go in so many different directions it's impossible to guess... It is already capable of character definitions. The TI logo you see on the page is defined. It looks like definitions are static, but there is definitely good to be done here. Stuart, is your mark-up language open, yet? <99ml> Character definitions for TI logo. <cdef:01:7CC0C0C0C0C0C0C0> <cdef:02:C0485454486020C0> <cdef:03:0000000000003048> <cdef:04:FC80C04060381C0C> <cdef:05:C408080C000000B0> <cdef:06:981818D858585840> <cdef:07:E82828E884848488> <cdef:08:F84C040400000000> <cdef:09:24180084C4703C00> <cdef:0A:3040800000808000> Character definition for bullet. <cdef:0B:0000003030000000> Colour bar. <p><br><clr:16> <clr:13> <clr:11> <clr:1D> <clr:14> <clr:12> <clr:18> <clr:15> <clr:19> <clr:16> </clr></p> Blank line in cyan. <p><clr:17> </clr></p> TI Logo and title in cyan. <p><clr:17> <chr:01><chr:02><chr:03> <chr:0E><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:11></clr></p> <p><clr:17> <chr:04><chr:05><chr:06><chr:07> <chr:12> TEXAS INSTRUMENTS COMPUTERS <chr:12></clr></p> <p><clr:17> <chr:08><chr:09><chr:0A> <chr:16><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:0F><chr:18></clr></p> Blank line in cyan. <p><clr:17> </clr></p> Colour bar. <p><clr:16> <clr:13> <clr:11> <clr:1D> <clr:14> <clr:12> <clr:18> <clr:15> <clr:19> <clr:16> </clr><br><br></p> Menu. <p><chr:0B> Click <a:www.avjd51.dsl.pipex.com/z_ti_test_2.htm>here</a> for a short history of the<br> TI-99/4A.<br></p> <p><chr:0B> Click <a:www.avjd51.dsl.pipex.com/z_ti_test_3.htm>here</a> for the pinout of the<br> TMS9900 processor.</p> </99ml> With a little server-side scripting, it would be possible to take a TI BASIC or Extended BASIC program and execute it via the web... Quote Link to comment Share on other sites More sharing options...
Stuart Posted December 16, 2014 Share Posted December 16, 2014 Would you mind sharing how you are performing the dns resolution? I am wondering if your approach could be applied for other systems using the UDS devices. To resolve web page URLs, the program first uses the Lantronix to pass the URL to a one-liner PHP script on one of my websites (identified by its numeric IP address, which is pretty stable) which returns the corresponding IP address for the URL, and the program then uses that to download the web page. At the moment, if the IP address of my website changes, I'll have to change it in the program and re-assemble it. There's also an intermittent problem with the Lantronix - once connected to one web server, it sometimes won't connect to another web server again for another minute or so (even though it appears to have correctly closed the connection), so the program has to just sit there retrying the connection until it works. 1 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 16, 2014 Author Share Posted December 16, 2014 With that 'side scripting' the server site could set ones RTC or possibly even strip out non-viewable stuff so a person might be able to read TEXT only of the last few messages posted on Atari Age, weather alerts or breaking news and convert them to "SIB" format. Just a thought. Quote Link to comment Share on other sites More sharing options...
Stuart Posted December 16, 2014 Share Posted December 16, 2014 It is already capable of character definitions. The TI logo you see on the page is defined. It looks like definitions are static, but there is definitely good to be done here. Stuart, is your mark-up language open, yet? The current list of supported tags is back in post #15. I'll at some point get them up on the web with some example code. The displayed screen image is assembled in a buffer in RAM then uploaded to the VDP as a bitmap image, so characters can be defined and 'printed', then redefined into something else and 'printed' again without affecting the earlier use. 3 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 16, 2014 Share Posted December 16, 2014 The current list of supported tags is back in post #15. I'll at some point get them up on the web with some example code. The displayed screen image is assembled in a buffer in RAM then uploaded to the VDP as a bitmap image, so characters can be defined and 'printed', then redefined into something else and 'printed' again without affecting the earlier use. I swear I looked for it That is pretty cool. So you can defined character 01 multiple times, then. Nifty. With that 'side scripting' the server site could set ones RTC or possibly even strip out non-viewable stuff so a person might be able to read TEXT only of the last few messages posted on Atari Age, weather alerts or breaking news and convert them to "SIB" format. Just a thought. Eh, kind-of. Server-side scripting would not allow that, as the program runs on the server side of things, and all you see in the browser is the output. If it ran client-side then, yes. That would be pretty much the same as loading and running a program. Our system (the TI) is not really set up for running programs in independent sessions (sand-boxing,) but it is not impossible. Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 16, 2014 Author Share Posted December 16, 2014 Could the server side do something like the following: Have a webpage titled d&t.htm that when called would poll these two sites: DATE TIME then strip out everything except the requested information and insert the text into "SIB" format page for the TI to use? If so, the same process could be repeated for all kinds of things like weather, news, TI product releases... Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 16, 2014 Share Posted December 16, 2014 Sure. It can return whatever you want. In the Internet world, we use NTP In fact, the "daytime" service returns a human-readable date/time stamp over UDP or TCP. Though not a lot of sites provide it versus NTP. Quote Link to comment Share on other sites More sharing options...
TheMole Posted December 16, 2014 Share Posted December 16, 2014 Would it make sense to standardize the (a) set of generic retro computer tags instead of having TI specific ones? I could see a whole dedicated retro internet subcommunity flourish across a wide range of systems. Sites like atariage, or other retro computer forums and info sources could provide alternative retro-ml pages when detecting retro user agents. Quote Link to comment Share on other sites More sharing options...
TheMole Posted December 16, 2014 Share Posted December 16, 2014 (edited) Remember that this setup requires the Lantronix UDS-10 device connected to a serial port. MESS supports serial connections; you'll need TIImageTool to serve as the bridge to the PC's serial port. Fair enough, although I imagine it would be possible to emulate a Lantronix or similar device within the emulator (not a feature request, just curious !). I guess I also don't quite understand how you use such a device from the serial side of things, and how much of the heavy lifting the device is doing. Is it basically tunneling TCP or UDP over serial (and HTTP being handled by the TI)? With commands to establish connections to certain IP/port combinations, ala netcat on Linux? Or does it handle the HTTP protocol as well? Edited December 16, 2014 by TheMole Quote Link to comment Share on other sites More sharing options...
Stuart Posted December 16, 2014 Share Posted December 16, 2014 Would it make sense to standardize the (a) set of generic retro computer tags instead of having TI specific ones? I could see a whole dedicated retro internet subcommunity flourish across a wide range of systems. Sites like atariage, or other retro computer forums and info sources could provide alternative retro-ml pages when detecting retro user agents. Nice idea, but I think once you get past a few basic tags, the tags start being specific to the machine features. For example, with the tags I have so far, those for setting the colours and defining characters are closely tied in with the 9918 VDP. 1 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 16, 2014 Author Share Posted December 16, 2014 Sure. It can return whatever you want. Damn, this is just getting and better! Quote Link to comment Share on other sites More sharing options...
Stuart Posted December 16, 2014 Share Posted December 16, 2014 I guess I also don't quite understand how you use such a device from the serial side of things, and how much of the heavy lifting the device is doing. Is it basically tunneling TCP or UDP over serial (and HTTP being handled by the TI)? With commands to establish connections to certain IP/port combinations, ala netcat on Linux? Or does it handle the HTTP protocol as well? The Lantronix is doing the interfacing between the TI serial port and the Internet. So start by pushing into the Lantronix serial port the IP address of the server to connect to, then push in the text for an HTTP request. The server sends back the web page, which comes out of the Lantronix serial port (as text) with HTTP header still attached. So the TI doesn't need any form of protocol stack, it just needs to know the format of an HTTP request. Quote Link to comment Share on other sites More sharing options...
Stuart Posted December 16, 2014 Share Posted December 16, 2014 Could the server side do something like the following: Have a webpage titled d&t.htm that when called would poll these two sites: DATE TIME then strip out everything except the requested information and insert the text into "SIB" format page for the TI to use? If so, the same process could be repeated for all kinds of things like weather, news, TI product releases... Try www.stuartconnerdownloads.me.uk/getdatetime.php. Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 16, 2014 Author Share Posted December 16, 2014 You know Stuart, they say,"Imitation is the greatest form of flattery". I have a feeling that once word gets out on how you did this, there will be classic computer people copying your methods to other classic systems. I can see a spot for your name in a Wiki or in someones book someday when the topic of Retro-Computing comes up. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 16, 2014 Share Posted December 16, 2014 The UDS is really just a TCP tunnel device. I use it to connect to my Unix machine serial ports inside of a VPN. It accepts telnet connections, which can be straight-up text without out-of-band messaging. Same for the outgoing: I can use one Unix machine to connect via the UDS to another's serial port or telnet service, or smtp service, etc. Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 17, 2014 Author Share Posted December 17, 2014 What might be nice is... 1) A thread to post links to new web pages that use Stuart's Internet Browser as they become available. 2) Some link code for a "mini web ring". 3) A volunteer to host all these micro pages that people come up with. Maybe after the holidays when people have more time maybe, possibly consider a competition to see who can make the coolest or most useful webpage(s)? Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 18, 2014 Author Share Posted December 18, 2014 (edited) Try www.stuartconnerdownloads.me.uk/getdatetime.php. It works on the PC, it fails on the TI. I tried multiple times... ** EDIT ** Everything is failing (as of this moment). Is this the one weak-link, being dependent on one address for resolving the addresses? Possibly a backup address could be included in a future version, or a manual entry in case of future changes? Oh yeah, I attached a cheat sheet you can print up in case you want to go back and forth between Telco and Stuart's browser. ** EDIT ** Seems to be working again... Edited December 18, 2014 by --- Ω --- Quote Link to comment Share on other sites More sharing options...
mjnurney Posted December 18, 2014 Share Posted December 18, 2014 awesome ....I need a Lantronix UDS-10 now! Quote Link to comment Share on other sites More sharing options...
Stuart Posted December 18, 2014 Share Posted December 18, 2014 ** EDIT ** Everything is failing (as of this moment). Is this the one weak-link, being dependent on one address for resolving the addresses? Possibly a backup address could be included in a future version, or a manual entry in case of future changes? ** EDIT ** Seems to be working again... I'm pretty sure it's not the server being used to resolve the addresses, as I tried someone else's PHP server as well and found that with that also it would sometimes have to sit there retrying the connection. Pretty sure it's the Lantronix, but don't see a reason why. Quote Link to comment Share on other sites More sharing options...
TheMole Posted December 18, 2014 Share Posted December 18, 2014 Nice idea, but I think once you get past a few basic tags, the tags start being specific to the machine features. For example, with the tags I have so far, those for setting the colours and defining characters are closely tied in with the 9918 VDP. True, although it was very common for other systems to work with re-definable 8x8 characters as well, for instance. I reckon you could come up with a base set of tags that would work across different systems, and then allow system/browser specific definitions for the more advanced stuff... Aaargh! It's HTML all over again Quote Link to comment Share on other sites More sharing options...
TheMole Posted December 18, 2014 Share Posted December 18, 2014 The Lantronix is doing the interfacing between the TI serial port and the Internet. So start by pushing into the Lantronix serial port the IP address of the server to connect to, then push in the text for an HTTP request. The server sends back the web page, which comes out of the Lantronix serial port (as text) with HTTP header still attached. So the TI doesn't need any form of protocol stack, it just needs to know the format of an HTTP request. Cool, thanks for the info. That is indeed how I figured it would work, and it's nice to see that HTTP is done on the TI side. So I'm guessing you use certain escape sequences to get the Lantronix to connect to certain IP addresses then? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.