Worklog [2023 Contest Entry] Dockable NDS

Joined
Jun 11, 2023
Messages
4
Likes
18
Location
Texas
Hi all! I'm building a portable single screen DS. Taking what I learned from building a consolized DS, both about the inner working of the DS and how to effectively describe logic in HDL, I hope to build a device that gives me the best DS and GBA gameplay experience. I'm going to try and provide as much documentation as possible along the way :)


The Handheld:
* DE0-Nano fpga board for control
* 800x480 display /w resistive touch screen
* Joycon joystck mapped to the dpad
* Multiple display layouts (stacked, staggered, side-by-side, fullscreen, more?), on any layout swap upper and lower screens by pressing the joystick
* Automatically increase scaling when GBA game is detected to remove black bars
* 10,000 mAh battery
* USB-C charging
* On screen battery and volume control indicators
* Touch screen presses injected onto the DS digitally instead of with a dac
* FT232H for usb data transfer with dock

The Dock:
* Raspberry Pi Zero W2
* Handheld can be used as controller while docked
* Bluetooth controller support with gyro or touchpad for providing touch input


Just got all my parts! While I was waiting I finished the SystemVerilog SDRAM controller used for double buffering both DS screens.

Starting on the driver for LDC panel now.


PXL_20230616_161714168.MP.jpg
 
Sounds exciting! I'm looking forward to seeing more from your research!

If you're using ARM intellectual property in your FPGA, request you refrain from posting that part to this site.
 
Alright I got the LCD driver done. I put together a little test setup with just the red data lines hooked up for debugging. Unfortunately it looks like the display is defective because it has one row of pixel that are stuck white. I requested an RMA but I'll continue with what I've got for now. Display is not defective I was one digit off on one of the signal timing parameters and it caused that unexpected white line. :facepalm:

Time to decode the video signals from the DS, now I'm getting to the fun stuff!

PXL_20230617_053304790.MP.jpg
 
Last edited:

Just wanna leave that there.
That's a really cool project and definitely would be a simple option if I just need composite video. I want to do scaling and post processing on the digital video signals. Also to my knowledge you can't get more that 256x192 pixels per frame on that NTSC output, so you wouldn't be able to display both screens at full resolution at the same time which is kinda limiting.
 
Last edited:
That's a really cool project and definitely would be a simple option if I just need composite video. I want to do scaling and post processing on the digital video signals. Also to my knowledge you can't get more that 256x192 pixels per frame on that NTSC output, so you wouldn't be able to display both screens at full resolution at the same time which is kinda limiting.

Fair enough. I love how much further than that you're taking this! I look forward to watching your project develop.
 
Hi all! I'm building a portable single screen DS. Taking what I learned from building a consolized DS, both about the inner working of the DS and how to effectively describe logic in HDL, I hope to build a device that gives me the best DS and GBA gameplay experience. I'm going to try and provide as much documentation as possible along the way :)


The Handheld:
* DE0-Nano fpga board for control
* 800x480 display /w resistive touch screen
* Joycon joystck mapped to the dpad
* Multiple display layouts (stacked, staggered, side-by-side, fullscreen, more?), on any layout swap upper and lower screens by pressing the joystick
* Automatically increase scaling when GBA game is detected to remove black bars
* 10,000 mAh battery
* USB-C charging
* On screen battery and volume control indicators
* Touch screen presses injected onto the DS digitally instead of with a dac
* FT232H for usb data transfer with dock

The Dock:
* Raspberry Pi Zero W2
* Handheld can be used as controller while docked
* Bluetooth controller support with gyro or touchpad for providing touch input


Just got all my parts! While I was waiting I finished the SystemVerilog SDRAM controller used for double buffering both DS screens.

Starting on the driver for LDC panel now.


View attachment 28166

Just wondering if you ever released any of that documentation and if so where it is. Otherwise, this looks really cool and I'm glad someone has managed this.
 
Back
Top