The case for the case

This essay is going to be a bit uneven and scattershot and doesn’t contain any “hard tech” stuff – just some stream-of-consciousness flotsam that I wanted to get down somewhere as it was floating through my mind.  Feel free to stop reading now. I won’t be offended.  Promise.

There’s just something about the Apple II case, isn’t there?  The way the perfectly angled plastic top pops open with that satisfying “thump”, to reveal a veritable wonderland of design and engineering genius and innovation inside.  I’ve opened a thousand of those things, and yet whenever I see an Apple II in person, I feel a powerful urge to reach over the lid, pop those little plastic tabs up and explore the mysteries within.  I get this little adrenaline surge of anticipation and I just can’t wait to see what’s in there.  Nearly every model of the Apple II – the IIc’s portable shape being the one exception – had this easy-access system. Even the industrial designers who shaped the IIGS did a great job replicating the experience with those two little tabs  that hold the lid in place.  Just push in and lift!

This may seem weird, but maybe you can identify — if you read this blog, I’m betting you can.  That simple, solid bump at my fingertips as the tabs give to the pressure. It’s one of the reasons I will occasionally still buy a “sight-unseen” II from eBay, especially if the price is decently low and there aren’t a lot of pictures.  Mostly, you get an empty unit, dead and battered, or one with the standard Disk II drive card, 80-column card – the usual.  But even when that dusty treasure isn’t stuffed with a pirates’ booty of rarities, I still find it interesting to explore.  As I document the machine’s pedigree — board model, serial, manufacture date, etc (I keep an extensive FileMaker Pro database where I catalog everything I can about each model in my collection), I find myself wondering about its particular history.  I imagine the fingers that tapped the keys, the programs run (and written?) on it.  What did this computer do during its “useful” life?  Did it host a BBS I used to call in the 1980s?  Was a favorite game of mine given life through code in these very circuits?  Were letters to grandma carefully composed in AppleWorks and printed out in glorious, chattering 9-pin dot matrix font on perforated, tractor fed paper?  I often spend more than a few minutes Googling around for the machine’s serial number, hoping for even the smallest tidbit of information.

Though usually suffering more abuse at the hands of uncaring and carless children, sometimes machines rescued from school lots are easier to research.  Many models still bear the Dremel scars, carved into them by computer lab managers in the 80s as asset tracking tools: “#13, Trails West Elementary, Bldg 3A, Rm 16″ – like some weird prisoner tattoo, forever etched into the yellowing beige plastic.  Metal asset tags, permanent ink markings and peeling stickers slowly drowning in emulsifying adhesive are often common.  In those cases, I can usually at least find a website for the school and have a look at where the Apple II spent a portion of its life before it was retired and eventually made its way to me.

The path is long and winding but in every case, if you’ll pardon the pun, the whole story is rarely available and the machine’s history is largely lost to the ages and fading memory, disappearing forever as original owners age and pass from this world.

Heck, even Apples advertised on Craigslist as broken/for-parts or visibly damaged and missing things like key caps, find a level of “desirable-ness” (I don’t think that’s a word) for me.  They give me a chance to practice my electronics repair and hardware refurbishment skills and at the very least, can live out their remaining days as donor patients, slowly giving up parts of themselves to keep other Apple IIs alive into the future.  Just like opening a present on Christmas day, only I can do this any time I want  - and this is all before I even turn the machine on for the first time after acquisition.

This all started because of a chance thrift store purchase back in the late 90s, when I picked up an Apple IIGS – a machine I didn’t have the chance to own when it was new and still in production – at thrift store for $15.  On my arrival home, I discovered it contained a TransWarp GS accelerator, an 8 MB Sirius RAM card and a 320 MB Focus Drive.  I was ecstatic, and this was well before the days of multi hundred-dollar accelerator frenzies on eBay.  The days of thrift store odysseys of discovery are long over, at least in my area – most local establishments don’t sell computer equipment any more, preferring to cash in on the local government’s tax incentives for recycling and sending the machines directly to the smashers and smelters.  That particular thrill of discovery is mostly thing of my past now, and there is something to be said about the convenience of eBay’s one-click never-leave-your-house shopping experience, but I do miss the old days sometimes: combing the deserted back aisles, sifting through piles of dead, throwaway junk to find that one needle in the haystack.  And, considering the volume of machines and the often-ridiculous pricing for vintage computers that move through the electronic eBay bazaar on any given day in 2013, it can be fun hunting around for that odd deal that some seller mislabeled, or that mystery card in a fuzzy, poorly-lit picture taken at a bad angle, that just begs for a chance purchase.  Largely, it’s the only reason I still shop there – most sellers who have been at it for any length of time know exactly the value of what they’re offering and you’re not going to get something for a good deal. The choice machines – low serial numbers, early production models, totally complete offerings and computers purchased and then left unopened in an attic for 30 years – get bid up to astronomical levels, before disappearing into a collection somewhere, never to be heard from again.  My eBay targets these days trend more to the associated ephemera – manuals, documentation, logo’d coffee mugs, etc – than the machines themselves.

