Saturday 22 December 2012

LED Clock Part 3 - Display Multiplexing

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

Recently I've been looking at replacing the circuit in an old LED clock that finally gave up after 30 years faithful service. Previously, I've looked at a simple replacement and a teardown of the original clock.

Having now given up on CPC supplying the LED displays for the replacement circuit (I'm told they're due sometime in January), I've decided to look at reusing the original display. It's unusual as most LED displays these days are sealed units, where as this one has LED chips on a PCB with a white frame around that and a red diffuser on top.
You can just see the some of the segments are lit, they're just washed out by the camera flash. The method of driving is also unusual and is one of those circuits that I just don't think anyone would design like that these days.

Traditionally, you have two options to drive a 4x7 segment display, either directly drive each segment from an IO pin via a current limiting resistor, or multiplex the display digit by digit. The former option requires 4x7 = 28 IO pins and current limiting resistors and all segments are connected to ground. At 10mA per lit segment, it would use 280mA worse case. The later saves both pins and power, at the expense of more complicated software. The segments are all wired in parallel, but the grounds are switched per segment. So for example, although all the top bars (segment A) are driven from the same IO pin, only one of them will be switched to ground at any time. So the loop is:

  1. setup the output for the first digit, 
  2. turn the first digit on (the display now shows 1_:__) 
  3. wait a set time, 
  4. then turn off digit 1 
  5. setup for digit 2, 
  6. turn on digit 2 (the display now shows _2:__)
  7. wait...
  8. and so on
If you do this fast enough (usually > 50Hz), persistence of vision takes 1_:__, _2:__, __:3_ and __:_4 and merges them, so you see 12:34. This only need 4+7 = 11 IO pins, 7 with current limiting resistors for the segment anodes, and 4 with drive transistors to control the common cathodes. The power is also reduced as only one digit is ever on at a time, so the worst case is only 70mA.

The display on this clock was sort of an unorthodox mix of the two. Rather than 1 phase for each of the 4 digits, this has only 2 phases, each of which controls bits of each digit. There are no current limiting resistors as the IO pins of the TMS3450 are current limited at 18mA. The common cathode drive transistors are also missing as it makes use or a rather neat trick, but one as I said, I don't think anyone would come up with these days. What it does is use the ac from the transformer which already alternates at 50Hz, fed via diodes, so that on each cycle of the mains, one of the common cathodes sinks current as it's on the negative cycle. The other is on the positive cycle, so the diodes are reverse biased and therefore off. The flickering of the F segment on the hours I used to see occasionally must have been due the timing drifting slightly out and this being set before the phase cycle was complete.

I've slowed down the cycle. Here is phase 1:
And here is phase 2:
When switched fast enough, you get the combined result:
So, can I drive this from my microcontroller? Yes, it's just a case of providing 14 io pins for the segments and 2 drive transistors. I used MCP23008's for the segments, one for the hours and one for the minutes. The colon and the common cathode transistors were driven direct from the ATMega328P. I added a DS1307 real time clock, as per the simple version, and here it is, the slightly more complicated LED clock:
The next step is to build that up on veroboard and install it in the original case.

On to part 4, finishing the LED clock

Wednesday 12 December 2012

LED Clock Part 2 - Teardown

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I am working on a more complicated version of the 'Simple LED Clock' in my previous post, however this is currently delayed as CPC has messed up my order again and I'm still waiting for some of the parts I ordered. So the prototype is currently using 2 MCP23008's to drive one digit each:
Whilst I'm waiting, here's a look inside the original 30 year old clock.
Inside there's a lot of space where the radio used to live.
It's a three board construction
With one for the top buttons, one the logic board with a single IC and finally the display
The chip is a TMS3450NL, and the date code (32nd week of 1983) seems to fit with the 30 year old estimate.
I have managed to find a scanned datasheet for the chip:

After all this time of putting up with a 12 hour clock, I find that not only did the display have sufficient segments to display 1 and 2 (but not 8), the chip supported 24 hour mode, it just needed a pin shorting to ground.

