TRSWiki now runs on the Model 4 with LS-DOS 6!
The Model 4 running LS-DOS 6 provides a 80×24 character screen size which makes Wikipedia browsing even more enjoyable.
The TRSWiki splash screen on a Model 4 with the M3SE and Hi-Res graphics card
80 column Wikipedia entry for Star Wars as rendered by TRSWiki on a Model 4 with the M3SE running LS-DOS 6
Portrait of the Lost in Space family as rendered by TRSWiki on a Model 4 with the M3SE and Hi-Res graphics card.
See TRSWiki in action
Example of image of Darth Vader as rendered by TRSWiki using PCG-80 Hi-Res mode on a Model I with the MISE
The search results page for “TRS-80” as rendered by TRSWiki
Portrait from the Abraham Lincoln Wikipedia page as rendered by TRSWiki using PCG-80 Hi-Res mode on a Model I with the MISE
- is beta software that will more likely than not crash from time to time. Let me know if it is not working for you.
- supports Wikipedia searches, text-based content browsing with functioning hyperlinks and image viewing.
- requires that you setup your MISE network configuration to access your broadband Internet connection. Note: You need to run the DHCP application included with MISE before running TRSWiki.
- has been tested on a Model I with MISE, Expansion Interface and 48K as well as a Model III with M3SE and 48K. It may work with other supported MISE configurations. If it does, please let me know.
- supports PCG-80 Hi-Res graphics mode. Unless you have an actual PCG-80 modification to your Model I, you’ll need a VGA monitor connected to your MISE in order to view the hi-res images using the MISE’s built-in PCG-80 emulation. Use trswikih.cmd for hi-res support.
- utilizes an intermediate proxy server to perform the heavy lifting of processing wiki content into a format useable by the Model I.
Once you have extracted the appropriate WIKI/CMD from the zip file to your modern computer you can copy it to your TRS-80 using the MISE FTPD service. Remember to use binary transfer mode.
Example of image from the Star Trek Wikipedia page as rendered by TRSWiki
Example of image of Han Solo as rendered by TRSWiki
The Star Wars Wikipedia page as rendered by TRSWiki
- Lowercase is supported on Model I computers with the lowercase hardware modification. If you do not have a lowercase mod, make sure you run the MISE UPCASE utility.
- I’m not too happy about how I am currently representing hyperlinks, ie. <-#-> following or leading the anchor text. But, I have yet to think of a better way given the Model I limitations. Let me know if you have a better idea. Also, the maximum number of links supported on a screen is 36 due to the available number of keyboard keys. On pages with more links, some of those links will not be available.
- For the image processing I am downsizing the Wikipedia page images and converting them to monochrome. This works ok for simple images, like flags, logos, even some portraits look decent. However, many images are not recognizable. I’ve been playing with vectorizing the images using line detection algorithms, but have not achieved decent results yet. The problem is that it is very hard to do decent line detection on a 128×48 pixel image for anything other than a very simple image.
- You may encounter connection issues if you are behind a proxy server or firewall. I originally used a non-standard port (4444), but now use a standard port (23 Telnet) to communicate with the server which should eliminate issues with data providers that block non-standard ports. If it continues to be problematic, I may try to use port 80 directly or even, if necessary, tunnel via HTTP. I would have to write a TRS-80 HTTP client at that point.
- The rectangular pixel size of the Model I standard graphics mode is causing aspect issues that I have not yet spent time to try to overcome. As a result, images may appear stretched in different directions.
- Server side sessions get purged after a few hours so if you are browsing longer than that you may encounter erratic behavior and need to restart.
- You can follow external links out of Wikipedia, but the proxy is not optimized for non-Wikipedia sites so you’re bound to run into issues.
Future enhancements will consist of support for serial port based network adapters.
I used the MRAS assembler from Misosys for development of the TRS-80 client. William Barden’s classic TRS-80 Z80 assembly language books were invaluable in learning to develop assembly programs on the TRS-80.
Thanks to Pete Bartlett for creating the MISE and providing the APIs and technical support needed to interface with the MISE ethernet connection and TCP/IP stack.
Comments are welcome. This is my first Z80 assembly program so please be kind. 🙂