dslink 2.1.0

I’ve uploaded new binaries of dslink and the installer built with latest libnds/dswifi and some DSi related fixes. Thanks to some poking around by fincs we now have dswifi working with the DWM-W024 boards but still only with WEP unfortunately.

So far there’s still no progress on writing dslink to the flash on the DWM-W024 boards but we may yet find a way to unlock the new chip.

dslink 2.1.0
dslink 2.1.0
View post
177.1 KiB

A slightly surreal rant.

Some days I end up having discussions in various places on the internet where someone has come looking for help with the devkitPro toolchains. Usually I take a few minutes, maybe even half an hour & help someone solve a problem and they’re usually happy with the end result. Sometimes I even get a donation shortly afterwards.

Other days things get a little weird. I was attempting to explain some of this to my partner (who doesn’t code) the other night and I came up with a story that might help make the point a little.

Imagine, if you will, walking out your front door one morning where you encounter your neighbour who has a large tabby cat sitting on his window sill tied to a piece of string. He brandishes an electrc razor at the cat, who makes his fur all spiky, hisses and screeches at your neighbour then leaps up and claws his face drawing blood.

“What on earth are you doing?” you enquire?

“I’m cleaning my windows” says your neighbour.

“What? You can’t clean windows like that!?”

“Sure you can. Look, when he leaps up to claw me with all that spiky fur he brushes against the window and all the dirt comes off” explains your neighbour.

“But”, you say, “This would be so much easier with a bucket of water and a squeegee”.

“That sounds a bit complicated. I’ve never used those before and I don’t own either of those things anyway”

“There’s a shop down the road that sells them, you could have them in half an hour and I could show you how to use them if you like”

“Well, that’s kind of you but I don’t really have time to go to the shops and learn how to use a bucket and a squeegee. It’s taken me all morning to do these windows and I’m nearly done now, then I have to go to the hospital and get some of these cuts stitched up.”

While you’re considering a response to this, another neigbour turns up. “Hi Jeff” he says, brightly. “Cleaning the windows again I see. That cat has made a right mess of you today”

“Yes” says Jeff, “I really should do something about his claws”

“Maybe you could get a domestic long hair instead of that tabby. You could get him declawed at that vet in town and a long hair might have  a better temperament”

“You’re absolutely right” says Jeff, and he takes the cat back inside then heads off into town to see if he can buy a domestic long hair somewhere”

“Why did you do that George?” you say to your other neighbour, “He’d be much better off with a bucket and a squeegee”

“Maybe”, says George, “but he enjoys cleaning his windows with a cat so much”

A few days later, you’re reading the local newspaper and you discover an article Jeff has got published. It’s entitled “How to choose the best cat to clean windows”.

dslink updated again

Martin Korth got in touch to ask about dslink and requested a few improvements since he’s using it to help with research for the DSi updates in no$gba.  I love his notes on the dsi exploit – “Cooking Coach is the best thing ever. This game allows you to make healthy food with dead animals – and, with wintermute’s exploit, it’s allowing to run homebrew code on the DSi” 🙂

I’ve improved the connection speed of dslink a bit by adjusting the way dswifi scans for access points at Martin’s suggestion & these changes are now in the latest dswifi release. Booting minimal a22i compiled nds files doesn’t work just yet but some of the official wmb demos kicking around do boot now when transferred via dslink. There’s no sound or touchscreen unfortunately – the touchscreen is handled differently in DSi mode so I’m not sure that’s fixable without some patching although the audio may just need enabling.

In the meantime, enjoy faster connections & more reliable booting of code with this version. When I get some more time I’ll look into initialising things properly so Martin’s code will boot as well. Pretty sure it’s mainly because the cache is disabled when the nds file is booted which causes issues when both arm7 & arm9 are running in ewram.

For those who’ve been badgering me for the source code I finally got around to tidying everything up & putting it on github. You’ll find the dslink code at https://github.com/devkitPro/dslink, the installer code at https://github.com/devkitPro/install-dsilink and the host application code is in the dstools repo at https://github.com/devkitPro/dstools/tree/master/src/dslink