But every now and then, late at night, when no one else is around and I’m sure no one is looking, I’ll make that mystery machine purchase, longing again for the “cherry high” of popping open for the first time an Apple II I’ve never seen before and delving into the treasures, and more importantly, the history inside.

Posted in Apple II, eBay, History, Random | Tagged , , | 1 Comment

My approach to 6502 assembly language

I think my approach to trying to learn 6502 Assembly language programming has been all wrong so far.

Pretty much every book or guide I’ve come across that was written back in the 80′s (all of ‘em?) starts off with a very basic – and wholly inadequate – primer on binary and hexadecimal math. This is immediately followed up with dire warnings that to continue without understanding is to court disaster.  Consider the following quote from Software Masters’ ‘The Visible Computer: 6502′ manual in the opening chapter on alternate numbering systems:

“If you are fuzzy on the hex and binary numbering systems, do not skip this chapter. Learning machine language is a cumulative process and skipping a critical part of the foundation is a good way to build an unstable building.”

The other manuals have similar dark prophecies of disaster for those who would careen headlong into the Apple II mini-assembler without knowing how to add 1011 0110 1010 to 0011 0011 1001 by hand, or convert $EA into binary and then to decimal and back again without the aid of a calculator.

But here’s the thing. Those calculators are everywhere today. Online Javascript calculators and converters abound — heck, even the little freeware calc app on my Android phone will do it easily and quickly.  So the question becomes, is it necessary at this point to digest this material before I move on?  My instinct is that it is not, though I could be wrong.  If ever I were stuck on a deserted island with my Apple II, an intense desire to program in assembly, and lacking a calculator, I would admittedly be in trouble.  But this scenario only happens to me once every three weeks or so, so I feel confident that I could settle for playing Lode Runner while I wait for rescue. 

Sure, there’s probably some geek cred points to be awarded for being able to handle such calculations using only the evolution-given wetware that exists between our ears, but to be honest, this has been the one sticking point for me every time I’ve tried to dive into learning assembly. ‘VC:6502′s opening chapter, and the similar text that appears in other manuals of the day has been a formidable gate-keeper for me and, I imagine, many curious would-be programmers just like, for too long now.

To be clear, this is the fault neither of the books themselves or their (mostly) excellent authors, rather it is a quirk in my learning skills that I don’t easily extrapolate new illuminations from basic ideas, no matter how well laid out.

And so I decide to take the ultimate risk and sally forth into the unknown of the ‘language of the computer gods’ without the aid of a binary math net. Wish me luck, dear friends and should I not survive the night and meet my grisly fate at the hands of a grue in a dark corner somewhere, or more likely suffer synapse failure fall trying to understand the vagaries of bit shifting, hoist a flagon of ale in remembrance.  

In the meantime, I’ll be over here.

Posted in Programming | Tagged , , | 5 Comments

Tuesday Trivia winner

As I had hoped, last week’s Tuesday Trivia was much easier than the previous two and generated more responses.  Of the 10 entries, 8 were correct: the Apple /// in the screenshot appeared almost every week in the 80′s TV show Matt Houston, and it was called “Baby” for some reason.  For those unfamiliar (or too young to remember), this show was a rather cheap ripoff of the popular detective series, Magnum P.I.  Matt Houston starred Lee Horsley and Pamela Hensley and ran on the ABC network from 1982 to 1985.  You can read all about it here.

So, to the winner.  I use an Applesoft BASIC random number generator to pick a number that is associated with one of the correct entries, which are arranged by the order in which they were received.  According to the Oracle, this month’s winner is…

The datajerk himself, Egan Ford!  Congratulations, Egan.  I’ll be emailing you this evening to discuss the specifics of your prize.

Thanks everyone for playing along and I’ll have a new contest up next week so if you didn’t win this time, there’s another opportunity just around the corner.

Posted in Contest, Trivia | Tagged , | Comments Off

Tuesday Trivia Contest

