Monday, August 24, 2009

(Your Joking)

I pull in at the local Shell service station to get some mints, they are eighty six cents, I put a dollar on the counter. The Indian guy is casting around for something.

"What's up?" I say
"I am looking for the calculator, the machine is broken."
"Mate, it's fourteen cents" I say, incredulous.
"The change, it's fourteen cents"
"Ah, I found it!" He is relieved. click click click
"You are right, it's fourteen cents"
We don't have one cent coins anymore, So what's going to happen next I wonder?
He hands me fifteen cents. (Why were they priced at eighty six cents anyway?)
"Aren't you doing computers at uni?" I ask.
"Yes, information technology."
I'm almost speechless. I have chatted with this guy before, he going to a uni or college for computers.
"How are you going to get on with 2s complement, signed and unsigned stuff?" I ask
"Sorry, what compartment?"
"Never mind, see you later." I say, and exit the shop.
I hope he doesn't end up building missile software.

That night I think about this, can I still remember this complement stuff? Do IT guys even need to know this anymore.

    *= $0000
    LDA #$56       ;86
    EOR #$7f       ;xor 1111111
    ADC #$81       ;2s complement
    ADC #$64       ;add to 100
    STA io_puth    ;should be 14
    ;Another easier way, no complementing at all
    ;Must remember the borrow though
    LDA #$64       ;100
    SBC #$56       ;subtract 86
    STA io_puth    ;should be 14

Hmmm, took me a bit longer than it used to. Peter Norton reckoned that assembler was a waste of time anyway. So perhaps you don't need to know this stuff. Maybe why the HP-16C is dead and burried. But surely there is a line. OK. I can't do long division - I use a calculator. But eighty-six from a hundred? Julius Sumner Miller hated calculators. Kids will become "Mathematical Slobs". He may have been right.

Look what the car and other appliances have done to our waistlines and fitness. What will these 'thinking' machines do to our brains. It's a way off yet, but we could all come to a sticky end.
Deus Est Machina


Friday, August 21, 2009


The ET-3400 micro circa 1977
Finally, that last word in CS/EE middle aged crisis must haves! Or one of 'em at least. How does it rate against an HP XW4400 Quad Core2 Extreme - heaps more fun!

  • 512 bytes of RAM. Fully populated! You need to lash out now and again. I look around the house wondering if anything has less, maybe the microwave?
  • 1MHz clock. No need for logic analysers, just hook the LEDs (middle left) to the bus and you can check by eye.
  • The formidable 6800 mpu. Worried about processor verification and errata? not with this baby. Even the HCF instruction was by design.
Yes, those were the days. Back when men were men. Back in my day, even seven segment displays were luxury lad, we had to debug by putting tongue on bus and taste the binary stream. Mass storage? huh! I spit on mass storage, we trained like piano masters to store code in the muscle memory of our hands. A second or so and our deft but flashing fingers would have the boot loader in and running. Yes within seconds we could calculate the, .. well we could calculate, and you had to debounce the keyboard with your fingertips!
Yers young'uns are spoilt today.


Wednesday, August 19, 2009

The more the merrier - maybe.


Monday, August 17, 2009

...a better mousetrap

I didn't realise just how popular this little utility was. Over ten thousand downloads since I wrote it in 2002. It's been drifting out the door at about 130 downloads a month for seven years.

What is it?
Microsoft Access is a great front end development tool for JET, SQL Server or other database engines. Brilliant GUI and report building. But, it likes to change records when the mouse wheel is scrolled. This can be dangerous during data entry and although it can be controlled with various techniques in code, it is a repetitive and depressing process.

Mousetrap is a COM control you simply 'drop' onto to any Access form to curtail the record movement due to scrolling.

Monday, August 10, 2009

World Series - Infinite Series

I was wondering what was involved in computing transcendental functions. sin or cos (whatever) in those early HP calculators, and doing it whith a rudimentry processor. After chatting with a mathematician friend he thinks they used reduction and aproximation or an infinite series (like Taylor...).

It's one thing doing that on paper, quite another doing it with basically rotate and add and a few registers.
I mean I have even got an assembler listing for a Sin() function on the 6502 and it's still tough going.
Those guys really earned their bread and butter.

Thursday, August 6, 2009

Patient Survives

The old girl survived the quad cap bypass and reassembly. No smoke is always a good sign. The soldering on the previous repairs was pretty scrappy. Resin and splash and scratches everywhere. I was wondering how I would go. I used solder wick to clean the joint. The bad caps almost pulled straight out and my resoldered joint look OEM.

Notice the B-1.1 rev level, the 1s are not very bright at this end of the tube. I can just make out the Cathode so I guess increasing the filament drive is risky. It may be that the grid voltages for these last cells are low but my guess is these things may have a 'hot' end of the cathode, and if so, it has beaten up those phosphor segments.

Remarkably the 16-SY-03Z VFD can still be sourced.

Wednesday, August 5, 2009

Evil Flowers

