Offline
Canada

I've been working on this for a while now, and I'm almost ready to make a prototype. Basically, it's a replacement motherboard for a DMG that (for now) has an arduinoboy, 7486 XOR "bivert chip", and easy prosound pads. It doesn't sound like much, but if I can get it to work right, it will be a huge step for further development, like adding different sound chips, or wireless communication... anything's possible, really.

Here's a screenshot of the (not quite finished) PCB design for those interested:

A big part of this for me was that I wanted everything to look and feel just like a normal DMG on the outside, other than some extra I/O and a button or two. A lot of parts must be harvested from a DMG motherboard to make these, such as the link port, power switch/jack, volume pot, RAM, CPU, op-amp, cartridge connector, and screen connector. This is just my personal preference, and of course anyone making their own could use whatever they wanted.

Big thanks NeX and bleepbloop for some of the pinouts and library files, great ideas and inspiration, Trash80 for the arduinoboy, and Jeff Frohwein for his DMG schematics.

Questions, comments, and suggestions are more than welcome!

Offline

holyshit

Offline
United Kingdom

This is very relevant to my interests!

Offline

Will you be able to house this in a DMG case?

Offline
Canada
tRasH cAn maN wrote:

Will you be able to house this in a DMG case?

Yeah, that's the goal. It will need three holes drilled in it for the two 3.5mm MIDI jacks and the arduinoboy button. Six more tiny ones if I use LEDs, but I think I'll be indicating the arduinoboy's mode with inverting flashes using the XOR gates instead.

Offline
USA

Very ambitious project.

Good Luck!

Offline
Sweeeeeeden

NeX has actualy been discussing this very idea with me. Cool to see someone do it. Here's some advice:

Add ground planes. Ground planes help reduce interference and potential soft errors. The area around the crystal makes me worried, for example. Also make any power lanes slightly wider.

The display board has little springy contacts. These are ground connections, and you should ideally reserve an area that is not covered by silkscreen to allow them to connect.

The GBC cartridge socket has the ground pin moved one unit  moved forward. This mean that the ground pin is the first thing that makes contact when inserting a cartridge, and the last thing that disconnects when pulling it out. This is good because it prevents latchup. Add another ground hole, so people can use a GBC socket if they so wish. (BTW, I know a couple of guys who have desoldered GB sockets of different kinds that I can hook you up with.)

Hint: If needed, you can internally rearrange any of the address pins that are in use on the internal RAM chips, and any of the data pins as well, if it helps the routing. As long as you can write a byte to a position, and get back the same byte from the same position, all is well. (This is not true for the cart slot, of course, where things already have their place.)

Hint: If it helps, you can rotate chips 45 degrees. Not only will the board still come out just fine, but most fab houses can solder components at non-90 degree angles as well, if you'd ever go that route. (Down to 5 degree increments or so, I think.)

You might be able to move the components on the headphone daughterboard to the main board, for those who want minimize the daughterboard. (NeX smile ) The way I'd do it is to put a cuttable trace which bypasses those components, that you leave untouched if you don't want to connect those components to the main board.

Bypass caps are good - rather a couple uF too much than the opposite. Throw in a couple of ceramics as well, for good measure. (Regular common wisdom in electronics.)

A designated area with two extra holes for gnd and two extra holes for +5V wouldn't be wrong. Might come in handy.

Lastly, make sure that everything will fit, and no components will stick out too much etc.

Also, I have an idea for doubling the amount of available RAM, which would be possible if you could find a suitable 16 kByte chip, or fit two 8 kBytes on there. That would be very much of a "just because I can" type thing, and wouldn't actually be that useful, since no software supports it.

Also, if you're in for a challenge, you may want to try to redesign the power board, perhaps using MOSFETs for better speed and efficiency.

I'm sure I can come up with more things later, but I need to sleep. Would love to try this board out at some point.

Offline
Sweeeeeeden
2xAA wrote:

Jose gets his link ports manufactured for his Keyboard/Link port breakout board.
When (if) he's back you could strike a deal with him probably.

1) Those keyboard things don't even work properly. (At least not with the DMG style sockets they are using now.) They shouldn't have been manufactured in the first place. (But that's beside the point for this thread.)
2) Jose is a bit shady, and from my (well, not my personal) experience, he tends to basically blackmail people. I wish I didn't have to give this advice, but anyone considering doing business with Jose should think twice.