Here’s another Tuesday Trivia for both of you loyal readers.  I hope this one is a little easier than the last contest, which ended without a winner and only two entries.  The usual rules apply: the contest runs for one week.  Submit your guesses to me by email.  The winner will be announced next Tuesday.  There will be a prize of my choosing awarded (assuming there’s a winner – the last two iterations of TT stumped everyone).

Name the TV show that regularly featured this Apple ///, AND the computer’s name. (A two-parter!)

 

Posted in Apple III, Contest, Trivia | Tagged , | Comments Off

Thing a Week #3… and #4 and #5

Obviously, things have been quiet around 6502 Lane lately and for good reason.  Thing a Week #3 was delayed while I was at KansasFest, and then again while my wife and I moved into a new place across town.  But that doesn’t mean I’ve been idle since the last update.  I entered HackFest 2012 at Rockhurst this year along with six other participants and was soundly defeated, with my program finishing at the bottom of the list.  Not good for a first-timer’s confidence, I can tell you; I likely won’t enter again.  Enough self-pity, though.  

I had intended to use my program as my latest Thing a Week entry (because I’m lazy like that), but it disappeared during the move.  How does a program vanish like that during a physical move? Well, perhaps I should clarify.  I’m sure the program is still there, on the Compact Flash card that lives in the CFFA that acts as the mass storage device for the Apple /// I took to Kansas City this year.  It’s just that, well, the whole computer seems to have disappeared.  I mean, I’m sure it’s packed away in a box labeled “dirty laundry” or is buried in the wrong corner of my storage unit, but as of now, I can’t find the thing.  And that means I’ll actually have to do something for this latest entry.  Fortunately, I have.

Early this year, Dave Ottalini – former chair of the now-defunt Apple III SIG of the Washington Apple Pi Users Group – reclassified as freeware the WAP Apple /// DVD they used to sell (they still do, in fact) and let me tell you, this thing is a treasure trove of information and programs for Apple /// enthusiasts.  It contains a wealth of historical and technical details that weren’t available anywhere else and is an incredible resource for anyone looking to learn more about Apple’s first business computer.  But the DVD isn’t perfect – in fact much of the data requires some digging to access.  While the disc comes with a nice set of files already in PDF and text formats that you can quickly browse through, it also has an 80 megabyte collection of nearly 580 disc images that originally lived as the Apple /// WAP Disc Library.  This disc collection is also available in several other places but let’s face it: accessing the data in the images isn’t exactly convenient.  Sure, any Apple II or /// user with a bit of knowledge can fire up an image management tool such as CiderPress or Image Opener and dig through the individual files, but wouldn’t it be nice to have all the resources separated out in a logical, easy to access format?  For example, the entire text of Taylor Pohlman’s excellent Exploring Business BASIC column that originally ran in Softalk magazine is contained in the collection… spread across 10 (5 diskettes) images, beginning with APPLE-3-WAP-bsb-03a.po and ending with APPLE-3-WAP-bsb-07b.po.  

As an attempt to make that information more accessible to interested parties, I’ve started going through the WAP images and extracting interesting and useful files and info.  True, certain information works better in the disk-image format: programs that you want to run, for example.  But for other stuff – documentation, text articles and other non-executable information – there’s no reason to keep it locked up in 140K chunks.  When dealing with the Apple /// in particular, there’s an extra layer of difficulty involved.  The two existing emulators, SARA and MESS, don’t really work that well, necessitating real hardware to really get much out of these programs or access some of the data.  Progress is being made with Marc Ressl’s OpenEmulator project to add fully-functional /// emulation, but that’s still in the early stages and there really isn’t a good alternative.

With all that in mind, here’s the initial fruit of my efforts.  All twenty three parts of Pohlman’s column in one easy to access, searchable PDF file.  I haven’t decided how best to organize the newly liberated files or where they will find a final resting place, but I thought I’d make this file accessible here, in the hopes that my two regular readers will come up with some suggestions or ideas on how best to handle this. 

I’ve just scratched the surface obviously, but I think this is a good beginning.  Let me know what you think in the comments.  You can grab the PDF here.

Posted in Apple III, Documentation, History | Tagged , , , , | 3 Comments

Thing a Week #2

The second Thing a Week comes a bit late, but better late than never I suppose.  Packing for the upcoming move, KansasFest prep and podcast editing have taken a big bite out of my time, and it’s things like this blog that suffer for it.

Anyway,  here’s a  quick and easy program.  It doesn’t really do anything, but again that’s not the point.  At the four corners of a 40-column text screen, the Apple II displays a repeating counter, going from 1 to 10. 

