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

Monday, April 20, 2020

Backup: 33209: Headwinds -- Project

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


Chapter 11.5: Headwinds -- Presentation

Chapter 11.6: Headwinds -- Project


"That's the kind of question I think we should all thinking about and answering for ourselves. The 68008, specifically, isn't available yet, but it might be by the time we get ready to build at that level." I looked over at Ms. Philips and Ms. Steward. "Can you tell us anything about that?"

Ms. Steward consulted in whispers with Ms. Philips before responding. "Target dates for production are next year. At this time there are no plans to sample pre-production units to students, but that might change. I was allowed to bring a few of the early announcement datasheets. Should I pass those around?

"Sure." I waited for her to pass them around and for students to gather around to get a look. "The 68008 will only need 8-bit wide RAM, but it will still be able to handle larger addresses -- not as large as the 68000, though. The eight-bit data bus will impact speed, and it may be as slow as the 6809 at similar memory access rates, for stuff that doesn't use a lot of multiplies and divides and doesn't require a lot of memory."

"Some of you might want to use it. Or you might want to use an 8086, or a 9900, or even the upcoming 99000." I glanced over at Dave.

"Sorry." He tilted his head apologetically. "Really can't talk about that yet. But can I pass out literature for the 9900 and 9940?"

"Oh. Definitely. Please. Right now would be a good time to look at some of the other options, which there are lots of."

Several students helped him get spec sheets and other docs from the backpack hanging on the back of his wheelchair and pass them out.

"The only issue being programming tools," I added.

"Tools?" Mike was busy studying the 68008 spec sheet, but he didn't miss that.

"If you choose to work with one of the processors I'm working with, I can help you with the development tools. Dr. Brown has tools that go with the Intel 8080-based trainers that the school already has. Otherwise, you'll have to find other ways to get access to the tools you'll need."

At this, Dave turned to Jayne. "Tools, we can help with, right?"

She nodded. "We can definitely loan a software development system to the school for the 9900 and the 9940. I'm not sure if we can match Motorola on sampling microcontrollers, but I'm willing to see what we can do."

"Thanks," Dr. Brown responded. "Knowing we can access tools may be more important than getting parts to evaluate on the cheap."

Ms. Steward spoke up. "We'll talk about tools for the 68000 series and 6805 series later? And sampling, too, since Mr. Whetton mentioned that."

"Thanks. I don't particularly want to waste time telling people what to do, and the more CPUs we have reasonable access to, the easier it'll be to avoid copying each other's work. Anyway, I wanted everyone to have more of a chance to look ahead."

While I waited for students to get a good look at the data sheets, I sketched another diagram in an open space on the chalkboards.
 

"As you will recall from last week, this is roughly our first suggested target. Today, Mark and Jeff have been kind enough to prepare some hardware that will give us a good idea of what my thoughts on the first step look like."

"Should we pass our schematics around?" Jeff asked.

"If you think it's okay. But no copying, there won't be time anyway. Just get a good look at it and pass it on. Do you want to demonstrate yours first, Jeff?"

"I got it."

Mark  passed one schematic one direction and the other the other, and Jeff stood up and held his prototype up where everyone could see it.

"I've got just enough of it wired to run a test program that Mark and I came up with to scan the keypad and light the display segments in a cycle."

"Where did you get the keypads?" Suzanne asked.

"There's a surplus store in town. They didn't have very many, though."

"If there's not enough, there's that surplus shop in Austin, too,"I mentioned.

Mr. Cisneros spoke up. "Uhm, Julia?"

"Uh, yeah, Dad. Dad knows the shop Mark and Jeff went to, and he's arranging for them to get more parts in."

I looked over at Mr. Cisneros and dipped my head. "Thanks."

"No problemo."

"Should I show them what happens?" Jeff asked.

"Sure."

He plugged power into his prototype, and demonstrated pressing the key and letting the display segments light up in cycles a couple of times, and then Mark showed his doing the same.

After demonstrating, they explained their code to the other students.

