Page 1 of 1

Using a DMG GB as a joypad

Posted: Fri Sep 14, 2018 12:29 pm
by trg
Hi,

I was playing GB game on an emulator, and thought it was boring to play them with a keyboard. So I thought, mayb I could :

-Make a cartridge shaped PCB, with an USB mcu
-Make the mcu act as a joypad on the usb saide
-Make it act as a cartridge on the cartridge side
-As a cartridge, il would serve some code tot the gameboy. This code, when run, would read the buttons on the GB and write it to some address that would map to the cartridge connector so that the mcu could be notified and use the valu to send the usb packer
-A power cable would deliver some current to the external battery connector of the gameboy.

This seems doable.

One thing I wonder : if I don't use a powerchord, but just connect the 5V rom the USB to the Vcc pin of the cartridge, I will probably be able to power the gameboy ram and processor, but the +6V and +19V would not be powered. Does it mean the gameboy can run my code (without being able to switch on the LCD) or will it prevent the gameboy from booting ? Will the tracks and cartridge connector be able to deliver the 100-150mA ?

Do you know of any other thing I should check before trying to do this ?

th,
trg.

Re: Using a DMG GB as a joypad

Posted: Sat Sep 15, 2018 2:40 am
by trg
Also, using this method it seems you can transfert the whole tilset at 30fps on a DMG. When a 45MIPS 16bits mcu (gameboy is 1 mips 8bits) can be bought for 2€, that open possibilities :)

Re: Using a DMG GB as a joypad

Posted: Thu Sep 20, 2018 10:00 am
by abrugsch
Let me see if I've got this clear...
you want to have a DMG cartridge that fits into an actual WORKING gameboy, that loads as a regular GB game but all it does is read button presses and relays them to a teensy or leonardo in USB controller mode which then attaches to your PC as a USB controller?

well...
It's doable, if your Gameboy coding skill are up to it... the cartridge data bus can be written to as well as read from so as long as your cartridge "ROM" has some hardware to be able to deal with writes to it (a regular cartridge already has the facility for accepting writes as there is both the ability to store savegame data, and specific commands to change memory banks. as you won't be using either of those then it's doable.

HOWEVER! I think it's a bit of a long way round what is an otherwise very simple project...
all you need is an aftermarket shell, a common ground button board and the MCU. no need to have a DMG middleman converting button presses into commands to then control a microcontroller to convert into USB commands...
Just cut out the middleman!
(unless of course you want to go through the effort of designing a PCB that has both a gameboy ROM with working code, and a microcontroller with USB port all in a cartridge shell... I mean that's the sort of crazy thing I'd do so I can't really knock the idea. It is pretty cool if utterly pointless ;) )