Sorgelig wrote: BBond007 wrote:
You lost me at "AXI bridge"
Hopefully we can figure something out. MUNT already has support for streaming to WAV file in the xwindows front end. I'm looking at that code to see how it works. I don't know if that will help.
In simple words i need solution which will output the PCM stream into memory by just writing into circular buffer. Format is pretty much simple. for example first word is sample rate (44/48KHz), second word is buffer size, third word is current position in the buffer and then buffer itself. So if you can make this part on HPS side, then i will be able to read it on FPGA side.
The latest kernel includes my first shot at the audio circular buffer...
# cat /dev/MrAudioBuffer
MrBuffer Address --> 0xc0c08364 (address of the buffer in kernel space)
MrBuffer Size --> 512000
MrBuffer Index --> 69628 (current buffer index)
MrBuffer Write Count --> 376256 (how many times the buffer has been written to)
MrBuffer Max Write Length --> 512 (this is typically 512 for MUNT and 280 for FSYNTH - this is the largest packet that has been written)
#define MR_BUFFER_LEN 512 * 1000
typedef struct RingBuffer
unsigned int rate;
unsigned int len;
unsigned int index;
char buf [MR_BUFFER_LEN];
static RingBuffer_t MrBuffer;
In order to get ALSA to write to the device, asound.conf needs to be put in /etc
Unless you are a Sorgelig there is probably no reason for you to install this file this at this point
This can be used with or without a USB sound card (snd-dummy is used absence) so it will be easy to compare the results. I am very optimistic this is going to work well, writing to this buffer seems totally negligible as far as system overhead. I see no additional load...
I have a new MiSTer menu which does not block MidiLink : MUNT/FSYNT options even if a PCM device is not present - provided you have /etc/asound.conf.
I will pull the latest changes from the official branch and post a new menu momentarily.
You do not have the required permissions to view the files attached to this post.