On to part 3 - more on display multiplexing.

Friday 7 December 2012

Simple LED Clock


This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

For the last 25 years or so, I've had an old LED bedside clock by my bed. It was discarded by my parent's after they'd used it for a good few years as the radio broke, so is probably about 30 years old in total. I think I fixed the radio, but I never used that anyway, At some point, I replaced the alarm-triggered radio with a relay to turn on first a light and later (ironically) a radio. But for most of those years, it simply stood there with 3 1/2 seven segment led displays showing me the time.  It was a 12 hour clock with an LED to indicate PM. I personally prefer a 24 hour format, but I put up with that as I suspect the leftmost digit can only display a 1 (i.e. is missing the segments to do 20:00). Also a couple of the segments occasionally flicker at half brightness when they are meant to be off, but again that wasn't a major issue.
It's been pretty solid for all those years, I hardly ever had to adjust it, twice a year to add or remove an hour for summer time, and the occasional tweak to the minutes, and of course resetting it after power cuts. I suspect it used the old school technique of counting the mains 50 Hz cycles. Whilst it can vary by a few Hz, it is (or at least used to be) guaranteed to average out to 50Hz over 24 hours. So clocks like this one just filter the ac from the mains transformer, and every time they count to 50 increment the seconds counter.

However, last week I noticed it was out by a few hours. I readjusted it and later found it was out again. It seemed to be ok for a day or two, then I was it was about 6 hours out again. I reset it and then saw it was incrementing the minutes about every 30 seconds! A quick check with a meter showed the mains frequency was 49.95Hz, so it couldn't be that. At this point, I decided it might be time to replace it.

I have designed and made a number of clocks over the years, many using a 40 pin PIC (16F874), multiplexing the displays with a high side driver (ULN2803) an open collector driver (7407). I also liked to use tri-colour LED's which faded through the colours from red to green as part of the display multiplexing.
However, it seemed only right that the replacement for this should be fairly plain red 0.56" 7 segment displays as before, nothing fancy. There were two main elements to deal with, the clock and the display.

The PIC based ones main clock was derived from a 4.194304 MHz crystal which can be divided that down to get a 1 Hz counter (4194304 = 2^22). For this, I'd decided to go for the easier option and use one of the DS1307 real time clocks. This should have sufficient accuracy and a battery backup. This is a nice simple DS1307 module from adafruit.

I went through a few designs for various display options, the favourite using I2C IO expanders (MCE23008 or MCE23016) with direct drive. I finally went for something even simpler. An I2C controller 4x7 segement display module, also from adafruit.
Building up the circuit with an Arduino and the two I2C modules was embarrassingly simple, 8 wires in total!

The code with then almost trivial as well. Ask the rtc what time it is, update the display. sit around doing not very much for a while. Then start again. I went back and added a 2 Hz flash of the colon so that the Arduino didn't get too bored.

I didn't even bother with setting buttons as the adafruit library made it easy to sync the RTC to the PC time, and because of the battery it maintains that time. The date is also set (although not displayed - something I might think about for the future?) so I could expand the code to adjust for daylight saving.

So there it is, about as simple as I could make it. Lets hope I get 30 years out of this one!

Onto part 2 - a teardown of the original LED clock

Saturday 27 October 2012

Raspberry Pi as a Subversion Server

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

We hit an issue with a client I was doing work for that required a subversion source control server. Up until that point, I'd been working at home using svn on my ubuntu server for source control. When this work was moved into their office, I transferred the repository from that server to the machine I was working. There was no suitable server available at their office and at that point I was the only developer working on the code.

Now they've taken on a graduate developer to also work on the code and it's not really practical to rely on the server on my dev machine. There is a NAS available, but although it looked at one point that it should be able to run subversion, the minimal linux firmware on there was sufficiently broken to stop us installing subversion.

