64 bit driver progress [message #106069] |
Mon, 07 March 2011 11:50 |
mikeaudet
Messages: 477 Registered: February 2009 Location: Canada
|
Senior Member |
|
|
Hi All,
I am going to be so embarrassed if I'm just mixed up about this, but I've checked and checked, and the double buffering is working! I've tried playing back about 25 tracks, and just a preliminary recording test of one track, but everything seems to be working fine, with no noticeable increase in CPU load.
What this means, unless I'm somehow deluded and this huge, exciting emotional high I'm on comes crashing down, is that a 64 bit driver is going to happen. My second attempt at working around the original DMA design is working.
Holly Crap!!!!!!!!
Mike
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: 64 bit driver progress [message #106272 is a reply to message #106265] |
Mon, 18 April 2011 10:47 |
mikeaudet
Messages: 477 Registered: February 2009 Location: Canada
|
Senior Member |
|
|
Thanks so much for all the positive comments here. PARIS won't benefit from more ram, but other applications that we run along side PARIS (VSTi hosts, etc.) will.
I really, really intended this to be long done by now. I'm still working on it. I've been moving functionality from the PSCL into the scherzo where the code relates to enabling and disabling interrupts. This is something that has bothered me about the driver for a long time. When I started, I was so new to things that I was afraid of changing these sections. They don't look so scary now, so I'm taking them on. The hope is that PARIS will run much faster when the interrupt masking and unmasking is done under the IRQ lock, rather than putting in delays. This could alleviate some of the clock funkiness when changing from internal to external and back again, too. Even if it turns out it fixes nothing, it is the right way to do it, so it's going to change.
I've now done dozens and dozens of hours of testing with the double buffering, and I've had zero problems.
I'm sorry this has taken so much longer than I thought it would. But, I am going to finish this, and it is going really, really well. Thanks so much for your patience. I wish I was a millionaire, and I could just make this my full time gig. I'd buy the PARIS source, too. Ah, dreaming ....
We'll get there anyway.
All the best,
Mike
|
|
|
|
|
|
|
|
|
|
Re: 64 bit driver progress [message #106360 is a reply to message #106357] |
Sat, 30 April 2011 08:49 |
|
Hi Dimitrios - i might be wrong, but Im not sure that moving PARIS from a 32-bit environment to a 64-bit will unlock any more features or power or inherent functionality than moving from, say, Win2k to XP would have done.
My take on this is that like the XP drivers, it's more about knowing this is where it will all be going in the very near future (a 4 gig RAM limit? It's a wonder 32-bit systems have persisted this long). One day all too soon you'll look for stuff to upgrade or even maintain your system and the 32-bit stuff will be the harder-to-find/more expensive/limited choice/unsupported stuff. Difference is, this time we're going to be ready when that day arrives.
"... being bitter is like swallowing poison and waiting for the other guy to die..." - anon
[Updated on: Sat, 30 April 2011 08:52] Report message to a moderator
|
|
|
|
|
|
|
|
|
Re: 64 bit driver progress [message #106555 is a reply to message #106553] |
Sun, 26 June 2011 10:15 |
mikeaudet
Messages: 477 Registered: February 2009 Location: Canada
|
Senior Member |
|
|
Hi Endre,
Thanks for being so patient. I was actually planning on posting an update today, so your post's timing is perfect.
For the last two weeks, and until it is done, I've been taking a day a week off work to spend on the driver. It just wasn't getting done otherwise. With the baby, and a busy work schedule, I just wasn't getting to work on it.
I've been enjoying the last two PARIS days enormously! I get so into it that I forget to eat. It's going really well. This week, I got the DMA buffers successfully passed back to the PSCL on Windows 7 x64. I would have got more done, but I stupidly thought it wasn't working, and I wasted untold hours trying to figure out why. But, it was working perfectly. It was the next driver step that was causing the access violation. Doh!
It's coming. The DMA buffers involved passing a user mode memory structure to the scherzo, which is more complex than most of the scherzo dispatch IO calls. And, that now works. I've got a handle on how to do the 64 to 32 bit thunking, so the next steps should come a lot faster. I'm so exited to get back to it. Maybe the next day I can spend on it will be the day I finally can post a screen shot of PARIS running on Windows 7 64. I am so looking forward to that day! It may be an extra couple of weeks. I may run into something more difficult, but I don't expect to.
I'm sorry that it has taken so long. But it is coming. I'm new to 64 bit driver programming also, so I'm learning as I go.
I've also made a lot of progress in the PSCL in terms of reducing the slowness of the XP driver. It's now just as fast as the Windows 98 driver was, which has always been a big dream of mine. I always hated that long delay when PARIS starts under XP. It's gone. I've also got rid of the microsecond timing delays that relied on cpu cycles. When RAM on the paris cards is written to, the app has to wait 10 microseconds before reading it or writing more, and with new CPUs throttling their speed up and down, relying on cpu cycles seemed like something that needed to go. The PSCL is using the high resolution timer in newer PCs now, so the CPU speed changes won't be a problem.
I'm having so much fun with this, and I'm making sure to code in the possibility of a 64 bit app. Wouldn't that be the coolest?!
I'll try to do a better job of keeping you guys posted on the progress. I am working on in.
All the best,
Mike
|
|
|
|
|
|
|
|
|
|
|
|
|