Monday, February 24, 2020

33209: Interviewing IBM

Chapter 8: Bootstrapping, or Baby Steps

Chapter 9: Interviewing IBM


I took the computer to school with my stereo cassette deck on Wednesday, borrowed a scope again, and tuned the fast cassette interface circuit. That went quickly, and I got good write and read results at 1500 baud on the stereo deck.

Then I decided to experiment, and I got my lab kits out and used the parts and breadboard to put together what I understood to be an MFM state machine for read and write, and started experimenting with recording raw bits on tape in MFM. I was able to get consistent reads from writes on text data up to over four kilobaud on the portable cassette recorder, and up to almost nine kilobaud on the stereo cassette deck.

(As with tuning the slow cassete interface, I never really bothered to do this. MFM? The fast cassette interface I put together may have used MFM recording. I apparently didn't pay enough attention, and the actual devices are not where I can dig them out to check. Anyway, the me in this story needs to experiment with misunderstood MFM at this point. I'm pretty sure MFM could have achieved four kilobaud on a reasonably good ordinary cassette recorder and eight kilobaud on a moderately high-fidelity cassette deck, with reasonably good tapes and a reasonably fast MFM state machine.)

Dr. Brown observed my work and decided it would be a good lab for the digital circuits class, and asked me to leave my breadboarded interface intact for him to work up the lab from. I complied, taking a copy of the circuit diagram with me, to add to the Micro Chroma 68 as an interface, later.

When I got home, my mother gave me a message from Ms. Bight's secretary. Ms. Bight had heard from Freddy Burns about my building the computer, and wondered if I could bring it to the interview with me. I called before I started folding newspapers and confirmed that I would.

Mom also gave me my package from TSC, but I held off on looking at it.

After delivering the newspapers and checking homework, I reviewed and revised my résumé and proposal and printed up the revisions, then unwrapped the package of official cassettes and documentation, and spent time patching and previewing the debug package, and using it to explore some of the code of the various tools I had.

I noted in the software catalog they sent me that there was a C compiler as well as a Pascal compiler.

I called it a long Wednesday about 11:00 and read my scriptures and went to bed.

*****

Mom had offered to take the route on Thursday so I wouldn't be under too much time pressure to make it to the IBM office in Midland for the interview, but the newspapers came on time. After I got them out, I took a quick shower, changed into a suit, packed the computer, display, and stereo cassette deck in the Colt, and drove to the interview. I arrived a little before the interview was scheduled, at ten to six, but was shown in when I arrived.

(Okay, I said that the institutions were pretty much as they were, as they affected me. They indeed have been, to this point, what little interaction there has been. But if my actions in this fictional version of the world had no affect on them, this story would have no point in being written.)

"Hi. Come on in and have a chair. Should I call you Marion or Joseph?"

"Hello, Ms. Bight. Most people call me Joe."

"You can call me Meg. Megabyte if you wish," she laughed. "I've been telling people for years that we need to be talking about megabytes of memory."

I chuckled at her joke. "It's a forward-looking name."

"We really haven't done student internships at this office before. We don't have an established set of procedures, so you are pioneering."

"I enjoy pioneering."

"That's good to hear. Did you bring your proposal?"

"Sure. I have it here, with my résumé."

I handed her the folder I was carrying, and she scanned it over quickly.

"Résumé looks good. Maybe a tad too much detail."

