Hi gutenborg,
Sorry for the slow reply i'm keen to help where I can.
The MM04 data sheet is a little confusing but the ML signal you're talking about is something that the MM04 takes care of. All you need to give it is print, data and clock. I i'm not certain but I don't think there are any timing requirements to this on the low side. I think it can probably be as slow as you like. The data sheet gives a typical value for clock speed but no minimum. I have a NDA with ricoh and it didn't really end up helping much for my use case at least. Everything you need to print is in the MM04 data sheet. The later parts of that timing diagram is what the MM04 does when it sends data to the printhead. Basically you clock in dataat whatever speed you want then the MM04 sends it to the head and takes care of any print head requirements. It's quite a cool product.
When I was initially testing out the MM04 I used a teency running Arduino. You can actually get pretty fast data out of this if you just keep the code minimal. I think I was getting data out at a few MHz from memory. The clock speed was 180Mhz from memory so it's pretty fast.
The issue isn't really writing data out quickly as much as the ram you need to store your print data. The memory bandwidth is huge if you want to print at full speed so it really needs to be buffered in ram.
Since I wanted to print quickly I started out from the start with a FPGA for anything other than basic test patterns. I had never used one before and the learning curve was steep but once I got past it it's so much better. I used the PYNQ project with a Zynq FPGA so I can share RAM between the linux processor core and the FPGA. Basically I just write to ram, in linux with python, then the FPGA sends it out.
This might sound hard and was very intimidating at first but all the difficult FPGA linux stuff is provided by PYNQ, all you need to write is a comparably simple FPGA program and use the existing block diagram IP for the rest. I would also suggest avoiding using GPT to write any FPGA code I wasted literally months there
Anyway this is the implementation I got to with the MP113 and SG1024. I realised that the Ricoh GEN5 heads were not chemically compatible with what I wanted to print.
But I do have a full working program for the MM04 which can print a limited amount of data, it just uses BRAM on the FPGA instead of DRAM. So it's limited to 200kb from memory but other than that it's the same.
I was going to open source my FPGA codes and image data generation / weaving at some point but I haven't gotten around to it. I can add you or anyone else to this repository if you like as I said it's a full working implementation.