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...

Showing posts with label straits. Show all posts
Showing posts with label straits. Show all posts

Monday, August 24, 2020

Backup: 33209: Straits -- Intellectual Property Agreements

Backup of https://joelrees-novels.blogspot.com/2020/08/33209-straits-intellectual-property-agreements.html.

Chapter 13.7 Straits -- The Road to Austin

Chapter 13.8: Straits -- Intellectual Property Agreements


"Ms. Philips."

"Hi, Joe, Julia. We're glad you could both make it."

We were in a conference room that seemed large for just Julia, me, Ms. Philips, and the two men in suits flanking her, whom I supposed were from Motorola's legal department. Two small stacks of papers and a legal-size note pad lay in front of Ms. Philips.

"We seem to be underdressed," I began.

"No problem. You've been on the road, we didn't tell you what to expect. But if it's okay, we want to take video of our meeting again for management." She pointed out the cameras.

Julia and I both nodded.

"Sure."

"No problem."

Ms. Philips continued, "Management also wanted to get non-disclosures and some other IP agreements signed."

I checked with Julia and she gave me an inquisitive look.

I shrugged and turned back to Ms. Philips. "I guess we missed something here. We need NDAs and IP agreements?"

"Ahh ..." Now it was Ms. Philips turn to look puzzled. She turned to the man on her right.

"There are some chicken-and-egg problems here," he replied to her unasked question.

"Can't talk without agreeing not to talk?" Julia asked.

I nodded once in concurrence. "I don't know why we should need that kind of agreement. I'm just some guy taking tech courses at a podunk college in west Texas ..."

"Hey!" Julia gave me an elbow and a sharp look.

I returned her reproach with look of chagrin. "Okay, not podunk, but definitely not a big name like MIT, or even moderately well-known like Renssalaer Poly or Texas Tech."

She gave me another sharp look and I closed my eyes and nodded resignedly."I don't mean to disparage OC. It's a good school. But I don't think I'm doing anything special. Whose toes did I tread on?"

Ms. Philips laughed. "Not treading on toes. Just, well, it's a competitive industry, lots of players, not enough customers to support them all."

"Masaka." I shook my head. "Amortize the development cost and push the price down, and people'll be putting microcontrollers in everything. There won't be any bounds to the market."

None of the three sitting across the table from us commented on that.

"But I guess boards of directors start talking about market limits when they want control, and computers do carry that cachet of the mirage of control. I really must have tread somewhere too close to something, but I assume we can't expect an answer to that without a non-disclosure agreement?"

The man to Ms. Philips's right cleared his throat with a cough.

The man to her left said simply, "Please don't jump to conclusions."

"I guess I should have gotten Denny to give me more specifics." Julia and I both leaned forward to stand. "I'm not sure what I, uhm, we expected, but I feel like we've been caught out of position."

Now the man to her left smiled and waved for us to sit back down. "I must apologize. We should have coordinated better. Carrie, can I get a look at the paperwork?"

The man at her right frowned.

Julia and I both hesitated between sitting and standing.

"Sir." Ms. Philips handed him the stacks of papers.

He scanned them quickly. "Stock NDAs for new hires. Not appropriate here."

"Bob, ..." the man to her left began, and they exchanged an unspoken word or two before he leaned back with an air of dissatisfaction.

"Sir," Carrie pointed to certain paragraphs on the first page of one stack, "I edited certain clauses appropriately, made some substitutions and deletions, and changed the document ID." She turned to the next page.

Bob stopped her. "I'm sorry, Carrie, I should have taken a more direct hand in this. Do you have a legal pad?"

She handed him her legal pad

 took out some blank pages and wrote too quickly for me to follow upside-down without making myself too obvious. "Make it simple, limit it to best effort to avoid representing themselves as being privy to Motorola's plans until two years or superseded by other agreement. And state that we'll give our best effort to refrain from using their work without permission."

He looked up at me. "We'll take the responsibility of avoiding exposing you to sensitive materials, if you'll be responsible for not sharing things you don't want us to see. And if we need to share something, we can make specific agreements." He turned again to Ms. Philips. "You can add a clause about special agreements, as well."

Julia and I exchanged looks again.

Julia said, "I might be able to sign something like that."

I nodded in agreement, and Carrie stood and moved to a stenographer's typewriter in a corner.

The other man cleared his throat again.

"Okay, Bill, Let's hear it."

"Bob, you know that's going to be a lot of work to go through every time we want to work together on something new. Clumsy. And the board will raise Cain about lost revenue."

"Bill, you know as well as I that expected revenue can't be dealt with as revenue until we have legitimate reason to expect it, and NDAs and NCAs do not provide that reason. The board may not want to listen to sound economic principles, but there is no loss until there is something to be gained."

"I agree with that." Bob nodded.

"We have some good processors."

"Of course."

"But every time we get some grass-roots excitement going about our processors, we've  been having the engineers sign non-disclosures and non-competes, and suddenly all the market excitement evaporates into the long tail of big projects. I think we've been cutting off our corporate nose to spite our corporate face --"

"You've said that before."

"-- killing the goose that lays the golden egg." He turned to me. "Pardon the expression."

I grinned. "I don't see a problem with the expression, as long as it remains metaphor. And I probably agree about NDAs and NCAs as not being what they appear to be. I'll need a lot of leeway if I'm going to keep the group we've got motivated."

I checked with Julia, and she smiled and nodded. "I'm with Joe on that." She reached out and gave my hand a squeeze.

"Thanks for being patient with us."

Bill nodded with a still-dissatisfied attempt at a smile. "Well, while we're waiting for some new documents, how was the trip?"

We offered a few details of the road down and the weather, but didn't mention the undercurrents. Both men were amused at the idea of five adults packed into a subcompact station wagon for six hours. Even Ms. Philips chuckled a bit while she typed.

"You didn't happen to bring the computer you're working on?" Bill asked, somewhat out of the blue.

Bob lifted an eyebrow. "I don't suppose there was room in that car."

"Actually, we did."

"Would you be willing to let us take a look at it?"

"Bill, I don't know if we want to expose the company to their work just yet."

"There's nothing I consider proprietary in it. How about you, Julia?"

She nodded. "I trust your judgement."

Carrie took the page from the typewriter, and brought it to Bob. "What do you think?"

He read it carefully, then handed it to me. I put it between Julia and me, and we read it together.

"I think," I said, "it'll give us the room we need to work and allow you to protect Motorola's interests."

"Joe, shouldn't it mention existing work, and avoid making claims for the group?"

"Ah, yes. Of course."

With Julia's input, we added wording for existing work, a disclaimer relative to the group, and an addendum describing what we and the group had done to that point. With a bit of discussion we found wording we could all agree on. Then Julia joined Ms. Philips at the typewriter.

Bill asked, "So, can we get a peek at what you've done?"

"I think it's okay, Joe," Julia said from where she and Ms. Philips were working. "Why don't you go ahead and bring them in?"

"Them?" Bob asked.

"Julia's and mine."

Bill and I went out to the car and brought the computers in. When we returned, Bob had brought in a couple of color TVs to use as displays.

Julia and I looked over the completed agreement together, then faced each other, communicating silently.

"If you'll excuse us a minute," Julia said.

"Sure," Bob nodded.

"Do you need a place to talk alone?" Bill asked.

"If it's okay."

Ms. Philips opened a door to an office connected to the conference room and left us alone.

We both knelt down and joined hands, and Julia offered her prayer for wisdom and blessings in making decisions. I added to that a prayer that the directions we took would be guided for our own benefit and for all involved.

"I feel like we can sign this," Julia's face showed mixed trepidation and confidence.

"I feel similarly impressed."

Julia's expression cleared, and we shared a hug.

After we returned to the conference room and had both signed the agreement, Julia and I unpacked our computers and set them up.

[JMR202008241334 edits -- new:]

While we did so, the door opened, and Ms. Steward showed Mike, Bob, and Jennifer in.

Mike looked at us a bit uncertainly. "We signed," he said, more as a question than a statement. "The internship seemed too good to pass up."

[JMR202008241334 edits -- old: ]

While we did so, the door opened, and Ms. Steward showed Mike in.

Mike looked at us a bit uncertainly. "I signed," he said, more as a question than a statement. "The internship seemed too good to pass up."

[JMR202008241334 edits end.]


Chapter 13.9: Straits -- what?