(Putting too much detail in my résumés is a habit I've always never quite fixed.)

"And your proposal looks good, too. Do I get to see your computer?"

"It's in the car. Figured I'd tell your secretary I was here first, before I brought it in."

"I could read this while you go get it."

"Sure."

It took three trips to bring in the whole setup.

She raised her eyebrows as she examined the circuit boards. "Clean work, but very much not ready for marketing."

"It's not really intended for marketing. Old 8-bit CPU. Just using it in my classes. Later it'll be my ROM burner when I start playing with other processors."

"Old processor?"

"The eight-bit sixty-eight hundred. Well, actually, sixty-eight oh-two, but still specified by Motorola as not intended for new stuff."

"Oh." She sounded disappointed. "Not the sixty-eight thousand."

"The 68000 is a much bigger package -- sixty-four pins. Motorola doesn't seem to be into multiplexing address and data, except for their SOCs."

"Never seen one up close. Come to think of it, when Freddy mentioned it, I think he did say it was the 8-bit 6800, and I only heard the sixty-eight. So what can you do with a 6800?"

"Wrote the résumé and the proposal both on this, using a text editor and a text processor."

"Text editor plus text processor. Screen doesn't look like what is printed, then?"

"True. No preview mode on this. But this is running Tiny BASIC from ROM, so I can use it as a nice programmable calculator. My electronics prof sometimes has me demonstrating what we're working on in the AC and digital logic classes on days when I borrow a 'scope at school. And of course I plan on using this for the microprocessors class."

"Then I guess it works pretty well for you. Have you had any problems while building it?"

"Not really. According to my electronics teacher, not nearly enough."

She laughed and I shrugged.

Then she gave me a sharp look. "You're not joking."

"He says people learn more from mistakes. I think he has a point."

"But you seem to already understand quite a lot of this. Do you need to even take the microprocessors class?"

"There are some topics I need to cover still. And, of course, I gotta give them a good reason to give me the piece of paper that says I graduated."

"Are you sure? Two Steves come to mind."

"True, Jobs and Wozniak never graduated, but they had a lot more experience than I do when they started making computers."

"Several of my employees don't have degrees."

"Neither does my brother. He says he's the only non-degreed engineer in his division at Motorola. But they keep nagging him about it, and he goes back to school only to have them drop emergency projects in his lap before courses are complete."

"Good point. I've done the same thing to my employees."

I refrained from mentioning that my dad and I had an agreement about my working on a degree and staying rent-free at home. (In the real world, I remembering mentioning the agreement to the boss at IBM, which was probably not strategic.)

"So show me what you can do with this."

I showed her the loan amortization program and the Newton-Raphson program, loading them from the fast cassette and letting her examine my source code.

"Very readable source code, even with the gotos."

"Thanks. Readability is something I work at, even for small programs like these."

"And you're using your stereo cassette deck to store programs."

"I have an interface that runs faster than 300 baud in here, and it works with a mid-to-hi-fi deck."

"Did you invent it?"

"No, it was a circuit one of my brother's friends put together. Yesterday I played around with MFM recording techniques, though. It looks like I could add an MFM circuit that runs at between four and eight kilobaud, which would give more than a half a megabyte of storage per side on a 30 minute tape."

"Stereo. Using both channels?"

"Ran into crosstalk problems yesterday. It'd need a bit more careful design in the write and read circuits. Just using one channel now."

"Do you plan to put an operating system on it?"

"Yeah, once I get floppy drives working on it, I plan to put an OS called Flex on it."

"Floppy drives?"

"Going to Austin to look for possibilities in a surplus electronics store down there."

She raised her eyebrows. "Surplus likely means a raw drive."

"Yeah. Save a bit of money and have the fun of designing the electronics for it. Maybe."

She shook her head. "You like DIY projects, don't you?"

"If I do it myself, I have only myself to blame when something goes wrong, and it's a lot easier to negotiate for bug fixes."

"Really?"

I laughed. "Okay, time limits can overrule intentions."

"Good. Well, promise not to make that kind of decision with company time, okay?"

I chuckled and nodded. "Yeah. Different priorities there."

"Programming languages?"

"Flex has Pascal and ForTran available."

"That's good to hear. You mentioned other processors. Intel?"

"Maybe. But I don't really have much access to them. I'll work on the 8080 at school. But I get a lot of free parts from my brother, with company permission."

Her expression sharpened.

"It's an engineering incentive program. They're allowed to pull parts from the reject bin and test them, and use any that are good enough for personal projects."

"Ah." She nodded doubtfully. "Encouraging skunkworks projects." Her expression was barely readable, but reminded me of someone testing the air for a disagreeable odor.

"So I'm doing a lot of the grunt work for him."

She gave a quiet snort. "Just don't do that without permission here."

"Of course. Never without permission."

"So this computer does what you need. I guess you don't need to build one with a 68000?"

"Well," I chuckled. "I want to be able to work with Japanese. Less than 256 characters works okay on an 8-bit computer, but, for thousands of characters, you need more address space than a typical 8-bit has."

"Oh, that's right." She glanced down at my résumé. "You just got back from two years over there, like, a few months ago?"

"Yeah."

"And you speak Japanese?"

"Nan-to-ka."

She chuckled. "And what does that mean?"

"It means 'Sort-of'. Some people said I was speaking pretty well. But I still make a lot of mistakes."

"Oh. So what did you do as a missionary?"

"Found a few people who were interested in learning about what we believe. Taught free English classes. Looked for opportunities to be of service to people."

"I've heard that your missionary program is like a sales training program."

"Some people treat it that way, but my mission presidents did not. They asked us to deepen our understanding of our religion instead of focusing on sales techniques."

"Interesting. So how would you summarize your religion?

"Depends. What do you think about religion?"

"I'm agnostic, or maybe atheistic. Grew up Methodist, but I really have a hard time believing in the God people preach."

"Well, one thing I believe is that, even though there are dangers, the universe is not out to get me."

"Heh. Not out to get us. That's nice to now."

"Most people don't really quite grasp what I mean when I say God wants us to be happy, so I try different points of view on it, and this is one."

"I guess I could see that. Is that all?"

"Well, if you can believe that paranoia is not a universal truth, then it does make it easier to believe that it's worth trying to be a better person. And that kind of ties into what the electronics professor says about mistakes. We do learn more when things go wrong, and learning makes us happier than having nothing go wrong."

"Nicely put." She laughed "Backhanded persuasion. I'll have to be careful around you if I don't want to lose my agnostic attitude." She nodded with a bemused grin. "So, I can take what you said in your proposal seriously, that you would like to learn what it's like to work at an IBM sales office?"

"Yeah."

"Can I mention your computer building ambitions in my analysis, since you didn't really mention them in either?"

"Sure."

"What are your plans?"

"Well, I'm thinking first I'll rework this design to include the 6801 instead of the 6802."

"Not familiar with the part numbers, but that sounds like a step backwards."

"It's actually a step forward. Small, but important compatible improvements to the instruction set, SOC-style built-in RAM and I/O. I'm thinking to build a trainer with maybe three chips, with a header than allows attaching a 6847 video controller like this, more RAM, I/O, etc."

"Making this computer obsolete immediately?"

"I think I'll keep this one for ROM burning, if for nothing else."

"How about the 68000?"

"After I get comfortable with the 6809."

"6809? It's better than the 6801 or something?"

"More like a crossover 16-bit CPU. Lots of index registers, compared to the 6800."

"Index registers are useful."

"Yep. I want to build a 6845-based video controller for the 6809 first, so I can output more resolution than what a TV is capable of. Then I'll know what I'm doing when I build something similar for the 68000."

"Good plan, but it will take a while. How do you plan on bringing all the hardware up?"

"I've recently heard about a language called Forth that's good for bringing hardware up. I'm planning on putting that on this computer after I get the floppies running, along with the Flex software."

She nodded thoughtfully. "Sounds like you have a plan."

"Then I want to try writing my own OS and programming language. And I want to compare code for the 6800, the 6809, and the 68000."

"Now that's getting pretty ambitious."

"Yeah, I'll have to adjust my plans as I go, since I'm planning on finishing school, as well, and holding down a job in the industry while I'm at it."

She laughed. "Stars in your eyes, but a touch of realism in there somewhere. I wouldn't hire you yet as a regular, but let's see if some experience helps you. I'll recommend we accept you for an internship."

"Thank you."

"Thanks for coming in and showing me your computer. Very interesting. There'll be some discussion with my managers, and I'll let you know the results within a few weeks."

"I appreciate the opportunity, and I look forward to it."

"Give my secretary a call every now and then to keep me informed when things move forward with your computers."

"I'd love to."

*****

When I got home, I called TSC on the hope that somebody would still be in the office out there in the eastern time zone, so I could check about ordering Flex. I was in luck, or, rather, they had someone staying late for customers in the western time zones. When they heard I wanted the OS and the Pascal and C compilers, they said they'd throw in a copy of their games collection and some utilities for free.

I asked about system hardware requirements, and they told me that Mini Flex (MFlex) would only need 32K of RAM, from address zero to $7FFF, but Flex version 2 would need to reside in RAM from $A000 to $BFFF, and so would need 48K of RAM.

After I hung up, I wrote up an order for the Flex operating system and the Pascal and C compilers, wrote up a check, and put it in an envelope to put in the mail Friday before classes.

Giselle came into the kitchen where I was writing up the order.

"I want to go to Institute."

I checked the time. "We could almost make it by the time they start if we grab something to eat in the car."

"There's broccoli and beans on the stove and bread on the table," Mom called in from the living room.

We shoveled food into bowls, grabbed some bread, picked up our scriptures and the Institute manual, and left. I drove and Giselle held my bowl for me. We both ate on the highway, after we left the city traffic behind.

The lesson was a fairly normal lesson, which is to say that the fellowship was probably more important than the doctrinal presentation.

Back home, after making sure my homework was ready for Friday, I doodled out some possible redesigns for the RAM circuits to fit the address map of Flex before heading for bed.

And I fell asleep dreaming I was a 74LS138 chip decoding addresses for empty static RAM sockets.

Chapter 10: Parameters

[Backed up at https://joel-rees-economics.blogspot.com/2020/02/bk-33209-interviewing-ibm.html.]

No comments:

Post a Comment

33209: Discovering the 6800 -- Parents and Polygamy

A Look at the 8080/TOC "Whoa, Merry, look who's here!" Jim said, sotto voce. He, Roderick, and I were at our lab table ...