Ok here's the plan, I wan't improve my skills, and I have a somewhat ambitious project I THINK I can pull off.
I have a phat DS in near perfect condition.
It wants to play with the new computers. It's time to give it a new brain.
The ultimate goal is a Phat DS with a usb-c port, new screen(s), and crucially, a whole new SoC that will replace the orginial Nintendo arm silicon. This may also include new wifi hardware and/or a new battery(current one is itself a replacement that is getting old). Instead of Nintendo firmware, I hope to run an actual linux desktop with it. I probably need to write some custom drivers and give it a virtual keyboard on the touchscreen. I want to be able to keep both cartridge slots, and use an emulator to run real games. Maybe even modify the slot to accept clasisc GB games too.
I fully expect this to all be a monumental task. But that's kinda the point.
At first I'm going to cut those goals by keeping the screens, battery and charger port. I have a spare charger I can scavenge the plug from to make a custom USB once linux is on it. I'm hoping to use the most powerful replacement cpu/SoC I can fit in there, but I'm basically going in blind.
Phase 1: Emulation
Measure twice cut once right?
I want to work out my plan virtually first and squash any major problems. This means I need to learn about any DS hardware quirks that will get in the way of my plan to just cut all the I/O hardware away from the rest of the cpu.
Depending on the final plan this could mean anything from major hacking and slashing of the PCB, to soldering a tiny board up inside without any unnecessary removal of original parts. Remember, I want to be able to play DS and gameboy still, so if the original silicon HAS to stay to do that, it will.
Ideally, I would like to remove as much of the motherboard as possible to make room for the largest arm SoC I can cram in there and still wire up the components. Something like a raspberry pi compute module would be ideal, but I'm pretty sure the dimesnsions there are just a little to big still.
That means I need to dust off my circuit design skills and figure out:
What software would be best for this? The stuff I'm used to is more about getting simple lights and motors to go wrrrr with some simple NOR/NAND gate logic. I THINK I can plop an ARM SoC like from some of material the pi foundation provides, but it seems like overkill?
Once the hardware wiring is worked out, getting linux on there shouldn't be an issue. The first issue is going to be no keyboard. I feel that the best practice would be to have some custom firmware loaded at boot that provides a basic touch pad keyboard/mouse(maybe even button backup navigation) so that linux is fully usuable "out of the box" so to speak.
Once I have the top screen running a desktop I can start thinking about a way to get more out of the lower screen. I will have to if I want to run DS games in an emulator. Maybe write the firmware to allow two displays and make the keyboard hideable at the hardware level somehow?
At that point I should be able to run games from the filesystem like any desktop based emulator. The next step would be getting that emulator to be able to access the cartridges directly? Maybe I would have to settle for being able to dowload the Roms directly, and then play them from the filesystem. I do own a rumble pack, it would be dope to be able to use that, especially if the new hardware can emulate something like a gamecube with actual rumble in every game. That all sounds like I'm gonna learn how emulator code really works lol.
So the trick is being able to iterate and test at each of these steps, in an emulator. Im guessing nothing short of full hardware simulation will do since Im tinkering with the hardware so much. Starting to feel like stabbing in the dark.
Bu huzzah, assuming all goes well, at this point I would be confident about what Im doing to modify it physically, and will have ready to go software to make it work once the surgery is complete.
Phase 2: Open Case Heart and Brain Transplant(modifying the hardware)
Measuring complete, the plan turns to knives. By now I should have already made all the plans to modify it, but it makes more sense to talk about some of that here.
First and foremost: wheres all the info at?
I've struggled to learn more than the basics of the cpu the ds uses, like clock rate and memory. I think I can bypass caring too much though. My plan is essentially to turn into a controller with a pc inside it, so most things should be pretty trivial to wire up to the new stuff(especially since gpio pins are popular).
I do need to know stuff like voltages and current draws for some of these. Mostly I need know if there are any sneaky surprises in the wiring anywhere.
I would rather wait to pry open mine if I could find better pictures and info on the internals. This is basically my current mini project: collect info on the specs of the DS(and dimensions internally). That said, I'm planning to do my own teardown anyway(and document it to my own satisfaction fot posting). So any resources and tips experienced DS modders can point me to would be appreciated.
My ultimate goal includes upgrading the battery, and screens. As well as changing the power port to a standard usb-c(since it will be an actual computer, it kinda needs one right?)
Other things Im thinking about includes a new wifi antenna/microcontroller+bluetooth and things like accelerometer + gyro. Maybe even gps(battery hog though).
I'm also considering some minor case mods, even though mine is in great shape. First, I think there is ample room for a microSD slot somewhere. If I replace the charger with a USB-C there should be room right there. The only issue there might be wiring it up so close to the power(and heat). I'm also a fan of the idea of adding a hole for a camera to give it some DSi functionality. I won't settle for something that feels weak and rattly though, so the fewer mods the better overall.
Any thoughts about any of this would be cool, but the important stuff is the consideration for the new internals.
How familiar are people out there with single board pc's? There seems to be a flood of them on the market. Thoughts on experiences with them? Any that you know of that jump out like "this is exactly what he doesn't know he is looking for"?
The ideal "power" I'm looking for is somthing that could play wii/wiiu games in an emulator. Or even just gamecube. Last time I tinkered with emulation of gamecube on a pi was the pi3b. It was, meh. I think I had install issues, or sd card issues tbh. But it was also so long ago, my memory might be tricking me. Definitely stabbing in the dark now lol.
So assuming my hypothetical process has led me here, I have successfully modified the hardware with a new pc inside. The buttons and screens are mapped correctlly in an emulator to access both slot 1 and 2. It is now a pc with a ds handheld wired to it as a controller, and with a firmware keyboard for the touchscreen. Where to from here?
Phase 3: Upgrades(future proofing)
As previously mentioned, I want a better set of screens, a usb port, and sd card reader.
Among others.
Any tips for planning the first iteration of this to make these painless as possible?
For example, the factory screen may be very different from what goes in later. The touchscreen even more so. Same with the Battery if I go rechargeable li-ion via-usb. I would rather not design a new solution from scratch each time I want to wire a new gizmo. Gpio pins should be good for most needs, but Im sure there are other options out there too.
In conclusion:
I'm here to stretch my skilks from theoretical to practical and document my journey. Anybody and everybody is welcome to join me in this pursuit. I need knowlege, tasty, tasty knowledge. Mmmm.
I have a phat DS in near perfect condition.
It wants to play with the new computers. It's time to give it a new brain.
The ultimate goal is a Phat DS with a usb-c port, new screen(s), and crucially, a whole new SoC that will replace the orginial Nintendo arm silicon. This may also include new wifi hardware and/or a new battery(current one is itself a replacement that is getting old). Instead of Nintendo firmware, I hope to run an actual linux desktop with it. I probably need to write some custom drivers and give it a virtual keyboard on the touchscreen. I want to be able to keep both cartridge slots, and use an emulator to run real games. Maybe even modify the slot to accept clasisc GB games too.
I fully expect this to all be a monumental task. But that's kinda the point.
At first I'm going to cut those goals by keeping the screens, battery and charger port. I have a spare charger I can scavenge the plug from to make a custom USB once linux is on it. I'm hoping to use the most powerful replacement cpu/SoC I can fit in there, but I'm basically going in blind.
Phase 1: Emulation
Measure twice cut once right?
I want to work out my plan virtually first and squash any major problems. This means I need to learn about any DS hardware quirks that will get in the way of my plan to just cut all the I/O hardware away from the rest of the cpu.
Depending on the final plan this could mean anything from major hacking and slashing of the PCB, to soldering a tiny board up inside without any unnecessary removal of original parts. Remember, I want to be able to play DS and gameboy still, so if the original silicon HAS to stay to do that, it will.
Ideally, I would like to remove as much of the motherboard as possible to make room for the largest arm SoC I can cram in there and still wire up the components. Something like a raspberry pi compute module would be ideal, but I'm pretty sure the dimesnsions there are just a little to big still.
That means I need to dust off my circuit design skills and figure out:
What software would be best for this? The stuff I'm used to is more about getting simple lights and motors to go wrrrr with some simple NOR/NAND gate logic. I THINK I can plop an ARM SoC like from some of material the pi foundation provides, but it seems like overkill?
Once the hardware wiring is worked out, getting linux on there shouldn't be an issue. The first issue is going to be no keyboard. I feel that the best practice would be to have some custom firmware loaded at boot that provides a basic touch pad keyboard/mouse(maybe even button backup navigation) so that linux is fully usuable "out of the box" so to speak.
Once I have the top screen running a desktop I can start thinking about a way to get more out of the lower screen. I will have to if I want to run DS games in an emulator. Maybe write the firmware to allow two displays and make the keyboard hideable at the hardware level somehow?
At that point I should be able to run games from the filesystem like any desktop based emulator. The next step would be getting that emulator to be able to access the cartridges directly? Maybe I would have to settle for being able to dowload the Roms directly, and then play them from the filesystem. I do own a rumble pack, it would be dope to be able to use that, especially if the new hardware can emulate something like a gamecube with actual rumble in every game. That all sounds like I'm gonna learn how emulator code really works lol.
So the trick is being able to iterate and test at each of these steps, in an emulator. Im guessing nothing short of full hardware simulation will do since Im tinkering with the hardware so much. Starting to feel like stabbing in the dark.
Bu huzzah, assuming all goes well, at this point I would be confident about what Im doing to modify it physically, and will have ready to go software to make it work once the surgery is complete.
Phase 2: Open Case Heart and Brain Transplant(modifying the hardware)
Measuring complete, the plan turns to knives. By now I should have already made all the plans to modify it, but it makes more sense to talk about some of that here.
First and foremost: wheres all the info at?
I've struggled to learn more than the basics of the cpu the ds uses, like clock rate and memory. I think I can bypass caring too much though. My plan is essentially to turn into a controller with a pc inside it, so most things should be pretty trivial to wire up to the new stuff(especially since gpio pins are popular).
I do need to know stuff like voltages and current draws for some of these. Mostly I need know if there are any sneaky surprises in the wiring anywhere.
I would rather wait to pry open mine if I could find better pictures and info on the internals. This is basically my current mini project: collect info on the specs of the DS(and dimensions internally). That said, I'm planning to do my own teardown anyway(and document it to my own satisfaction fot posting). So any resources and tips experienced DS modders can point me to would be appreciated.
My ultimate goal includes upgrading the battery, and screens. As well as changing the power port to a standard usb-c(since it will be an actual computer, it kinda needs one right?)
Other things Im thinking about includes a new wifi antenna/microcontroller+bluetooth and things like accelerometer + gyro. Maybe even gps(battery hog though).
I'm also considering some minor case mods, even though mine is in great shape. First, I think there is ample room for a microSD slot somewhere. If I replace the charger with a USB-C there should be room right there. The only issue there might be wiring it up so close to the power(and heat). I'm also a fan of the idea of adding a hole for a camera to give it some DSi functionality. I won't settle for something that feels weak and rattly though, so the fewer mods the better overall.
Any thoughts about any of this would be cool, but the important stuff is the consideration for the new internals.
How familiar are people out there with single board pc's? There seems to be a flood of them on the market. Thoughts on experiences with them? Any that you know of that jump out like "this is exactly what he doesn't know he is looking for"?
The ideal "power" I'm looking for is somthing that could play wii/wiiu games in an emulator. Or even just gamecube. Last time I tinkered with emulation of gamecube on a pi was the pi3b. It was, meh. I think I had install issues, or sd card issues tbh. But it was also so long ago, my memory might be tricking me. Definitely stabbing in the dark now lol.
So assuming my hypothetical process has led me here, I have successfully modified the hardware with a new pc inside. The buttons and screens are mapped correctlly in an emulator to access both slot 1 and 2. It is now a pc with a ds handheld wired to it as a controller, and with a firmware keyboard for the touchscreen. Where to from here?
Phase 3: Upgrades(future proofing)
As previously mentioned, I want a better set of screens, a usb port, and sd card reader.
Among others.
Any tips for planning the first iteration of this to make these painless as possible?
For example, the factory screen may be very different from what goes in later. The touchscreen even more so. Same with the Battery if I go rechargeable li-ion via-usb. I would rather not design a new solution from scratch each time I want to wire a new gizmo. Gpio pins should be good for most needs, but Im sure there are other options out there too.
In conclusion:
I'm here to stretch my skilks from theoretical to practical and document my journey. Anybody and everybody is welcome to join me in this pursuit. I need knowlege, tasty, tasty knowledge. Mmmm.