The Novels

Economics 101, a Novel (Rough Draft) -- My first sustained attempt at a novel, two-thirds finished in rough draft, and heading a little too far south.
What would you do if you and your study partner, with whom you had been seriously discussing marriage, suddenly found yourselves all alone together on a desert island? Study economics?
Sociology 500, a Romance (Second Draft) -- The first book in the Economics 101 Trilogy.(On hold.)
Karel and Dan, former American football teammates and now graduate students, meet fellow graduate students Kristie and Bobbie, and the four form a steady study group.

Featured Post

Sociology 500, a Romance, ch 1 pt 1 -- Introducing Bobbie

TOC Well, let's meet Roberta Whitmer. Bobbie entered the anthropology department office and looked around. Near the receptionis...

Wednesday, April 29, 2020

Backup: 33209: Headwinds -- Fixes

Backup of https://joelrees-novels.blogspot.com/2020/04/33209-headwinds-fixes.html.

Chapter 11.7: Headwinds -- License

Chapter 11.8: Headwinds -- Fixes


[JMR202005032002 -- cleanup:]

Ms. Bight looked over at Mr. Goldwater, and Mr. Goldwater tilted his head in acknowledgement. "I think," he said, "although nothing you've covered so far is really news to IBM, we should probably have a similar discussion at some time."

"I can do that."

"By the way, how is your little exercise in masochism coming?"

"Ehhh?" I had to think about that a moment. "Ah, you're referring to the floppy controller."

"Right."

"Do you want to see what I showed Ms. Bight?"

"No, going back over that won't be necessary."

"Current status is not-quite-there-yet. I have routines to write tracks and sectors in MFM, so I should be able to format a disk for Giselle's Color Computer, but the Color Computer doesn't recognize the formatted disk. And my controller doesn't recognize tracks laid down by the Color Computer."

"Alignment?"

"I think I've got that taken care of."

"Let's see you prove it."

I looked around and addressed the students. "Uh, this isn't directly related to the project, and I think we've covered a lot of ground on the project today. So if anyone needs to go, go ahead."

Suzanne said, "If Mark and Jeff are willing to walk me through how they put their designs together, I'd like to see that before I go."

"Are you guys up for that?"

Mark and Jeff looked at each other and nodded.

Mark said, "You talk about how showing stuff to others helps you learn it better yourself. I'm willing to try it."

Jeff added, "I'm game, too."

"But I also want to watch while you work on your floppy controller." Suzanne raised her eyebrows apologetically.

"So you could keep an eye on what we do with the floppies while you work on your trainer design?"

"I could probably do that."

"Okay. And anyone who wants to leave, somebody will take notes."

"Oh." Mom stood up. "That's me. Your papers should be coming soon."

Dad stood up, too. "I will help you," he said in his pseudo-mock seriousness.

"Thanks for coming, Mom, Dad."

"Wouldn't have missed it, Hon. See you at home."

"Do the good, son."

And they left, along with most of the school board members. None of the students left.

Jeff asked, "Who wants to get started working on your trainers?"

Several students said they did, so Mark and Jeff moved around to help them.

Ms. Steward asked, "So, Joe, are you going to design another of those trainers for yourself?"

"I'm thinking I'll design one with the 6805, since Julia already built the design she helped me put together. But, I need to get Flex running first."

Julia was sitting near me, in front of the computer, and gave me a quiet sideways kick.

"Hey. I'm glad you built it. And it gives me an excuse to do another."

She crinkled her eyebrows in a smirk.

"Hah. Well, let's look at your floppy controller," Ms. Steward prompted me

Julia and Giselle helped me demonstrate the parts of the controller I had gotten working, showing how the controller and drive were able to address track and sector, how I had used floppies written by the Color Computer to align my drives, and how the floppies formatted with the 68701 controller on the Micro Chroma 68 were not yet compatible with those the Color Computer produced.

Mr. Wells asked, "Do you have an idea what's wrong?"

"Nothing clear, but the first thing I'm going to try is using the Micro Chroma to get a raw read of a track written by the Color Computer drive. That'll tell us a lot. Ran out of time for it last night."

Julia murmured, "Sorry."

"For what?"

"Taking your time last night."

"I'm not sorry. It was a good homework session." I wasn't sure if it was Ms. Bight or Ms Philips that snickered, but I ignored it, and it seemed Julia did, as well. "Let's see what that raw read looks like."

Using the programs and circuits that I had put together earlier, I used Giselle's disk drive with the Micro Chroma 68 and my controller to write full tracks at track zero, track 18, and track thirty-five, then used my drive to read the tracks back and make sure that what was written was exactly what was read back. I explained that it was not proof that my drives and heads were correctly aligned, but that it did raise my confidence level on the alignment.

Then I read the first track on a floppy formatted by the Color Computer and on a floppy formatted by the Micro Chroma 68. Comparing the tracks, it quickly became apparent that my controller was writing the sectors too early.

"Ah." I showed the track read results to those who were watching at the time. "See that? My calculations for the timing to reach each sector is a bit quicker than the timing for the Western Digital controller."

Then I set an oscilloscope up to trigger on the end of a sector, and confirmed for myself that the controller needed to wait about fourteen micro-seconds longer in the disk rotation before starting a sector write, and wait about that much longer before giving up on a sector read.

I showed the timing signal patterns on the scope, then showed the source code for the section that set the timing up.

Some of the students were not seeing what was happening, so I wrote more test data and showed more measurements.

Wallace asked, "Can you fix it?"

"I guess I can."

I rewrote the sector timing code, burned it into another 68701 to avoid waiting for the EPROM eraser to finish, and also to keep the old version around for reference. I plugged the newly burned 68701 into the drive controller board, and used it to format a new disk on the Micro Chroma 68.

Then I used the newly formatted disk to save and load files on the Color Computer, and the students watching cheered when the files came back successfully.

Ms. Bight looked surprised. "You managed to construct an empty directory with that already?"

"The Color Computer Disk BASIC just assumes that empty directory sectors are an empty directory, so just formatting everything blank is enough."

"Oh. Simple is useful."

"Sometimes."

Everyone watched while the Micro Chroma, with the later timing in the read, successfully read individual sectors from the Color Computer formatted disk.

Then we checked the data patterns again with the scope. My controller still did not produce identical patterns to those produced on the Color Computer, but they were much closer.

"I'll write code to exercise the entire drive later, when I can take the time to do it right, but I should be able to install Flex pretty soon, and then I'll have a proper operating system."

"Flex is the OS?" Freddie asked.

Pat answered, "It's supposed to be similar to CPM."

"It's the OS I'm going to use for now."

Bob asked, "So that floppy disk controller is basically the 68701?"

"Right. The same one that I'm going to use in a redesign of the Micro Chroma 68."

"Then the Western Digital floppy disk controller is just a microprocessor?"

"With a bit of internal circuitry that's external on my controller."

"So it's a pretty good controller."

"I think so."

"If I make a controller for oil field gear using the 68701, will Motorola require royalties or something?"

"Royalties." I muttered. It occurred to me that the term "royalty" itself spoke volumes to the issues of whether current patent and copyright law were in effective contradiction to the Constitution, but I decided to save that discussion for later.

"Depends on what the design looks like," Ms. Philips filled in for me. "It's quite possible to build many things with the 68701 that don't infringe Motorola's patent claims, but we have a legal department that can help vet the design. Let me get your name and address and we'll send you some information about that."

"And the school board says the school can help while you're a student here," Dr. Brown added. "Come talk to me about it."

"Sounds good." Bob seemed happy with this information as he wrote his contact information down for Ms. Philips.

"How is everyone coming on designing their trainers?" I asked.

Mark looked up from where he was helping Wallace. "Pretty good. Anyone else going to work on theirs today?"

I looked around at the students. "Looks like everybody who isn't working on their design now thinks they are already finished?"

"Think." Jennifer laughed. "That's probably accurate. We'll see how complete our designs are as we get them put together, I guess."

There were scattered chuckles.

"It'll be a good thing to do next week?" Dr. Brown suggested, to general agreement.

"What about Julia?" Suzanne asked, looking up from the schematic that Jeff was helping her with. "Is she going to build her own design? Why does she get to use your design?"

I chuckled as I turned to Julia, and I noticed Mike had looked up from his work at her, too. I had the impression she was deliberately ignoring him.

"What do you think, Julia? Do you want to try your own design?"

She smirked. "I suppose I'd have to spend even more time at your house, so you could teach me all the electronics I don't know yet."

In the corner of my eye, I could see Mike's face fall.

I turned back to Suzanne. "Julia's in a different field. She's here because she's my friend. And she's helping make this project possible. And if she wants to get credit for this as a project class, yeah, she'll do her own. If it's possible to get credit without taking the prerequisites."

"Credit. I wonder if it would be useful in my field." Julia tilted her head and pulled her mouth to one side.

"Helping, huh?" Suzanne looked over at President Flyer, and pulled her lips into a faint grimace.

"I can be incredibly bad about writing things down. Perhaps I shouldn't let her help me with that, but, if she weren't helping me keep track of what I'm doing, we would not be here today." I looked around the room. "Does anyone else take exception to these arrangements?"

"No way!" Jennifer was quick to speak, and others echoed her sentiment. Mike remained silent.

Rather than escalating things further, I waited for Suzanne to respond, trying to read her intent from her expression, but there was too much mixed in to read clearly.

After maybe half a minute, she said, quietly,"Sorry, Julia. I'm not really a bitch all the time."

"No offense taken. It's probably good to clarify things, anyway."

"Yeah. My fault for not explaining why she's here," I added.

Suzanne turned back to her design, and several of the students gathered around to back-seat drive as Jeff continued helping her work out something she was having trouble with. I went over to check, too, but Jeff had already figured out what she was stuck on and was quickly getting her untangled without my help.

"Just so Dr. Brown and I have some idea where things are headed, how many of us are building 6805 trainers?" I asked.

All of the students raised their hands.

"Oh. Then nobody building 6801 trainers?"

More than half raised their hands.

"Ah, okay, how about 9940s?"

Four students.

And three were targeting 6502, two were targeting Z-80, two were targeting 8085, one was targeting 1802, and one was targeting Z-8.

"Great. Many of you are already planning your second and third steps. Any others?"

Bob raised his hand. "8088."

"Very good."

Jeff and Mark raised their hands and said, practically in unison, "6809."

"Great."

Mike raised his hand, as well. "68008."

"Okay." I looked around, and it appeared no one else wanted to announce more plans.

"So, I think we're done with this week's installment, and I think I need to give my attention to some non-students for a bit. Will next Thursday be okay for everyone to get together and compare progress, as Dr. Brown suggests?"

"Wait!" Winston called out. "What about the Micro Chroma 68 boards?"

Lots of faces turned.

I looked over at Ms. Steward. "What is the official word on that? Can they be made available?"

"I've brought five, with 6803s instead of 6802s in the included chipset, if anyone is really anxious to have one. One is for you, Joe, to work on the daughterboard with, since I assume you want to keep the one you've got running for the tools it has."

"True, it's probably safer to do that on a different board."

"6803s?" Terry asked.

"A 6803 is a 6801 that doesn't have ROM," Jeff explained. "The 6846's monitor ROM should work, shouldn't it?" he asked Ms. Steward.

"Yes, the engineers say it should. It just needs the daughterboard, to convert between the pinout of the 6803 and the 6802 pinout laid out on the board."

Dr. Brown asked, "Could I buy a couple of those for the school?"

