Tuesday, February 28, 2017

Arduino TPDD update

It lives!

The problem that I had was my null modem cable.  For my use, I should not have crossed the TX/RX lines in the cable.  All I needed to do was loop back the control lines.

At this point, I have communications.  As expected, I found bugs in my code.  But I get data and send data and I can see what's going on.

Now, I need to handle the TS-DOS extensions that I didn't expect.

Sunday, February 26, 2017

Arduino TPDD update

I tried to change the RS-232 Shifter to provide the signals that my 102 needed, but that didn't work out.  So I made a null modem cable based on the Club 100 documentation.  So that's all soldered and looking good.

However, testing completely failed.  Using the new cable, no tests worked and no communications at all.  Going back the old cable, my tests worked.  So the new cable is the problem.

But I checked continuity on all the lines and everything was correct.

I'm stumped right now.

Friday, February 17, 2017

Arduino TPDD update

The code is written, tested, reviewed, and tested again.  Everything looks good.

I've validated the inputs and outputs from the Arduino through the serial monitor and everything looks good.

But I'm stopped at TS-DOS.  It keeps saying that the drive is not ready.  I expect it has something to do with the cable signaling.

Here's what my monster looks like right now:

Wednesday, February 15, 2017

Arduino TPDD update

The Arduino Uno had too little SRAM for both the SD library and the other code I need to run. So I updated to an Arduino Mega (which has 8K instead of 2K of SRAM).

The Mega moved some pins around, so I had to adjust for that.  But after some trial and error, the SD library is working along with the software serial library.

I am able to access the SD card and hear commands from my T102.

I also added a drive activity light.

I've spent time studying the DeskLink+ (dl.c) code as well as the TPDD base protocol at bitchin100. So I'm ready to start writing the code that will link the serial communications with the SD card.

The code is now on GitHub under a GPL license.  I'll be checking in fairly frequently as I start fleshing out the code.

Wednesday, February 08, 2017

Penguicon 2017 - why I won't be there this year


I've attended Penguicon every year since Penguicon 2.0. I loved it back then. But I don't want this post to become a "Pining for the glory days of the past" post.

Over the last few Penguicons, I've noticed some trends:
  1. Too much diversity.
    By trying to become everything to everyone, Penguicon has become nothing to everyone. Out of all the tracks, I only like 4. Of course, everyone else is the same, but just a different 4 tracks. The problem is that with 20 tracks, that's only 1/5 of the resources for what I like.
    There's been no big speakers, for example, in any areas.
    This year's talent, for example, is Cory Doctorow and a bunch of other people who I've never heard of and even when I read their bios, don't really care to hear from.
    Cory is a nice person, and a good writer, but he really hasn't done much in the last several years.  I like him, but if this is the best Penguicon do so for a GoH, it's an indication that the con has really slid down.
  2. Social Justice "warriors" and other regressives (not "progressives").
    These are people with an attitude of "I can do what I want to offend you, but don't you dare offend me."  There are a growing number of very inconsiderate people at the con.  Keep in mind that I know how inconsiderate geeks can be since we tend to focus on ourselves.  I account for that.  This is different.
    These are people who do things that they know will be offensive and harmful to others.  They do it on purpose for the purpose of offending (or as they call it "to make a statement").
  3. Non-con-people.
    I realize that you can't keep the public out completely, but over the last few years, I've noticed a growing number of non-con goers in the hallways in the evenings. It's kinda nice to know that "normals" like geek parties, but these people aren't always nice people to have at the con.
The combination of less content for me and more objectionable people attending has made Penguicon something that's not for me and my wife.

As a geek, changing my routine is something that makes me apprehensive. I tend to resist it. But the more I think about how little I've gotten out the last 3 (at least) Penguicons, and the less I see as far as talent (again) for this year, the apprehensiveness has faded.

We'll probably go to the Vermontville Maple Syrup festival instead. After all, they may be hicks out there, but they don't try to offend or make "statements", and there's more interesting things to do.

Arduino TPDD (Tandy Portable Disk Drive) project

Because I'm a glutton for punishment, and because I love old tech, I created a project for myself.

I've always loved the Tandy 100/102, but by the time I could afford one, they were gone from the market.  Later, I had the money, but not the time.  Now I have the time and the money, so I picked up some second hand ones from eBay and enjoyed the feel old old time computing.

But one thing that I wanted was a nice, more modern, way to store my data.  Club 100 used to sell a NADS box, but no longer.  So I figured I could create one myself.

The ingredients:
An Arduino Uno R3
I needed to hook it to my Tandy 102, which only supports RS-232 serial, not the TTL serial that the Arduino supports, so I picked up an RS-232 Shifter.  This converts RS-232 to TTL.
I also needed something to store the files on, so I picked up a MicroSD shield for the Arduino.

Now, for the software.  Luckily, someone already wrote a TPDD emulator called DLPlus which works under Linux and you can get the source code for.

The hardware hooked up easily and it didn't take me too long to get the communication working. After about 1/2 a day, I was able to send a TPDD command from my 102 to the Arduino and have the Arduino parse the command and validate the checksum.

Then I soldered up the MicroSD shield, set up a SD card, and started to get that part working on the Arduino.

Problems.  I knew that this was going too smoothly.

To make a long story short, the problem was the SD library for the Arduino uses up A LOT of stack space on the Arduino (we only have 2K of it).  So while the program itself was well under the 32K limit, adding the SD card code hit the stack space limit when the program ran.

Dead end.

I have a Arduino Mega on order from Adafruit.  That has 8K of stack space.   We'll see what happens when it arrives and I get it working.