DSi Homebrew redux

I’ve now updated dslink with a new save exploit for The Biggest Loser which isn’t blocked on the most recent DSi firmware.

In my original release of dslink I said that Nintendo had “beefed up security” by denying write access to the wifi flash chip but it appears that I was wrong. After some more investigation it turns out that there’s simply a new chip used to store user settings and wifi configuration. This chip appears to contain no writable flash apart from the user settings and storage for wifi access points. Replacing the whole board with an earlier model (DWM-W015 vs the DWM-W024 board in later consoles) restores the ability to write to flash and boot dslink this way. I’m also told that the later boards can be converted by installing a pre-programmed flash chip in the space that still exists but I haven’t yet verified this. I do have some extra DWM-W024 boards to play with but I’m not entirely sure my soldering skills are up to the job – it’s definitely something I plan to attempt in the near future.

For now, enjoy renewed access to DSi mode homebrew if you still have a compatible console.

dslink 2.1.0
dslink 2.1.0
View post
177.1 KiB


Here’s a little something that 3DS homebrewers might like. It’s a wifi code upload tool for quick and easy testing of 3DS homebrew.

I finally got around to porting dslink to 3DS while we’ve been testing some devkitARM enhancements and improvements in the libctru code. The result turned out well so, rather than waiting until we roll out the new updates, I thought people might like the binaries in the meantime. It definitely makes testing code on hardware much less tedious than the current methods available.

I intend to replace the netloader code in hbmenu with the 3DS client side and add the upload tool to the devkitARM binaries soon. Source will be available once we’re ready to roll updates and make sure everything is working properly.

And here’s a little video of 3dslink in action.

Gateway 3DS flashcard bricking consoles.

I’ve just caught up with the disturbing news that Gateway have included code in their latest firmware which bricks 3DS consoles if their code has been modified. The company has implied that they’ve done this in response to the people cloning their cards and using modified binaries of Gateway code.

This is completely unacceptable behaviour – destroying expensive hardware in a fit of pique is  far beyond any idea of a reasonable response and Gateway should face the consequences of their actions.

For that reason I call on all resellers to remove the Gateway 3DS from sale and return their stock for refund citing safety concerns. If you’re currently promoting the Gateway 3DS card in any way, including but not limited to reviews of the card, advertising places to buy the card, tutorials on how to use the card etc, please consider removing links which could potentially lead to purchases. Please stop promoting this company in any way.

I fully understand that you may be reluctant to do anything which may impact on your ability to make a living but the fact is that these cards are dangerous and will lead to the destruction of expensive hardware. The actions of this company are indefensible and I will not condone any justification for not protecting consumers from such unethical actions regardless of the ethics of their own behaviour.

I find the statements from the gaming press that users cannot force Gateway to be held responsible due to the legality of the devices to be completely reprehensible. Journalists should be seeking ways to help the victims of this unethical company, not rubbing salt in the wounds. I’m looking at you, Eurogamer, The Escapist, MCVUK and Nintendo Everything to name but a few.

Getting Xilinx ISE 14.7 Labtools to work on Windows 8

I recently picked up a Diligent CoolRunner-II™ Starter Board to help with a little project I have in mind to repurpose an old PassMe board I have from the early days of DS Homebrew. Unfortunately when I installed the Xilinx Labtools and tried to obtain a license the Xilinx License Manager (xlcm.exe) decided to crash on me.

After a bit of googling I found out that Xilinx don’t support Windows 8 (what’s that about? It’s really annoying) and although there were several workarounds listed none of them seemed to apply to my installation. I managed to fix it eventually though so I’ve documented the process in case it might be useful to others.

  1. Rename <install location>\Xilinx\14.7\LabTools\LabTools\lib\nt64\libportability.dll to libportability.dll.orig
  2. Rename <install location>\Xilinx\14.7\LabTools\common\lib\nt64\libportability.dll to libportability.dll.orig
  3. Copy <install location>\Xilinx\14.7\LabTools\LabTools\lib\nt64\libportabilityNOSH.dll to <install location>\Xilinx\14.7\LabTools\LabTools\lib\nt64\libportability.dll
  4. Copy <install location>\Xilinx\14.7\LabTools\LabTools\lib\nt64\libportabilityNOSH.dll to <install location>\Xilinx\14.7\LabTools\common\lib\nt64\libportability.dll