"How," Freddie asked, "does a microprocessor have time to do anything else, if it's sitting there forever watching the keyboard ports for a key to be pressed?"

"I guess it doesn't." Mark looked at me.

"Let's get a 'scope out and see if we can watch what the processor might be seeing when a key is pressed." We hooked an oscilloscope up to show the voltage on the key Mark had his circuit set up to trigger on.

"What's the fastest speed you've ever heard of someone typing at?"

Julia raised her hand. "Three hundred words per minute is really fast."

"Yeah. And they calculate that at five letters per word, right?"

"Right."

"So how many letters per second?"

Jerry answered quickly, "Three hundred divided by sixty is five words per second."

"That's fast!" Giselle exclaimed.

"Nearly superhuman," I agreed.

Julia smirked, and I raised my eyebrows, but she just shook her head.

"But we want to talk about limits, anyway. Continue, Jerry?"

"Five times six is thirty keystrokes per second."

"Very good. Who saw what he did, there?"

Pat raised her hand, "Space bar?"

"Right. So, how many milliseconds per keystroke?"

Bob, yet another of the microprocessors class students, said, "Thirty-three."

"Okay, let's set the 'scope for a hundred millisecond sweep and set it to trigger and capture on a pulse."

Jeff said, "I'll get that," and adjusted the oscilloscope.

"I'll hit the key," Julia volunteered. She pressed the key gently, and the oscilloscope recorded the waveform:





"Hmm," Bob was counting rules on the grid. "Eighty milliseconds?"

"Seventy, eighty, that's the way it looks to me. But the part we want to look at is the contact bounce. How long is it bouncing?"

Everyone looked at it, and Suzanne said, "About ten milliseconds on each end. That's a lot of bounce. Probably too much for 300 words per minute."

"How did you calculate whether it's too much or not?"

"Gotta be stable for longer than it bounces."

"Or," Bob corrected her, "at least as long, and that's a ten millisecond stable shelf between contact and release, which is right at the three hundred words per minute point."

Freddie suggested, "So we put an RC pair on each switch, I guess?"

"Some expensive keyboards have a diode on each keyswitch. I'd say a resistor and a capacitor too isn't completely far-fetched," Dr. Brown joked.

"Let's look at that shelf." I reset the oscilloscope. "Julia, can you do that again, as fast as when you're cruising?"

She raised her eyebrows at me. "Sure."



"So, if you set the microprocessor up to look at those every three milliseconds, and take it for a keypress when you get at least three highs in a row followed by at least three lows in a row, would that debounce this keyboard at Julia's cruising speed?"

We spent five minutes or so working out what it meant, with students drawing diagrams and doing math, both in their notes and on the chalkboard, but no real code.

"So," I concluded, "if we had a timer to take care of interrupting the processor three hundred times a second or so, the processor could debounce the keypad and have a fair amount of time left over for other jobs, right?"

Not everyone was convinced it would work, but the concept had taken hold.

"This kind of thing is what the timer in the 6846 chip in the Micro Chroma 68 might be used for. The Micro Chroma 68 also has another chip that does timing. What is it?"

Bob responded, "The video generator."

"Exactly. The 6847-based video circuitry has lots of timing circuitry to get the scan lines and frames up and legible, and it can interrupt the CPU for things like this. I'm not sure it would keep up with Julia, however."

Scattered chuckles.

"Okay, my brother tells me that Motorola is offering to sample us 68705 parts that are similar to these 68701s, but have a smaller register set and use a different instruction set, for those who want to turn their trainers into a dedicated keyboard and keypad controller. They'll also provide the cross-assembler to program the 68705s with. Is that correct, Ms. Steward?"

"That's correct."

"Do these 68705s have timers built in?"

"I believe so." She dug into spec sheets she hadn't handed out. "Yes, they do. By the way, we've cleared sampling 68701s, as well.  Let me pass out spec sheets for those, too. And I've brought a cross-assembler for the 68705s with me, for you."

"Great. Thanks."