So we were looking at taking the drives from the NAS and building up a linux server. Then a bit of lateral thinking led to the idea of using the raspberry pi as a server. The pi was setup with the latest version of raspian with the memory split as 240 MB / 16 MB as it is running headless.

CIFS was used to mount a folder on the NAS to hold the repositories and subversion setup. The pi only needed a LAN cable and some power. The repositories were migrated from the dev machine to the new shared Raspberry Pi SVN server and away it went.


So, I've finally found a use for a raspberry pi. I had lots of ideas when I originally ordered them on release day earlier in the year, and several more whilst I waited for them. However, when I finally received the original 256 MB model B Raspberry Pi boards, I was a bit disappointed. There were a few practical issues, like the lack of mounting holes and the connectors sticking out on all sides and the USB connector not being level with the LAN magjack. There are ways around those (see mounting details inside a ZX81 here), but the main issues were the low memory size and the lack of hardware mpeg decoding. And finally, the early recommended distributions were a bit flaky.

Now, things are a bit different. The model B is shipping with 512MB, and some mounting holes. Raspian is looking a bit better and there are options for licensing the mpeg decoder. So with a new one on order, hopefully some of the original ideas might now be possible. Watch this space!

Friday 10 August 2012

Ikea's record breaking shelves

Oh dear, after several years the Ikea Lack shelves have finally given up.....

Wednesday 18 July 2012

ZX81 USB Keyboard Mark II + Raspberry Pi

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

Following on from my earlier posts about turning a dead ZX81 into a USB Keyboard here, a reader of this blog asked me to make him one. His plan was to also fit in his Raspberry Pi and produce an all in one unit complete with working keyboard. A few days later, a ZX81 arrived from him in the post and I set to work.


The first task was to try to fit everything in. Space is limited inside there, after all the original unit always boasted there were only 4 chips inside (although some ZX81's had 2x2114 RAM chips instead of the single 4016 which took the total to 5). The Raspberry Pi has three (there's a RAM chip sandwiched with the Broadcom chip). Four if you count the SD card. Five when you add the ATMega 328 on my USB Keyboard board. So we're on a par, and the chips are smaller, so it should fit fine....


This seems to be the best option so far, the audio and composite are poking out of the ear and mic sockets, and the rest of the cables can run out of the back. You can even see the LED's through the TV connector cutout. There are a couple of pillars to remove, but otherwise there's no cutting. It does actually close properly, it's just slightly open in the picture.


The USB plug at the top doesn't quite fit, but you can just see from the transparent one in the photo, it should be possible to cut one down to fit. That didn't leave much space for the keyboard. It also introduced the issue to wear and tear on the delicate membrane tails from the keyboard. If the case had to be opened to access cables and change the SD card, it was going to get a lot of activity, and this ZX81 still had the original membrane which was more delicate than mine which had one of RWAP's new ones.

To get around this, I turned the idea on it's head and mounted the board on the underside of the lid, so the only connection between the two halves of the case would be a USB cable. The membranes had been cut down once already, and needed to be cut again to restore one missing column of keys, so they were short anyway and fit nicely.

When I designed the original, I had wired the rows and columns to whichever of the ATMega328's I/O pins were the most convenient, and had a lookup table in code to store which pin was connected to which row or column. In this case, the connections were reversed (because it was upside down), and layed out differently, so all I had to do was update that one lookup table and away it went.

Now time to fit it all into the shell of the ZX81.


I found some right angled USB cables and cut one of those down for the keyboard, and installed a small USB hub sticking three ports out of that back, and tied everything down with sticky tie bases.


In use it's much like the original ZX81, just slightly more powerful. No RAM pack hanging precariously off the back, so it's not likely to crash if you sneeze within 10 yards of the unit, which some of the originals were unfortunately prone to.


Just a note to add, I'm a great fan of old technology, and have rebuilt and restored many classic computers of the 80's, so I wouldn't normally condone this sort of thing. The original had a faulty ULA, and when they go, the only real option is to get another ZX81, so it seemed a good use for the case. The owner of the Raspeerry81 had a better ZX81 with composite mod etc., so this was a spare, but did come with a working board. That's been put aside for later -  I have other plans for that - watch this space.