Hey presto – working Xilinx License Manager. I hope someone else finds this useful.

Please join me in supporting the Open Rights Group

To all my internet friends.

You may know that I am a supporter of ORG , the Open Rights Group, which aims to promote and preserve rights on the internet and provide sensible information to politicians, parliament and journalists about technology. ORG relies on its supporters and we’re having a recruitment drive to fund a Legal Officer to allow ORG to intervene in legal cases.

If you are concerned why people are being arrested for being foolish on Twitter, or worried about the Government’s plans to ‘spy’ on the whole internet, these are typical of the areas where ORG is fighting for your rights. You can find out more at the campaign page, or grab me online in one of the many IRC channels I hang around in if you want to chat to about what ORG does and why I’m a supporter.

You’ll get a free copy of Cory Doctorow and Charles Stross’s new book – the Rapture of the Nerds. Cory and Charles are both ORG supporters and so is Neil Gaiman: here’s why. Your support will really make a difference. The target is 300 new supporters to fund a full-time Legal Officer. Please be one of them!

If you join me in supporting ORG (it’s only £5 a month) using this link then I’m in with a chance of winning a Raspberry Pi or a MaKey MaKey:


I’d really like you to join, because this stuff is going to affect our digital life for years to come.

Putting Curiosity in Perspective

Yesterday I got involved in a slightly disturbing argument on facebook prompted by a rather misleading image that’s been doing the rounds. I assume it’s a response to the Dear Religion image on the left which I found kind of amusing but does imply that all religious people are anti science. Personally I’ve met some religious people who are quite open minded in other ways so, it seems to me, they’re not all hopeless creationists.


The image that started the argument was this one that claims the rover which just landed on Mars cost $100billion – a number that can be refuted with a simple google search which hardly qualifies as in depth research. An article on Space News about the Mars Science Lab  cites the cradle to grave cost of the mission as $2.5 billion or, to put it another way, this image claims the mission is costing some 40 times more than it actually does.

What angers and appalls me most about this particular image and the resulting discussion isn’t so much the lack of accuracy as the wilful ignorance and lack of perspective that goes into creating and sharing this kind of misinformation. I was asked if I thought it would have been kinder to spend that money on sick, hungry and deprived people which led me to do a little research.

According to the fast food global industry guide the global market for fast food was worth $252.9 billion in 2011, or some hundred times the cost of the Mars Science Lab. Even worse, that figure is for a single year and the mars mission is amortised over 8 years so it’s more like 800 times the cost. I have no idea how to begin placing a value on the benefits that the space program brings to society or the horrible costs the fast food industry brings to the table in terms of health problems and environmental damage.

I also took a look at some figures for purchasing power parity gross domestic product of the 10 largest economies of the world and plugged a few figures into a spreadsheet to try and put the numbers into some sort of perspective. Averaging out the numbers shows that Curiosity cost the population of the 10 largest economies approximately $0.70 per person and apparently the fast food industry takes around $70 per person per year.

Here’s the spreadsheet – play with the numbers, form your own conclusion. I’m just going to finish off with another amusing image.

What the fuck is wrong with you people?

Shared Delusions

This post is going to be a bit of a departure from the usual subjects I cover here but does have some relation so, bear with me if you can.

First some background that I’ve talked about a bit in the various online communities I participate in around the net but never really found the nerve to share in a more concrete form. It’s obviously much easier to be honest in the transient world of IRC and other domains of instant but fleeting methods of communication. I almost said electronic communication but really I’d have to include all forms of social contact with conversation as the key element.

