For my Bachelor's Degree thesis, I've recreated the USA (NTSC) NES audio chip in VHDL on an Altera Developement and Education 2 FPGA board. The aim of the project was to get to as close as possible to authentic NES sound with digital means.
This video demonstrates most of the features. Mostly playing with square wave channel 1's features, because that's what I mapped the switches to. Not all can be demonstrated at the same time because there's only 18 control switches, and there's 38 control bits for the whole system.
Features (like in NES):
1 triangle wave channel, 2 square wave channels, 1 noise channel. No Delta Modulation channel though.
Real-time frequency sweeping for Square channels.
Decay envelope for square and noise channels.
Duty cycle options for square channels.
Onto the board's GPIO pins I've connected an 8-bit Digital to Analog Converter I got from a friend for the project, and that's connected to my computer's line-in port.
Design, programming and testing took about 20+75+20 manhours of work. The code still needs some touch ups (translating Finnish comments into English), but after it's done, I'll be releasing the codes up for grabs (for free). Possibly to OpenCores.org. Also a short tutorial will be provided on what you need to connect to it to use it. And probably a simple top-level testbench if you want to simulate it.
Up next: C64 sound chip and a MIDI interface so I can control these using an old Casio keyboard.
PS. I screwed up in the video editing process at the end (matching video from my camera and audio from my PC + microphone) and it desyncs badly at the end. Dunno what happened there. There was some dust or other residue underneath the button I'm pressing most of the time so the sound cuts off a couple of times. And finally, youtube's sound compression causes some static into the smooth square wave sweeps.
missä koulussa opiskelit? siisti projekti!
lartti83 1 month ago
genius!
dhalsim33 2 months ago