(Originally a response to 2xAA's post on 8bc, but also posted here in case that post would mysteriously vanish.)

Offline
Milwaukee, WI

This is fantastic!  Should prolong the longevity due to failing caps and such.  Transplanting a SGB CPU should be way easier now too.  I was thinking of a expanded RAM idea like nitro as well.  An odd feature I would like to see would be the VIN pin on the connector moved to some pads as well... I plan to experiment with this soon.  As far as MIDI sockets go too, I use 1/8 sockets if you care.  Maybe this could also be a good opportunity to beef up the sound circuit with a better opamp and such. (Maybe the need for a prosound mod could be eliminated!) I really hope to see this go into production! Awesome work!  Now where is Nex's redesigned front board with a pocket screen?!

Offline
Melbourne, Australia

This is very cool smile

Offline
Carbondale, IL

Will you be releasing the EAGLE files under an open source or non-commercial use license?  On the off chance someone tries to recreate the GameBoy processor with an FPGA, or tries some other complicated mod, having this board for a template would make things much easier.

Offline
Sweeeeeeden
Theta_Frost wrote:

Transplanting a SGB CPU should be way easier now too.

Yep, forgot to mention that.

Theta_Frost wrote:

I was thinking of a expanded RAM idea like nitro as well.

No, you didn't. tongue
(Unless you actually knew about the mirrored RAM on $E000-$FDFF)

Theta_Frost wrote:

An odd feature I would like to see would be the VIN pin on the connector moved to some pads as well... I plan to experiment with this soon.

What are you trying to do? Since the Vin pin has very snug voltage range requirements, and only works if the program running on the GB activates it, I think you're better off injecting your signal into the post-CPU, pre-AMP part of the chain.

Offline
Sweeeeeeden
scienceguy8 wrote:

Will you be releasing the EAGLE files under an open source or non-commercial use license?  On the off chance someone tries to recreate the GameBoy processor with an FPGA, or tries some other complicated mod, having this board for a template would make things much easier.

Actually, that's what my comment about Jose and blackmailing was about. At least two people have made FPGA implementations of the Gameboy CPU. Then at some point, Jose got his "ultimate handheld" idea, which would among other things contain a real DMG CPU and a FPGA emulation of a DMG. So he turned to the creator of "FPGABoy", costis, and tried to make a deal. But as it also turned out, Jose had registered FPGABoy.com, which used to belong to costis, but expired, and used that as a bait to make him sell his design to him. Costis refused and never got his domain back. He also got cold feet and decided not to release FPGABoy as open source, which was his original long-term goal. So yeah...

Offline
Carbondale, IL
nitro2k01 wrote:
scienceguy8 wrote:

Will you be releasing the EAGLE files under an open source or non-commercial use license?  On the off chance someone tries to recreate the GameBoy processor with an FPGA, or tries some other complicated mod, having this board for a template would make things much easier.

Actually, that's what my comment about Jose and blackmailing was about. At least two people have made FPGA implementations of the Gameboy CPU. Then at some point, Jose got his "ultimate handheld" idea, which would among other things contain a real DMG CPU and a FPGA emulation of a DMG. So he turned to the creator of "FPGABoy", costis, and tried to make a deal. But as it also turned out, Jose had registered FPGABoy.com, which used to belong to costis, but expired, and used that as a bait to make him sell his design to him. Costis refused and never got his domain back. He also got cold feet and decided not to release FPGABoy as open source, which was his original long-term goal. So yeah...

Makes me wish I didn't have to deal with that other site.  Problem is there are still more people there to sell to than here.  But that is neither here nor there.  Perhaps I'll do some work of my own after I get these ArduinoBoys sold.

Offline
Ciudad de méxico, MX

wow, that jose guy is really satanic.

Offline
Canada
nitro2k01 wrote:

...

Thanks for the advice! I'm fairly new to PCB design, so every bit helps a lot. I just add ground planes after routing because EAGLE won't render them on the fly, so it's tricky to organize things with them there.

I haven't decided whether to add the ground contacts for the top PCB or not. The problem with adding those is that they take up a fair amount of space, but if I can fit them in I will.

The socket actually has to be a DMG socket if it's supposed to fit in the case, because of the way the DMG screws together both inside and out.

Putting the daughterboard's caps and inductors on the motherboard has crossed my mind, but I never thought of doing it for space-saving. That's a great idea and it will also help out with the big daughterboards I'm working on too. smile

I'll look into the caps soon, I added the same number of extra caps to this board, but I should probably organize them a bit better.

I really like your idea of having extra 5V and ground pads for modders, as well as the extra RAM. I hadn't thought of that at all, but yeah, it should be possible to use up to 64KB with all 16 address lines, correct?

I thought of redesigning the power board, but I honestly don't know nearly enough about that kind of thing to bother with it at the moment.

Again, thanks for the input and suggestions, they're really appreciated! big_smile