As far back as I can remember I’ve had a much easier time dealing with machines and processes than I have with other human beings. As a child I would be more often found engrossed in a book, constructing things from Lego and later Meccano, drawing or dismantling something to find out what was inside. I always preferred solitary activities and never really felt comfortable with praise or criticism – engaging in social activities always left me feeling like an alien in a world that made no sense. If you’re a Douglas Adams fan it may help to know that the HitchHiker’s Guide character I most identify with is Wonko The Sane.

The path I’ve followed through life has mostly been influenced by a coping strategy which led me to mostly do and say what others seem to expect from me. Family members, Teachers, friends, community and the depiction of society at large in the world’s media have all influenced me to attempt to conform to an ideal that I could usually manage for some period of time until something caused me to look where I was heading and decide that actually, that’s a completely insane place to be going. Ultimately that path led through several countries, a few suicide attempts and eventually being sectioned under the mental health act after a psychotic break. There’s a long and convoluted story in there but the details aren’t that important – I might do some writing on those details in the future but dwelling on actual events and memories seems to lead to a place where I fear inducing psychosis again.

After many more encounters with the British healthcare system than I care to remember I was eventually diagnosed with Dysthymia which appears to be an illness where the primary state of being is clinical depression, punctuated by bouts of a further slide into the black depths of despair. Engaging with the “experts” has been, for me, an increasing source of frustration and anger which has basically just made me feel that I’m an experimental subject. The process appears to have been “let’s slap a label on here and treat the label then see what happens”.

Recently I started counselling which, although quite heavily subsidised, I’ve had to pay for out of my own pocket. Maybe that’s a good thing in a way since the desire to obtain as much value for that money as possible can be a powerful motivator. Some people might see that statement as a justification for the privatisation of the NHS but I think those people would be suffering from the current neo-liberal delusion that seems to be prevalent right now. I won’t expand on that opinion much right now though, there’s a point to this post that I’m trying to get to.

The current British government is attempting to reduce the welfare bill in this country through a process that has been subjected to increasing criticism. Anyone prepared to put in some research time will find that the evidence relating to their Work Capability Assessment points overwhelmingly to that process causing real quantifiable harm to people with mental health conditions who are subjected to it. They’ve just started that process on me and it’s already led to a quite noticeable deterioration in my mental health. If you’re a user of the devkitPro toolchains or a participant in the many online communities I belong to then you may have noticed a serious reduction in my activity. That’s symptomatic of another impending double depression triggered by stress.

The biggest problem for me is that, from where I’m sitting, society at large is deeply broken and populated by pockets of people operating under a group consensus of shared delusions. Most of them seem to be attempting to force other groups into accepting their particular delusion whatever label it might have and that activity is a blight on society. It’s like a cancer spreading across humanity and it’s destroying people.

Experiencing psychosis and being declared unfit for work gave me the opportunity to take stock and fill my time with unpaid voluntary activities that have brought value to society that no conventional employment could possibly have created. I’ve put endless hours into the research, programming work and project management that resulted in what devkitPro toolchains are right now. I’ve studied economics and psychology, helped people to learn how to program and gradually built up my own personal reality bubble where I honestly believe I’ve made a positive difference to tens of thousands of lives. What I really, really want to do is find a way to get paid for the “work” I do every single day and not have that “work” prevent me from spending time with people I love and respect. The very, very last thing that is likely to help me is to be placed in a sausage machine that seems designed to force people to either conform to a particular ideal of productivity or die.

In an article by the BBC, Professor Harrington was quoted as follows :-

While people had been let down by the system, he challenged campaigners who had called for it to be scrapped entirely to come up with an alternative.

“What are you going to put in its place? Tell me why, how you are going to make it better.”

Personally, I wouldn’t put anything in its place. What I would do is challenge what I see as delusions and try to imagine what a society that cared equally for all its citizens would look like. Such a society might be based around principles of education, opportunity and freedom.

But maybe I’m just crazy …

So anyway, just some food for thought. I’m sure you have your own opinions and ideas about society’s problems. Join the conversation on Twitter, write your own blog post, have your say in the comments here but be warned, ad hominem attacks will not be published.

P.S. This post has taken me most of the day and making the decision to click the publish button has felt like putting a gun to my head and pulling the trigger. I might have to go lie down for a while.