TRSWiki

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

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

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.

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

TRSWiki is a Wikipedia client for the TRS-80 Model I, Model III and Model 4 computers. TRSWiki currently requires the MISE – Model I System Expander or M3SE configured with an Internet connection.

Example of image of Darth Vader as rendered by TRSWiki using PCG-80 Hi-Res mode

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

The search results page for “TRS-80” as rendered by TRSWiki

Portrait from the Abraham Lincoln Wikipedia page 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

 

TRSWiki

  • 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.

Download TRSWiki v0.9

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 from the Star Trek Wikipedia page as rendered by TRSWiki

Example of image of Han Solo as rendered by TRSWiki

Example of image of Han Solo as rendered by TRSWiki

The Star Wars Wikipedia page as rendered by TRSWiki

The Star Wars Wikipedia page as rendered by TRSWiki

 

Known Issues

  • 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.

The proxy server is written in Java and developed using Eclipse. The server runs on an EC2 linux instance running in the the AWS cloud.

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. 🙂

16 thoughts on “TRSWiki

  1. Aspect ratio shouldn’t be a problem: the TRS-80’s pixels should be exactly 1:2 for X:Y. Half as much width (X) as height (Y).

    In 32-character mode, the fatter pixels are exactly one-to-one. Even then the numbers don’t look even (64 x 48), but remember, an old standard TV has an 4:3 aspect ratio. 3/4=0.75, and 64 * .75 = 48. So the pixels are 1:1. When going back to 64-character mode, the number of X pixels are doubled, so now 0.5:1 or 1:2

    Now TVs like the old Model 1 Monitor can have their height adjusted, so the raster picture might still be “squished” or “stretched” from what it mathematically should be.

  2. If memory serves me correctly and I have the right board in mind, my father’s Model I had a PCG-80 hires kit installed. When my mother moved house I grabbed a Model I out of the roof space which I can only assume was his original machine, still with the PCG-80 installed. As of yet I have not unpacked the machine, let alone attempted to power it up.

    I’m assuming you’re looking for someone to test this on original PCG-80 hardware?

    That kit had 256 definable characters, programmed in 4 banks of 64. FWIW I modified a few games back in the day for the board, namely Jungle Raiders and Star Cresta.

  3. Just to let you know I DO have one (and more)!

    I have a Model 1 and a System 80 (PCM-80) both with PCG-80 boards fitted, and we still have available 4 brand new, unused and 2 2nd hand PCG-80 boards for the Model I.
    My first program for the PCG-80 was a hex character set using 1 character position on screen per hex code, for use in debugging assembly language progams.
    I hope I have convinced Matthew Reed to include the PCG-80 capabilities into his next release of his TRS-80 emulator
    The PCG-80 is basically an 80-Graphix unit with 4 times the programmable characters – ALL 256)

    If you or anyone else is interested in the hex character set, or any games I converted to use the PCG-80, let me know by direct email, or look up my email address on the SYDTRUG web site http://www.sydtrug.org

    • I remember Errol from the SYDTRUG meetings at the back of Mick’s florist. Rode past there a couple of months ago and there is a florist still there, though IIRC sadly Mick himself passed away quite a few years ago. If memory serves, Errol spent most of the meetings in the ‘office’ with a soldering iron in his hand!?!

      • Hi Mark, I still have that soldering iron on my work bench, but don’t get much time to use it.
        If you see this in time, there is a SYDTRUG “Re-union” meeting on Sept 10 2016 at Regents Park Community Centre
        Maybe we should get together and get the Model I working so Peter can see what the TRSWiki looks like on a real monitor.
        I also have both M1SE and M3SE units to play with

    • An observation on that photo: it was taken Sunday afternoon when things had pretty well wound down, and the only people left were exhibitors and the event organizers. Exhibitors look downward at their stuff and organizers look up and around: try to guess who is whom from the photo

      The “two Jasons” (Timmons and Compton) are looking at the 3/4 of the room you can’t see off to the right. In between can be seen the blue shirt of Randy Kindig of Floppy Days podcast fame, who at that point was tearing down his station which featured Atari 8-bit computers networked via MIDI, but also his Model I with MISE attached.

      Anyway, Peter C. provided flawless remote support throughout the event, helping Malcom and I overcome issues with the hotel’s wireless network.

      p.

    • Hi Phil, this is a Wikipedia client program so it is optimized for Wikipedia content. It actually uses the Wikipedia API and does not surf the website. While it is not a general purpose web browser it will follow external links out of Wikipedia and does offer a very rough browsing experience on other websites.

Leave a Reply

Your email address will not be published. Required fields are marked *