So, after all this effort, what kind of sound does this hardware produce? In this final post I run a few tests and dig into the resulting waveforms.Continue reading “Making noise with a SN76489 Digital Sound Generator – Part 3”
In the first part we examined the basics of the SN76489 hardware and how to manage it at the hardware interface between MCU and IC.
To enable sound generation experiments, the first thing I did was create a library to allow me to write sketches without worrying too much about this underlying hardware management.Continue reading “Making noise with a SN76489 Digital Sound Generator – Part 2”
Most computer games from the 80’s are recognizable by the bleeps and bloops they produced for sound. The easiest way to do this to toggle a single I/O pin to generate a square wave but there are some retro sound ICs that allow us to do much better for a minimal investment.
The SN76489 is one such IC that is still available at a very modest price and is easily interfaced to modern microprocessors.Continue reading “Making noise with a SN76489 Digital Sound Generator – Part 1”
Beginners love Arduino coding because there is so much of it available to just copy, load and go without too much thinking required.
Then they find that one thing they want to do is in one sketch and another in a second sketch. All they need to do is combine these sketches! This can be a big hurdle the first time it happens and many fail to get a satisfactorily working product.
There is a systematic approach to this that helps to ensure that things work.Continue reading “Combining Arduino Sketches”
When an application starts, any data was was part of a previous execution is reset to the initialised values of the variables. Often, however, it is desirable to maintain configuration and state values between processor resets. EEPROM is a good option to store these values.
This article explores ways to make this task easy.Continue reading “Persisting Application Parameters in EEPROM”
The proper operation of a multiplexed displays relies on a feature of human visual perception known as flicker fusion – if a light is flashed quickly enough, individual flashes become imperceptible and the illusion of a steady light is created.
But how slow can you go before you can detect that flicker?
In this part we’ll look at how to finally make a sound and how the MD_MIDIFile library supports this in software.
Keeping time in music is very important. So it stands to reason that MIDI files include a number of parameters related to keeping time, and the MIDI standard also includes time synchronization messages to ensure that all the instruments keep to the same musical beat.
Part 1 covered the content of Standard MIDI Files. In this part we’ll look at the how to keep the music synchronised to the beat, one of the more complex parts of playing a SMF.
MIDI is an industry standard music technology protocol that connects products from many different companies including digital musical instruments, computers, tablets, and smartphones. MIDI is used every day around the world by musicians, DJs, producers, educators, artists, and hobbyists to create, perform, learn, and share music and artistic works.
MIDI music can be stored in standard files. Here’s what they look like and how they work and how we can ‘play’ the files.
The motivation for this project was to explore the separation between the algorithm for managing a game and the user interface for the game. Discovering a Tic-tac-toe algorithm simple enough to implement on the Arduino allowed an exploration of this concept in a game with simple user interface requirements.