2022 Note, I don't do these sorts of things anymore, the opposite in fact. If you want a ZX81 clone (not in a ZX81 case), then check out this more recent post on my Minstrel 2 and Minstrel 3 kits.

Monday 25 June 2012

Doctor Who - Pop Up

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I've been a fan of Doctor Who since before most of the current cast were born. So I was it was quite an honour for me when, a couple of years ago, a short story I had written was recorded by Big Finish Productions. They produce and excellent series of 'dramatic readings' and full cast audio adventures of classic Doctor Who, using many of the surviving cast.
My story was called 'Pop Up', and featured the third Doctor and Jo Grant. It was performed by Katy Manning (who played Jo Grant in the TV series in the early 70's), and features on the 3rd volume of their 'Short Trips' series.

This week it is on special offer: 

2022 Note: The CD is out of print, but the download is still available:

Short Trips Volume 3

Saturday 16 June 2012

SATA Docking Stations Review

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I frequently need to be plugging various hard drives into test machines, to wipe drives, to perform external disk tests and virus scans, and for data recovery. So one thing I used a lot is an external SATA dock. For the last couple of years, I've been using a pair of Akasa Duo Docks (AK-IC008-BK). I've found these very solidly built and useful. These sit on the desk and plug into the PC via an eSATA port, although there is also a USB 2.0 port. There is a slot on the top to insert 1 3.5" desktop or 2.5" laptop hard drive or SSD (but not at the same time as they share the connector). Then thanks to SATA AHCI hotplug, these appear as additional drives to the PC. Where they can be wiped, scanned etc.
These, along side the IDE version I built a while ago, have served me well. But with SSD's becoming cheaper and therefore more prevalent, I've noticed I'm not getting full speed out of them. Further investigation has shown that the USB 2.0 port is the problem. Whilst on some external drives, there is a switch to choose between eSATA and USB, this uses a chip, and that chip seems to be limited to SATA 1. So even with the a SATA 2 or 3 drive and a SATA 3 capable motherboard, I'm seeing speeds limited to around 150MB/S rather than the 500MB/S some of the SSDs are capable of if directly connected to the same motherboard. I've had a look inside, and there doesn't look to be an easy way to bypass the USB (which I don't use), without cutting the tracks and trying to bodge what are meant to be balanced impedance tracks. So time for an alternative.

The first I looked at was a Zalman ZM-MH200 U3 Dual USB3 HDD Docking Station. Both drives in the same unit, so a saving on bench space. This turned out to be a disappointment in a number of respects. Firstly before I'd even plugged it in it came with a US figure of 8 mains lead and two, yes, two, UK mains adapter plugs - neither of which was fused. I may be wrong, but I thought it was illegal not to have a fuse in the plug?

Luckily I had a box of figure of 8 leads with fused, moulded UK plugs on the end, so I used one of those. This thing supports two separate drives at a time, of either size, so was going to save me bench space. However, I assumed / hoped / expected that these would appear as two separate drives, but it doesn't seem to work like that. It goes through some 'intelligent' RAID chip which allows you to combine the two disks into a single drive with either RAID 0, RAID 1 or JBOD. Quite why you would want to do this with interchangeable removable drives, and not a fixed pair of drives inside the PC or in an external enclosure is beyond me. Possibly to be able to replace a disk if one fails (but how do you tell without a manager?) and with only 2 disks, a RAID 0 or JBOD array would be lost. However, that is how it works, and it doesn't allow the two drives to be accessed separately. There is a 'DUAL' switch, but I haven't been able to get it to reliable reliably recognise the second drive, the activity light doesn't appear and there is some confusion about which is which. Oh, and finally, this is probably a limitation of the USB hard drive support in the Windows, but it doesn't appear at all if there are no partitions on the disk, so is useless for new drives or data recovery. Time for plan B (anyone want a Zalman Dual Dock?).
Plan B turned out to be an internal version, the StarTech SATADOCK525. So even more bench space saved. This uses a single 5.25" optical drive bay to provide 2 SATA drive slots. One for a 2.5" drive, and one for either a 2.5" or 3.5" drive. Both of which have separate switchable power and activity LEDs. These connected directly to the SATA ports on the motherboard, so no issues with intermediate chips reducing speeds or confusing things. These are pretty much exactly what I was looking for. The construction isn't fantastic, the door flaps are a little flimsy, but are easily removable if they get worse. The other issue I had is the LEDs are dual purpose, they are bright blue for power and red for activity, but the activity signal is provided by the drive and so some drives you can see a sort of purple when there is disk activity, but for most it just get washed out by the bright blue. So at some point I expect to be removing the door flaps and buffering the activity LED's.
The power to the drives is separate, I can sort of see why, but I would have preferred a single molex power connector for both drives. I decided to add two docks to give me most flexibility, 2x 3.5" drives or up to 4x 2.5" drives, so I had 4 sata power connectors to feed. In the box they provided 2 single molex to sata adapaters, these would have been better if they had been a single molex to dual sata. I ended up making a custom cable using the push down style connectors salvaged from dead power supplies to give quite a neat finish from a single molex.
As you can see in the picture, the SATA data connectors are the type which don't latch, and since the unts were so short, the plugs easily fell out. A large dollop of hot melt glue firmly fixed those in place. And finally, all the drive bays installed in the Corsair 600T case of my test machine.


Wednesday 13 June 2012

Online Learning

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I have recently taken part in quite an interesting experiment. MIT (or rather MITx 'an online learning initiative of Massachusetts Institute of Technology') have placed a module from one of their electronics degrees online, course 6.002x (Circuits and Electronics). So, for the last 14 weeks, I've been watching lectures on youtube and completing online exercises, homeworks and exams.

A key element of the technology they used is that the work was automatically marked when you clicked the 'Mark' button, so you get immediate feedback with a tick or a cross. It is very rewarding to sit down, work through something, hit mark and see a load of green ticks. But equally, it is disheartening when they're all red, and of course, you don't get any marks for working. However, you can go back and try to work it through again, and in the exercises, you can click to show the correct answers. They also published worked versions of the questions the following week.

I'm pleased to say that I passed the course in the end, so this has been a useful refresher of elements of my degree in microelectronics from the Newcastle University, but also a very interesting experiment in online learning. I look forward to the next course being announced.

Further information at http://www.mitx.mit.edu/

Update: Some statistics from MITx: 6.002x had 154,763 registrants. Of these, 69,221 people looked at the first problem set, and 26,349 earned at least one point on it. 13,569 people looked at the midterm while it was still open, 10,547 people got at least one point on the midterm, and 9,318 people got a passing score on the midterm. 10,262 people looked at the final exam while it was still open, 8,240 people got at least one point on the final exam, and 5,800 people got a passing score on the final exam. Finally, after completing 14 weeks of study, 7,157 people have earned the first certificate awarded by MITx, proving that they successfully completed 6.002x.

Tuesday 24 April 2012

Asrock CIR Remote Demystified

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

A number of Asrock boards come with a 4 pin header labelled 'CIR'. The manual includes diagrams showing how to connect a special receiver using a front panel USB connector, but most boards do not come with the receiver or remote.

Since the device looked more than just an IR receiver, I had left those alone in the past, expecting they required that particular device to work correctly. However, I have recently purchased an Asrock Z68M-ITX/HT board which does come with a receiver.
At first glance this looks like a USB device, and indeed it does use a USB connector and plug into a front USB socket. But you are meant to move half of the front panel USB 10 pin connector so it takes in the CIR header and 1 of the USB ports.

Installing it doesn't show anything on lsusb on linux, and there is no new device detected under Windows  because it isn't USB. Inside are two standard 3 pin IR receivers, another sideways one and two SOT23 chips.
The two chips turn out to be AND gates, so it makes a quite neat little circuit, three active high IR receivers whose outputs are ANDed together to make a single active high IR signal. This is fed through to a Nuvoton W836x7HG CIR receiver, which is supported out of the box by LIRC in recent kernels (certainly works on my Mythbuntu 11.10 boxes). It is supported by the 'Acer Aspire 6530G_MCE' driver. I haven't gone through a full keymapping as yet, but most of the keys map to the Acer ones.

One very useful part of this is BIOS support of power on by CIR, so with the adapter in place and the BIOS option 'Power On By CIR' enabled, you can switch on the PC using the remote. Nice.

As good as it is, my main issue is that it isn't really convenient to have it hanging out of the front USB port.

So I thought I'd see how it worked wired direct to a standard TSOP4838 receiver. I wired one up using an old CDROM audio cable, with the ends de-pinned and rearranged appropriately.
This worked fine under test, but the receiver wasn't particularly solidly held in the socket so I soldered the device onto the cable.
I then glued it to a suitable gap behind the mesh on the front of the case.
The 4 pin connector goes on the CIR connector wired as follows:
1 - 5V (this should be at the same end as the red wires on the USB connector)
2 - IR RX (this is the active high output from the IR receiver)
3 - IR TX (this is not connected, but I presume this is for an IR transmitter?)
4 - 0V (this should be at the same end as the black wires on the USB connector)

Saturday 24 March 2012

Windows 8 Review


This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I've been running the Windows 8 Consumer Preview for a while now, so here are some of my thoughts on it.  Let me say at this point, I'm not the average user, so this is just my take on things, on how I want to use it.

Firstly, it works - it does the job. I'm writing this in Windows 8 and it is perfectly usable in that sense.

There are a few things that are going to take a bit of getting used to though. Metro is the most obvious difference, as a replacement for the good old 'Start' button (not that it has actually said 'Start' on it since XP). And this is where I think it falls down. It is trying to be all things to all people, both a desktop and a tablet operating systems and they do seem to jar at each other. There's basically two interfaces, the new one, Metro, with all it's touch friendly large coloured boxes and the other which is pretty much Windows 7 without the start button.

They seem to coexist, but don't exactly cooperate. I run multiple screens as I find this very useful, particularly in applications which support this way of working and allow you to have toolbars on one screen, the main work on another, status windows on a third etc. I have a motley collection of 5 mismatched monitors at the moment, including one portrait which is great for work processing as you can work on a whole page at a time, the right way up. Windows 8 continues to support this in it's standard desktop mode fine, but it becomes pointless when running anything in Metro. I tend to leave on monitor showing my email, and other web applications, so I can always see their status. I have another small monitor which normally shows my music player, has the taskbar, and the desktop gadgets like the clock and calendar. When I start a Metro app, all of these close and just show the wallpaper. This is a bit pointless as I'd rather it kept displaying the apps that were running. Admittedly, to the average user with one screen this wouldn't be an issue.

My second main gripe is why didn't they just leave the start button there? Fine you can go into Metro and use any new apps designed for that environment, but for everything else, you have to hover and bring up the right hand menu and search for it (a bit like the Ubuntu Unity launcher), (or use Windows + F if you remember your keyboard shortcuts). I then pin it to the task bar (as I used to do in Windows 7 anyway) as this is quite a convenient way to start apps, particularly those which support the droplists of recent files.

One of the first things you get after installing Windows 7 and earlier is a warning about installing so anti-virus software. There isn't one, and it's not obvious what is happening about anti-virus protection. After a bit of diffing, it seems that have integrated Microsoft Security Essentials into the OS under name of Windows Defender, but there isn't an obvious way to start it and gone is the reassuring green ticked house in the taskbar that allows you to track its status. I wonder what it does if there is a problem? Making it a standard part of the OS is a good move. I tend to install Microsoft Security Essentials by default on all new builds, refurbished PCs and reinstalls as it seems to do the job and is less intrusive that other free solutions like AVG (mainly I suspect because AVG need to try to sell you the full version, whereas Microsoft have already sold you Windows so have nothing to tout).

Like Apple and Google, they like users to login with their Microsoft ID, a Live mail account normally, although it is possible to set it up to use a standard local login rather than an email based one. Many of the Metro apps seem to need it. There is a new music player, but that only works if you have an XBox Live account. I don't have an XBox, why do I need an XBox Live account to play a collection of local MP3 files?

Media player is also installed for the desktop version, and as a side note, does not appear to have the same annoyance that it will stop playing an MP3 playlist if you insert a CD (to install software for example), even with autoplay etc. disabled as it does on earlier operating systems.

Duality again in web browsers. IE 10 is there in Metro, IE  9 in the normal desktop, and as usual if you have something open in Metro, all the other windows disappear.

It seems Microsoft have taken the multitasking operating system and returned it to the days of single tasking. It reminds me of how I used to run Windows 3.11. I booted up to a full screen DOS menu, all bright colours and squares, not a curve in sight. I could then select from a number of full screen, single tasking applications like Protext and Quick Basic etc. but also had the option of running Windows if I wanted (and that didn't have a start button either). But I could only run one full screen application at a time, and had to leave windows if I wanted to run anything else. There was nothing wrong with that way of working, I happily used it for many years before Windows 95 and so on came along and offered multitasking and start button and all. They got it right again in 98SE, went a bit wobbly with Windows ME, then got it right again with XP. Wrong again with Vista and then Windows 7 seemed to be a nice place to work again. Has Windows 8 fallen into the 'every other operating system is rubbish' pattern I wonder?

So all in all, will I be going back to Windows 7 after my brief sojourn with Windows 8? Yes, I think so.

Will I be reconsidering this when it is finally released? Of course, but still with a due sense of precaution and dread. I'd be surprised it they didn't ship a 'Business', 'Professional' or 'Desktop' edition with a start button.


2022 Note: I think that was a fair appraisal of Windows 8 as it was when it was released. I did indeed go back with 7 and kept going back to 7 and later to 10 when I needed to do Windows development. Most of the rest of the time has been various favours of Linux,. My Linux is currently Mint flavoured.

Monday 5 March 2012

Atari 800XL Memory Repair

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I was tidying up and came across a bag of 30 pin SIMMs. Definite relics of the past, some were 256K and you needed 4 of these to get 1MB memory, enough to comfortably run Windows 3.11. I can't really see anyone coming to me with a computer for which these would be an upgrade. The rest were 1MB sticks, and with 4 of those, your 4MB was just enough to scrape your way into Windows 95. I'm a hoarder at heart, so I couldn't possibly throw them out, but I was wondering how I could justify keeping them, what possible use could they be?
Then I remembered I'd found a use for one back in the 1990s when I didn't have access to replacement DRAM chips. My dear old Atari 800XL, the first computer I had with sound and colour (or color as having to repeatedly type COLOR and SETCOLOR didn't help my spelling back in the day). After a long, hard life, it had become a bit flaky. A unique feature of those Atari's was a built in self test, you could test the sound, the keyboard the ROM and the RAM. The RAM test should show up 48 green squares (1 for each KB of memory), but I was getting about a dozen RED ones scattered around.
This is where the 30 pin SIMM came in. I basically stuck it on top of the existing chips, and wired it in place. This was a while ago, so I don't have the wiring diagram to hand, but from what I remember the address and data rows / columns were all driven through resistors, so all I had to do was cut the end of the resistor where it went to drive the old chips and wire it to the nearest appropriate pin on the SIMM - although ideally D0 goes to D0, D1-D1, D2-D2 etc. with RAM it doesn't really matter if D0 goes to D3, D1-D6 and D2-D2 etc. as it will only be reading back what it wrote, so it will be in the correct order. The 1MB SIMM I had used was overkill in terms of capacity, I just tied the spare address lines to ground - at some point in the future, I never got around to looking at memory banking to make use of the extra capacity. The timing was also a bit more than high enough, the originals looked to be 150nS, the replacement were 70nS, so more than fast enough.
Not the neatest job in the world, it was sort of proof of principle, I was interested to see if it could work. No problems at all, memory test came up with 48 green dots and ran for a couple of hours with no problems reported. And most importantly, Spellbound worked!
This is now very much a spare as the keyboard and button panel are both incomplete, but it does actually run.

Thursday 1 March 2012

The fun of Ikea

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I just thought I'd share my experiences on a recent trip to Ikea, and the ridiculous trail of events necessary to get a set of shelves.

Last week I decided I needed some shelving and had been recommended the Broder range of shelves. I went to the catalogue for more information but struggled to find anything as there wasn't an index, so you basically have to look right through the book until you see a room with the thing you want in. Hardly the easiest process.

So I went to the website where atleast I could search. I found the parts I needed and checked stock at my local branch (Gateshead). All items were showing green 'most likely in stock'. Sounds good, so I went to the store and to the shelving / storage section to look at the shelves to see if they were any good. I couldn't find them. I eventually found a staff member who told me they were in the bedroom department. So I went to the bedrooms department and found the Broder display. They looked suitable so I went to buy them.

All the metalwork items on the printout from the website had isle locations which makes that easier, but the  wooden shelves said 'contact staff for purchase information', so I found someone and asked and was told they were upstairs in the marketplace.

So I had to find a working lift (2 were out of order) and take the pallet trolley up to the market place, weave my way through all the breakable items to find the shelves. Luckily I had asked before picking the other items or I would have had a trolley full of metalwork at the time.

When I got to the shelves, the 1200mm versions were out of stock, even though they said they were in stock on the website, and even on the internal system when the staff member checked. She took my contact details and said someone would email me when they came in (still waiting by the way).

The lift by the down escalator was out of order, so I had to go backwards through the market place to the one working lift.I then had to pick all the remaining items, rails, feet, brackets etc. which was fairly tricky balancing act to keep them all on the trolley. Once I had them all balanced, I had to go through the checkout and take them all off again to be scanned. Then balance them all on again to go out.

An aside at this point, my Ikea Family Card wouldn't scan properly, the same had happened last time, and as with my last visit, I was told to go to the website and order a new one. I had looked last time and I looked again when I got back this time. I eventually found something that said 'card lost or stolen'. Near enough I thought. There it said, pick a new one up next time you're in store and tick a box on the application form saying 'replacement card'. Shame the people on the checkout weren't aware of that.

Back to the shelves. I had parked as close as I could in the car park, but most of the close spaces are for disabled drivers or 'parent and child'. I couldn't use the loading bays as I couldn't leave my purchases untended whilst I collected the car. So I had to push the trolley to the car across the incredible rough car park rattling all they way and constantly having to readjust the balanced heap on the trolley as it was vibrated apart by the cobbled car park.

It seems to me that no one at Ikea has thought any of this through in terms of how they expect someone to do this. Surely there has to be easier ways than that? It's all a bit of a mess really.

At least I can be sure I won't have to go through it again if I want to extend the shelves sometime in the future as they are likely to be discontinued when I go back anyway, just like almost everything else I've ever bought there.

2022 Note: The Broder shelves were indeed discontinued when I went back for more shortly after.

Wednesday 29 February 2012

Do Not Press This Button

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I've recently had a new boiler fitted, and it came with a nifty RF remote thermostat.
The receiver at the boiler end was labelled with the following warning 'Do Not Press This Button'. Now come on, you can't give someone like me a box with a button on it marked 'Do Not Press This Button', it's just too tempting!
Sadly, it just resynchronises the remote device, no fireworks, no nuclear armageddon, not even a little sign lighting up to say 'Please Do Not Press That Button Again'.

Thank you the marketing division of The Cirius Cybernetics Corporation Siemens.