Again, one of the students close to her helped her pass the spec sheets out.

"Your brother will be testing parts that come by way of quality control, but he'll give you only parts that meet the published specs. They may not overclock very well."

"No overclocking? I'm insulted!" Bob laughed. "Just kidding. This is way cool."

"What's overclock?" Pat asked.

Jennifer sighed. "It's running a part at frequencies higher than it's rated, just to prove your -- just to prove you're a man or something." She shook her head in amusement and disgust.

"Hey!" Suzanne complained. "It's not just guys. I like to push my parts to see how fast they go."

There were scattered snickers, which I ignored, while I offered a quick prayer for guidance.

"Take it how you want." Suzanne grumbled.

Julia's eyes narrowed as Mike smothered his reaction, and she turned to watch for my response.

"8085 at twelve megahertz?"

"Sixteen. It got a little warm, but it ran. I only tested it for a couple of minutes, though."

Now there was more normal laughter.

I grinned. "I'll take your word for it. Fortunately, decoding a keyboard doesn't require that."

She laughed. "Fortunately."

"Before I forget, Dave, is there a timer on the 9940?"

"Of course."

"Great. That'll help us. Well, I think we've covered enough that everyone should be able to make informed choices about which path to pursue from here, whether you want to build a trainer that you turn into a keyboard controller or want to target expanding your trainer into a full computer, letting the main CPU handle the keyboard. And you probably have some better ideas about what kind of CPU you want for the main CPU."

Jim, the fifth student of the microprocessors class asked. "Can we mix brands? I mean, use a Motorola processor for the keyboard and an Intel processor for the main processor?"

"I'd say that's up to you. Dr. Brown?"

"If you want to do that, I see no reason why not, as long as you or we can get the tools. We don't have tools for the 8086 yet, but that might change if I do a little work. You won't mind helping me with that, will you Joe?"

"I can try. What have you got in mind?"

"We can talk about it later."

"Okay."

Ms. Steward picked the Motorola ball back up. "Should I mention the Micro Chroma boards now?"

"Uh, sure."

"I understand that there are some students who want one. We can make a number of them available at at student pricing. However, we're trying to encourage moving on to the 6801, so we won't be sampling the 6802 with them. We'll be sampling a 68701, instead. That means those who want one will need to build daughter boards to fit, which I understand you will be helping with, Joe?"

"Yeah, I volunteered for that one, too. No sampling 6809s?"

"No."

"Okay, so, we have a couple of options already, for those who want to go with the Motorola CPUs." I added to the workstation diagram on the chalkboard, showing the two options, one where the keyboard decoding and debounce were off-loaded to a micro-controller, and one where the main CPU controlled the keyboard directly.


George asked, "What's the difference between a keyboard and a keypad?"

Bob joked, "The number of keys."

"That's actually pretty much correct. With a bit of planning and wiring, the same decode circuit could also decode the full keyboard matrix."

Larry, the only member of the microprocessors class to have not yet spoken, asked, "Does the 6802 in the Micro Chroma 68 decode the keyboard?"

"Nope. That keyboard is decoded with LSI parts, a counter, demultiplexor and several latches. And it has problems with key bounce."

"Yeah, it does." Mark interjected.

Julia added, "Giselle's computer does, too. Is it the same?"

"The Color Computer's main processor decodes the keyboard, and, let me just say that I am unimpressed with whoever wrote the code for it. It spends a lot of time just watching the keyboard."

"I could wire a keypad into the same switch matrix as the keyboard. The cursor keys, by the way, are outside the keyboard matrix proper, tied directly to individual input bits on a parallel port. Lots of ways to do things."

"Who wrote it?" Freddie asked.

I looked at the screen, and everyone turned to look at it. Giselle reached around behind and hit the reset button. A number of people stood up to get a better view, including the three corporate contingents.

There was a kind of collective, "Oh."


Chapter 11.7: Headwinds -- Interviews

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


No comments:

Post a Comment

Keep it on topic, and be patient with the moderator. I have other things to do, too, you know.