Ms. Steward looked perplexed. "I think I can get you a couple, but I'll have to check with my boss. These are only cleared for students, and non-students should be paying a non-student price. On the other hand, we might be able to just donate a couple to the school. Can I borrow your phone to check with the office later? They didn't send us out with one of our portable phones."

"Sure. That would be really great."

Julia said, quietly, "Could I get one, even though I'm not really in the project?"

I exchanged glances with her. "It's not compatible with the Color Computer."

"I know."

"What do you think?" Ms. Steward asked Ms. Philips.

"At present, there's nothing in our plan that says the students have to be in a technology or engineering major, so, yes, you could, Julia."

Mark asked, "Say, Joe, you're pretty busy, you think Jeff and I could work out the daughterboard design?"

I didn't even have to think about it. "Mostly a matter of hard-wiring the boot mode, setting up some latches to de-multiplex the buses, and then routing the demultiplexed buses. I think there's a control signal or two to be synthesized. Sure."

I thought for a moment. "Well, I might add wiring for a DMA controller .... Nah, not relevant. Most of you guys could do it. I'll check what you come up with before we break up, and I'll bet somebody could get a board booting to the monitor over the weekend."

"But it looks like there's more interest than we have boards with us," Ms. Steward pointed out. "We'll dig up more when we get back to Austin, and have them shipped, but I don't want to suggest how we should distribute these that I've brought."

"Dr. Brown, what do you think?"

"Who's ready to buy one now?"

Mark and Jeff raised their hands, as did Winston and Suzanne. I had the impression most of the rest of the students were holding back.

Mr. Cisneros said, "Julia?"

"I'm willing to wait, Dad."

Jennifer spoke up. "I think Julia should get one."

"She'll get the one I use to develop the daughterboard. She's likely to be helping me with it anyway."

Jennifer looked like she wanted to try to convince Suzanne to wait, but she backed off.

"If everyone else is willing to wait, there is also the redesign I'll be working on when I get the disk drive controller working and the daughterboard ready. That will be a lot more work, since it'll be all point-to-point wiring, unless you're willing to wait until Motorola gets it ready to make a PC board."

Greg said, "I'd rather have something that's known to work."

"Okay, how many of us want one, if they can find that many?"

All the students raised their hands.

Ms. Steward nodded and said, "I'll see what we can do."

With that, the meeting broke up. Many of the students and the rest of the school board and staff other than Dr. Brown left. Julia's parents said goodbye, too.

Mark, Jeff, Winston, and Suzanne stayed to buy their boards and discuss building the computer, and several others stayed as well -- Bob, Jennifer, Pat, Mike, and George among them, wanting information.

While Ms. Steward was getting them taken care of for them, I went over to talk with Dave and Jayne. Mr. Wells and Ms. Philips were deep in discussion nearby.

"Sorry I never dropped by."

"I must say, I don't blame you. TI's 9900 has not been well received."

"I never was very confident of my productivity while I was working for you guys."

Dave looked at me straight-on. "You're one of those slow but steady types.  Management was disappointed when you decided to leave."

I ducked my head. "Well, what can I do from here?"

"Do you think you could you work up an analysis of the 9900 like you've done with the 6800 and present it to our board of directors? There is a group working on an advanced controller design, but it would be something of a coup if we could directly recover our investment in the 9900. Or, if the 9900 is just not going to work, it would be good to have some better reasons why."

"Better?"

Jayne shook her head. "Lots of negativity in the company towards it."

I nodded. "It'll take me a bit of time. I'll have to work with the four who want to work with the 9940. Can you at least sample me a couple of parts?"

"I'm pretty sure we can sample parts for both you and the four who have expressed interest, we just can't promise more than two for you without checking upstairs first."

"Specs?"

"We held a set back for you," Jayne grinned as she handed me the datasheets and application notes.

"Okay." I accepted what she gave me and examined it. "I'll take a closer look at these over the next few days and call you with some initial plans."

I turned to Ms. Bight.

She didn't make me ask. "There's a lot of interest in how this project is coming together. We're not really ready to make an offer on your summertime until we see the results. We do want you to join us for an internship, but we don't want to make specific plans too far ahead of time. We also may be interested in accepting internship applications from one or two other students from this group, if you want to recommend someone."

"Okay."

Mr. Goldwater grinned. "I still have doubts about some of this, but I think you're doing a great job, really."

Mr. Wells nodded. "And I'm going to talk with Ms. Steward about sharing your summer with Motorola, as one possibility."

"I'm in agreement on that," Ms. Philips said.

Ms. Steward returned. "So, what would you think of writing an article on the Micro Chroma 68 and the Micro Chroma 6801 over spring break? -- as an internship project."

I had to think about it.

"Yeah, I guess I could do that. But I don't want to lose my whole spring break." I looked over at at the group where Julia was sitting. "Would there be a problem with me enlisting help?"

Ms. Philips answered. "Shouldn't be, if you can work it out the details with, uhm, the people you ask, I suppose." She grinned, knowingly. "Just be fair with them and make it clear in your reports to us who did what."

We talked a bit more about technology and microprocessors while Ms. Steward and Ms. Turner put their cameras and recorders away. I tried a couple of times to bring up the 6809, but both Ms. Steward and Ms. Philips seemed to be avoiding the topic.

After the three corporate contingents left, I joined the discussion about the Micro Chroma 68 daughterboard and checked the schematics they had drawn. Mark's and Jeff's were essentially the same, and looked workable. Bob's attempt looked too complicated, and the others had given up.

"You know, I'd kinda like to try to put mine together tonight," Winston said.

Suzanne gave me a look that I suppose she thought was meaningful. "Yeah, me, too. I suppose you're busy tonight?"

"Yeah, I've got a bit to do. A lot to do, really."

"I'm definitely not in a rush to get mine built," Julia said.

"Parts. You all need parts. Do you know what parts you need?"

Jeff dug through the manuals that had come with the board, and started through the parts lists. "Got one of these. Need this. ..."

Jeff watched for a moment, then started working through the parts list, checking what he had, and then Winston and Suzanne did the same.

Julia and Giselle and I exchanged glances, and Julia and I both shrugged.  I sat down and drew up a parts list for the daughterboard before checking my own parts bins. "Are you guys going to all converge on the Radio Shack on Andrews Highway?"

"There's also the one in the mall," Mike pointed out.

"Dad does business with the supply shop next to the surplus store out on West County Road." (That highway has long since been renamed.)

"Let's get what parts we can tonight and tomorrow after lunch, then get together again here," I suggested. "Would that be okay, Dr. Brown?"

"Sure."

The rest left, and Julia and Giselle and I packed up the computers and loaded them in the Colt. Giselle road with Julia in her car.

*****

"So are there any papers left for me to deliver?" I asked my parents as we brought stuff in from the Colt.

"Nope. Sorry. We done it all by ourselves." Mom grinned at me.

"Sorry. Thanks."

"How did it go?"

"I guess I'll know soon enough. I did fix a bug in the controller code. And it looks like we've started a club."

[JMR202005041414 -- missing details:]

"Oh. You've got a couple of packages." Mom pointed at the coffee table, where there were two thick envelopes, one with the TSC logo and the other with the Mountain View Press logo.

Julia looked at them curiously.

"Order for Flex and some compilers from TSC, and for something called Forth, from a place in California."

She looked at me. "Why aren't you excited?"

"Trying to decide which to look at first. After dinner and homework."

[JMR202005041414 -- missing details.]

[JMR202005032002 -- cleanup.]

[JMR202004291048 -- original:]

Ms. Bight looked over at Mr. Goldwater, and Mr. Goldwater tilted his head in acknowledgement. "I think," he said, "although nothing you've covered so far is really news to IBM, we should probably have a similar discussion at some time."

"I can do that."

"By the way, how is your little exercise in masochism coming?"

"Ehhh?" I had to think about that a moment. "Ah, you're referring to the floppy controller."

"Right."

"Do you want to see what I showed Ms. Bight?"

"No, going back over that won't be necessary."

"Current status is not-quite-there-yet. I have routines to write tracks and sectors in MFM, so I should be able to format a disk for Giselle's Color Computer, but the Color Computer doesn't recognize the formatted disk. And my controller doesn't recognize tracks laid down by the Color Computer."

"Alignment?"

"I think I've got that taken care of."

"Let's see you prove it."

I looked around and addressed the students. "Uh, this isn't directly related to the project, and I think we've covered a lot of ground on the project today. So if anyone needs to go, go ahead."

Suzanne said, "If Mark and Jeff are willing to walk me through how they put their designs together, I'd like to see that before I go."

"Are you guys up for that?"

Mark and Jeff looked at each other and nodded.

Mark said, "You talk about how showing stuff to others helps you learn it better yourself. I'm willing to try it."

Jeff added, "I'm game, too."

"But I also want to watch you work on your floppy controller." Suzanne raised her eyebrows apologetically.

"So keep an eye on us while you work on your trainer design?"

"I could probably do that."

"Okay, anyone who wants to leave, somebody will take notes."

"Oh." Mom stood up. "That's me. Your papers should be coming soon."

Dad stood up, too. "I will help you," he said in his pseudo-mock seriousness.

"Thanks for coming, Mom, Dad."

"Wouldn't have missed it, Hon. See you at home."

And they left, along with most of the school board members. None of the students left.

Jeff asked, "Who wants to get started working on your trainers?"

Several students said they did, so Mark and Jeff moved around to help them.

Ms. Steward asked, "So, Joe, are you going to design another of those trainers for yourself?"

"I'm thinking I'll design one with the 6805, since Julia already built the design she helped me put together. But, I need to get Flex running first."

Julia was sitting near me, in front of the computer, and gave me a quiet sideways kick.

"Hey. I'm glad you built it. And it gives me an excuse to do another."

She crinkled her eyebrows in a smirk.

"Hah. Well, let's look at your floppy controller," Ms. Steward prompted me

Julia and Giselle helped me demonstrate the parts of the controller I had gotten working, showing how the controller and drive were able to address track and sector, how I had used floppies written by the Color Computer to align my drives, and how the floppies formatted with the 68701 controller on the Micro Chroma 68 were not yet compatible with those the Color Computer produced.

Mr. Wells asked, "Do you have an idea what's wrong?"

"Nothing clear, but the first thing I'm going to try is using the Micro Chroma to get a raw read of a track from the Color Computer. That'll tell us a lot. Ran out of time for it last night."

Julia murmured, "Sorry."

"For what?"

"Taking your time last night."

"I'm not sorry. It was a good homework session." I wasn't sure if it was Ms. Bight or Ms Philips that snickered, but I ignored it, and it seemed Julia did, as well. "Let's see what that raw read looks like."

Using previous programs and circuits, I used Giselle's disk drive on the Micro Chroma 68 to write full tracks at track zero, track 18, and track thirty-five, then used my drive to read the tracks back and make sure that what was written was exactly what was read back. I explained that it was not proof that my drives and heads were correctly aligned, but that it did raise my confidence level on the alignment.

Then I read the first track on a floppy formatted by the Color Computer and on a floppy formatted by the Micro Chroma 68. Comparing the tracks, it quickly became apparent that my controller was writing the segments too early.

I showed the track read results, then set an oscilloscope to trigger on the end of a segment, and confirmed for myself that the controller needed to wait fourteen micro-seconds more in the disk rotation before starting the sector write.

"Ah. See that? My calculations for the timing to reach each sector is a bit quicker than the timing for the Western Digital controller." I showed the patterns on the scope, then showed the source code for the section that set the timing up.

Some of the students were not seeing what was happening, so I wrote more test data and showed more measurements.

Wallace asked, "Can you fix it?"

"I guess I can."

