Wednesday, July 29, 2009

Grackle68k v0.0.3ß

I'm off to London in the morning, so the Retrochallenge has come to a close for me. I did manage to get System 7.6 on my 3400c, w/ wifi, although I can't get Appletalk to work via the wavelan card.

I hoped to get more done with Grackle, but I didn't. Here's a version with the authentication bug fixed...

Thursday, July 23, 2009

New Toy

Quick update today. I've been using system 7 a lot lately, and decided I wanted something that would run system 7, compile code quickly, be portable, have a _real_ ethernet jack ... and ... run OS9 to facilitate Newton development and for modern things like pdfs, mp3s, and classilla. Eschewing research for impulse, I purchased a PowerBook 3400c with 144MB of memory and a wireless card.

It arrived yesterday, and I spent much of the day cooing at it, archiving the software on it, clean installing OS 9.1 and looking into how I'd get System 7 on it.

Today was spent dealing with a broken A/C unit with above 100 degree F temps outside.

Tuesday, July 21, 2009

Grackle68k v0.0.2ß

Here's Grackle68k v0.0.2 for you to download if you like...

Download Grackle68k v0.0.2ß

  • You can post a Tweet.
  • Small amount of sanity/error checking.
  • Crashes less*
  • Save encoded username/password.
  • Refine look and feel.
  • Character limits.
  • More error checking.
  • Display tweets.
  • etc etc etc
  • DA version.
If you try it out, let me know if it works. The authentication code isn't well tested. You can post bug reports here, or send me an email. Let me know what model of Macintosh, system version and amount of memory you're using.

I've tested it with on a 2MB SE running system 6.0.5 and an LC475 running System 7.5.3.

I need some time away from this project. I feel like I should have a lot more to show for my efforts. The Macintosh Toolbox *and* pascal wear me out. However, I expect to keep working on it. It's a good excuse to keep pushing my classic mac programming skills and keep what little I have sharp.

* My previous TCP app mpc68k crashed a lot (always). Starting again from Peter Lewis's OOP TCP libs, this time I took the time to create my own objects, and pulling the address object out of the main TCP objects seems to have made things more modular and more stable. I also put some time into planning how to use both the OOP TCP libs and TransSkel. Theoretically development should be more rapid because of this.

Sunday, July 19, 2009

So Close...

I have succesfully posted a tweet from a Mac SE running system 6.0.5 using a dialog to input the tweet, and Base64 encoding for the authentication. Woo.

How you ask?

I've spent an ungodly amount of time over the last 4 days working on a System 6, 68000 compatible twitter client. The application, called "Grackle68k", isn't ready, but I feel the need to post an update for you all. It's been a long weekend with many ups and downs. There was some serious head-on-desk moments. Writing software for modern systems is so much easier.

First of all, I may have written the most retarded Base64 encoding function ever created. One way to authenticate with Twitter is through the http header. Base64 encoding is used so that the username and password aren't plaintext when sent. Some day I'd like to document my hacky solution (it involves bit manipulation and storing binary numbers as a giant string of ones and zeros. Go on, shake your head in disbelief). For now, it works, and I'm more than fine with that.

Ah, before I forget... for the future me that forgets... I'm not positive, but it seems like 68000 macs need code segments that are under 32k. Otherwise they freak out. Try to keep that in mind.

I've been writing every line of code on an LC475 with 36 Megabytes of memory, running system 7.5.3, using an original Apple ADB keyboard. It's been a bit of an endurance run. I don't love the feel of the keyboard; it's very slow to type on. I miss having a scroll-wheel on my mouse. I miss editing with vim. I miss a high resolution screen. I miss alt-tab.

So that's about it. I set up a twitter account to test the client. You can see it here. It is a small record of my trials and tribulations, although I did purge many of them at one point. The official twitter link for the sofware is here.

I expect to release a beta version on Tuesday. I'll need help verifying that the authentication works.

Monday, July 13, 2009

Saturday, July 11, 2009

MacTCP Progress

I finally got some System 6 compatible MacTCP code written in C to compile. So far it's just an MPW tool. I can stop and start music on my Linux box from inside MPW.

Tomorrow I'll have to get it into an app. Then make it useful.

So much effort to do what I can presently do easily with Pascal. Feels a bit silly, since I might just end up going back to pascal for this project, but I have a much better understanding of MacTCP now.

As a side note, I was able to compile Porter's Browser6 with Think C. Perhaps some day I'll be able to do something useful for that project. Maybe for the Winter WarmUp?

Wednesday, July 8, 2009


I spent some time yesterday trying to write an After Dark module, but had no success. I might try again later in the challenge. At the very least, I'll gather the resources I found together and post them. Perhaps someone else will have better luck.

Most of today was spent working on a TCP app. I hoped to write a TCP app using C. Either Think C or MPW, but as usual, I'm having problems geting it to work. Looks like I might go back to Think Pascal tomorrow.

Sunday, July 5, 2009

4th of July Weekend

A Fourth of July weekend full of working in the morning followed by barbecues in the evening has conspired to derail me from the challenge, but not completely.

I have been reading the Inside Macintosh: Devices chapter on the ADB manager. I must admit, the idea of writing inits and device handlers is a bit intimidating, and I've yet to find much example source code to pillage.

I've also played a few games of MacSki on my LC475.

So in order to make up for little in the way of content to share, please enjoy these screen shots from After Dark: Flying Toasters, and my favorite, Doodles.

Thursday, July 2, 2009

ADB Window Closing Button v0.1

What this project lacks in impressiveness, it makes up for in one-big-button-ness. The classic macintosh hasn't ever been called a hacker friendly platform. That's partially where the allure of doing something beyond software comes from.

This is my first step into the world of the Apple Desktop Bus. It's not a big step. The hardware is based on a pic microcontroller. Using Microchip's appnote (AN591), most of the work was already done for me. The appnote was originally for a pic 16C56, so I converted it to run off of a 16F84 since that's what I had on hand.

For the adb cable, I sacrificed a crappy third-party adb mouse.

When you press the button, the adb device sends "command-w" and that front most window bids you adieu...

... or does it? Good question. Some windows don't respond to command-w, so in order for this to be a proper window closer I would need to write a device handler for this adb device.

Source code and hex file are available here. The schematic is in the App Note pdf.

Saturday, June 27, 2009

RetroChallenge Reference Library

In order to prepare for the challenge I've spent a bit of my beer money on some books. It's remarkable the used books that can be had for classic computers, costing next to nothing (several for $0.01 + S&H).

I cleared out a bit of space for my RetroChallenge reference library, and as the books come in they'll take their place of honor.

Several of these books I already had, but the newcomers are (going left to right on the bookshelf):

I'm still waiting on a couple of Macintosh assembly language books to arrive. If they don't show up, well then I'm bailed out of having to stumble down that path.

Thursday, June 11, 2009


Retrochallenge begins July 1st 2009.