It’s retro computing time again!
As part of my quite extensive rebuild of one of my Atari STE machines I want to have both an HxC SD floppy emulator as well as the original floppy disk drive mounted internally in the machine at the same time. While that in itself is just a question of making a cable that supports both, another problem quickly arises. In most cases you would want the machine to boot off the HxC (drive A:) and the internal floppy would then be drive B:. However, in some cases there’s clearly a point in booting off the internal floppy instead – and for that it has to be drive A:.
In real Shugart floppy speak this amounts to the drive select signals, DS0 and DS1. On a modern ST both are available on the internal cable, and one (DS0) on the external. What we want is obviously to mount a switch that will swap these two signals at will.
This is a solved problem. DS0 originates from pin 20 of the YM 2149 sound chip (really!) and DS1 is on pin 19. Cutting these two pins and then soldering two cables from the motherboard to the middle pins of a DPDT (dual pole, dual throw) switch and two cables from pin 19 and 20 to one side, crossed over to the other side, will do. It’s also possible to achieve a swap between an internal floppy and an external drive without cutting pins – some prefer to avoid that – but it won’t swap the two internal signals.
Yesterday I really wanted to avoid cutting pins – but at the same time I needed a way to switch not only internal and external, but the two signals on the internal cable as well. I thus had to innovate a bit, and this post details the result. All pictures from a regular STE – I haven’t looked into what’s different on a regular ST or Mega model.
This is our area of interest – before any modifications have been done. Pin 20 and 19 of the YM 2149 soundchip are clearly visible (upper left of the chip from this angle) – and you can also see that pin 19 can be traced to a via. There’s no visible trace from pin 20 – leading us to conclude that it’s on the bottom side of the motherboard. Also note the three solder points named W300 and W301 respectively (square solder pad is pin 1 on each) – these are very much involved in what we want to do. DS1, pin 19, is available on W300-1 and DS0, pin 20, is available on W301-1. We see that W301-1 can be traced to a via just below it as well.
Turning over the motherboard we can see that pin 20 is indeed connected to the same via we just traced from W301-1 – but it’s also traced to another via on the other side of the chip! This second via is found topside at the ‘C’ in ‘C113′. With this knowledge we can now conclude that if we do not want to cut the actual pins 19 and 20 of the sound chip, we have a few cuts to make to traces on the motherboard. We must cut both traces originating from pin 20 on the bottom side of the motherboard, before the vias, as well as the trace to the via topside from pin 19.
Make sure to measure resistance with an Ohm meter to know when you’ve cut through the traces, and don’t cut off anything else. There’s plenty of space on the bottom side of the motherboard, a bit less topside.
Once we’ve done these cuts, we’ve effectively severed the connections of the originating signals on the sound chip pins from where they go on the motherboard (internal cable as well as external port). However, we’ve also severed the connection between the two different directions pin 20 went off to – so we have to repair that topside. The easiest way is to solder a wire between the vias we just traced it to.
We also have to mount the wires to our switch, of course. We pick up the signals directly from pin 19 and 20 – to the end points of our switch (crossed over at one of the sides). We then solder wires from the middle pins of the switch to W300-1 and W301-1. And we’re done.
This will switch not only the signals on the internal cable – but also swap internal and external. It’s effectively exactly the same as what’s achieved by cutting the pins off the chip as described in many places on the web.
So why didn’t I just do that?
Well. I seem to have misplaced my side cutter. So .. there. Enjoy.
I just did a writeup on how to replace the original PSU in an Atari ST/E with a modern picoPSU. I’m quite satisfied with how it came out – click the link for some pretty pictures ;)
or: Why my Mac Mini from 2008 (model 2,1) went from Snow Leopard to Lion to Mavericks in the last 24 hours.
I like my Mac Mini. It’s the first Mac I ever bought, on a whim, and it’s served me well both as a workstation and lately more of a combined NAS, Minecraft and darknet server. I populated it with 4 (3.3 usable) GB RAM from the outset, and a few years ago I switched out its 5400 rpm hard drive for an SSD. If I remember correctly it came with Leopard but I bought Snow Leopard on the same day, or just afterwards.
Earlier this year Apple stopped supporting Snow Leopard with security updates (in my opinion, I know others disagree). Understandable, somewhat, and while I knew I could update it to Lion I had never really come around to doing so. The amount of apps not compatible with SL (Github, I’m looking at you) were quite low and often they seemed to require Mountain Lion anyway.
But. As a somewhat Internet facing machine I felt I needed to make sure it at least got security updates, and thus I upgraded it to Lion yesterday. It was a huge pain freeing up enough space on the internal SSD to be able to remove the per user FileVault encryption – but eventually I got it done.
And realized way too late that turning on full disc encryption with FileVault 2 kind of defeated the purpose of having a headless NAS in a closet – since any reboot now meant I had to connect at least a keyboard, possibly a screen.
A quick search realized that I wasn’t alone in feeling cheated – apparently in 10.8.2 (Mountain Lion) and Mavericks Apple added a possibility to pre-authorize an account when scheduling a restart because of this.
Lion is the end-of-the-line when it comes to OS support for my Mac Mini 2,1. It’s a 32 bit EFI system, and Mountain Lion onwards require 64 bit EFI support.
Enter a hacker under the alias Tiamo and a script written by a Mac Sysadm named Oem, called SFOTT. Sixty Four on Thirty Two. The script takes a valid Mavericks (or Mountain Lion) installation .app and patches it to consider the target hardware valid. It also uses a shim layer (Tiamo’s boot.efi) to patch through the 64 bit kernel syscalls to the 32 bit EFI on too-old hardware.
My Macmini2,1 is now running the latest version of Mavericks. That’s pretty awesome. Not yet headless with full disk encryption though – the pre-auth functionality has its own hardware requirements and still does not work.
The L2311c monitor is a “desktop hot-swappable” monitor to which you connect USB devices and ethernet, where you’re supposed to only then have to connect it to your computer via a single USB cable to access all of its functionality.
Out of the box, the integrated webcam as well as USB keyboards and mice connected to its port work fine. The USB Ethernet (LAN7500) as well as USB Graphics (UFX7000) does not work however.
LAN7500 Ethernet drivers are available here, and UFX7000 drivers are available here. (The latter link leads to a corrupt image and I’ve been unable to source a replacement. Thus I’ve not been able to get USB Graphics to work).
However, even after installing the LAN7500 drivers the Mac will not detect the network adapter. The reason is HP having changed the vendor and product ids – and this is what you’ll manually need to edit:
- Open Terminal, cd /System/Library/Extensions/LAN7500.kext/Contents
- sudo pico Info.plist – find the idProduct and idVendor keys
- Change idProduct to 1351 and idVendor to 1008
- cd back to /System/Library/Extensions and do kextload LAN7500.kext
The network adapter should now pop up in Network Preferences.
Disclaimer: I’ve only tested this on a Mavericks late 2013 Macbook Pro Retina. I’m assuming it’ll work on many more configurations.
(This post will be edited once/if I get USB Graphics working as well)
At the top right of this site a new page has been added: projects. It will over time contain information on various software (mostly) and hardware creations of mine.
Right now it contains three:
- Courier – a Minecraft Bukkit plugin I made in late 2011 that at its peak had an estimated hundred thousand players
- LoSTE – an Atari ST demo from 2013 showcasing my 1337 low level coding skills
- Dallas RTC – software written in 2014 to synchronise an Atari ST with a modern RTC, including a Y2K fix
If you’ve listened to one of my talks (see the media & appearances page) on disruptive innovation you’ve surely heard me talk about how doers are much more important than thinkers. A while back I realised that I was on the verge of only researching and implementing strategy – which while I’m very pleased with the results of is not what I want to be doing exclusively.
Always implement change starting with yourself.
Seasonal Affective Disorder – SAD. [wikipedia]
also known as winter depression, winter blues […] or seasonal depression, was considered a mood disorder in which people who have normal mental health throughout most of the year experience depressive symptoms in the winter […]
I’ve known for years the difference in how happy I am during the warm nice summer, short as it is in Sweden, and the slightly more introvert and quiet me during the long dark winter months. It’s been part of my personality for as long as I can remember, and I guess I never gave it much thought.
Until a few years ago. Thanks to people close to me I realised that this didn’t just affect me – it affected them as well. I even found myself having made some very bad life choices at times that seems to have been a direct result of a very negative outlook of the future – and they all correlated with late autumn/winter.
Now I’m a person of a very positive mindset and consider everything that happens in life to be part of the experiences that make up who I am. However, having understood the way my SAD – because that’s what it is – caused negativity around me I decided to take action. I had learned to live with it, to hibernate through the winter, but that’s no reason to force the same upon others.
Since two months back I’m on so-called anti depressants, SSRIs. And besides the quite interesting swings between ecstasy and utter boredom that are known side effects at the start of the treatment, I’ve now gotten myself back even though we just hit the darkest part of the year.
Almost 10% of the population in Sweden suffer from SAD to some extent. The number is easily verified by just going through the Facebook updates by friends of mine – yet I almost never see anyone talking about it, or getting treatment.
I’m a migraine basket case. When I suffer from a migraine attack I become a horrible person – extremely irritable. Luckily I’ve found medication that works and I wouldn’t consider for a second not taking it when I’m in the situation of others having to interact with me.
I posit there’s no sane reason for thinking about SAD medication differently. Besides the social stigma of yesteryear where “sickness of the mind” was something to be ashamed of – of course – but we’re a lot more enlightened than that today.
Oh and btw – if SSRIs happen to contribute to increased neurogenesis and synaptogenesis I’ll likely continue taking them all year round ;)
All software contain bugs. All complex software contain numerous bugs. Some of those bugs are security holes.
When you hear that a software vendor has found and fixed a security problem that means that somehow that specific bug came up one someone’s radar. People who find these holes for a living, and there are quite a few, sell them to others who then exploit them to create massive botnets, extract credit card information from unsuspecting users or in some cases try to attack online banking accounts.
A regular “zero day” exploit into a computer system connected to the Internet can be sold for tens of thousands of dollars making it a worthwhile occupation for crackers.
However, while many regular computer users have had their computers taken over it’s often not something they themselves notice. If their system it’s just used for drive by DDoSing as part of a botnet, encrypted communication forwarding in a virus control protocol or activities otherwise not disturbing their normal computer usage, they have no reason to ponder the fact that any Internet computer system can be broken into. Even if their online banking account gets accessed the banks replace the balance, sometimes without the customer even knowing, since it’s worse for their reputation having to admit security problems. Crackers, on their part, are content with selling exploits on the black market for regular fixed prices.
A fully digital currency, kept either stored on a regular Internet connected home computer, mobile Internet device or with a cloud service provider is a much more juicy target for a security exploit finding cracker. No profit taking middle men, no traceable transactions in regular national currencies and with the possibility to target many such wallets in a very short time.
All software contain bugs. All complex software contain numerous bugs. Some of those bugs are security holes.
I’m a Bitcoin proponent. I support decentralisation and the removal of the banking and finance tax on human to human monetary transactions. I do have a strong background in computer security though and the above argument has me worried as a serious hindrance to Bitcoin adoption. In short, the only reason you currently still have control over your bitcoins isn’t because you’re better at keeping them safe compared to everyone else – it’s because no one has made you a target. Yet.
(Yes I’m aware of the concept of brain and/or paper wallets – but the currency of the Internet still has to surface when a transaction is to be made and an exploited system could well switch out the target of that transfer then)
I believe, if Bitcoin continues to gain general acceptance, we’ll see for the first time since computers became a household item an awareness of just how insecure such systems really are. It’s not a fault of Bitoin – its protocol still hasn’t been broken – but a fact of complex software. The only solution is to completely redesign our current computing paradigm.
Yeah that will happen.