I recently purchased an old EPROM programmer. A Digelec 824.
A wonderful old machine manufactured in the USA.
Anyway, I got to wondering about what might fail on the old girl. I thought I might get the details for the UV bulb and give the power supply the once over. Lucky I did. A couple of the caps were about ready to die and possibly take some other components with them.
Notice the caps opening like evil flowers.

When I examined the underside of the board I noticed some previous work. The blue cap is a replacement from earlier days. Close call.
The bulb is thankfully still available as aG4T5 Fluoro Tube.

The Digelec 824
The main logic is based around the i8085 cpu. Typical US quality from back then, nearly every chip in a socket. Well engineered to last a lifetime...which it almost has. It can be used 'stand alone' or connected to a PC via a serial port. The manual gives a complete rundown on the serial commands and I have nearly finished a 'windows' version of the software. However, apart from storing binary images to disk, this thing is almost easier to use via the keypad and the Alpha Numeric display. The UV eraser is a slide out draw in the bottom of the unit.

Although the modern USB units can do a greater range of chips faster they lack the class or that mysterious something that the Digelec has.

Softlink Software for the Digelec

Saturday, August 1, 2009

Analyse This

If one is foolish enough to try to design your own cpu, as I am, you might find yourself in need of a 'logic analyser'. I have a Mixed Signal Oscilloscope (MSO) from Bitscope. You can feed it data from a bus and it has programable logic triggers, however it has only a small amount of memory.

Now the problem is that the bus activity is sampled at n rate, basically polled. So one has to juggle the sample rate to get the largest capture without 'missing' an event.
Now I might be missing something here, but what I want is an analyser that latches the bus whenever there is a change on selected lines. My device needs a fast clock, so that when the bus is latched the state is saved with a timestamp to memory. If we use a 32 bit clock we need to save 5 bytes per event. That's 5 bytes only when something happens. The replay is the state in a timeline - easily displayed in multiple formats. So instead of saving multiple copies of the bus because of oversampling, we are now saving only the state changes using an interupt model.

This can't be a novel approach, yet I can't seem to find an instrument that works this way.
If anyone knows something I don't (nearly everyone) feel free to comment, before I get to far into building my own.

This thing looks interesting.
Perhaps with super speed and stacks of memory it might be a case of who cares.


Grandpa's iPod

Do you listen to podcasts?

I am a sometime addict for Leo La Porte or Dr. Karl.

Now the odd thing is, when I mention this to some older people, even those that have the skills and computer or iPod to listen, many indicate that sitting around or otherwise listening to a 'podcast' is too modern. A pasttime for the younger set.

Huh? What is the difference between listening to a 'wireless' show on the ol' Zenith in yon olden days and the current podcasts-really?

One advantage is that you can listen to the podcast at anytime, provided it is still on the server. The old radio shows started at a point in time - miss it and it was gone. Now whilst I personally never sat around the wireless (radio) listening to a weekly show, or president Roosevelt giving a fireside chat, I have heard of it. I have even seen it on old news-reels and movies. I would have thought the oldies would love it! Has TV really eaten away the notion of listening to a 'show'?

And what about audio books? I think they are great, or at least the idea. I mean that has to be even closer to the radio show serial. The only problem with audio books is the complete catalog is not always available due to distribution rights in some countries. (mine for instance)

Zune sounds more like a grandad word than iPod don't you think?


Wednesday, July 29, 2009

Intels Bugs - Part 1

Several months ago I noticed that my xw4400 HP workstation would take a quad core cpu. I'll admit the quad core I put in wasn't the one in the spec. The spec called for a QX6700 and I used a Q6600. What I didn't expect was an error during boot. The error was an 1801 bios error. Basically it meant that the bios did not have the microcode for this chip. There is no fix and nor will there be. (see last paragraph) Although you can continue with (F10?) and it appears to run fine. (not exactly post Si verification)

What was this microcode?

There is either a form of ROM, diode matrix or CAD generated state machine logic in the cpu. A mini program that implements your program (machine code x86).
It turns out that nearly all Intel chips have bugs. Intel coyly calls them errata.

Bare in mind today's chips are really really complicated and the reliability of Intel processors in general is outstanding, but I was a bit surprised. Not having kept up on cpu design all these years.

Anyway, the bios identifies the cpu and uploads the appropriate patch to the chip. IBM used this sort of 'microcode' in RAM in the early days (real early) on their 360 systems.
I guess the patch is supplied by Intel to the bios or main board manufacturer. It may be that your bios doesn't give a rats which cpu is running and just accommodates it.

Microsoft to the rescue.
There is a KB article and download from Microsoft that apparently patches Intel cpus. Microsoft calls it a 'reliability update'. It can be found using the link below.

In my case HP were on the job. Their position is that the XWs are a high end workstation and everything must be tested and speced out. The Q6600 either had to many bugs or was not considered. The MS patch ain't there at boot so I caved and bought the darn QX6700.
Some things at HP are still the same.