There is no official end to the program – it just loops over and over which, I realize is a bad practice (Mr. Clausen from 4th period Computer Programming class would be furious) but I just wanted to play with a simple loop and some easy text display.

Ideally, I’d like it to clear the counters after they reach 10 so that the extraneous ‘0’ disappears before they start over, without having to clear the screen with a HOME command – maybe I’ll tinker with that next time.  I think I want to build on this one.

]LIST

5 REM THING A WEEK 2 – 6502LANE.NET
10  HOME : CLEAR
15 I = 0
20  FOR I = 1 TO 10
30  VTAB 1: HTAB 1: PRINT I
40  VTAB 1: HTAB 23: PRINT I
50  VTAB 23: HTAB 1: PRINT I
60  VTAB 23: HTAB 23: PRINT I
70  NEXT I
80  GOTO 10

]

Posted in BASIC, Programming, Thing a Week | Tagged , , | 3 Comments

Thing a Week (My Own Personal Retrochallenge)

The title of this post is drawn from Jonathan Coulton’s project to write and publish a new song every week and post it on his web page.  Which, I mean – holy crap.  Talk about prodigious output…  I’ll never approach that level of productivity, but it is incredibly inspiring, amirite?  So inspiring in fact, that I’ve decided to dedicate myself to writing one Apple II or III program a week, for the next year.  I don’t expect them to be complex or particularly interesting, just that they work and they are complete.  I’ll post the results here as I work.  I realize this isn’t the first time I’ve made a promise on this blog that I haven’t really tried to keep (*cough*Infocom*cough*) and I may not get far on this, but let’s not quit before we get started, shall we?  

As I said, these programs won’t be particularly interesting or useful, mainly because my Applesoft BASIC skills are beyond rusty – they’ve mostly corroded to dust.  I also intend to use this as an opportunity to follow through my threats to learn 6502 assembly language, as well as explore some Apple III programming opportunities.  Likely, I’ll start with Business BASIC and move on to Pascal on that metal.  In the spirit of focusing on the learning opportunity presented here, I’m hoping to include at least one technique or concept new to me in each program.  And because I’m trying to cut back on making grandiose statements and announcements that lack any form of follow-through, here’s my first  program, in Applesoft:

 

]LIST

 

 5 A = 0:B = 0:C = 0

 10  HOME 

 15  PR# 3

 20  PRINT “THING A WEEK 1″

 30  PRINT : PRINT “THE APPLE II VARIANT”

 50  PRINT : PRINT “WHEREIN, WE PLAY A GUESSING GAME.”

 60  PRINT : PRINT “I THINK OF A RANDOM NUMBER BETWEEN 0 AND 20, AND YOU TRY TO GUESS IT.”

 70  PRINT : PRINT “THE GAME ENDS WHEN YOU GUESS CORRECTLY.”

 90  PRINT : INPUT “PRESS ANY KEY TO BEGIN. “;A$

 100  HOME 

 110  INPUT “ENTER A NUMBER BETWEEN 0 AND 20: “;A

 120  IF A < 0 OR A > 20 THEN 500

 130 B =  INT (20 *  RND (1))

 140 C = C + 1

 150  IF A = B THEN 200

 160 : PRINT : PRINT “I WAS THINKING OF “;B;”, BUT YOU GUESSED “;A;”.”

 170  PRINT “TRY AGAIN!”

 180  PRINT : GOTO 110

 199  END 

 200  HOME : PRINT “I WAS THINKING OF “;B;” AND YOU GUESSED “;A;”. YOU WIN!”

 210  PRINT : PRINT “YOU GUESSED WHAT I WAS THINKING IN “;C;” TURNS.”

 220  PRINT : INPUT “WANT TO PLAY AGAIN? (Y/N)”;B$

 230  IF B$ = “Y” THEN  GOTO 5

 240  IF B$ = “N” THEN  HOME : CLEAR : END 

 250  GOTO 220

 400  END 

 500  PRINT : PRINT “PLEASE PICK A NUMBER BETWEEN 0 AND 20…”

 510  INPUT “WE COULD DO MORE, BUT WE MIGHT BE HERE ALL AFTERNOON! “;A$

 520  PRINT 

 530  GOTO 110

 

]

 

The game gets tedious in a hurry, the code isn’t pretty and there are probably a few bugs, but it seems to work.  I tried to do this entirely from memory, without having to resort to any BASIC programming guides, but I admit I failed on this one.  I was drawing a blank on using the INT function to trim the random numbers to whole numbers.  Still, not a bad start I think.

 