I rewrote the sector timing code, burned it into another 68701 to avoid waiting for the EPROM eraser to finish, and also to keep the old version around for reference. I plugged the newly burned 68701 into the drive controller board, and used it to format a new disk on the Micro Chroma 68.

Then I used the newly formatted disk to save and load files on the Color Computer, and the students watching cheered when the files came back successfully.

Ms. Bight looked surprised. "You managed to construct an empty directory with that already?"

"The Color Computer Disk BASIC just assumes that empty directory sectors are an empty directory, so just formatting everything blank is enough."

"Oh. Simple is useful."

"Sometimes."

Everyone watched while the Micro Chroma, with the later timing in the read, successfully read individual sectors from the Color Computer formatted disk.

Then we checked the data patterns with the scope. My controller still did not produce identical patterns to those produced on the Color Computer, but they were much closer.

"I'll write code to exercise the entire drive later, when I can take the time to do it right, but I should be able to install Flex pretty soon, and then I'll have a proper operating system."

"Flex is the OS?" Freddie asked.

Pat answered, "It's supposed to be similar to CPM."

"It's the OS I'm going to use for now."

Bob asked, "So that floppy disk controller is the 68701?"

"Right. The same one that I'm going to use in a redesign of the Micro Chroma 68."

"Then the Western Digital floppy disk controller is just a microprocessor?"

"With a bit of internal circuitry that's external on my controller."

"If I make a controller for oil field gear using the 68701, will Motorola require royalties or something?"

"Royalties." I muttered. It occurred to me that the term "royalty" itself spoke volumes to the issues of whether current patent and copyright law were in effective contradiction to the Constitution, but I decided to save that discussion for later.

"Depends on what the design looks like," Ms. Philips replied for me. "It's quite possible to build many things with the 68701 that don't infringe Motorola's patent claims, but we have a legal department that can help vet the design. Let me get your name and address and we'll send you some information about that."

"And the school board says the school can help while you're a student here," Dr. Brown added. "Come talk to me about it."

"Sounds good." Bob seemed happy with this information as he wrote his contact information down for Ms. Philips.

"How is everyone coming on designing their trainers?" I asked.

Mark looked up from where he was helping Wallace. "Pretty good. Anyone else going to work on theirs today?"

I looked around at the students. "Looks like everybody who isn't working on their design now thinks they are already finished?"

"Think we are." Jennifer laughed. "That's probably accurate. We'll see how complete our designs are as we get them put together, I guess."

There were scattered chuckles.

"It'll be a good thing to do next week?" Dr. Brown suggested, to general agreement.

"What about Julia?" Suzanne asked, looking up from the schematic Jeff was helping her with. "Is she going to build her own design? Why does she get to use your design?"

I chuckled as I turned to Julia, and I noticed Mike looking up at her, too. I had the impression she was deliberately ignoring him.

"What do you think, Julia? Do you want to try your own design?"

She smirked. "I suppose I'd have to spend even more time at your house, so you could teach me all the electronics I don't know yet."

In the corner of my eye, I could see Mike's face fall.

I turned back to Suzanne. "Julia's in a different field. She's here because she's my friend. And she's helping make this project possible. And if she wants to get credit for this as a project class, yeah, she'll do her own. If it's possible to get credit without taking the prerequisites."

"Credit. I wonder if it would be useful in my field." Julia tilted her head and pulled her mouth to one side.

"Helping, huh?" Suzanne looked over at President Flyer, and pulled her lips into a faint grimace.

"I can be incredibly bad about writing things down. Perhaps I shouldn't let her help me with that, but, if she weren't helping, we would not be here today." I looked around the room. "Does anyone else take exception to these arrangements?"

"No way!" Jennifer was quick to speak, and others echoed her sentiment. Mike remained silent.

Rather than escalating things further, I waited for Suzanne to respond, trying to read her intent from her expression, but there was too much mixed in to read clearly.

After maybe half a minute, she said, quietly,"Sorry, Julia. I'm not really a bitch all the time."

"No offense taken. It's probably good to clarify things, anyway."

"Yeah. My bad for not doing so," I added.

Suzanne turned back to her design, and several of the students gathered around to back-seat drive as Jeff continued helping her work out something she was having trouble with. I went over to check, but Jeff had already figured out what she was stuck on and quickly got her untangled without my help.

"Just so Dr. Brown and I have some idea where things are headed, how many of us are building 6805 trainers?" I asked.

All of the students raised their hands.

"Oh. Nobody building 6801 trainers?"

More than half raised their hands.

"Ah, okay, how about 9940s?"

Four students.

And three were targeting 6502, two were targeting Z-80, two were targeting 8085, one was targeting 1802, and one was targeting Z-8.

"Great. Many of you are already planning your second and third steps. Any others?"

Bob raised his hand. "8088."

"Very good."

Jeff and Mark raised their hands and said, practically in unison, "6809."

"Great."

Mike raised his hand, as well. "68008."

"Okay." I looked around, and it appeared no one else wanted to announce more plans.

"So, I think we're done with this week's installment, and I think I need to give my attention to some non-students for a bit. Will next Thursday be okay for everyone to get together and compare progress, as Dr. Brown suggests?"

"Wait!" Winston called out. "What about the Micro Chroma 68 boards?"

Lots of faces turned.

I looked over at Ms. Steward. "What is the official word on that? Can they be made available?"

"I've brought five, with 6803s instead of 6802s in the included chipset, if anyone is really anxious to have one. One is for you, Joe, to work on the daughterboard with, since I assume you want to keep yours running for the tools it has."

"True, it's probably safer to do that on a different board."

"6803s?" Terry asked.

"A 6803 is a 6801 that doesn't have ROM," Jeff explained. "The 6846's monitor ROM should work, shouldn't it?" he asked Ms. Steward.

"Yes, the engineers say it should. It just needs the daughterboard, to convert the pinouts between the 68701 and the 6802 layout on the board."

Dr. Brown asked, "Could I buy a couple of those for the school?"

Ms. Steward looked perplexed. "I think so, but I'll have to check with my boss. These are only cleared for students, and non-students should be paying a non-student price. On the other hand, we might be able to just donate a couple to the school. Can I borrow your phone to check with the office later? They didn't send us out with one of our portable phones."

"Sure. That would be really great."

Julia said, quietly, "Could I get one, even though I'm not really in the project?"

I exchanged glances with her. "It's not compatible with the Color Computer."

"I know."

"What do you think?" Ms. Steward asked Ms. Philips.

"At present, there's nothing in our plan that says the students have to be in a technology or engineering major, so, yes, you could, Julia."

Mark asked, "Say, Joe, you're pretty busy, you think Jeff and I could work out the daughterboard design?"

I didn't even have to think about it. "Mostly a matter of hard-wiring the boot mode, setting up some latches to de-multiplex the buses, and then routing the buses. I think there's a control signal or two to be synthesized. Sure. Most of you guys could do it. I'll check what you come up with before I head home, and I'll bet somebody could get a board booting to the monitor over the weekend."

"But it looks like there's more interest than we have boards with us," Ms. Steward pointed out. "We'll dig up more when we get back to Austin, and have them shipped, but I don't want to suggest how we should distribute these that I've brought."

"Dr. Brown, what do you think?"

"Who's ready to buy one now?"

Mark and Jeff raised their hands, as did Winston and Suzanne. Most of the rest of the students were hesitating.

Mr. Cisneros said, "Julia?"

"I'm willing to wait, Dad."

Jennifer spoke up. "I think Julia should get one."

"She'll get the one I use to develop the daughterboard. She's likely to be helping me with it anyway."

Jennifer looked like she wanted to try to convince Suzanne to wait, but she backed off.

"If everyone else is willing to wait, there is also the redesign I'll be working on when I get the disk drive controller working and the daughterboard ready. That will be a lot more work, since it'll be all point-to-point wiring, unless you're willing to wait until Motorola gets it ready to make a PC board."

Greg said, "I'd rather have something that is known to work."

"Okay, how many of use want one, if they can find that many?"

All the students raised their hands.

Ms. Steward nodded and said, "I'll see what we can do."

With that, the meeting broke up. Most of the students left. Mark, Jeff, Winston, and Suzanne stayed to buy their boards and check the integrated circuits that were included.

While Ms. Steward was getting that taken care of for them, I went over to talk with Dave and Jayne. Mr. Wells and Ms. Philips were deep in discussion nearby.

"Sorry I never dropped by."

"I must say, I don't blame you. TI's 9900 has not been well received."

"I never was very confident of my productivity while I was working for you guys."

Dave looked at me straight-on. "You're one of those slow, but good types.  Management was disappointed when you decided to leave."

I ducked my head. "Well, what can I do from here?"

"Do you think you could you work up an analysis of the 9900 like you've done with the 6800 and present it to our board of directors? There is a group working on an advanced controller design, but it would be something of a coup if we could directly recover our investment in the 9900. Or, if the 9900 is just not going to work, it would be good to have some more reasons why."

"More?"

Jayne shook her head. "Lots of negativity about it."

I nodded. "It'll take me a bit of time. I'll have to work with the four who want to work with the 9940. Can you at least sample me a couple of parts?"

"I'm pretty sure we can sample parts for both you and those four, we just can't promise more than two without checking upstairs."

"Okay, I'll take a look at it tonight and call you tomorrow with some temporary plans."

I turned to Ms. Bight.

She didn't make me ask. "There's a lot of interest in how this project is coming together, and we're not really ready to make an offer on your summertime until we see the results. We do want you to join us for an internship, but we don't want to be too specific about what it will be ahead of time. We're also interested in one or two other students from this group, if you want to recommend someone."

"Okay."

Mr. Goldwater grinned. "I still have some doubts about all this, but I think you're doing a great job, really."

Mr. Wells nodded. "I'm going to talk with Ms. Steward about sharing your summer with Motorola, as one possibility."

"I'm in agreement on that," Ms. Philips said.

Ms. Steward returned. "So, what would you think of writing an article on the Micro Chroma 68 and the Micro Chroma 6801 over spring break? -- as an internship project."

"Yeah, I think I can do that. Would there be a problem with enlisting Julia's help?"

Ms. Philips answered. "Shouldn't be, if you can work it out with her, I suppose."

We talked a bit more about technology and microprocessors while Ms. Steward and Ms. Turner put their cameras and recorders away. I kept trying to guide the conversation towards the 6809, but both Ms. Steward and Ms. Philips seemed to be one step ahead, and kept shifting the conversation away.

Julia and Giselle helped me pack up our stuff, and followed me home again in Julia's car.

"Well, are there any papers left for me to deliver?" I asked as we brought stuff in from the Colt.

"Nope. Sorry, we done it all by ourselves." Mom grinned at me.

"Sorry. Thanks."

"How did it go?"

"I guess I'll know soon enough. I did fix a bug in the controller code."

[JMR202004291048 -- original.]

Chapter 11.9: Headwinds -- what?

