https://github.com/denilsonsa/retroadapter
My changes on top of RetroAdapter to make it work with my microcontroller. This is basically the RetroAdapter version 2.1a with some tweaks in the Makefile, an updated usbdrv, and many modules disabled. Built as an USB adapter for SEGA Genesis / Mega Drive controllers.
https://github.com/denilsonsa/retroadapter
atmega atmega8 avr retro-controller sega-genesis sega-mega-drive usb-game-controller usb-gamepad usb-hid
Last synced: 3 months ago
JSON representation
My changes on top of RetroAdapter to make it work with my microcontroller. This is basically the RetroAdapter version 2.1a with some tweaks in the Makefile, an updated usbdrv, and many modules disabled. Built as an USB adapter for SEGA Genesis / Mega Drive controllers.
- Host: GitHub
- URL: https://github.com/denilsonsa/retroadapter
- Owner: denilsonsa
- License: gpl-3.0
- Created: 2020-06-28T17:33:08.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-13T12:36:11.000Z (over 1 year ago)
- Last Synced: 2025-03-31T01:31:53.002Z (7 months ago)
- Topics: atmega, atmega8, avr, retro-controller, sega-genesis, sega-mega-drive, usb-game-controller, usb-gamepad, usb-hid
- Language: C
- Homepage: http://denilson.sa.nom.br/blog/2013-07-15/i-built-a-retroadapter
- Size: 1.45 MB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
RetroAdapter
============Originally written by Paul Qureshi (for the ATmega168 microcontroller).
Modifications in this repository by Denilson Sá (adapted to the ATmega8 microcontroller).
Overview
--------This repository contains my changes on top of RetroAdapter (originally for
ATmega168) to make it work with the ATmega8 microcontroller that I already had.
This is basically the RetroAdapter version 2.1a with these changes:* some tweaks in the Makefile,
* an updated usbdrv,
* some bugfixes in the main firmware (corrected some button mappings),
* many modules disabled (because I'll never use them, and to reduce the size of the firmware),
* a few conditionals hardcoded (because my hardware only supports one kind of controller),
* optional bootloader changed (or updated) from bootloadHID to USBaspLoader.The firmware in this repository worked on the ATmega8 microcontroller.
Feel free to use this repository as a starting point for your own project.
Background
----------For a long while I wanted to build a Sega Mega Drive controller adapter to USB.
Fortunately, Paul Qureshi wrote have created RetroAdapter and published all the
source and schematics on his website .
This adapter uses an ATmega 8-bit microcontroller with almost no extra
components (only a few resistors, a few capacitors, a couple of Zener diodes, a
crystal).He used ATmega168, which is more powerful than the ATmega8 that I already have.
In order to make it compile and make it fit in 8KB (or 6KB + bootloader), I had
to make small changes to the RetroAdapter code. These changes are saved in this
repository.The Makefile changes mostly come from my previous project:
[atmega8-magnetometer-usb-mouse](https://github.com/denilsonsa/atmega8-magnetometer-usb-mouse/blob/master/firmware/Makefile)My blog post about this project:
How to get started
------------------If you're not familiar with AVR ATmega microcontrollers, please read my
multi-part series:
[First contact with ATmega8 microcontroller](https://denilson.sa.nom.br/blog/2007-10-25/first-contact-with-atmega8-microcontroller-part-1).
It starts from the very basics and goes step by step on building a simple
project using such microcontrollers.Once you're familiar with AVR ATmega microcontrollers, and you have the
necessary software tools, you can dig into this repository:* [fuses.md](fuses.md) - Lists what are the expected Fuse values to be
programmed into the microcontroller.
* [hardware/](hardware/) - Schematics of the original RetroAdapter and also for
the ATmega8 version.
* [source/](source/) - The entire source-code for the firmware and for the
optional bootloader. Includes a [Makefile](source/Makefile) which can be used
to build the firmware, write it to the microcontroller, and also write the
fuse bytes.
* [more_docs/](more_docs/) - Further documentation on the RetroAdapter, saved
from the original website before it went offline.
* [legacy_from_RetroAdapter_2.1a/](legacy_from_RetroAdapter_2.1a/) - Other
files originally from RetroAdapter 2.1a, before the changes from this
repository. You probably don't need these.