Posted in Programming, Projects | Tagged , , , | 4 Comments

Peace of Mind

So I have decided to reclassify everything I post on this blog under the Creative Commons license, specifically CC BY-NC-ND.  Briefly, this license allows you to freely copy and redistribute my work with the following stipulations (per the Creative Commons definition):

  • Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

  • Noncommercial — You may not use this work for commercial purposes.

  • No Derivative Works — You may not alter, transform, or build upon this work.

By attribution, all I mean is a mention on your page of my name (Mike Maginnis) and where you got the content.  So, something like this: Content by Mike Maginnis, http://6502lane.net.  Simple enough, yes?  For example, if you post my photos on your own Apple II-related FTP site, a text file containing that line in the directory where the pictures are stored is all that is necessary.  If you include them in an HTML-formatted page, simply include the line somewhere on that same page.  If you don’t, you’ll probably get an email from me asking you to add the attribution, or remove the content.

I haven’t had an issue with anyone modifying my stuff, or trying to sell it (yeah, good luck with that) so attribution is the main point I’m concerned with here.  I think, as a human it’s natural to want to be acknowledged for the work I do, and that’s really all I’m asking for.

I do understand that this has no practical effect on the actions of anyone else, and my decision to CC-license this stuff is made purely to ease my ill will about the content being reposted.  In coming to terms with my anger over the rude behavior of a rotten few, and finding a solution I can live with, I feel I can put this behind me and get back to doing what I love: writing about the Apple II and building this blog.

If you’ve read this far, thanks.  This will be the last time I post publicly about it.

Posted in Uncategorized | Tagged , , , , | Comments Off

Tuesday Trivia: Not so dead after all

“What’s this!” you say.  “Another Tuesday Trivia contest?  Too soon, man!”  Yes, it’s here and nothing can stop it now.  No one won last time and I only had two people even make guesses, so I’m hopeful this round will be more successful.

Additionally, by continuing to post here, I’m trying to get past the resentment I’m feeling over content from this blog being reposted by unscrupulous jerks, without permission, credit or even a “Thanks – we stole your stuff” email.  If I can figure out how to get over that, I think I can get back to updating 6502Lane on a regular basis, which is something I really enjoyed doing.  And I think the best way to do that is probably just to keep posting.  But enough about me.

It is fairly common knowledge that the Apple III was unveiled at the National Computer Conference in 1980.  The III went on to become a bit of an albatross around Apple’s otherwise shining neck and tarnished the company’s reputation for years to follow.  What isn’t so well known is the location of the unveiling during the conference.  The NCC committee had insisted that Apple’s booth be set up in the personal computing section.  Apple (and this smells strongly of Steve Jobs’ influence) felt they should be in the business computing area, as they were introducing a business computer.  Neither side would budge and the bickering went on right up until the last minute.  As a result, Apple’s wasn’t able to set up in either section, and a last-minute location had to be found.

Can you name the specific place Apple set up their booth during NCC ’80?  Bonus points if you can name any two Apple employees who were part of the III presentation that was given to the International Apple Core at the event.  Email me if you think you know the answer.

Posted in Uncategorized | Tagged , , | Comments Off

Tuesday Trivia Contest Results

For this installment of the Tuesday Trivia Contest only two people responded, neither correct.  Based on the number of hits to the blog and the post announcing the contest (a grand total of 5 over the week), I’ll make the assumption that most of the 6502Lane audience has moved on to bigger and better things, and I can’t say that I blame them.  Their interest has likely waned with mine.  At any rate, thank you to the remaining handful of readers and now on with the show.

So, the winning answer is: “Peripheral Logic Access Cover“.  How… creative.  At first, I thought it was sort of a retro-acronym, like LISA, Apple’s other early failed attempt at a business machine.  You know, “Local Integrated Software Architecture” – meaningless, but probably more socially acceptable than “Steve’s Illegitimate Child” or something equally accurate.  But I can’t imagine anyone naming their child “PLAC”, even in jest.  The PLAC name appears several times throughout Apple /// Service Manuals and seems to conform to the vaguely mainframe-esque naming scheme Apple stuck with for all things ///: “Main Logic Board”, “Logic Assemblies”, etc. You get the general idea.

Here’s a screenshot of the Apple /// Service instructions detailing removal of the PLAC.  Oddly, it doesn’t include floss or proper brushing technique…

 

 

Anyway, no winner this time.  I’ll try for something a little easier for the next round of the Tuesday Trivia Contest.  Thanks, everyone!

Posted in Apple III, Contest, Trivia | Tagged , , | Comments Off