vgmrips

The forum about vgm files
It is currently 2018-12-13, 15:57:12

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: 2018-08-05, 8:22:20 

Donators Donators
Offline

Joined: 2018-04-28, 18:14:49
Posts: 7
So this is a project I've been working on for most of this year. Its also a direct result of my discovery of VGM files and their uses. I figured it was time to start sharing it more broadly, so here goes...

The Nestronic is a hardware VGM player for the NES APU, with a real-time clock. The front-end is driven by an ESP32 microcontroller, which reads VGM files off a microSD card and uses data from them to control the NES APU over I2C.

For more information about the project, at least through revision A of the hardware, please see these blog posts:
http://hecgeek.blogspot.com/2018/02/nestronic-1.html
http://hecgeek.blogspot.com/2018/03/nestronic-2.html
http://hecgeek.blogspot.com/2018/05/nestronic-3.html
http://hecgeek.blogspot.com/2018/07/nestronic-4.html

I just finished a video covering the complete assembly process for the revision B hardware:
https://youtu.be/UlO0NQTAaJU

All of the project designs and source code is here:
https://github.com/dkonigsberg/nestronic


Top
 Profile  
 
 Post subject:
PostPosted: 2018-08-05, 22:14:09 

Contributors Contributors
Offline
User avatar

Joined: 2015-11-01, 22:18:27
Posts: 38
Location: Canada
Nice. I like how there is some 6502 code involved, and the inclusion of all "old-world" and "new-world" parts onto a single PCB feels very slick.

IMO, DPCM support should be a priority for future firmware revisions. Earlier games largely ignored it, but later games (including this relatively famous one) tend to use it extensively for percussion samples.


Top
 Profile  
 
 Post subject:
PostPosted: 2018-08-05, 23:46:55 

Contributors Contributors
Staff Staff
Reverse engineers Reverse engineers
Offline
User avatar

Joined: 2013-07-17, 23:32:39
Posts: 342
You kinda have to have 6502 code if you're using NES APU, because it is only accessible from the 2A03 itself.


Top
 Profile  
 
 Post subject:
PostPosted: 2018-08-06, 2:00:27 

Donators Donators
Offline

Joined: 2018-04-28, 18:14:49
Posts: 7
Shywolf wrote:
IMO, DPCM support should be a priority for future firmware revisions. Earlier games largely ignored it, but later games (including this relatively famous one) tend to use it extensively for percussion samples.


Yeah. Not mapping any RAM onto the DPCM sample address range was a big goof from revision A (that I didn't realize until after I'd built it). One of the major changes I made in revision B was mirroring the 2A03's RAM onto both $0000 and $C000. Since I'm using an 8k SRAM chip, but really don't need very much for the actual code I'm running on it, that leaves plenty for samples.

The next major task for the 2A03's firmware is to add support to its I2C protocol for pushing bytes into that range, and trying to get DPCM working.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
[ Time : 0.095s | 16 Queries | GZIP : On ]