Giter VIP home page Giter VIP logo

avr_vgm_player's Introduction

VGM Player project for AVR mcu

by Fabien Batteix (alias SkyWodd)


Overview

Work in progress

This project is a VGM (Video Game Music) player based on a ATmega644/1284 AVR mcu.

This project used two sounds chip from the Megadrive game console :

  • The SN76489 PSG sound chip (for noise and square waves)
  • The YM2612 FM sound chip (for complex sounds emulation, like piano)

For more detail on the hardware design please take a look at my blog (URL just below my github name).


Hardware

Basic

  • ATmega644 (64K flash, 4Ko RAM) or ATmega1284 (128K flash, 16Ko RAM) AVR mcu running at 16MHz
  • FTDI basic module for Serial communication with host PC
  • ICSP header for programmation
  • 1x 23LC1024 SPI SRAM for VGM file storage

Human-computer interface

  • 4x20 serial LCD from Sparkfun
  • 3 leds (Yellow for RAM access, Red for "pause", Green for "playing")
  • 3 buttons (disable/enable PSG sound chip, disable/enable FM sound chip, Play/Pause)

Audio

  • 1x YM2612 FM sound chip (Yamaha)
  • 1x SN76489 PSG sound chip (Texas Instrument)
  • Analog front-end for mixing and speaker output

Dynamic clocking

  • 2x LTC6903 (SPI version) for dynamic clocking of sound chips

For pins mapping please take a look at header file: "pinmap.h".


Software compatibility

  • XMODEM (with CRC-16) for VGM file transfert over the serial link
  • VGM 1.61 (and earlier) for music playback
  • GD3 1.0 for track informations (only english strings are used)

For more informations please see:


Test code for sound chips

Fake YM2612 and SN76489 are common on ebay. To chek if your YM2612 or SN76489 are fake or not two test code are provided.

  • One for the YM2612 who play the same note again and again infinitly.
  • One for the SN76489 who play some notes on all channels sequencialy in an infinite loop.

avr_vgm_player's People

Contributors

gopalmetro avatar skywodd avatar

Watchers

Cleon Chick avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.