[Backed up at https://joel-rees-economics.blogspot.com/2020/04/bk-33209-headwinds-fixes.html.
Some notes in https://joel-rees-economics.blogspot.com/2020/04/notes-33209-headwinds-license.html.]


Sunday, April 26, 2020

Backup: 33209: Headwinds -- License

Backup of https://joelrees-novels.blogspot.com/2020/04/33209-headwinds-license.html.


Chapter 11.6: Headwinds -- Project

Chapter 11.7: Headwinds -- License


"Well, I don't think it really matters which. and I guess it's easy enough to find fault with other people's work. Even with the wasteful keyboard decoding you can still do a lot with one of these computers. I guess what I'm trying to say is I'm going to use timers and interrupts, and I'm going to recommend that approach."

Wallace asked, "So do you think we should use a separate controller or not?"

"It's up to you. For me, I'm wanting to try keyboard decoding using several different CPUs, but I don't think I have enough time. So I haven't decided yet. I am planning on keeping the seven-segment displays for status readout, either way."

Mike asked, "But if we don't use the best design now, it'll cost more money and more time to do it later, right?"

"Time is money," Dr. Brown deadpanned. Then he grinned. "But there will be lots of time later to build something better. And/or money to buy it."

I nodded my agreement. "Definitely. A lot of people don't want to accept it, but, within maybe ten years, pretty much every desk in every office will have at least one computer, and there'll be a lot of hardware turnover, too."

(What seems obvious now was far from obvious then. And the real me was not this prescient. Or maybe just not as eloquent.)

Mr. Wells cleared his throat. "I've overheard our sales engineers talk about such things at lunch, but isn't that just a little bit of exaggeration? I mean, word processors are a hard enough sell, why would so many people want microcomputers?"

"Giselle, what do you and Dad use that Color Computer for?"

"Besides learning BASIC?"

"Yeah, besides learning BASIC. "

"Well, Giselle and I are typing up a lot of Dad's handouts and tests. We've got records of grades, and a BASIC program that averages them."

"So, typewriter and calculator. Do you remember when Denny bought his first programmable HP calculator?"

"The one that cost him almost a month's wages?"

 "Yeah, that one."

"He used it to study engineering. He said it replaced several big, thick, heavy, expensive books that were nothing but tables of constants."

"Yep. And you are aware that your microcomputer can do a lot of what that calculator did, and can be programmed to do a lot more?"

"Yeah, but I haven't learned how to use it all, yet."

I turned back to Mr. Wells. "So microcomputers will replace calculators and typewriters, and quite a lot more. They aren't able to do all that your word processing minicomputers do, yet, but they're cheaper, and next year's model will be more powerful. In ten years, ordinary people will be buying new microcomputers every two to three years."

Giselle said, "That's insane!"

"I think so, but it will also be common sense for many people."

Ms. Philips shook her head. "Buying a new computer every other year? But if they're built well, they should last longer."

"You know, we really don't know how to build a computer well. We focus on what we understand, but computers can do so much more than we presently understand that we build them wrong. It's not so much that they wear out as it is that the new models can do so much more, and, since people will often be using them to compete in the marketplace, they'll have to keep buying the latest models just to keep competitive."

"That is insane. Why would computers have to change so much?"

"Look at design of the 6800 and the 6801. I think the team that designed it did a good job, but look at all the opportunities they missed."

Both Ms. Philips and Ms. Steward just gave me blank looks.

"Looking at the 6800 op-code map in the datasheet," I borrowed one for a minute and held it up, "the binary operators follow a pattern." I turned to the chalkboard. "The high bit is 1 for binary ops. The next bit, bit 6, is 0 for accumulator A, and 1 for accumulator B. BIts 5 and 4 encode the target like this,
UAMMXXXX, where U==1 for binary, A=1 for accumulator B, XXXX is the operator, and MM is the mode:
  1. 1A00: Immediate
  2. 1A01: Direct page (page 0) address ($00nn)
  3. 1A10: Index mode address (nn,X)
  4. 1A11: Extended (absolute) address ($nnnn)
(Refer to "A Little about the 6800" for details.)

"Well, except for the call instructions, JSR. And the instructions that target the stack and index registers."

I stopped to think, then commented, partly to myself, "Stack register, index register, program counter. PC is the instruction pointer. Jump subroutine is the call."

Nodding to myself, I continued: "I think the design engineers were worried they would need more op-codes, so they didn't follow the same pattern on the unary instructions. Or they were looking at the accumulator targets instead of the operands in memory for their patterns, and saw what I think is a less important pattern.

"So, for unary operators, the high bit is 0 and bit 6 is 1, and bit 5 is 0 for accumulators, bit 4 selecting A or B, and bit 5 is 1 for the memory operands, bit 4 selecting indexed or extended mode,
U1MMXXXX, where U==0 for unary, XXXX is the operator, and MM is the mode:
  1. 0100: Accumulator A
  2. 0101: Accumulator B
  3. 0110: Index mode address (nn,X)
  4. 0111: Extended (absolute) address ($nnnn)
"Note the '01' at the left. That 0 on the top partially selects unary over binary, and the 1 finishes the selection, so to speak."

Everyone but Mark and Jeff, Dr. Brown, Dave, Jayne, and the contingent from IBM were giving my blank looks. Dr. Brown was giving me an eye-roll.

"Uhm, let's look at the negate and subtract operators, as examples. This is what we have:

OP mode(operation):6800 op-code($80)J3800 op-code
SUBA immediate(A-#$xx=>A):10000000 ($80)same
SUBA direct(A-@($xx)=>A):10010000 ($90)same
SUBA indexed(A-@($xx,X)=>A):10000000 ($A0)same
SUBA extended(A-@($xxxx)=>A):10010000 ($B0)same
SUBB immediate(B-#$xx=>B):11000000 ($C0)same
SUBB direct(B-@($xx)=>B):11010000 ($D0)same
SUBB indexed(B-@($xx,X)=>B):10000000 ($E0)same
SUBB extended(B-@($xxxx)=>B):10010000 ($F0)same
NEGA($100-A=>A):01000000 ($40)00000000 ($00)
NEGB($100-B=>B):01010000 ($50)01000000 ($40)
NEG direct($100-@($xx)=>@($xx)):--------01010000 ($50)
NEG indexed($100-@($xx,X)=>@($xx,X)):10000000 ($60)same
NEG extended($100-@($xxxx)=>@($xxxx)):10010000 ($70)same

This took me a little bit of time to write on the chalkboard, but, when I turned around, I thought I was getting glimmers of recognition.

"I think, by moving the ranks around, it would have been possible to fit op-codes for direct-mode unary operators into the op-code map. I don't have the experience, so I can't say so for sure, but I think it should have made the instruction decode circuits simpler, which might have at least partially made up for the circuitry for the extra op-codes."

Mr. Wells stopped me. "What's the 3800?"

"I've given my theoretical revisions to the 6800 a couple of names. This one, that is object code incompatible, I call the J3800, because Rockwell is putting R on the heads of some of their part numbers."

"It seems to me," he paused for emphasis, "like you're going to a lot of trouble to work out  something that might, theoretically, have saved a little bit of circuitry on the wafer, but is now water under the bridge. Why?"

"Bear with me for a minute, please. If Motorola had encoded the instructions this way, it's not just that the instructions would have been more uniform. This pattern would have partially decoded most of the instruction set, where now it only decodes part:
UAMMXXXX, where
  • U==1: binary
  • U==0: unary
  • A==1: B accumulator
  • A==0: A accumulator
  • MM==00: immediate
  • MM==01: direct
  • MM==10: indexed
  • MM==11: extended
Terry  stood up. "But in the unary, there's no immediate mode."

"Uhm, what I'm seeing is that the unary operators mostly imply an implicit immediate, well, buried-in-the-instruction value of one. Negate implies an immediate hexadecimal 100, complement implies an immediate hex FF, and clear and test imply an immediate zero. Maybe not immediate in the sense of an explicit value immediately following the first byte of the op-code, but immediate in the sense that it is part of the instruction that gets decoded."

Terry tilted his head and squinted, frowning.

"So, ...," Mr. Wells prompted.

"So, I've been looking at the internal RAM on the 6801 SOCs, and thinking, 'You know, it would be cool if there could be a status flag that you could set to remove the direct page from the primary address range."

Terry looked back at Mr. Wells and shrugged. Mr. Goldwater was suppressing a smirk. Ms. Bight was looking embarrassed. Dave and Jayne looked up from the notes they were taking. Ms. Steward and Ms. Philips were still quietly discussing something and writing down notes.

"One of the aspects of the 6800 is that it feels tight to be facing the 64K address limit and trying to stuff code, data, and I/O into it. Splitting the code out from the data is a fairly straightforward concept, and could be done with a status bit that gets set to 1 on instruction fetches and cleared to zero on data fetches.

"Splitting the stack out is a great idea for optimizing calls and returns and making them closer to plain jumps in cycle count cost. It's also a possible route for protecting the return pointer from coding errors and deliberate attacks, but ordinary stack frame handling creates issues with that.

"Splitting the direct page out would allow the creation of a bunch of pseudo-registers-- faster to access, less traffic on the external buses, global in scope."

Terry looked back again. Mr. Wells raised his eyebrows, and Terry nodded and sat down.

Ms. Steward looked up. "So you're talking about an incompatible revision."

"Uhm, ..."

"Could you do something similar and keep it compatible?"

"I think so. It would require a bit of complexity in the decode circuitry, but there is room in rank 1 for most of the missing op-codes. Give me a minute, here." I turned back to the chalkboard, found an empty space, and put up another table. While I was working on this table, Ms. Steward went to her camera and took close-ups of my work on chalkboard.

*(Reserved, undefined; **6801; *+2801 extensions)
J2801
Inherent
Operators
Ranks 0-3

Status, XAccumulator,
 Direct Unary
BranchStack, et. al.
$0X$1X$2X$3X
0000XXXX0001XXXX0010XXXX0011XXXX
$X000XX:
0000
*(HCF=$00)SBA=$10BRA=$20TSX=$30
$X100XX:
0001
NOP=$01CBA=$11**BRN=$21INS=$31
$X200XX:
0010
*+NEGd=($02)*+RORd=$12BHI=$22PULA=$32
$X300XX:
0011
*+ASRd=($03)*+COMd=$13BLS=$23PULB=$33
$X400XX:
0100
**LSRD=$04*+LSRd=$14BCC=$24DES=$34
$X500XX:
0101
**ASLD=$05*+ROLd=$15BCS=$25TXS=$35
$X600XX:
0110
TAP=$06TAB=$16BNE=$26PSHA=$36
$X700XX:
0111
TPA=$07TBA=$17BEQ=$27PSHB=$37
$X800XX:
1000
INX=$08*+ASLd=$18BVC=$28**PULX=$38
$X900XX:
1001
DEX=$09DAA=$19BVS=$29RTS=$39
$XA00XX:
1010
CLV=$0A*+DECd=$1ABPL=$2A **ABX=$3A
$XB00XX:
1011
SEV=$0BABA=$1BBMI=$2BRTI=$3B
$XC00XX:
1100
CLC=$0C*+INCd=$1CBGE=$2C**PSHX=$3C
$XD00XX:
1101
SEC=$0D*+TSTd=$1DBLT=$2D**MUL=$3D
$XE00XX:
1110
CLI=$0E*+JMPd=$1EBGT=$2EWAI=$3E
$XF00XX:
1111
SEI=$0F*+CLRd=$1FBLE=$2FSWI=$3F

Ms Bight was no longer looking embarrassed.

Mr. Goldwater leaned forward. "So, segments, a-la the 8086."

"Heaven help us." I looked down and scratched my head. "This is basically for SOCs, so I'm thinking it would be possible to separate the segmentation from the CPU itself in the design tools, as God intended -- I mean, according to good design practices."

I grinned and waited for the laughter to die down. "Well, a good God would intend good design practices more than bad, I think. Sorry. That wasn't called for. Every step that leads forward is not to be regretted too much. Uhm, yeah. I'd rather not clutter the instruction map with segment register instructions that would tempt the programmer to make evil things like non-linear pointers.

The IBM contingent chuckled, although Mr. Goldwater rolled his eyes.

"Evil." I cleared my throat and grinned again. "Anyway, evil or not, with the direct page separable, all the bits to control the address space could be addressed as port I/O bits in the direct page, so there would be no need for special instructions. Provide enough signals to separate the segments in the architecture, and the rest could be done in I/O -- nothing but address space separation, or simple bank switching, or a full MMU like the 6829."

Ms. Bight was nodding in agreement. "So what happens if the stack overflows?"

I took a deep breath. "I'm thinking that could be part of the SOC, too, at least for this kind of processor. If you have a signal that says 'STACK', you can have a set of registers in I/O space that set current process limits. Set the stack limits enough bytes short of physical beginning of stack RAM, and hitting the limit can fire an interrupt that saves the state in the remaining stack before turning things over to the OS or monitor. Or something. In some cases a stack cache that automatically spills into and fills from main memory when the top gets within some range of the ends of the cache might be provided, but that might be overkill on a small 8-bit processor like this.

"Anyway ... the point is that we still have a lot of room for progress before we can or should start thinking that we can build computers well. So we have to be expecting that what we build now will be superceded.

"Once we know more about what works well with the most common applications for a processor, we might start baking the MMU details into the architecture at the CPU instruction level, but, especially with a controller CPU intended for a wide range of SOCs, port I/O can do the job, especially if there is special support like this."

Mr. Goldwater was nodding in some level of satisfaction. "Separate I/O instructions like the 8080, but not like the 8080, because it's an actual address segment. Although the Z-80 heads this direction, too, in its own way."

"Something like that."

Jennifer raised her hand. "I'm not complaining, but it seems hard to believe. How can we even be sure our computers are even working if they keep changing that fast?"

"That's an important question, and it's actually a good reason for us to be building our own. Simply stated, a if you build a simple computer yourself, it's easier to make sure it's running right that a more powerful computer. In addition, the simpler computer gives you more tools to make sure a more powerful computer is working right. Other people can throw their computers away, but I'm going to keep mine around, as a steppingstone to get me safely back to the next level when the next level doesn't work right."

George said, "If that's true, I guess starting small makes sense.

Now Dr. Brown spoke up. "So, Joe, you're running a bit far down that road. Are you suggesting that you'll be able to use an old computer to make sure there are no bugs in a new computer?"

"No. Especially not by myself. Shoot, the Micro Chroma 68 over there is more complicated than I'd be able to test by myself in a year of working full-time at it.

"We'll have to help each other, but we'll definitely need to use the older computers to check the new ones, or we'll be unable to prevent friends, enemies, corporate spies, organized crime, sales-crews, and government agents from having access to the computers we put on the communications networks.

"Helping each other is part of the reason we are here now."

Mike was leaning back with arms tightly folded. "Well, that's all well and good, but, since you bring up helping each other, what I really want to know is who owns all this intellectual property?"

"Intellectual property?" I mugged ignorance.

"Yeah. Intellectual property. Patents. Copyrights. Trademarks. Intellectual property."

I shrugged. "Motorola owns their batwing M. All trademarks are property of the company that owns them. Likewise copyrights and patents. We aren't going to engage in printing and distributing datasheets for profit, are we?"

"That's not what I mean."

"Uhm, we aren't planning on using our computers to record and share music illegally, are we?"

"Definitely not what I'm talking about."

"Patents? I suppose we'll need to check with the companies that supply us, if we decide to put something we make here into commercial production. But I'm pretty sure we won't be stepping on any toes just to build one-offs for our own education."

"Now you're getting warm."

"What do you think, Ms. Philips? Do you think we can operate within the bounds of common sense and keep from infringing patents?"

"That will be somewhat up to you guys."

"Should we all stand and raise our right hands and promise to try to act within the bounds of law and common sense relative to patents? Serious question."

President Flyer spoke up. "The boards of both colleges have been discussing this, but haven't come to proper conclusions yet about what kinds of commitments we should ask for. We probably will, relative to the project class this may turn into. In the meantime, we should probably just ask all of you students who are participating to be careful, and ask questions if you think something you do might get close to infringing."

"But what about stuff we make?" Mike insisted

"Don't share what you want to claim patents on," I said. "If you share, let the person you share with know where you got it, and how far you feel comfortable letting them share. And don't claim to own things you don't own. Common sense."

Ms. Philips sighed. "Regretfully, such common sense is a rarity in the industry. We'll contact your school board and see if we can help. Maybe TI and IBM can also."

Mr. Wells said, "My boss is arranging for that."

Jayne concurred. "We'll be in contact, as well. In the meantime, Joe, can you write down what you just said about sharing, copy it, and get all the students who participate to at least acknowledge the intent?"

"Sure."

"I've got it written down," Julia lifted her notes. "You want to check it?"

"Thanks." I moved over to the desk and read her notes. "That's what I said."
  
Mike had another complaint. "It seems to me like you just shared something without saying how much others in this room can share it."

"J2800? J3800? Half-baked ideas that might have limited use to Motorola and maybe one of their second-sources, none of whom are here today?"

Ms. Philips tilted her head and raised an eyebrow. "Joe, Mike has a point. Give us some time to talk with you about that later, okay?"

Jayne added, "Dave and I'll want to have a similar discussion with you on that."

"Sure. But ... Oh ... well, yeah. Sure."

Chapter 11.8: Headwinds -- Interviews

[Backed up at https://joel-rees-economics.blogspot.com/2020/04/bk-33209-headwinds-license.html.
Some notes in https://joel-rees-economics.blogspot.com/2020/04/notes-33209-headwinds-license.html.]


Notes: 33209: Headwinds -- License

Notes from https://joelrees-novels.blogspot.com/2020/04/33209-headwinds-license.html.


Chapter 11.6: Headwinds -- Project

Chapter 11.8: Headwinds -- License




Parts, Radio Shack selling out of the composite video converter boxes? Check if that's on-board!, and the electronics supply shop that Julia's dad does business with.

IBM management: Megan Bight, James Goldwater, Karel Wells
IBM Liaison: Robin Turner
Motorola legal: Carrie Philips
Motorola Liaison: Stephanie Steward
TI: Dave Whetton, jayne Burdock


Microsoft's sins, lead to computers ampliphy ability to do things, including making big mistakes huge.

Path to conclusions leads through 2801ans 3801, maybe 9s?

License, just the need to be able to share, need to not share

Walk-through of disks, finding the bug,

Shift to interview
Presage IBM's interest.

Motorola point blank asks opinions about processors
Discuss complexity of 68000
Discuss directions for 6801, 2801 with direct mode unaries, 3801 with 
Discuss internal competition,

Just, what, two or three actual opcodes, one fixed case in status flag generation, and the 6801 is much more nimble in data movement and a couple of other common bottlenecks. If they had simply had the foresight to completely repeat the addressing modes of the binary ranks into the unary ranks in the original 6800, the 6801 could have included separate address spaces."

And from here to the 2801, spreading the missing direct page in the existing map and adding spaces, to the 3801, with 24 bit addressing and cached direct page and stack, and separate return stack.

And the 6809 as a true step up, 32 bit address and 16 bit instructions.

Internal competition is a bad argument that perpetuates mistakes.

I grimaced. "I have a hard time with the term 'intellectual property'. But this is one of the reasons we all want to do our own work. To the extent that we share, the parts shared should be owned jointly. And I think we should all be free to use the parts we share in class in commercial projects, too. I'm not sure how that will work."

**** (Mention 1985 for GNU and mid 1970s for others.)
Ms. Steward asked, "What are you planning to use for the monitor programs?"
"That, I think, is part of the reason several of the students are wanting to build the Micro Chroma 68. The monitor is already there."

Ms. Philips nodded. "Of course. Can I get your contact info?"
Ms. Philips and Dave traded business cards.

Dr. Brown caught my attention. "I think you should let me join the party."


*****


"Xerox is talking about paperless offices. That takes a lot more processor power than current microprocessors deliver, but we know about Moore's rule of thumb describing progress in circuit density. Maybe the software won't be all there in ten years, but the hardware will be getting there. Serial communications connecting all the computers in a company, and you'll be able to send draft documents across the country instead of trying to work it all in a phone call."

Mr. Wells leaned back in his chair to think about that.

(The real me was having a really hard time seeing the epiphany that this alternate reality me sees at this point.)

I turned back to the students. "So don't expect the first computer you build to be your last."

I had everyone's attention now.

Mike leaned back. "I'm not buying it."

"The pace of development over the next ten or twenty years will be so fast that people will be throwing computers away after using them for two or three years, to make room on the desk for a new model powerful enough to keep them competitive."

Giselle looked at me incredulously. "That's insane."

"It is now. It will become common sense."

Jennifer chimed in, "I'm not complaining, but it seems hard to believe. How can we even be sure our computers will keep working if they change that fast?"

"That's an important question, and it's actually a good reason for us to be building our own. Simply stated, a if you build a simple computer yourself, it's easier to make sure it's running right that a more powerful computer. In addition, the simpler computer gives you more tools to make sure a more powerful computer is working right. Other people can throw their computers away, but I'm going to keep mine around, as a steppingstone to get me safely to the next level."

George said, "If that's true, I guess starting small makes sense.

Dr. Brown decided to speak up. "Well, Joe, I think you've run a bit far down that road. Are you suggesting that you'll be able to use an old computer to make sure there are no bugs in a new computer?"
"No. Especially not by myself. Shoot, the Micro Chroma 68 over there is more complicated than I'd be able to test by myself in a year of working full-time at it.

"We'll have to help each other, but we'll definitely need to use the older computers to check the new ones, or we'll be unable to prevent friends, enemies, corporate spies, organized crime, salescrew, and government agents from having access to the computers we put on the communications networks.

"Helping each other is part of the reason we are here now."

"Well, that's all well and good," Mike spoke up again, "but what I really want to know is who's going to own the intellectual property?"

I grimaced. "I have a hard time with the term 'intellectual property'. But this is one of the reasons we all want to do our own work. To the extent that we share, the parts shared should be owned jointly. And I think we should all be free to use the parts we share in class in commercial projects, too. I'm not sure how that will work."

**** (Mention 1985 for GNU and mid 1970s for others.)



"To the extent that it's your own work, you will own it. If you use bits and pieces of reference designs and application notes, we'll need to clear some things with the companies whose work you borrow from. Ms. Pilips, do you have anything to add?"
"That's correct, but I'm also interested in your ideas about the shared work that will be going on."


"I'm planning to use a different controller, the 6845, to display better graphics. For the same resolution, 256 by 192, at four colors, that's two bits per pixel, or 12 kilobytes. For sixteen colors, at four bits per pixel, that's 25 Kilobytes.

"Dr. Flyer?"
President Flyer raised both hands. "Go for it. I can clarify if necessary."

"As I understand it, Dr. Brown and others are working out an idea where our little project could become a class for credit. If so, part of what they want us to do is define what we want to build ourselves. Designing at it yourself will be part of what gets you credit. They aren't going to expect the next Apple II, but they want to see how well you can apply the electronics you know. So, if you've been thinking you just want to build what I'm building, you might want to decide know whether you want the computer or the credit more."

This produced a bit of a buzz.




I took a deep breath. "I think we could arrange a little agreement to share our ideas, and to not use them in commercial work without each other's permission."

Dave spoke up. "I was told I could promise TI's cooperation in clarifying any use of patents and copyrights TI owns."

Ms. Philips nodded in agreement. "Motorola has the same attitude. The hardware you build as students will be yours, but if you want to use your designs commercially, we'll be glad to help you figure out what you need to focus on."

Ms. Bight looked at her bosses in amusement. "IBM will not be able to do that, not that we expect anyone to be making use of IBM's intellectual property."

Mr. Goldwater tilted his head and looked at Mr. Wells. "I think we need to take that up with upper-level management. We don't want to put walls up."

Mr. Wells nodded, and Ms. Bight raised her eyebrows in mild surprise and approval.

"Okay. So I'd like us to share ideas and help each other test our work. I'd rather just punt on the so-called intellectual property concepts, but it looks like our society has passed that point. Maybe the college can help us come up with a mutual license, for whatever we share here."

"The OC board and the UTPB board have been discussing that question, and we think we can help."

"Thanks. Anyway, anything we don't want to share, we don't bring with us, we don't share, we don't ask the class for help with. Let's think that over for a week, unless someone has something they really want to share today."

Winston spoke up. "What is intellectual property, anyway?"

I looked at Dr. Brown, who raised his eyebrows and didn't offer anything. So I looked over at Ms. Philips.

She gave me a slightly evil grin. "I want to hear your answer."

I looked around at Julia and Giselle, who both shrugged. My parents also gave me no sign of help.

"Well, the US Constitution gives Congress power to ensure that authors and inventors have rights to their inventions for a limited time, to promote the arts and sciences. The arts here includes crafts and technology.

"The Constitution also forbids certain trappings of royalty. Titles of nobility are one of them. One of the ways a noble supported himself in kingdoms was through something called a patent. It could be a patent on the use of a bridge, such that a certain title of nobility included the responsibility of upkeep of the bridge and the privilege of taking a toll."

"I hope," Winston said, "You are not going to go off on one of your famous tangents."

I waited for the laughter to die down, chagrined.

"Okay. We'll have to just note that I have many reservations about the current practices of copyrights and patents, especially since the Berne Convention on copyrights. I also take exception to the term 'intellectual property'. Ms. Philips used the term 'intellectual capital' a few minutes ago, and I think I prefer that term."

Mike called out, "Get on with it."

I chuckled. "Okay. Trademarks." I found some space on the chalkboard and wrote it down, with a bullet.

"Trademarks are long-term capital. They basically don't expire unless the owner lets them. But they are only the rights to use a trademarked name or logo for a specific product or service in a specific market. We have to be careful about how we use trademarks in public, so that we don't appear to be claiming we represent Motorola or IBM or TI, or any other company. That's fairly straightforward, right?"

I didn't see any signs of disagreement.

"Okay, Copyrights." I wrote that on the chalkboard, as well, with its own bullet.

"Copyrights are the rights to publish a literary or artistic work. If you can show independent creation of the work, you can make your own claims to the work, even if it is close to the same as something else that has already been published, but if it is too close, it gets hard to prove independent creation. But copyright is for publication.

"Respecting copyright is basically the same as avoiding plagiarism. We don't just straight-out copy from the application notes and claim or use the result as our own. WE can all handle that, right?"

At this point there were signs of discomfit, but no questions.

"Patents." And I wrote that, with its bullet.

"I suppose I have poisoned the well, but patents are the right to manufacture an invention. Some say the right to control the use of an invention, and they may even argue that successfully in court. I can't accept that, but you need to know that there are some who will use that legal philosophy as an excuse to waste your time and money in court.

"Independent creation doesn't count at all with patents. It's not at all a defense. There are limits to what can be claimed. You aren't supposed to be able to patent something that has been patented before, but such things have been done when no one noticed. And, again, people will waste your money and time in courts over bad claims."

I could tell I'd lost about half of the class with my polemic. All the non-students were watching in amusement.

"I'm poisoning the well further."

Ms. Philips chuckled.

"Anyway, our friends with Motorola and TI have said they will kind of wink at our student projects, but, if we start making and selling stuff, or even make something to use in something other than our own education, we need to talk to lawyers who understand patents. And then have our lawyers talk to their lawyers.

"The school boards have expressed willingness to help, but we should remember that their lawyers can't work for free, and will have some responsibility to the colleges. If we plan to build a computer for the class and use it in some oilfield operation, we should probably talk to a patent lawyer about it first.

"Beyond that, I'm not going to make any recommendations."

Nobody was happy with hearing that.

Mr. Wells spoke up again. "I think there won't be any problems, as long as you use common sense about what you do."

Ms Philips grinned. "Warnings are good, but I'm with Karel on this. Discuss such questions with Dr. Brown, other teachers, your parents, school counsellors, friends, use a bit of caution and common sense, but lets not get too tangled up in what can go wrong relative to intellectual property or capital."

There was a general feeling of relief in the room.

"Thanks. I sometimes get too negative when I talk about this."


I looked over at the lab table, where Jeff and Mark were waiting patiently. Or impatiently.

"Ah. Well, let's move on to the trainers. Mark and Jeff have volunteered to demonstrate theirs. Which of you wants to start?"

They looked at each other, and Jeff held his up. "Well, at least these are not complicated enough that I'm worried about rights to my intellectual property."

Mark held his up, too. "Jeff's and mine are a little different. Joe and Julia helped us get these designed and built over the last two days. As Joe says, we need monitor programs in the ROMs, but for now, we've burned a little program in to flash the LEDs when we press a key."

Both demonstrated the display segments flashing in sequence.

Ms. Steward asked, "What are you planning to use for the monitor programs?"

"That, I think, is part of the reason several of the students are wanting to build the Micro Chroma 68. The monitor is already there."

There was a general nodding of heads.

"You mentioned to Denny the possibility of building a daughterboard to plug a 6803 into the Micro Chroma's mainboard. Do you think you can handle the design on that?"

"Well, I hadn't thought of the 6803, but several of the students were enthusiastic when I mentioned the possibility of doing that with a '701. I'm pretty sure I can show them how to do that."

"We can make 6803s available to students who want to do that, if you're willing to commit to helping them. Denny can help if you run into problems. Are you planning on building your own trainer?"

"Yeah, I put a design together. Julia has the schematic, I think."

"Uhm," Julia looked at me a little hesitantly.

Mr. Cisneros spoke up. "She and I put that together last night."

I looked over at Mr. Cisneros.

He nodded. "I didn't think you'd mind."

Julia yawned. "It was fun. We didn't have anything at home to burn the ROM, though. Did you bring it, Dad?"

He pulled out his briefcase and opened it up, and I looked it over.

"Okay, let's see if it runs." I popped the 68701 out of its socket and plugged it into the EPROM burner and booted the computer. Mark gave me the cassette with his program saved on it, and I loaded it into the editor, adjusted it for my circuit, and burned the EPROM. When the EPROM passed verification, I shut down power to the EPROM burner and popped the 68701 back into the trainer, and let Julia power it up. She pressed a key, and the LEDs sequenced like on Jeff and Marks.

"And this is your own circuit?" Mr. Goldwater asked.

"I sure don't know enough to have designed it," Julia responded.

"Yeah, it's mine."

"So what monitor are you planning to use?" Ms. Steward asked.

"I'm planning on writing my own, just as soon as I can get these disk drives fully working."

"Ah. The disk drives." Ms. Bight turned towards Mr. Goldwater.

"We'd like to see those."

I quickly demonstrated the most recent work from the night before, and let the groups from IBM, Motorola, and TI examine the circuit boards and my rough diagrams.

Dave took his time looking over the wiring and the diagrams. "Man, I get why you want to fly on your own, but would you be willing to walk me and a couple of engineers I work with through what you did here? There would be consulting fees."

Ms. Philips cleared her throat. "How much of that is from Motorola application notes?"

"It's completely different from the app notes I have."

"I think we'd like Motorola engineers to be present, if you do consulting with TI based on this."

I looked back to Dave.

"It'd be okay with us. No, I think it would be best that way. But we'd want to be sure Motorola pays fare money for what they get out of it."

Ms. Philips nodded. "Of course. Can I get your contact info?"

Ms. Philips and Dave traded business cards.

Dr. Brown caught my attention. "I think you should let me join the party."

I raised my hands. "The more the merrier. How about you, Ms. Bight?"

"I'm invited? Of course I'd like to come if I can fit it in my schedule."


Several of the students had questions, and we brainstormed for about a quarter hour. Among the questions, several students wanted to know if they could use other processors and still work with us. I said I thought no one would mind, and Dr. Brown assured them that, if no one else could help, he would, and there were no complaints.

When that began to wind down, I demonstrated the parts of the controller I had working, showing how the controller and drive were able to address track and sector, and how the floppies produced with the 68701 controller on the Micro Chroma 68 were not yet compatible with those the Color Computer produced.

We got out a scope and used some test data written by each to get a look at the timing between sectors.

"Ah. See that? My calculations for the timing to reach each sector is a bit quicker than the timing for the Western Digital controller." I let the students look at it the patterns on the scope, then showed them the source code for the section that set the timing up.

There were complaints and doubts, so I showed more measurements.

"Can you fix it?"

I checked the clock, and Mom noticed.

"Oh. I have something I need to go take care of."

"Sorry Mom. Thanks."

"Sure."

"And I'll help her." Dad left with her.

I rewrote the code, burned a new 68701 to save time and keep the old version around, plugged the new 68701 in, and formatted a disk on the Micro Chroma 68. Then I used the newly formatted disk to save and load files on the Color Computer, and some of the students cheered.

Bob asked, "That floppy disk controller is the 68701?"

"Right. The same one that we can use as a simple replacement in a repeat design of the Micro Chroma 68. Ms. Philips, what will Motorola have to say about reusing Micro Chroma 68 design?"

"As long as it's student projects using our regular application notes, we probably won't have anything to say. But if someone wants to make a product of some sort based on our designs, that definitely will need to be cleared with us first. If there's something you're worried about, we'll leave our contact information with Dr. Brown."

After all the students were gone except Julia, I met with the IBM group and the Motorola group together, showed my earlier work with raw I/O again, and let them look over the schematic diagrams I had. They thanked me, and I gathered up my stuff and Giselle's with Giselle and Julia's help, and left while the board members and Dr. Brown met with them.

Julia followed me home again in her car.

"Well, are there any papers left for me to deliver?" I asked as we brought stuff in from the Colt.

"Nope. Sorry, we done it all by ourselves." Mom grinned at me.

"Sorry. Thanks."

"How did it go?"

"I guess I'll know soon enough. I did fix a bug in the controller code."

*****
And the 6809 as a true step up, 32 bit address and 16 bit instructions.

Internal competition is a bad argument that perpetuates mistakes.


*****
  Ms. Steward asked, "What are you planning to use for the monitor programs?"

"That, I think, is part of the reason several of the students are wanting to build the Micro Chroma 68. The monitor is already there."

There was a general nodding of heads.

"You mentioned to Denny the possibility of building a daughterboard to plug a 6803 into the Micro Chroma's mainboard. Do you think you can handle the design on that?"

"Well, I hadn't thought of the 6803, but several of the students were enthusiastic when I mentioned the possibility of doing that with a '701. I'm pretty sure I can show them how to do that."

"We can make 6803s available to students who want to do that, if you're willing to commit to helping them. Denny can help if you run into problems. Are you planning on building your own trainer?"

"Yeah, I put a design together. Julia has the schematic, I think."

"Uhm," Julia looked at me a little hesitantly.

Mr. Cisneros spoke up. "She and I put that together last night."

I looked over at Mr. Cisneros.

He nodded. "I didn't think you'd mind."

Julia yawned. "It was fun. We didn't have anything at home to burn the ROM, though. Did you bring it, Dad?"

He pulled out his briefcase and opened it up, and I looked it over.

"Okay, let's see if it runs." I popped the 68701 out of its socket and plugged it into the EPROM burner and booted the computer. Mark gave me the cassette with his program saved on it, and I loaded it into the editor, adjusted it for my circuit, and burned the EPROM. When the EPROM passed verification, I shut down power to the EPROM burner and popped the 68701 back into the trainer, and let Julia power it up. She pressed a key, and the LEDs sequenced like on Jeff and Marks.

"And this is your own circuit?" Mr. Goldwater asked.

"I sure don't know enough to have designed it," Julia responded.

"Yeah, it's mine."

"So what monitor are you planning to use?" Ms. Steward asked.

"I'm planning on writing my own, just as soon as I can get these disk drives fully working."

"Ah. The disk drives." Ms. Bight turned towards Mr. Goldwater.

"We'd like to see those."

I quickly demonstrated the most recent work from the night before, and let the groups from IBM, Motorola, and TI examine the circuit boards and my rough diagrams.

Dave took his time looking over the wiring and the diagrams. "Man, I get why you want to fly on your own, but would you be willing to walk me and a couple of engineers I work with through what you did here? There would be consulting fees."

Ms. Philips cleared her throat. "How much of that is from Motorola application notes?"

"It's completely different from the app notes I have."

"I think we'd like Motorola engineers to be present, if you do consulting with TI based on this."

I looked back to Dave.

"It'd be okay with us. No, I think it would be best that way. But we'd want to be sure Motorola pays fare money for what they get out of it."

Ms. Philips nodded. "Of course. Can I get your contact info?"

Ms. Philips and Dave traded business cards.

Dr. Brown caught my attention. "I think you should let me join the party."

I raised my hands. "The more the merrier. How about you, Ms. Bight?"

"I'm invited? Of course I'd like to come if I can fit it in my schedule."


Several of the students had questions, and we brainstormed for about a quarter hour. Among the questions, several students wanted to know if they could use other processors and still work with us. I said I thought no one would mind, and Dr. Brown assured them that, if no one else could help, he would, and there were no complaints.

When that began to wind down, I demonstrated the parts of the controller I had working, showing how the controller and drive were able to address track and sector, and how the floppies produced with the 68701 controller on the Micro Chroma 68 were not yet compatible with those the Color Computer produced.

We got out a scope and used some test data written by each to get a look at the timing between sectors.

"Ah. See that? My calculations for the timing to reach each sector is a bit quicker than the timing for the Western Digital controller." I let the students look at it the patterns on the scope, then showed them the source code for the section that set the timing up.

There were complaints and doubts, so I showed more measurements.

"Can you fix it?"

I checked the clock, and Mom noticed.

"Oh. I have something I need to go take care of."

"Sorry Mom. Thanks."

"Sure."

"And I'll help her." Dad left with her.

I rewrote the code, burned a new 68701 to save time and keep the old version around, plugged the new 68701 in, and formatted a disk on the Micro Chroma 68. Then I used the newly formatted disk to save and load files on the Color Computer, and some of the students cheered.

Bob asked, "That floppy disk controller is the 68701?"

"Right. The same one that we can use as a simple replacement in a repeat design of the Micro Chroma 68. Ms. Philips, what will Motorola have to say about reusing Micro Chroma 68 design?"

"As long as it's student projects using our regular application notes, we probably won't have anything to say. But if someone wants to make a product of some sort based on our designs, that definitely will need to be cleared with us first. If there's something you're worried about, we'll leave our contact information with Dr. Brown."

After all the students were gone except Julia, I met with the IBM group and the Motorola group together, showed my earlier work with raw I/O again, and let them look over the schematic diagrams I had. They thanked me, and I gathered up my stuff and Giselle's with Giselle and Julia's help, and left while the board members and Dr. Brown met with them.

Julia followed me home again in her car.

"Well, are there any papers left for me to deliver?" I asked as we brought stuff in from the Colt.

"Nope. Sorry, we done it all by ourselves." Mom grinned at me.

"Sorry. Thanks."

"How did it go?"

"I guess I'll know soon enough. I did fix a bug in the controller code."


Chapter 11.8: Headwinds -- Interviews

[Actual text backed up at https://joel-rees-economics.blogspot.com/2020/04/bk-33209-headwinds-license.html.]

[JMR 20200425: Earlier notes, from early March and before]
Chapter 11: Headwinds

Chapter 12:  

"Hello, Mr. Cisneros."

"Hola, José. Que tal?"

"Bien, gracias. Y usted?"

"Bien, bien. ¿Será divertido la iglesia?"

I chuckled wryly. "Perdóname. No hablo español."



"Mrs. Bight. I wasn't expecting you until Thursday."

"Hi, Joe. This is my boss, Geoff Hollowell. Dr. Brown mentioned you had a project organized."

"Not yet."

Professors Bright and Crane joined as well,

I considered putting a 68701 on each drive, so that reads and writes to each drive could proceed independently and concurrently, and I spent a little time thinking out a circuit which used eight kilobytes of RAM to store an entire track's waveform, converting the data to the waveform in RAM and writing the RAM directly to the disk head instead of using a state machine to convert. I decided that would be a project for a universal disk drive, and shelved it for the time being.



For compatibility, I


I decided to put a 68701 in each drive, with a kilobyte of static RAM for a buffer.


 went home and focused on the controller that would bridge between the read/write logic on the drives and the CPU.


, but my lab partners and others asked me if we could get together and do more design work. Dr. Brown suggested it would be a good idea to have another project meeting, so I agreed.

After classes, I went back to the lab. My lab partners and several other classmates were already there, and I sketched a diagram on the chalkboard while I waited for the rest.





By the time Ms. Bight was able to come check my work the next Thursday, I had my first version of the MFM read state machine put together, and was able to extract data from floppies written by Giselle's computer. She was impressed by that, and just as impressed by the test rigs that I had used to do the raw I/O.

"That's seeing how to start simple. It's a really important skill. Most people try to start with things that are too complicated."

(The real me did that a lot -- starting with things that were too complicated. Succeeded too much at it, too, and never got broken of the bad habit.)

Before she left, she discussed my work with Dr. Brown for several minutes. Then she thanked me with a grin, promised she'd go to bat for me, and left.

"Dang, you've impressed her. And I'm not sure she's not sweet on you, either."

"She's ten years older than me."

"Older women can be interesting."

I gave him a dirty look.

"She's helping you because she's impressed with your work and she should be. But I'm not sure --"

"Yeah, yeah, put a bag on it."

"You've got a few of the young-uns sweet on you, too."

I shook my head. "Maybe I should have Julia stick around when I'm deep in the math. She should see me at my best. I don't think she can handle it. Pat, I'm not sure, but I don't think she's into the hard math, either."

"More'n them two."

"Really?"

"Yeah." He didn't elaborate.

"Thanks for the lab time today. Got to get home and throw those papers."

"Throw 'em good."

I tried to think about what he said while driving home, but pretty soon the state machines were crowding other thoughts out of my mind.

When I got home, I had a package from TSC in the mail -- cassettes, floppies, and manuals.

*****

I built three more versions of the state machines for MFM over the weekend, before I had the drive electronics working reliably, but the third version was rock-stable. I wired up a second board for the double-sided drive, and tried both on Giselle's computer, as second and third drives. Worked like a charm.

Giselle was impressed. "With just one drive, it's a little hard to use, but with another, so I have the programs on one drive and the data on the other, I'm beginning to be motivated enough to remember the commands."


I sent Denny the schematic for the electronics, and he shared them with his friends.


*****

Monday, I started working on defining the functions performed by the Western Digital floppy drive controllers Radio Shack was using.

Tuesday, I discussed my progress with Prof. Crane and Prof. Bright.

"Are you sure you haven't had enough, just getting the drive electronics working?"

"Well, Professor Crane, no, I haven't. This just gets more interesting."

Prof. Bright laughed.

Pat smiled wistfully. "I wisht I could follow what you're doing, too."

"You aren't interested in watching me work on this one, either?"

"When you're ready to get the OS installed, then I'll be interested. The electronics side is too deep for me."

After classes, I borrowed the electronics lab and worked out test routines for the more basic definitions, interfacing the drive electronics more-or-less directly Micro Chroma 68, through latches and shift registers.


Tuesday afternoon, Ms. Bight called and asked if I could do another demonstration for her bosses on Friday, and I agreed to take my computers to the IBM office in Midland.

That evening, I sketched out the diagram of circuits to test my initial definitions, and started wiring them up.

Wednesday, I coded up the routines I had been using on the Micro Chroma 68 and burned them to a 68701, and plugged it into the controller. I couldn't get it to do anything beyond prove that the 68701 itself was operating that night.

On Thursday, I borrowed the lab at school again, using a scope to figure out where things were going on the 68701. I was able to get it to seek to a track and to load and unload the heads before I headed home. After the newspapers, I managed to get it to read a track and put part of it out to the Micro Chroma 68, but the computer got behind trying to read the data.

Friday after classes, I rewrote the read function to use a 32 byte buffer defined in the 68701's internal RAM, and succeeded in reading a whole track. And that was what I took to my meeting with Ms. Bight's bosses in the evening, after throwing the newspapers.

*****

Non-disclosure.

Mr. Goldsmith sat silently while I ran through the raw read and write demonstration. His boss, Mr. Wells, asked me quite a few questions about my choices of technique, to which I often had to answer that I really didn't know why. I could claim to be working by step-wise refinement, but that was about the only thing organized about what I was doing.

Then I demonstrated using the 68701 to read a track, and Mr. Goldsmith finally broke silence. "Why on earth do you use the 6801?"

"It's what I have access to."

Discussion of scientific computer, 68000's infelicitous design choices, etc.

Disparaging of the motorola cpus, inviting to Boca Raton

HInts of what work is going on in Boca Raton, also in Massachusetts.

Ends with indicators in all directions.

, but the arrivals included more than students.


"Mr. Flyer. Hello. I suppose you're here to talk with Dr. Brown." Mr. Flyer was the college president.

"Nope." Mr. Flyer looked at me solemnly. "I'm here to see what's brewing on my campus."

Dr. Brown looked up at me from his desk with his usual grin. "I didn't figure you'd mind."

I turned to Mr. Flyer. "I hope we won't be wasting your time."

"Oh, no, I don't expect you will be."

Several members of the college board came and introduced themselves to me before sitting down. Some students from the microprocessors class were also present.

 Julia, Giselle, Dad, Pat, Mike, and George were among those who came early, and I listened to them chatter while I thought about what I had gotten myself into, and prayed for help making the meeting useful to those who came.

"Are all the students who were here Friday here?"

Fifteen students raised their hands.

Winston counted hands. "Yep. This is everyone I remember."

"Okay, I'm going to be winging this, so I don't have any notes of my own. Everyone take notes if you want to take anything with you."

I stood up to the board and sketched.





FIG stuff shows up about here? Or after I get Flex running?

*****

Julia expressed no further interest in watching me work, but Pat and some of the other data processing students, and several of the electronics students, regularly dropped by to check my progress. 

It took three versions, but I was able to reliably exchange data between Giselle's computer and mine using floppies after working on it for another week. I was also able to use my drives with Giselle's computer.

I got the serial ports talking to each other reliably in the process, as a second means of transferring data.

I put the schematics in the mail to Denny, with the source of the serial port software, and he passed them on to his friends. One of his coworkers wanted to have a circuit board made, and then their boss got Motorola involved. I didn't find out about that until later.

The TSC order had come in, and I wanted to get the OS up. So I was busy replicating the function of the Western Digital FD17xx series floppy disk controllers using the 6801.

I wanted to use the 6805, but I didn't have an assembler for that processor yet.

The newer version of TSC's assembler for the 6800 recognized the added 6801 op-codes and generated code for them, so I didn't have to resort to manually inserting the machine code for them.

With the the 6801's internal RAM, I experimented with a buffers of up to 64 bytes. The buffers helped improve the reliability of the HALT-mode busy-wait controller operation which Radio Shack had built their controllers around -- essentially ignoring all the useful features of the 6809.

I built the controller for the Color Computer essentially to prove to myself that what I was doing would work. Giselle commandeered it and set the controller from Radio Shack aside. And I sent that to Denny, too, so I could see what I had done.

By that time, his boss had told him to hold off passing things I sent him on to his friends until after Motorola's legal department reviewed it. So I got a call from Denny the evening the schematic arrived, and he explained, and asked what he should do.

I decided to pray about it, and asked him to do so, as well. I also asked Dad and Mom and Giselle to pray with us, and Denny asked Denise to join him. We decided to fast that Sunday.

In the meantime, I had the controller for the Micro Chroma 68 worked into shape.

Answer to prayer, listen to Motorola, but don't sell them rights.

Got the OS running.

Demonstrating the controllers to Ms. bight and her boss's boss.

Schematic and program sent to Denny. Denny passes them on to Motorola.

Meeting with Motorola, discussion of internships and such. Motorola asks permission to discuss my internship with IBM. Agreement to patent certain parts that certain courts might think non-obvious, just for safety, and include free license in the patents and mention in the app notes. I get to write first draft of app notes. Inquiry to Radio Electronics.



Got to insert observation of results of improper reset somewhere before here.
Programming 6801s and 6805s.

Electronics for the drives, and the controllers.

One week of research, Dad buys floppy and controller for Giselle and him and for me to check against. I spend time in lab comparing inputs and outputs. I get electronics working so that the drives can be swapped out on the RS controller, and the controller can control the RS drive and the two drives I bought. I send Denny the schematic at end of first week, he sends me corrections by end of third.

 at end of first week, Ms. Bight calls about bosses' negative reaction to Motorola CPUs.

 Second week gets a 68701 imitating the WD controller, again exchanging notes with Denny.

In second week, Ms. Bight calls about bosses' boss's positive reaction.

Flex, etc., comes.

Third week, flex running.

Forth comes.

Fourth week, Motorola wants to use circuits in application notes, wants me to do article for  Radio Electronics (back up to check and add in with pop el.)

Fifth week, Motorola will check my article,

Spring break, analyzing Forth, ROMming the figRorth high. Rewriting as subroutine calls for 6800, not virtual machine, return stack is CPU stack, parameter stack is DP variable.

Internship, IBM gets CCs on article to "check for IBM stuff".

Teaching myself Pascal, C, and Forth, article query for BYTE comparing the languages.

1K Buffered interface?

By mid-August, first article appears in Radio El., my rewrite of Forth complete, with debugger and assembler as part of the Forth, and rudimentary shell.

Engaging with IBM to clear IP claims, with Motorola's help. Schedule to write up for Kilobaud.

Japan trip, Chikako eavesdrops on train, goes to missionary English class. Pen pal arrangement.

Tochigi/Oyama, Tedachi family, plus others I taught.

Somewhere in Japan trip people recognizing my name from Radio El., make connections with Fujitsu employees and others.

Radio/TV class in fall, pushing all projects forward.

Micro Chroma 6801 during fall. 6847/6845. Shinkō/6801 OS. 64/80 column smart-ish terminal with 6801/6845 combo.

Does IBM pick up Micro Chroma 6801 as an entertainment product?

Micro Chroma 6809 during winter/spring 1982, with MMU and option between 6847 and 6845, runs OS-9.  Shinkō/6809 OS. IBM? Tandy and others pick up and extend Micro Chroma 6809 as product, competing with PC.

Demonstrate bootstrapping as an exercise in security, without auto-validation.

AAS at end of summer 1982. Money coming in from publications. Year in Japan at Kobe-Dai. Developing Shinkō/68000, learning Japanese for real.

1983 BYU for no good reason (Japanese language classes?). Start physics, butt heads with physics professor, etc.

Return to UTPB for bachelor's?

Somewhere in here the OS is known for resilience by means of split stack and firewalls.

Begin process of making it verifiable with bootstrapping and auto-verification.

Independently demonstrate Ken Thompson's trusting trust conundrum.

EE/CS major, Japanese minor. Graduate in one year with transfer credits from Kōbe Dai and OC, start double MS in CS/EE.

WordPerfect developed on Micro Chroma 68K before IBM PC?

Target -- Realizing that a perfect PC with no vulnerabilities under control of government would be worse than the vulnerability-ridden stuff we have? No, because control of government means vulnerability-ridden.

 ....

Find trust violation trojans in some tools.

Trace to nascent NSA.


*****

Floppy drives take two weeks to get working. Order Flex. Forth comes. Get Forth self-hosted, ROM high/RAM low running.

Mid-march, Megabyte tells me her superiors are not interested in Motorola PC, and indicate I should not be, either. Point me to 8088. I report on Forth. Some talk about gender discrimination and sexual harassment.

Consider buying Pascal compiler. (?)

Easter/spring break, half in Austin, get Flex running smoothly.

Start writing Forth-as-library, including disassembler, register display, single-stepping.

Denny's friends using my circuit modifications and Forth.

Begin design of Micro Chroma 68701, monitor+headers in 2 KB internal ROM, use only internal RAM, keypad on external PIA, 7-seg LEDs, cassette interface. Cassette can do Kansas City and high-speed MFM with ordinary cassette. Add-on board, use headers, jumpers, add PIA for keyboard, and add shuffled dRAM, VDG, and keyboard. Add serial ports for terminals and printers and floppies.


Later Motorola will help me publish articles in magazines.]



By Easter break, I was able to add the fast cassette interface and get it working reliably, wire the second version RAM expansion board with it's own refresh controller in the back half of the duty cycle where it wouldn't interfere with the CPU, put extra ROM sockets on the same perfboard with the RAM, wire the EPROM burner and 68701 programmer on another perfboard, undo the original RAM expansion board and wire more serial and parallel ports on it, and add the DMA controller to the mainboard kludge area, to take some of the I/O burden off the CPU and give it fast block moves.

I ended up postponing deciding where to mount the breadboard pads.



When I came back, I ordered a copy of the Flex operating system from TSC.

We decided to use the same controllers that Radio Shack was using in the Color Computer, for interoperability with floppies written on other computers.

I kept Ms. Bight posted on my progress.

As things came together, Denny's managers began expressing interest, as well.

Over Easter break, Denny brought their family up again. Dr. Brown was interested enough in what we were doing to arrange a couple of days we could go in and use the school lab, and we were able to get the 6802 talking to the floppy controller which we had added to the same card with the extra serial and parallel ports.
The copy of Flex made it in time for us to get the drivers written, and get it operating with the floppies and talking to Dad's printer.




All of that was done


Wire ram one week.


Fast cassette one week.


Rewire ram plus rom sockets, including fast cassette, one week.


March


Wire DMA on mainboard one week.


Wire ports one week.


Wire rom burner one week


Get disk drive running over spring break, including drivers for Flex.


*****

Since I could use it, I went ahead and sent TSC a check and an order for my own official copies.

For the RAM circuit, I set up the address select so that one bank of 32K RAM followed the 8K of user RAM in the bottom half of memory, running from $2000 up to $9FFF, so that Tiny BASIC would have a total of 40K of contiguous RAM to work with. This would give us room for very large arrays and such.

To refresh the dynamic RAM, I ignored the refresh circuit described in the manual and reversed the lower and upper addresses of the RAM. This hack allowed me to borrow the video display scan signals for refresh. I used an extra port bit for a 32K bank switch.

From Tuesday to Thursday, after classes and delivering the papers, I worked on wiring the first version of the RAM circuit. Lots of little wires that had to go to the right places, but I took the time to get them right.

Both banks worked as long as they were not switched out. This was good enough for the time being, so I took a Xerox of the diagram and sent it to Denny in the mail, with the warning about the banks not being stable when switched out.

Giselle continued borrowing the computer while I was working on other things.

Friday, Dad came home with a printer.

"Seven hundred dollars, Dad."

"You can let Giselle and me use the computer sometimes?"

"Uhm, sure. But I need to wire up another parallel port." I did that quickly on the second perfboard, and we had the printer working. Dad sat down to compose a test, adding the diacritical marks by hand for the time being.

I focused on working out a way to add the DMA controller

redesigning the dynamic RAM circuit, adding a counter for the refresh cycle, keeping the refresh strobe in the back side of the clock so that it would not interfere with the CPU. I also added some ROM sockets to the design.

Saturday was the Valentines Day dance at the ward, and I took my stereo in and played disk jockey in the evening.





Denny looked for Exorciser card-edge connectors, but couldn't find any that weren't expensive. He did find some lists of software, and sent the lists to me, with the friend's schematic for the fast cassette interface, and a ROM to control it.

I worked out some circuit designs for adding ROM and RAM, and for serial and parallel interfaces, and for the EPROM burner, using vertical headers instead of the mo.

I continued to work on it, getting a daughter card with four ROM sockets and the dynamic RAM put together, conne

No, not going to be too ambitious about the thing. I'll add ROM sockets as I need them. The RAM is going to just use the hack, and it'll only use half the RAM.

I need the EPROM programmer and the fast cassette interface, and I need the FORTH source on cassette. Don't want to waste the time typing it in. Want to use the time analyzing it and working out a library with symbol table that I can assemble calls to.

I finished out the semester okay, carrying the Micro Chroma to school wrapped in aluminum foil on occasion. I showed it to Jack, and he said I could use it in the microprocessors class, but only if I took the BASIC ROM out to pass things off. I also took it in a couple of times to use as it was for a couple of projects in the BASIC class. Rusty was enthusiastic about it. Thom was less enthusiastic, but still impressed.

The letter from Satomi turned my world a little upside-down.




Have to have the tape drive and assembler in time for the end of the semester, to do the song on the 6800 in 1 bit and with the Y thing from RS.

Musical acoustics, singer's diction

The transistors and amplifiers class was good background, and I began to understand why amplifiers are used in digital circuits -- not to change the voltage, but to control current output, and therefore the power out, to allow more devices to be driven from the output. Also, by using hysteresis, making sure 0s were 0s and 1s were 1s. It was a lot of review, but that also gave me extra time.


And the microprocessors class. Again, I had the introduction from high school. But I always felt frustrated with the 8080, finding myself with results in wrong registers and stuff on the stack in the wrong order. Learning how to index the stack felt like a chore.

Milestones: IBM internship, need the Microchroma functioning, with Forth and EPROM programmer, by the start. Also need switching power supply to take to Japan.

MicroChroma gets attention from IBM or no?


IBM PC announced in August. I'm unimpressed specifically because it is neither the 68000 nor the 6809.

Two weeks in Japan, congratulate Satomi and Fukumasa. Meet some people, teach English, discuss coming back.

Meet Chika, arrange to be pen pals.

Meet somebody in Fujitsu, look at Fujitsu's 6809 units. Satomi's husband? Sanyo? (Why do I think Sanyo had 680X stuff?)

More coursework at OC, in fall. Design 6801 and 6809 learners kits for 8080 learner kit option. 6809 kit is expandable to PC with 6845 and DMA, gets published.

Finish electronics course in winter 1982, head to japan for a year, 1982 to 1983. Teaching English, playing with computer, designing 68000.

BYU with hardware, argument with Physics prof. Engineering/CS double major, but focused on OS/library/subroutine compiled Forth with Pascal interpreter, etc.

Forth by subroutine, C front end, tightening

verifiable systems

NSA eavesropping

wake up? carry w3M




Danielle?





Chapter 13:

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