[Backed up at https://joel-rees-economics.blogspot.com/2020/08/bk-33209-straits-intellectual-property-agreements.html.]


Monday, August 10, 2020

Backup: 33209: Straits -- The Road to Austin

Backup of https://joelrees-novels.blogspot.com/2020/08/33209-straits-road-to-austin.html.


Chapter 13.6 Straits -- Proceeding Forth

Chapter 13.7: Straits -- Road to Austin


Friday morning, I drove over early to pick Julia up.

"Are you sure you don't want to take Julia's car?"

"Mom, it's really yours, and you need it tomorrow." Daughter gave mother a hug and a kiss.

"Bien, bien." She sighed, letting Julia loose with some reservation. "Drive carefully, and call us when you get there or if you have problems."

"Prometemos." I gave her a hug and a kiss to both cheeks.

"En tus manos."

"We'll pray before we go."

Julia's dad gave me a hug and a hand-clasp, and a stern look, with a "Vaya con Dios," before giving his daughter her hug and kiss.

At my house, we got in a half hour of exercises and and showers, and then we packed the computers and road food, said a quick prayer, and headed to school.

After our last classes for the morning, we met the rest of the Friday group in the parking lot.

They had decided to pool in Suzanne's Impala, so there would be only her car and mine to keep track of. Campus security had been notified about the trip, and we had the okay to leave cars in the parking lot over the weekend.

I suggested a prayer before we leave, and no one objected. Julia suggested I be voice for the group, and I offered a prayer for our safety, and that the trip would have good results for all. Everyone responded with, "Amen."

Mike, Pat, and George had prepared a bit of their own food and drinks for the road down, but we had room in the cooler for what needed cooling. We had all packed light, mostly relying on making grocery store raids in Austin for Saturday and the ride back. We left most of the space in the station wagon bed open for whatever we might be bringing back.

The plan was for me to drop by Denny's place on the way to Motorola, their apartment being within three miles of the Motorola building I needed to go to. Then Julia and the others could go shopping, visit with Denny and Denise, and maybe go see the campground where the rest of the Friday group were parking themselves.
Of course things never really go according to plan, even when they go according to plan.

Suzanne didn't stay anywhere close to the double-nickel speed limit. We lost sight of them within a minute of hitting the Interstate, even though I kicked the speed up to 62.

"There's the turn-off to the airport." I kept trying to get conversation started, but it kept dying before it started. Julia squeezed my hand again on the gearshift lever.
"Are you okay, back there, Pat? The middle of that seat is not comfortable, I know."

"I'm okay." I'm sure she was being stoic.

"Beautiful scenery, huh?"

George laughed, at least.

"It has its own beauty," Julia commented, but no one in the rear seat took the bait.

"Peanut butter and cheese sandwich?" Julia asked, and I nodded.

Pat fished the bread, cheese, and peanut butter from the cooler, handing them to Julia, and then she and George and Mike dug into the bologna, pressed pork and other fixings from the cooler.

"Can you pass me the lettuce and tomatoes, too?"

"Ah. Sure." Pat handed the lettuce and tomatoes forward, and food changed hands.

"Are you making your own?" I asked.

Julia nodded and took a bite of my sandwich, frowning as she handed it to me. "Needs something. Mayonnaise?"

I took a bite and nodded, glancing in the rear-view mirror to see Mike's reaction. He was busy with food.

Pat handed her the jar of Mayonnaise. "Joe has perverted your taste buds, Julia."

"Yep."

That got chuckles from everyone.

Julia mixed grape and lemon-lime soda in a cup.

"Where'd you get that from?" George complained.

"Not from Joe."

"No?"

"From his dad."

"Oh."

She shared her cup with me, too, trading it for the sandwich and taking a bite while I was taking a sip, so I would have a hand to keep on the wheel. I glanced at Mike again, but he was looking out the window absently while he chewed on his sandwich.

*****

"Turn-off for Garden City." I moved to the exit ramp and slowed down and we turned right. "This always feels like I'm turning south, but we're actually turning more east than south. We've been going north-east."

"Can I drive from Garden City?" Julia asked as we left the Interstate behind.

"I don't know why not."

*****

"There's Suzanne," Pat announced.

The whole group was out of the car, sitting at a road-side table. They waved as we pulled up.

George, Mike, and Pat extracted themselves from the back seat, and Julia and I got out of the front, and we exchanged status with the other group before they climbed in and started off again ahead of us.

"Take a short jog?" Julia suggested.

"Mmm. Yeah."

All five of us jogged about a half minute back the way we had come, then walked back to the car. Julia took the driver's seat.

"I'm riding shotgun!" Pat called out, claiming the passenger-side front seat.

I looked at Mike and George. "I think that's fair, if we're up to this?"

They both nodded, so I got in first and moved to the middle.

"With five of us, she's not going to be as responsive as when it's just you and me," I coached from my backseat position.

"I know." Julia started the engine and babied the clutch maybe just a little too much, but got us going smoothly down the highway.

"Much better scenery here," Pat commented.

"Should get greener as we go to San Angelo," George added absently.

"Somewhere along here, my church used to try to farm pecans," I said. "I think they only got a couple of years of good crop before the climate or insects got to the trees."

"Too bad," Mike said. "I like pecans."

Conversation was less strained after Garden City.

We met Suzanne's group again at a rest stop just before San Angelo. Again, they went ahead as we took a break to stretch, jog, and walk.

"Can I take the wheel next?" Mike asked.

I looked at Julia and she shrugged and smiled. "That means you and I get to ride in back."

George gave Mike a look of consolation and Mike shrugged.

Pat's tilted head ceded temporary defeat.

"I'll take navigator." George took the passenger-side front seat, and I got in the back, oving to the middle again. Julia climbed in beside me. 

"Ryō-te ni hana," I grinned, patting the empty seat as Pat hesitated on the other side of the car.

"Huh?" George raised an eyebrow. "Benihana? Japanese?"

"Yeah. Ryō-te ni hana. Flower in each hand. But not literally in hand, or even meta-literally. It's what a guy can say when he gets to sit between two beautiful women."

"Maybe Julia should sit in the middle?" Pat was not climbing in.

"Joe's just joking," Julia explained. "It's the kind of joke his dad would make, too. Neither of them would ever presume anything."

"Are you sure?"

"Sorry. I was just recalling a Japanese phrase that seemed to fit. I didn't think it would be offensive."

Mike started the engine. "Pat, it is a compliment, you know."

Pat bent down and gave him a sharp through the front window.

"I'll sit in the middle," Julia sighed and started to climb out.

"Why can't you sit in the front?" Pat asked Julia, wheedling.

"Pat!" Julia said with more than a bit of exasperation.

"Okay, okay, I'll sit in the navigator's seat." I moved to the side.

"No!" Pat and Julia exclaimed in unison.

George laughed, and climbed out. "I think that's the best idea for now."

I climbed out of the back and got in the front.

Pat sighed, but gave in, again taking the center because she was the smallest.

Mike had no problems getting the car moving, and we drove in silence for the first few minutes.

Then Pat spoke up. "I guess I was being silly."

"You were," Mike confirmed with a wry grin. "Let me fight my own battles."

I reached over for a fist bump, and this time he responded in kind.

"Rivals," he said, and I nodded.

"Rivals."

Julia looked a little put-out, but not angry.

By the time we put San Angelo behind us, fishing had become a topic of conversation, discussing the best lakes in central Texas for different kinds of fish and such. I mostly listened, not having much experience.

We took another rest stop at Eden, and Pat took a turn at the wheel. Julia sat between Mike and me in the back, and conversation turned to sports and school.

George took the wheel at Brady, and this time Mike took the navigator seat, and Pat let me sit between her and Julia. I mostly enjoyed listening to Julia and her friends reconnecting, talking about things they had done together and about plans for the future. I guessed that her breakup with Mike had been the cause of some distancing between her and Pat and George, as well.

"Your mom couldn't lend you her car for this?" Pat idly asked Julia when other topics had subsided for a bit.

"She wanted us to take it, but she needs it tomorrow. Even if she didn't, bucket seats are a bit less conducive to romance on the road."

I grinned and unobtrusively kissed her cheek. We both turned away when our lips got too close.

When I glanced at Mike, he rolled his eyes, but nodded. He was beginning to understand.

At Llano, Suzanne's group waited for us to finish our quick rest stop so that I could take the lead into Austin. I took the wheel, with Mike riding navigator and Julia sitting behind me, Pat in the middle again. Leading the way down through the Barton Creek area.

Julia rested her hand on my shoulder, and when my shifting hand was free, we held hands.

"Both hands on the wheel!" Mike grinned to let me know he was joking, and we bumped fists again. Pat looked disappointed, but seemed to have given up being angry at me.

It was about five thirty when we pulled into Denny and Denise's apartment complex, parking first in front of their apartment. We made quick introductions, and Suzanne and her group turned to head for her car.

"Don't rush off just yet," Denise said.

Denny explained, "There are a couple of recruiters waiting at Motorola to talk with anyone who wants to listen and talk. I can help you find a good campsite after."

We looked at each other.

"I understand there'll be pizza, too."

"Ah, well, yeah."

"Sure."

"Let's do it."

"Well, except, Julia, the people who want to talk with Joe also want to talk with the person who has been taking notes for him."

"Me?"

I caught her eye. "Makes sense."

After some quick discussion, we followed Denny to Motorola, and Pat, George, and Mike joined Suzanne's group to listen to the recruiters.


Chapter 13.8: Straits -- what?

[Backed up at https://joel-rees-economics.blogspot.com/2020/08/bk-33209-straits-road-to-austin.html.]


Sunday, August 2, 2020

Backup: 33209: Straits -- Proceeding Forth

Backup of https://joelrees-novels.blogspot.com/2020/08/33209-straits-proceeding-forth.html.


Chapter 13.5 Straits -- Exercises, Exercises

Chapter 13.6: Straits -- Proceeding Forth


Tanya looked up from her keyboard circuit board. "How long do you think it will take them to get us those Micro Chromas?"

Julia and Bob were helping her debug her work. The rest of us with working keyboards were spread out helping those whose keyboards were not yet working.

Julia looked over at me and said, "Do you think they'll have them on Friday?"

I blinked and she winced. She mouthed a silent "Woops, sorry."

I gave her a wry smile and a wink.

"Denny hasn't said," I replied.

For a minute, work proceeded, then Suzanne looked up from where she was working with a group. "Friday?" She looked over at Dr. Brown. "Friday? Something happening Friday?"

He raised his eyebrows and shook his head. "I heard Joe may be going to Austin to talk with some people at Motorola. Other than that, who knows?"

"That's cool," said Wallace.

"Be fun to go check out that surplus shop this weekend," Bob commented. "I don't suppose you're going to have time for that, Joe?"

"No, actually, that's part of the plan. Rolling out on my nephews' floor Friday evening and hitting the surplus store on Saturday." I deliberately left grammar incomplete, too.

"Hey," Winston spoke up. "We could caravan down. I'm sure Julia wants to go, too. Leaving in the morning? We could skip classes."

That got a ripple of laughter and chatter.

"Leaving as soon as my last class of the morning is done. Eating on the road so I can get to Motorola in time without speeding."

"They're not flying you out?" Bob asked.

"Denny pointed out the strategic benefit of me being able to visit the surplus store, so they gave me the option."

Chuck asked, "So what time should we meet to caravan?"

I looked at Julia and she tilted her head and shrugged. I looked at Doctor Brown and he just shrugged, too.

"Julia's going with you, right?" Suzanne didn't ask, didn't really accuse, just said it like she was confirming a known fact.

"Uhm, ..."

The whole class was suddenly quiet.

"Look. I'll be under a really tight schedule. If I had a CB radio in the car, we probably could caravan, but I don't, and I really won't have time to wait for anyone. I'm not saying you guys can't caravan, and I'm not saying we won't see anyone on the road, either, just that I don't want to speed and I won't be able to slow down or stop. Well, except for emergencies, of course."

I stopped for breath and thought and glanced at Mike, who was shaking his head, his expression hard with doubt and distrust. Pat and George were whispering together beside him.

"Julia is planning on going with me so she can look at disk drives and such, unless she changes her mind. My brother said it was okay for her to sleep on the couch in their living room. As I said, I'll be in with my nephews. And," I glared at everyone and no one in particular, "my brother and his wife will kick me out on the street if I try to move to the living room in the middle of the night."

That got laughs.

"They don't have any extra room beyond that," I added. "So anyone who goes Friday will have to find their own place to spend the night."

"It might be a better approach to leave early Saturday and meet up in Austin," Doctor Brown suggested, quietly.

We discussed logistics for several minutes, and I promised I'd bring the address and phone number of the surplus shop on Thursday before we returned to working on keyboards and talk turned to expanding the computers and figuring out what kind of enclosures to put the electronics in.

More than half the students had their keyboards working by the time I needed to go deliver my newspapers, and, at Doctor Brown's suggestion, we broke the lab session up so I would have time I needed to get ready for Friday. The rest of the group agreed, albeit some seemed reluctant.

As Julia and I loaded her car with our computers, Mike, Pat, and George approached us. That Mike was unhappy was clear from his expression.

"Julia, I need to talk to you."

Julia looked at me and I raised my eyebrows and tilted my head.

"Joe needs to get back," she replied.

Mike fixed me with an angry stare. "I'd like to talk with Julia alone."

"If you're not going to say it in front of Joe, don't even bother."

Pat pursed her lips. "Julia, I don't think you're being fair to Mike. At best."

Julia shut the back seat door and turned to me. "Let's go." She handed me her keys. "I'd like you to drive."

I took the keys, gave her a hug, and leaned close to her ear. In a low voice only she could hear, I said, "We're still a little early, maybe we should listen to what he has to say."

She gave me a moue, then turned to Mike. "Two minutes. Here, now."

Mike looked at me hesitantly, then took a deep breath.

"What are you doing?"

Julia gave him a look I was glad I was not on the receiving end of. "What makes you think you have a right to ask such a question?"

"It seems to me like Joe gets a free pass I never got."

"So what if he does? I have a right to make my own choices, and he never asks me for what I'm not willing to give."

I could tell that hurt going down.

"Just for the record, Mike, can I ask how far you tried to go with Julia?"

That earned me a burning look from both Mike and Julia.

"I think it's a relevant question," I added

"He couldn't keep his hands out from under my clothes."

"You said you liked it."

"I changed my mind."

"Why?"

"I thought you wouldn't like me if I said no. Then I prayed and I realized that, if being turned down was going to turn you off, I shouldn't have been saying yes in the first place."

"If God told you to turn me down, why wouldn't he tell me I shouldn't date you? And why doesn't he tell you to turn Joe down?"

"Joe has never once tried to put his hands on me where they don't belong. He respects me."

"Then what is this going to Austin alone with him?"

I broke in. "My brother and his wife will literally kick me out in the street if I try anything."

"What if she tries for it?"

"I'll still be the one to go out in the street, since guys are better able to defend themselves. But if I couldn't trust Julia, and If I couldn't trust them, I wouldn't be letting Julia go with me."

"What about on the road?"

"We've promised each other not to even kiss on the road."

"I don't believe that."

Julia sneered. I'd never seen her do that before, and it disturbed me.

"You never did believe me, or in me, or in my ability to make up my own mind."

"Okay, I was a stupid high-school kid. I guess I wasn't mature enough. But ...," Mike trailed off.

"Yeah, high school kids think love is all about hormones and emotions." I regretted the words the moment they came out of my mouth, but they were not words I could recall without consequences.

I prayed again, in my heart, for forgiveness and guidance, not just for myself, but for all five of us.

"Uhm, maybe I should ask Denny if we can squeeze two more guys in on the boys' floor in sleeping bags, and an air mattress on the living room floor for Pat."

Mike gave me a shocked look, but it did not compare to the look of surprise and confusion Julia gave me.

"Hey. We're just here to ...," George began, but he, too, trailed off. "Uhm, maybe that would be a good idea, even though I'm not sure I want to get to know you that well, Joe." He chuckled.

I gave him a wry half-smile.

Pat was looking very thoughtful. "That olive green compact station wagon of yours is gonna be a tight squeeze, but maybe I can put up with being squeezed between two of my best friends for two six-hour trips over one weekend."

The doubts in Julia's face began to resolve themselves, and Julia nodded slowly. "Maybe it's a good idea. If Mike promises to accept what he sees."

Mike took some visible effort to pick his jaw back up off the metaphorical floor.

"I, uhm, I'll think about it."

"I'm still too upset to drive, Joe."

I held the door for Julia.

"See you guys tomorrow." I nodded to the three of them as I slid into the drivers side.

Julia scooted over on the bench seat and nestled against me. "Pat, we'll call you when we found out what Denny says."

*****

While I folded newspapers and stuffed them in my carrier bags, Julia drew up some more sketches for enclosures.

"If my keyboard is separate from the computer box, I'll need a longer cable."

"Yeah."

"And a ribbon cable isn't going to work."

"True. Too stiff, too many conductors spaced too far apart to bend well. Too easily broken."

"Is this why a keyboard controller might have a serial port instead of a parallel port?"

"Yup." I took one of the newspapers and set it in front of me, sideways. "Keyboard." I pointed to the bags. "Computer." I drew a line in the air from the bags to the newspaper in front of me, twirling my finger as I did. "Maybe a coiled telephone handset cord. Two or four wires inside instead of nine or more, and flexible." I stretched a rubber band from the bag to the newspaper, and it snapped. "Ouch."

We both laughed.

"Maybe that's what I should do. I think I want the disk drives in the same box as the mainboard."

"We can do it, if you think it's a good idea."

After I got back from delivering the newspapers, she showed me her new sketches. Then we went into the kitchen and put something together for dinner. After dinner, we went to the piano in the den and Julia played so I could practice for my recital.

It was late enough for evening rates to apply when we were done with that, so I called Denny and asked about the Micro Chroma 68 boards, and about the possibility of putting Mike, George, and Pat up for a night, as well. Denny and Denise sounded a bit skeptical, but they decided it could be done, but that would be the absolute limit.

And Denny said he knew they had gathered some Micro Chroma 68 kits, but he didn't know how many, or whether they'd be turning them over to me on Friday.

We called Pat, and George and Mike were there, too, so she let them know it would be possible.

"What now?"Julia asked as we sat down on the sofa in the living room.

"I need to study the 8086 and the 9900 a bit more. But I also need to figure out that Forth stuff."

"What you were looking at when we both fell asleep night before last?"

"That."

"I think that's what you should work on now."

"You might be inspired." I got out the package and looked through it again. I had ordered a printed copy of the fig-FORTH FOR 6800 ASSEMBLY SOURCE LISTING and a copy of the source on tape, with a copy of the fig-FORTH Installation Manual, Glossary, and Model, and a copy of an introductory textbook, Leo Brodie's Starting Forth.  

I picked the baby blue cover Installation Manual up again, thought about it for a moment, and put it down.

"What?"

"I dunno. I seem more inclined to look at the source than at the instructions."

"You definitely seem to be inspired today."

I opened up the pink cover Source Listing and scanned through it.

"Me?"

"You got the same answer to prayer I got, and you followed through."

"Oh. Mike. I think he'll be okay."

"Oh, Joe, I'm scared."

I looked up from the listing.

"What if God says I can't marry you, that I have to get back together with Mike?"

The lyrics to a hymn came to mind.

Know this, that every soul is free
To choose her husband and whom she'll marry.
"Boop-boop!" Giselle called out from her room. My singing was loud enough for her to hear.

"Is that really a song?"

"Almost."

"It's in the hymnbook." Giselle came in and headed through the kitchen to the den.

"How does it really go?"

I grinned and stood, and took Julia's hand. She stood, too, and we followed Giselle.

Giselle had the hymnbook open to number 240, and she gave it to Julia.

Julia took it and set it in the music tray of the old upright, and sat down on the piano bench. She checked the key and ran through the intro, and we started singing:
Know this, that ev’ry soul is free
To choose his life and what he’ll be;
For this eternal truth is giv’n:
That God will force no man to heav’n.

He’ll call, persuade, direct aright,
And bless with wisdom, love, and light,
In nameless ways be good and kind,
But never force the human mind.

Freedom and reason make us men;
Take these away, what are we then?
Mere animals, and just as well
The beasts may think of heav’n or hell.

May we no more our pow’rs abuse,
But ways of truth and goodness choose;
Our God is pleased when we improve
His grace and seek his perfect love.
Julia stood up with eyes bright and moist, and we shared a three-way hug.

"Now I should leave you two alone." Giselle returned to her room.

"Anonymous, from around 1805," Julia read from the notes.

"About the year Joseph Smith was born."

"Included in your first hymnal. You guys have some really cool hymns."

"That's one I wish we sang more often."

She put the hymnal back and we shared a gentle kiss before returning to the living room.

Reluctantly, I released her hand and picked the listing back up.

"Well, there's the place to customize the I/O routines."

"Oh?"

"Keyboard, display, disk. No, that says virtual disk, so it'll take a bit more work. We aren't likely to be doing real disk just yet."

"What can you do without disks?"

"Not sure. Let's load the source in from tape, then save that to disk."

That took a few minutes.

"Now I'll fix the I/O routines to match the Micro Chroma 68's hardware."

That took a bit longer.

"Save the resulting source and assemble it."

The assembler kicked out a few errors for me, so I fixed my mistakes and save and assembled it again. This time, it assembled cleanly.

Julia watched me patiently.

I saved the binary file to both disk and tape, and loaded and ran it. It came up nicely, first time.

FORTH-68                               
  OK                                            
                                                    

Julia went in to ask Giselle if she could borrow her TV, and Giselle came back out to watch as she loaded the binary from tape into her Micro Chroma 68+6801 and ran it. It came up nicely for her, too.


For a half hour or so, we played with the examples from Leo Brodie's book.

"No way to save our work?"

"Not without the disk I/O. Let's see if I can figure that out."

I let Giselle play on my computer while I went back to the manuals to try to understand what Forth was all about.

The parameter stack, I understood. But the virtual machine was Greek to me for the evening.

"No decimal point," Giselle muttered.

"I think Joe is going to have to program that himself."

"Probably so," I agreed.

"Making your own words is fun." Giselle smiled. "Can we make this work with my word processor?"

"I think I'd have to rewrite the entire interpreter." I showed her the pink-covered program listing.

"A hundred pages? It'll take some time?"

"Seven thousand lines of code or so. It'd definitely take some time."

(fig Forth took the real me a full six months to get running, but that was because I did it the wrong way, hand assembling the source and entering the object in hexadecimal, also by hand. I saved the object to the fast cassette. I learned a lot, but I also learned a lot of bad habits in the process. DIY-everything has limits.

No, the reason the me in this story progresses much more quickly is that he doesn't try to do everything himself. Even if you think that's what he's doing.

Forth, by the way, was a revelation, but I'm not sure it wasn't a revelation of the dark arts.

The power you feel when you write your first BASIC program can be a little intoxicating.

The power you feel with Forth is more direct, stronger, more full of promise. But the details of implementation still bite you in the end, just like with any computer language, and they bite in ways that the majority of programmers and software engineers, unfamiliar with Forth, do not understand.

The me in this story was immune to the power effects, even though the real me was not. Giselle was not, but lack of floating point math muted the effects. Julia wasn't immune either, but I think she mentally hid herself behind the me of this story.

If you want to play with a more modern Forth interpreter than the one I used back then, look up Gforth. Disk I/O is working in that one, and it includes floating point numbers and a number of other useful features. Or if you want a feel of what I was working with, the fig Forth interpreters can be found on-line, along with emulators to try them out on. An emulator for the Micro Chroma 68 itself has  even recently been added to the MAME/MESS project. I should write up a blog post of how to get those running, some day.

I do have a partially useful description up of how to get my BIF-6809 interpreter running on the XRoar Color Computer emulator.)

*****

In the lab the next day, we got the all the rest of the keyboards running, and those with Micro Chroma 68+6801s played with Forth a bit. Several of us tried to work out the disk emulator stubs in the 6800 model, but the bug in the model and the narrow screen of the Micro Chroma 68 defeated us.

More than BASIC and Flex, Forth got everyone excited to get their own mainboards running.

The discussion included enclosures, and somebody pointed out that the surplus shop might have some, which raised the interest level in the trip to Austin. Ultimately, two caravans were planned, one leaving at the same time as Julia and me and another leaving at six Saturday morning. Several knew the Austin area, and they discussed campgrounds.

For Institute that night, two sister missionaries stationed in Midland came to talk about how they prepared for their missions. Julia and Giselle both listened intently. I was also asked to give an impromptu testimony, and I spoke frankly, as I felt inspired.

Back at my house, Julia and I prepared lunch and dinner for the trip with help and advice from Mom, Dad, and Giselle. We pre-packed the computers, as well.

*****

"No, Mamá, it would not make more sense for me to spend the night at Joe's house, even in their spare room. We already have enough rumors going around at school as it is."

Mrs. Cisneros gave her own daughter a moue. "I suppose you're right. I don't know why Mike had to go and meddle in things."

"Mamá, paciencia. Todas las cosas buenas vendrán."

I reiterated what Julia said: "All good things will come, Mom."

Mrs. Cisneros turned to me with a shrewd, but pleased look and nodded. "Muy bien, hijo mio."

Julia looked at me with wide, surprised eyes. "Besas."

I complied.


Chapter 13.7: Straits -- 2801, 3801

[Backed up at https://joel-rees-economics.blogspot.com/2020/08/bk-33209-straits-proceeding-forth.html.]


Saturday, August 1, 2020

Notes: 33209: Straits -- Proceeding Forth

Notes for https://joelrees-novels.blogspot.com/2020/08/33209-straits-proceeding-forth.html.
May contain spoilers, both real and false.

Chapter 13.5 Straits -- Exercises, Exercises

Chapter 13.6: Straits -- Proceeding Forth


Tanya looked up from her keyboard control board. "How long do you think it will take them to get us those Micro Chromas?" Julia and Bob were helping her debug her work.

The rest of us with working keyboards were spread out helping those whose keyboards were not yet working.

Julia looked over at me and said, "Do you think they'll have them Friday?"

I blinked and she winced. She mouthed a silent "Woops", and I gave her a wry smile and a wink.

"Denny didn't say."

Julia wants to take her car to Austin? In Exercises?

Julia and I already know she might want a serial interface for the keyboard, we can start in the lab talking about it, and about options for the physical port.

The big box with EXORcisor bus and disk drives leads to the trip. (This is Wednesday.) Need to get Mike in the same car with us going to Austin?


"Dad really thinks I should build the computer as one box for the circuit boards and disk drives, with a separate keyboard and display."

In the lab after classes, we were discussing our next steps while we helped those whose keyboards were not yet working.

Julia and I had met at Dad's offices after classes, and were on our way to the lab.

 "Since the display is connected to the computer by an antenna wire, I guess we already have the separate display."

"If it's a separate keyboard, I guess that flat ribbon cable won't work very well."

"Too stiff. Too easily broken."

"Yesterday we talked about a serial port for the keyboard. Does that have something to do with it?"

"If the keyboard interface is a serial port, we don't need as many conductors. We could even use coiled telephone handset wire for the keyboard."

"Like the wire between the phone base and the handset?"

"Right."

The ribbon cable for the keyboard isn't very 


 This morning, Dad insisted that I should look again at a separate keyboard."

We were on our way to the lab after classes.

"Yeah?"

"The ribbon cable for the keyboard will break if we do that, won't it?"



 In the lab after classes, those whose keyboards worked helped those who didn't have theirs working yet, and we tested them on the computers and explored the monitor ROM as we went.

Discussion turned to the next steps.

"How long will it take to get the rest of the Micro Chromas?" Tanya complained.

"Joe, do you think they'll have those ready on Friday?"

I looked over at Julia where she was helping Tanya, and she gave me a "Woops! Help?" look.

"I should have asked Denny. He didn't mention it."

"Friday?" Wallace asked.

Julia looked down at Tanya's keyboard, and I looked at the chalkboard.

Suzanne's intuition must have kicked in. "What's happening Friday?"

Julia and I looked at each other again. She tilted her head in resignation and I shrugged.


"Just heading down to Austin to see if we can find disk drives for my computer."

"Just the two of you?" Suzanne probed.

"Ditchin' the rest of us?" Wallace complained.

"There's definitely not enough room for everyone in our group at my brother's house. Barely room for Julia on the front couch and me on the floor of my nephews' room."

-----------
 Also, Julia gets the couch in my brother's living room, but he really doesn't have room for anyone else, so you'll all need to make your own plans about where to stay for the night."

"Julia and I are heading down, literally as soon as our last classes end."

"Ohhh!"

"She's going to sleep on the couch
------------

"Oh, yeah. You'll both be on that couch in the morning, is my bet," Torrence jested.

"Not with my brother and sister-in-law watching, or we wouldn't be doing this."

"Uh, huh, sure!"

"Hey, look, if some of you want to go check out the surplus shop down there, you could leave at six in the morning, and we could meet you at the state capitol building or Barton Creek, or UT, or someplace everyone knows. Or the highway turnoff closest to the shop, if everyone going knows the city well enough."

That moved the conversation away from dangerous places, and Julia and I exchanged relieved glances while we participated in the discussion of who could change their plans on such quick notice and where we could meet.

Mike caught my eye and gave me a look of disappointment.

I shook my head, but he turned away.

From there, discussion moved to enclosures.

"Doctor Brown," Javier asked, "Do you think we could borrow tools from the school?"

"I've been begging the teachers in charge, but they don't none of them seem to be in a very cooperative mood."

"I'll bet that surplus store has some pre-built boxes to look at," Jeff suggested.

"Now that you mention it, I wasn't looking for them, but there were some enclosures."

We had about half the keyboards working by the time I had to go take care of my newspaper route, and we called it a day.

After I threw the newspapers, Julia and I sat down and drew up better plans for a box like mine, under the assumption that the computer would either be a typewriter or a utility tool for her. And we drew up tentative plans for an enclosure for the disk drives, both for mine and for hers.

And Julia said she was hungry, so we stopped and put something quick together for dinner. Then we called Denny to ask about the Micro Chroma 68 kits, but he said he hadn't heard. And we practiced for my recital for about twenty minutes.

"What now?"

"I need to study the 8086 and the 9900 a bit more. But I also need to figure out that Forth stuff."

"The stuff you ordered, that you were looking at when we both fell asleep night before last?"

"That."

"I think you should do it now."

So I got out the package and looked through it again. I had ordered a printed copy of the fig-FORTH FOR 6800 ASSEMBLY SOURCE LISTING (pink cover) and a copy of the source on tape, a copy of the fig-FORTH Installation Manual, Glossary, and Model (baby blue cover), and a copy of the introductory textbook, Leo Brodie's Starting Forth.

I picked the Baby blue cover Installation Manual up again, but I thought about it for a moment, and without any good reason put it back down. Instead, I opened up the Source Listing. This time, I fairly quickly found the I/O routines to customize, so I loaded the source into the Micro Chroma from tape, saved a copy of the original to disk, edited the terminal I/O routines as suggested, to match the Micro Chroma 68's hardware, and assembled it.

Julia watched me patiently.

I had to correct some typing mistakes, then I saved the binary file to both disk and tape, and loaded and ran it. It came up nicely, first time.

FORTH-68                         
  OK                                     
                                             

Julia went in to ask Giselle if she could borrow her TV, and Giselle came out to watch as she loaded the binary from tape into her Micro Chroma 68+6801 and ran it. It came up nicely for her, too.


For a half hour or so, we played with the examples from Leo Brodie's book, then I let Giselle play on my computer while I went back to the manuals to try to understand what Forth was all about.

The parameter stack, I understood, but the virtual machine was Greek to me.

"No decimal point," Giselle muttered.

"I think Joe is going to have to program that himself."

"Probably so," I agreed.

"Making your own words is fun." Giselle grinned. "Can we make this work with my word processor?"

"I think I'd have to rewrite the entire interpreter." I showed her the pink program listing.

"It'll take some time?"

"It'd take some time."

(Forth took the real me another six months or maybe a year and a half to get running. I did it the wrong way, hand assembling the source and entering it in hexadecimal, also by hand.

It was a revelation, but I'm not sure it wasn't a revelation of the dark arts. The power you felt back then when you write your first BASIC program could be a little intoxicating. The power you felt with Forth was more direct, stronger, more full of promise.

But the details of implementation still bit you in the end, and they bit in ways that the majority of programmers and software engineers, unfamiliar with Forth, did not understand.

The me in this story was immune. Giselle was not, but lack of floating point math buffered the effects. Julia wasn't immune either, but I think she mentally hid herself behind the me of this story.)

Thursday's lab was a mix of getting the rest of the keyboards working and letting other students play with Forth. None of them seemed to know what to make of it.

Thursday evening, Giselle, Julia, and I went to Institute again. It was a better lesson than the last week, and Julia said it answered some of her questions.

We played with the postfix syntax, and discussed 

 the program listing for Forth.


By Thursday afternoon, we had all the keyboards working. Some of the students were working on plans to turn their controllers into standalone trainers, and others were working on plans to




Planning enclosures while finishing keyboards and working on trainer designs.

Discussion of whether to build more Micro Chroma 68+6801s

Exorbus

Running Forth

bank switching, 8086 segment offsets



Mention of the trip to the surplus store for disk drives, everyone plans to go, plans for picnic?
Framework makes debouncing easy
Having to use the anodes port for the column strobes? Add one-of-eight selects instead?
Using the interrupt input for system request



****

"We want to be able to have the CPU do other things besides display numbers, so we're going to use the timer built into the 6805 to count instead of having the CPUx count, and we'll have the timer interrupt the program to actually display the numbers."

"Is this only for displaying numbers?" Tanya asked in a slightly petulant tone.

"Well, the numbers might mean things. For instance, if something goes wrong during boot, we could put an error code and an address on the display, to give clues about the error state. Or we might say that a blank display is an all-operational status."

I can tell your eyes are glazing over now, so, rather than walk you through it with us I'll just note that we read in the manual about the timer, and I walked them through initialization, using the pre-scaler to set the granularity, calculating the value to initialize the timer and pre-scaler to interrupt the CPU once every millisecond, and constructing the interupt routine to display the digits one place at a time.

Someday, somewhere in my blogs, I'll show the complete keyboard debounce and status display routine, complete with display suppression and other features that we evenutally added. Suffice it to say that we had Julia's status display functional at a usable level on Monday before I went home to deliver newspapers, and that about half of the group had theirs functional by the time I got back.


Tuesday I explain that we need more computers running, so Julia's is not just Julia's. Then we forge ahead into the keyboard decoding.

Wednesday, while students are catching up, Julia, Mark, Jeff, Winston, and Suzanne dig in and get their computers ready for RAM, ROM, burners, disk controllers, etc., while I study the Forth manual and the TMS 9940 datasheets.



Which is what we did. Again, Doctor Brown let them work while I was delivering my newspapers, and Julia, Mark, and Jeff helped those who needed help with the tools on the Micro Chroma 68.

About half of the group had their display routines working well by the time I returned to pack things up.

From Monday to Wednesday, in lab, I let the others work while I helped Julia program her keyboard controller. Someone was watching over our shoulders as we worked, and the structure of the code made the rounds -- the interrupt handlers, the state tables for the keyboard matrix, the translation matrix for the LEDs, etc.

Bob and Jennifer pretty much got it worked out for themselves, and we compared notes.

Mark, Jeff, and Mike picked up what we were doing, and also had their keyboard controllers working shortly after Bob, Jennifer, and Julia and I had ours working.




It's tempting to go into great detail on the keyboard decoding and the status display. Maybe, one day, I'll write a book on how to do it with parts you can buy now. 6805s are kind of hard to get now. (It would fill an entire book, yes.)

I'll note that I walked the group through several ways of keeping keyboard state for use in debouncing. Some of the students understood when I






Pascal, book of Ether, keyboard with Julia
Ed Snyder's black stealth keyboard

monday
Julia and I work out the keyboard and seven-segment status display
class also progressing, work on 68705 trainer monitor
home evening with Julia's family and missionaries, second discussion,
recital practice every evening all week

tuesday, wiring Julia's with memory switches, DMA controller, ROMs, full RAM
continued work on trainer monitor
communicating with TSC about drivers
(evening?)

wednesday,
Julia's EPROM/MCU burners, my daughterboard starts
class continues with trainer monitor, etc.
her scripture study group

thursday,
diagramming,
first peek at forth
class completes trainer monitor.
our institute

friday,
trip to austin
meeting with motorola, Julia asked to join
discussion of
-- floppy controllers
-- 2801 address spaces, I/O based memory banking, call stack cache
-- RISC concepts
-- 2809 similar to 2801
-- 31609 with 32 bit addressing
-- 38000 with stack caching

saturday
Julia's disk drives

(Nos) besaremos cuando y como queramos.
cuándo y cómo

Trip back, too much heavy kissing, discussion of information sharing?
Managers and bishops who don't know what to do with information that comes up.

(In notes for bringing up flex:)

Denny called about the time we were wrapping up, and Julia got on the extension in Dad's study to say hi. It seemed it would be appropriate to make a run to Austin the next weekend, and to leave immediately after our last morning classes so I could visit with some of the management at Motorola Friday evening.

"You, know," Julia said, "if I went with, maybe I could look for floppy disk drives at that surplus shop on Saturday before coming back."

Denny checked with Denise, and they decided Julia could sleep on the couch in the living room and I could sleep on the floor in a sleeping bag in the boys' room. Julia's parents said they thought it would be okay, and Mom and Dad suggested we pray about it.

Which we did. No one felt inspired to object, 

Julia suggested she go with me, so she could go looking for her own disk drives.


Talk about duty cycle and mention DtoA as a way to adjust brightness.


Julia returned to working on her keyboard/trainer, while I dug back into my test routines. 


Watching the students work on the keyboard and keypad matrix decoding,  became clear to me that, while the bit I/O instructions might be useful for certain singular, non-generalized kinds of code, a keyboard or keypad matrix contained a lot of repeated elements. Ultimately, shifts and logical instructions would provide the more general scalable solution.

I stood up and demonstrated the concept of a state array for the matrix, then suggested we put it on a back burner and look at the seven-segment LED displays. This time, the bit I/O instructions were ignored, and several groups formed around defining an array of the segment patterns for each integer. Some of the students wanted to turn the translation array upside down for some reason, but I didn't stop them.

Suzanne's and Winston's and Winston's mainboards were both up enough to display the TV-BUG prompt by this point, and the four of them joined the rest on the keyboard/trainers.

It's tempting to go into great detail on the keyboard decoding and the status display. Maybe, one day, I'll write a book on how to do it with parts you can buy now. 6805s are kind of hard to get now. (It would fill an entire book, yes.)

I'll note that I walked the group through several ways of keeping keyboard state for use in debouncing. Some of the students understood when I


Since Flex was running on my Micro Chroma 68, I was able to load the cross-assembler, and we had several students burn code into their 68705s for testing before time to shut down.

Mike kept trying to work out how to set the keyboard state up as an array, but he couldn't seem to quite pin it down.

I shook my head, and she led me out the back door. There was a large tree with a tire swing

I guess there were no surprises on Sunday, unless you would consider it surprising that Pat and George attended Julia's congregation again. They slipped out before we could talk with them. We didn't see Mike.

Or you might consider it surprising that Julia and I joined the choir in my ward, preparing for Easter Sunday. No?

I suppose it would be no surprise that Julia insisted on calling Denny and Denise to ask if there were room for her to stay overnight Friday. With a bit of discussion, it was determined that she could have the couch in their living room, and I would roll a sleeping bag out on the floor of the boys room, and both our parents approved that plan.

That Sunday was about as one might expect, I think. In the morning, I visited Julia's congregation. Pat and George came and sat in the back. Mike slipped in before the sermon started, and all three slipped out before we had a chance to talk with them.

In the afternoon, Julia visited mine. This time, she joined our choir practice in between meetings and young adult family home evening.
I told her about needing to go to Austin before her meetings, and by the time we were finished with mine, she had decided she was going with me.


"Floppies multiplying like rabbits," I grumbled.

She laughed. 




tendency to idealize/idolize foreign



Chapter 13.7: Straits -- what?

[Backed up at https://joel-rees-economics.blogspot.com/2020/08/bk-33209-straits-proceeding-forth.html.]


Sunday, July 26, 2020

Backup: 33209: Straits -- Exercises, Exercises

Backup of https://joelrees-novels.blogspot.com/2020/07/33209-straits-exercises-exercises.html.


Chapter 13.4 Straits -- Keyboard Decoding

Chapter 13.5: Straits -- Enclosures?


The doorbell rang as I was changing into gym shorts and a tee shirt for my morning exercises.

Giselle called out, "I think you should get it, Joe."

Puzzled, I pulled my tee on and carried my gym shoes into the living room.

Julia was waiting at the screen door in exercise gear when I rounded the hall doorway into the living room.

"Oh. So that's why you wanted to drive today." I gave her a cheesy grin and went to the door, lifting the screen door latch so she could come in. "You wanted to come early and see what I do for exercise."

"Well, more to join you than to watch." She loosened her shoelaces and left her shoes inside the door as she came in.

I set my shoes by hers. "I could have gone to your house early."

"And exercise with my parents watching? No way. Not the first time we exercise together, anyway. How do you usually start?"

"Warmups and stretches. The carpet in here is easy on the bones, but it's also easy to slip on. The floor in the den is hard, but you don't slide unless you're wearing socks."

"Barefoot it is, then."

We both left our socks with our shoes, saying good morning to my mom on our way through the kitchen to the den.

"You two focus on your exercises and I'll fix breakfast this morning."

Mom must have also been in on the plan.

We faced each other in the middle of the den. "And?" Julia looked at me expectantly.

"Uhm, I usually start with plié to warm up. Other than that, it's pretty random, and I'm open to suggestions."

"From ballet?"

"I learned a little from Louise and Giselle, but it's a hodge-podge mix. I wanted to take a class in modern dance this semester, but they told me I already had more than the usual limit of credit hours."

She laughed. "Like I say, you work too hard."

I had to chuckle.

I stood with my feet and arms in a rough approximation of first and second positions, respectively, and Julia mirrored me.

"One. Two." We did shallow knee bends. "Three, two, three, four." Once deeper, and back to standing. Four, two, three, four." Up to relevé and back. And we repeated four times: plie, plié, grand plié, relevé.

Julia broke into jumping jacks. "One, two, three, four" I caught up and mirrored her. "Two, two, three, four. Three, two, three, four. Four, two, three, four." She stopped. "That's base four, isn't it?"

I stopped and nodded.

"But it ends at four, not three." She wrinkled her forehead.

"Because it starts at one. Using different symbols doesn't really change the ring. It would be more the symbolic arithmetic base four if we started at zero, of course."

"But no one does that when exercising."

"Most people forget math when they exercise."

She chuckled. "We've stalled. One-zero --" She started the jumping jacks again. "-- one-one, one-two, one-three."

"Trying to say all that breaks your concentration, doesn't it?" I joined in and we continued through three-three and on.

"One-one-zero, one, two, three. One-two-zero, one, two, three. One-three-zero, one, two three." She shook her head and stopped again. "Can't keep it going past three-three. Uhm, that's fifteen, right?"

I stopped, too. "Right. Do it in hex?

"Zero, one, two, three, four, five, six, seven, eight, nine, aye, bee, cee, dee, ee, eff."

Somehow, we kept up the exercises and the counting in hexadecimal, in spite of the laughter, up to 100sixteen.

"Exercising with you gets my heart beating."

Julia rolled her eyes and slapped me gently over the head. "That was a lot of jumping jacks. What next?"

"Push-ups to relax?"

"Does not sound relaxing."

"Exercising different muscles."

Julia pursed her lips and got down into push-ups position, and I followed, and we did seven together.

"My limit," she said.

"Mine, too."

"Don't be nice."

"Seriously. I can't even do more then seven at once from the knees." This was true. I ididn't learn how to do push-ups until a modern dance teacher explained visualizing muscle use to the class once. "Sit-ups?"

We matched each other for twenty sit-ups, or 1Asixteen.

"Whew." She sat up. "We should take modern dance together."

I wonder if I'll have time for any summer classes, with the internships."
 
"Next fall."

"I thought you were moving on to Texas Christian. Up for a run?" 

"Maybe. Mom thinks I should postpone the associate's degree."

"You need to do what you need to do."

She gave me a perplexed look. "That's right. And I think I agree with my mom."

"Oh."

"Where do you usually run?"

"Lots of places. I learned how to pace myself and go for distance on my mission."

"Sounds scary."

"Sometimes I run past your house."

"And you don't stop in?"

"I think I will, next time."

"How long does it take?"

"About fifteen minutes, round trip."

"I think I can handle that. Better stretch first."

We both started doing stretches.

"I guess, if postponing your associate's is what you need to do, I'm not going to complain."

She turned and gave me an air kiss. I grinned and returned it.

"Can you study your Japanese at UTPB?"

"They don't have any courses to take, just like OC. I'd be the teacher."

"I've been thinking about finishing my bachelor's degree at UTPB."

"Me, too. I think I can do the Japanese by correspondence through BYU, if UT doesn't want to help me with it."

Our conversation lagged for a couple of minutes while we focused on the stretches. Then we stood, and she gave me a quick real kiss before we went in to the kitchen to tell my mom where we were going.

"Have fun. Be sure to get back in time to get cleaned up before classes."

We headed out, crossing 42nd at Dixie Boulevard, passing the shopping center on our right on our way to the park, heading east from there past her church, and stopping to surprise her mom at her house. From there we headed back south, crossing 42nd at the Lindale intersection where Lindale turns into 38th Street, then following 38th back home.

We stretched some more and cooled down in the den.

"I think you can borrow the shower on my parents' side of the house to wash off the swe-- uh, glow."

"South side bathroom's ready," my mom informed us from the kitchen.

I rolled my eyes. "Glad somebody here is good at planning."

Julia laughed and leaned over to give me another kiss. "Planning is something I'm good at."

"You're good at many things."

She gave me a smirk.

"Maybe we should agree before the trip to Austin, not to kiss during the trip."

Her smirk changed to a look of hurt, then a pout. Then she sighed. "You're probably right. Are you sure about your temples being hard to elope to?"

"Very hard. We both have to be members in good standing, and there's a year wait for new members."

"A what?"

"Temples are serious business. Promises to God. We want the members to be sure that they are willing to follow through on the promises."

"What are the promises?"

"Can't be specific, but basically to do our best to follow a godly walk and live a Christian life."

"That shouldn't be so hard." But she stopped and thought. "At least, it wouldn't be hard for me."

"The promises are easy to misunderstand without preparation, and the only ones who can really know if you're prepared are God and you, yoursefl. So I guess it seems better to just have everyone wait at least a year."

"Hmm. And I'm not really a member of your church yet, anyway. Darn."

I chuckled, and she sighed, then joined me in chuckling.

"I need to ... wash off the glow."

I shook my head. "Anything I say about that, I'm dead in the water."

She laughed.

Mom made sure Julia had what she needed for her shower on the south side of the house, and I took a quick shower in the other bathroom, on Giselle's and my side, and we packed our stuff in her car and headed to school.

Chapter 13.6: Enclosures?

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


Friday, July 24, 2020

Notes: 33209: Straits -- Keyboard Decoding, Exercises

Notes for https://joel-rees-economics.blogspot.com/2020/07/bk-33209-straits-keyboard-decoding.html and https://joel-rees-economics.blogspot.com/2020/07/bk-33209-straits-exercises-exercises.html.
May contain spoilers, both real and false.


Chapter 13.3: Straits --Display

Chapter 13.4: Straits -- Keyboard Decoding

"Much improvement last night."

I chuckled and gave Julia's mom an air kiss on the cheek as I ducked in the door. "Somebody was peeking through the blinds?"

She just answered with a smile that might have been a little smug.

Julia came into the living room from the hallway, carrying her backpack on a shoulder. "I threatened to do all our kissing somewhere else, and Mom didn't even bat an eyelash," she complained.

"You two belong together. You can kiss anywhere." Mrs, Cisneros gave her daughter a quick hug and a kiss and sent us off with a "Have a good time studying together today."

I held the passenger-side front door of the Colt open and Julia climbed in.

She leaned around and put her backpack in the back seat as I went around and climbed in the driver's seat. "How about if I drive tomorrow?"

"Your folks don't need the car?"

I started the engine and the radio came on.

"Yeah. Well, I want to drive."

"Sure. I'll be waiting for you."

The radio played in the background as we talked about the day's schedule and other things.

"I don't like this song," she said as the radio played the chorus of Mary MacGregor's hit rendition of "Torn between Two Lovers".

"Mmmyeah. It does kind of get stuck in the head, and the lyrics aren't all that great."

Julia was silent for a moment, then asked, "Do you think it would be breaking rules to love two people?"

I had to think for a minute. "My automatic reaction is that's not the right kind of love if it's breaking any real rules."

Julia reached over to the radio and changed the station. The station she picked was playing Boston's "More Than a Feeling", and we listened to it in silence the rest of the way to school, holding hands on the gearshift lever.

*****

"Has anybody noticed that 24 bits of parallel I/O aren't enough to do both the keyboard and the displays?" I was sitting down in front of the computer when I asked this, and several hands raised.

"Two separate 68705s?" Bob asked.

I nodded. "The 24 bit I/O varient we are using, yeah, that would work."

Kyle laughed. "So we didn't need to bother with the timer and interrupts."

"We got 'em," Tim replied. "Might as well use 'em."

"Yeah," I agreed. "Especially in this little club or ours. But what else can we do besides using two separate controllers? Two controllers would have the disadvantage of needing either another port on the mainboard CPU, or some way of sharing a single port."

Jennifer and Bob discussed between themselves for a moment, then Jennifer turned around and said, "How many bits of I/O do we need?"

"Excellent question. Let's get our diagrams out, add the CPU interface, and count. Can you guys draw that on the board?"

The two of them went to the chalkboard, and shortly they had this up:


They stood back and looked at it with doubt. Then Jennifer said, "But we need some way for the mainboard CPU to tell the controller whether to read the keyboard or output to the display."

"Add a control line to the main CPU port for direction, maybe?" Bob suggested, and Jennifer did so.


"Either a control line, or we need to have some fancy tri-stating buffering and signaling protocol on the interface. Or, if we were talking about a new design instead of the Micro Chroma 68, we could trade the parallel interface with the main CPU for a serial interface."

Carlos asked, "Which are you going to use?"

"I'll ask Julia later. Before we get back to figuring out how to debounce the keyboard, what if this weren't the Micro Chroma 68? Could we use some other interface for the keyboard/status display controller?"

Chuck responded first. "Serial should work, right?"

"Does the 6805 have a serial port?"

"No, but can't we use a bit from the parallel port for it like the Color Computer does?"

"We can, indeed. Thank you. So, back to the debounce -- can we use the same timer setup that we're using for the display to sample the keyboard matrix and debounce it?"

----------------



I was going to ask first off if anyone had noticed that 32 pins of parallel I/O wasn't really enough, but, when Julia and I arrived, a group was gathered around Winston, where he was testing his keyboard and seven-segment displays. When he held a key down, it would interfere with the display.

He looked up at me. "I don't think we have enough output lines."

"Yeah, ...," I hedged.

Bob looked up, too. "I'm thinking we could add two 'LS138s and control them from port C to do the scanning, one for the displays and one for the keyboard matrix."

"Oh. That might work." I nodded absently. "Can we get a look at the problem before we go looking for solutions?"

"It's a bug." Winston half-asserted, half-asked.

"Oh, yeah. I was planning on looking at it first thing today when everyone comes. Can you do the explanation, Winston?"

"Why me?" he complained, half-joking, half-resigned, as he picked up his schematics and went to the chalkboard. He started by putting up the working diagram from the day before while we waited for more of the group to come.

When he was done, and most of our group was there, he looked at me and I nodded to Doctor Brown, and Doctor Brown said, "Any time you're ready."

Winston went back to his lab table and picked up his keyboard and controller, and announced, "Ground control, we have a problem."

Several of us chuckled as Winston proceeded to demonstrate how holding certain keys down would change a number on the display to something else.

"That's cool!" Carlos enthused.

"Solution one," Doctor Brown intoned. "It's not a bug, it's a feature."

Everyone laughed except Winston, who rolled his eyes before grinning lopsidedly. "That is one way of looking at it," he grudgingly admitted.

"Yeah," Doctor Brown grinned, "but I guess let's not use that solution this time."

"So, why does this happen?" I asked. "Show us what your circuit looks like."

Winston erased and redrew part of the circuit:


"So, we could ask Winston why he added another buffer, or we could ask everyone if we all understand why. Suzanne, can you tell us why?"

She hesitated, than suggested, "If we don't have that, how does the computer know what key the controller decoded?"

"Exactly. Thanks. So, Winston, now what's the problem?"

"We don't have enough bits of I/O, and I have used one of the buffers for the displays as one of the buffers for the keyboard matrix." He erased and redrew another part of the diagram to show what he had.


"I was hoping that the scan could be done quickly enough to not interfere, but just holding the keys down messes things up."

"So, Bob, you had a suggestion, right?"

"Jennifer thinks we should be able to do it without any additional parts, but I think we need two 74LS138s."

"Can you diagram that?"

"Well, first, I think we need another bit for the main CPU interface."

"Why's that?"

Jennifer replied, "Main CPU has to be able to tell the controller what it's supposed to do, so it needs at least one bit of control."

Bob and Jennifer worked quickly to put the following diagram up:


"Hmm. Let's keep that in mind. So, what about the 'LS138 one-of-eight demultiplexors?"

Bob modified parts of the diagram, to add the two demultiplexors:


"This would allow both the keyboard and the display to be accessed at the same time," Bob explained. "If I shut down the displays for a hundred microseconds or so, I can share the select lines, and save a couple of port bits."

"Okay. Now I think Jennifer is right that, with a bit of really careful timing, and a bit of care in how we set up the ports for the matrix and displays, we could reduce the interference so that you could hardly tell that holding a key down is causing stray LEDs to light. But it would be kind of sensitive to resistor values, and cheap parts might not work."

Jennifer looked a little put-out.

"I'm not saying she shouldn't do it, just that that there are trade-offs, and I'm not prepared to dig into that right now. Back to the 'LS138s, how do they affect our code? Bob and Jennifer, let someone else answer."

Bob and Jennifer both nodded in agreement.

Javier finally spoke up. "Instead of shifting the matrix strobe and the display select on their ports, we count them?"

"Good. What does the counting look like?"

Everyone thought for a bit, and then Javier answered: "Counting for one of those can be just an INC instruction, but the other is going to be adding sixteen or something, depending on the bits used, right?"

"Exactly. So we'll look at that, but anyone have another way to do this?"

Mike said, "I'm planning on sharing a port between the keyboard and the displays, but I'll use a single eight-bit buffer to disable the keyboard when I'm using the displays. I'll use the extra bit from the display select port to shut off the keyboard matrix except when I'm reading it."

"How about the control line for the main CPU?"

"The Micro Chroma 68 keyboard interface only uses seven bits of data, so that leaves one bit that can be used as a strobe or control signal. I think that'll be enough." Mike stood up to a blank panel and sketched out his idea.


"Very good. Now we have at least a couple of different approaches that might work."

Larry asked, "Would it work to use two 6805s?"

"What do you think?"

"I guess we'd need a way for the main CPU to talk to the second controller."

"Sure. And that may have some advantages, as well."

Kyle laughed. "So we wouldn't need to bother with the timer and interrupts."

"We got 'em," Tim replied. "Might as well use 'em."
Terry asked, "How about using a serial port for talking to the main CPU?"
"The Micro Chroma 68 design is looking for the keyboard on a parallel port," I explained. "But if we modify the design and the monitor ROM, we should be able to get a serial interface to work, as well."

Chuck objected, "The 6805 doesn't have a serial port."

"True."

After a moment of thought, he said, "But I guess a single bit of a parallel port could work, the way it's done on the Color Computer."

"Bit-banging. We could put the 6805's bit operators to good use there, I think."

Carlos asked, "Which are you going to use?"

"I'll ask Julia later."

Several of the group chuckled.

"Because it's her keyboard, not mine."

Lupe raised a question -- "Does the Micro Chroma 68 use the status display?"

"Not with the current software, but, again, we can modify the software to use it."

"Then maybe we don't really want the display on the keyboard controllers we're building now?"

"That is definitely a design option," I concurred. "Or, if you want the display but want to do it another way, you could add a 6821 to the mainboard and have the mainboard CPU control it directly."

Tanya complained, "So, basically, for the last three days, we've been on a wild goose chase."

"Exploring options," I reinterpreted. "And learning how to use a timer interrupt, so we can use timed samples instead of riding the port to debounce the keyboard matrix. And looking deeper into what we might want to build."

Larry said, "Okay. Can we get back to debouncing the keyboard, now? Can we use the same timer setup that we're using for the display to sample the keyboard matrix and debounce it?"

"Explain."

"The whole point of the debounce is to be sure we read one keypress as one keypress? We could remember which key we saw in a variable, and check it on the next timer interrupt?"

"How long do we wait to accept a keypress?"

Julia recited, "300 words per minute is five words per second. At six letters per word, that's thirty keys pressed a second, or one thirtieth of a second."

Terry added, "That's about thirty-three milliseconds, so it's about thirty-three interrupts."

Freddie asked, "Can a key bounce take more than a millisecond to settle?"

Suzanne suggested, "We can count interrupts to time a keypress. Maybe sixteen interrupts is good to call it debounced."

I added, "We can experiment with that, and we might even want to add keyboard repeat functions based on counting timer interrupts."



Discussion of multiple simultaneous keys pressed.


State is sparse matrix -- matrix algebra

"Good, but let's think about it a bit further. What if we want to see keys that repeat?"

"We'd need to time it."

Suzanne suggested, "We could count interrupts as a way to time it?"

"Yep. Next question, what if we press one key, then another before we release the first? Can we figure out a way to let the keyboard key rollover, so to speak, to the next key?"

"Have some sort of memory buffer?" Terry suggested.

---------------

Then Carlos asked, "Okay, we've recorded all this state, now what?"

"How do we check to see if something changed?"

From there we talked about using the interrupt counter to tell when we needed to check whether the state had changed, and the about using bit masking and bit counting to tell which keys had been pressed and released, and so forth.

And somebody pointed out that the state table naturally kept track of key rollover, so we talked about adding a type-ahead buffer.

I had to leave to deliver newspapers, and, by the time I got back, Winston, Jeff, and Mark had their keyboards working with their Micro Chroma 68+6801s. Bob, Jennifer, Mike, also had their keyboards working, and those who had theirs working were going around helping others.

Suzanne had joined Julia, so I sat down with them and we got both of their keyboards working and interfaced with their Micro Chroma 68+6801s before time to shut down.

*****

"I need to make a stop in the library." I helped Julia wrap her computer in aluminum foil for protection.

"Can I come with?"

"Well, of course."

*****

"Intel 8086? What do you need that for?"

"Ammunition."

*****

After studying and singing, Julia played with her Micro Chroma 68+6801 while I studied the i8086/8088 manual and the TMS 9900 and 9940 manuals.

When I took her home and we shared a quick kiss on her doorstep, her mother opened the door and cleared her throat.

"Mom, not tonight. I've been studying stuff that is completely foreign to me. Joe calls it playing, but I'm tired."

"I have to admit to being a bit tired myself," I added. "Julia's keyboard is now talking to her computer. Tomorrow's going to be another long day, I think."

"Speaking of her computer," Mr. Cisneros spoke up from the couch, "I think she needs a box to put it in."

"True."

I went in and sat down, and we discussed plans for an enclosure for her computer. We talked about a box like mine, and we also talked about putting her keyboard in a separate enclosure so she move it around, and several other options, sketching up some plans, but making no decisions.



---------------

Lupe raised a question -- "Does the Micro Chroma 68 use the display?"

"Not with the current software, but we might ft ."

"Then maybe we don't really want the display on the keyboard controllers we're building now?"

"That is definitely a design option," I concurred. "Or, another way to add a display, you could add a 6821 to the mainboard and have the mainboard CPU control it directly."

Tanya complained, "So, basically, for the last three days, we've been on a wild goose chase."

"Exploring options," I reinterpreted. "And learning how to use a timer interrupt, so you can use the timer interrupt method of decoding the keyboard matrix. Or taking a side-tour to start designing a trainer."

Larry said, "Okay, let's get back to debouncing the keyboard. I guess we can use the same timer setup that we're using for the display to sample the keyboard matrix and debounce it?"

"Explain."

"The whole point of the debounce is to be sure we read one keypress as one keypress? We could remember which key we saw in a variable, and check it on the next timer interrupt?"

"Good, but let's think about it a bit further. What if we want to see keys that repeat?"

"We'd need to time it."

Suzanne suggested, "We could count interrupts as a way to time it?"

"Yep. Next question, what if we press one key, then another before we release the first? Can we figure out a way to let the keyboard key rollover, so to speak, to the next key?"

"Have some sort of memory buffer?" Terry suggested.




----------------

"In my ideal world, people could be lovers without having, you know, sexual relations."

"Do you think it would make it alright, to be torn between two uhm, platonic lovers? I don't think that even makes sense as a question."

"Heh. I'm not a fan of the song, either, but, like a jingle for fast food, it gets stuck in the brain."


picking julia up in the morning, talk about exercise, julia says she will drive Wednesday (but does not say reason is to to arrive early and exercise with Joe)

in lab, discussing how to deal with needing 8 more port lines because of seven segment display,introduce ls138


The doorbell rang as I was changing into gym shorts and a tee shirt for my morning exercises.

Giselle called out, "I think you should get it, Joe."

Puzzled, I pulled my tee on and carried my gym shoes into the living room.

Julia was waiting at the screen door in exercise gear when I rounded the hall doorway into the living room.

"Oh. So that's why you wanted to drive today. You wanted to come early and see what I do for exercise?" I gave her a cheesy grin and went to the door, ligting the screen door latch so she could come in.

"Well, more to join you than to watch." She loosened her shoelaces and left her shoes inside the door as she came in.

I set my shoes by hers. "I could have gone to your house early."

"And exercise with my parents watching? No way. Not the first time we exercise together. How do you usually start?"

"Warmups and stretches. The carpet in here is easy on the bones, but can slide about underfoot. The floor in the den is hard, but it doesn't slide you unless you're wearing socks."

"Barefoot it is, then."

We both left our socks on our shoes, saying good morning to my mom on our way through the kitchen to the den.

"You two focus on your exercises and I'll fix breakfast this morning."

Mom must have also been in on the plan.

We faced each other in the middle of the den. "And?" Julia looked at me expectantly.

"Uhm, I usually start with plié to warm up. Other than that, it's pretty random, and I'm open to suggestions."

"Ballet?"

"I learned a little from Louise and Giselle. I wanted to take a class in modern dance this semester, but they told me I already had more than the usual limit of credit hours."

She laughed. "You work too hard. I've picked up some things from creative dance classes."

For about ten minutes, we shared ideas about warmups and stretches.

I showed her the first three minutes of NHK rajio taisō, the Japanese public broadcasting system's radio (and TV) exercise routine. (You can probably find videos of people doing it, by searching for "NHK Rajio Taisō".)

"The hands and legs are opposite of plié."

"Yeah. In ballet's Plié, the beat of the hands and legs is in opposition, but in rajio taisō, they start together and beat in the same direction."

"So you learned all this dance from Louise?"

"And Giselle. I wanted to take a class in modern dance this term, but there was no time for it."

"Let's take it together."

"I wonder if I'll have time for summer classes, with the internships. I thought you were moving on to Texas Christian."

"Mom thinks I should postpone the associate's degree."

"You need to do what you need to do."

She didn't look happy with that thought.

"Of course, if that happens to be sticking around and doing undergraduate work at UTPB with me,  that might work, too."

"Can you study your Japanese at UTPB?"

"Nope. Push-ups and sit-ups?"

"Sure. What'll you do about Japanese?"

"I should probably talk to somebody at UT or BYU about correspondence work."

 Our conversation lagged for a couple of minutes while we focused on the exercises.

"Up for a run?"

"Sure."

"Want to run past your house? I think we can make it in ten minutes. I think you can borrow the shower on my parents' side of the house to wash the swe-- glow off."

She laughed. "That might make my mom's day. And I already checked with you mom on the shower."

"Glad somebody here is good at planning."

We told my mom we'd be back in ten and headed out the front door, running north to cross 42nd at Dixie Boulevard, then past the shopping center to run along the south edge of the park. We rounded her block, stopping at her house to say hi to her mom, then back around her church, following Lindale back to the intersection with 42nd, where Lindale turns into 38th, then followed 38th home.

Mom made sure Julia had what she needed for her shower, and I took a quick shower in the bath on Giselle's and my side of the house, and we packed our stuff in her car and headed to school.




Mention of the trip to the surplus store for disk drives, everyone plans to go, plans for picnic?
Framework makes debouncing easy
Having to use the anodes port for the column strobes? Add one-of-eight selects instead?
Using the interrupt input for system request



****

"We want to be able to have the CPU do other things besides display numbers, so we're going to use the timer built into the 6805 to count instead of having the CPU count, and we'll have the timer interrupt the program to actually display the numbers."

"Is this only for displaying numbers?" Tanya asked in a slightly petulant tone.

"Well, the numbers might mean things. For instance, if something goes wrong during boot, we could put an error code and an address on the display, to give clues about the error state. Or we might say that a blank display is an all-operational status."

I can tell your eyes are glazing over now, so, rather than walk you through it with us I'll just note that we read in the manual about the timer, and I walked them through initialization, using the pre-scaler to set the granularity, calculating the value to initialize the timer and pre-scaler to interrupt the CPU once every millisecond, and constructing the interupt routine to display the digits one place at a time.

Someday, somewhere in my blogs, I'll show the complete keyboard debounce and status display routine, complete with display suppression and other features that we evenutally added. Suffice it to say that we had Julia's status display functional at a usable level on Monday before I went home to deliver newspapers, and that about half of the group had theirs functional by the time I got back.


Tuesday I explain that we need more computers running, so Julia's is not just Julia's. Then we forge ahead into the keyboard decoding.

Wednesday, while students are catching up, Julia, Mark, Jeff, Winston, and Suzanne dig in and get their computers ready for RAM, ROM, burners, disk controllers, etc., while I study the Forth manual and the TMS 9940 datasheets.



Which is what we did. Again, Doctor Brown let them work while I was delivering my newspapers, and Julia, Mark, and Jeff helped those who needed help with the tools on the Micro Chroma 68.

About half of the group had their display routines working well by the time I returned to pack things up.

From Monday to Wednesday, in lab, I let the others work while I helped Julia program her keyboard controller. Someone was watching over our shoulders as we worked, and the structure of the code made the rounds -- the interrupt handlers, the state tables for the keyboard matrix, the translation matrix for the LEDs, etc.

Bob and Jennifer pretty much got it worked out for themselves, and we compared notes.

Mark, Jeff, and Mike picked up what we were doing, and also had their keyboard controllers working shortly after Bob, Jennifer, and Julia and I had ours working.




It's tempting to go into great detail on the keyboard decoding and the status display. Maybe, one day, I'll write a book on how to do it with parts you can buy now. 6805s are kind of hard to get now. (It would fill an entire book, yes.)

I'll note that I walked the group through several ways of keeping keyboard state for use in debouncing. Some of the students understood when I






Pascal, book of Ether, keyboard with Julia
Ed Snyder's black stealth keyboard

monday
Julia and I work out the keyboard and seven-segment status display
class also progressing, work on 68705 trainer monitor
home evening with Julia's family and missionaries, second discussion,
recital practice every evening all week

tuesday, wiring Julia's with memory switches, DMA controller, ROMs, full RAM
continued work on trainer monitor
communicating with TSC about drivers
(evening?)

wednesday,
Julia's EPROM/MCU burners, my daughterboard starts
class continues with trainer monitor, etc.
her scripture study group

thursday,
diagramming,
first peek at forth
class completes trainer monitor.
our institute

friday,
trip to austin
meeting with motorola, Julia asked to join
discussion of
-- floppy controllers
-- 2801 address spaces, I/O based memory banking, call stack cache
-- RISC concepts
-- 2809 similar to 2801
-- 31609 with 32 bit addressing
-- 38000 with stack caching

saturday
Julia's disk drives

(Nos) besaremos cuando y como queramos.
cuándo y cómo

Trip back, too much heavy kissing, discussion of information sharing?
Managers and bishops who don't know what to do with information that comes up.

(In notes for bringing up flex:)

Denny called about the time we were wrapping up, and Julia got on the extension in Dad's study to say hi. It seemed it would be appropriate to make a run to Austin the next weekend, and to leave immediately after our last morning classes so I could visit with some of the management at Motorola Friday evening.

"You, know," Julia said, "if I went with, maybe I could look for floppy disk drives at that surplus shop on Saturday before coming back."

Denny checked with Denise, and they decided Julia could sleep on the couch in the living room and I could sleep on the floor in a sleeping bag in the boys' room. Julia's parents said they thought it would be okay, and Mom and Dad suggested we pray about it.

Which we did. No one felt inspired to object, 

Julia suggested she go with me, so she could go looking for her own disk drives.


Talk about duty cycle and mention DtoA as a way to adjust brightness.


Julia returned to working on her keyboard/trainer, while I dug back into my test routines. 


Watching the students work on the keyboard and keypad matrix decoding,  became clear to me that, while the bit I/O instructions might be useful for certain singular, non-generalized kinds of code, a keyboard or keypad matrix contained a lot of repeated elements. Ultimately, shifts and logical instructions would provide the more general scalable solution.

I stood up and demonstrated the concept of a state array for the matrix, then suggested we put it on a back burner and look at the seven-segment LED displays. This time, the bit I/O instructions were ignored, and several groups formed around defining an array of the segment patterns for each integer. Some of the students wanted to turn the translation array upside down for some reason, but I didn't stop them.

Suzanne's and Winston's and Winston's mainboards were both up enough to display the TV-BUG prompt by this point, and the four of them joined the rest on the keyboard/trainers.

It's tempting to go into great detail on the keyboard decoding and the status display. Maybe, one day, I'll write a book on how to do it with parts you can buy now. 6805s are kind of hard to get now. (It would fill an entire book, yes.)

I'll note that I walked the group through several ways of keeping keyboard state for use in debouncing. Some of the students understood when I


Since Flex was running on my Micro Chroma 68, I was able to load the cross-assembler, and we had several students burn code into their 68705s for testing before time to shut down.

Mike kept trying to work out how to set the keyboard state up as an array, but he couldn't seem to quite pin it down.

I shook my head, and she led me out the back door. There was a large tree with a tire swing

I guess there were no surprises on Sunday, unless you would consider it surprising that Pat and George attended Julia's congregation again. They slipped out before we could talk with them. We didn't see Mike.

Or you might consider it surprising that Julia and I joined the choir in my ward, preparing for Easter Sunday. No?

I suppose it would be no surprise that Julia insisted on calling Denny and Denise to ask if there were room for her to stay overnight Friday. With a bit of discussion, it was determined that she could have the couch in their living room, and I would roll a sleeping bag out on the floor of the boys room, and both our parents approved that plan.

That Sunday was about as one might expect, I think. In the morning, I visited Julia's congregation. Pat and George came and sat in the back. Mike slipped in before the sermon started, and all three slipped out before we had a chance to talk with them.

In the afternoon, Julia visited mine. This time, she joined our choir practice in between meetings and young adult family home evening.
I told her about needing to go to Austin before her meetings, and by the time we were finished with mine, she had decided she was going with me.


"Floppies multiplying like rabbits," I grumbled.

She laughed. 




tendency to idealize/idolize foreign



Chapter 13.5: what?

[Backed up at .]