PARIS 64 bit update [message #105993] |
Sat, 05 February 2011 18:40 |
mikeaudet
Messages: 476 Registered: February 2009 Location: Canada
|
Senior Member |
|
|
Hi All,
I am so sorry that I haven't posted anything in so long. Some of the reasons are personal (I've been a hermit), but a lot of it lately is that I keep hoping to make a big announcement, and the work is just taking too long to keep putting off posting until it's done.
I've been working extremely hard on the 64 bit driver. I've been so focused, I've been missing meals and losing sleep. I was hoping to have it done by Friday, but programming hates schedules for some reason, and it's not done yet.
Just a recap, the 64 bit driver is hard because:
1) the PARIS application allocates the memory used to communicate with the EDS cards, and I can't fix that.
2) The eds cards can only talk to the first 4GB of memory (32 bits worth of addressing)
3) On a 64 bit system, the memory the application will be allocating could very well be above the 4 GB line, so the EDS card won't be able to talk to the the buffer it's given.
What I've accomplished so far is:
1) I've created soundbuffers in the scherzo that are guaranteed to be in the first 4GB of memory, so the EDS card can see them, and I've successfully passed these buffers back to the PSCL.
2) I've removed the code from the Scherzo that is illegal and bug checks on 64 bit systems and replaced it with legal and safe approaches.
3) I've identified places in the PSCL where I think I change the buffer that the eds card is sent, replacing it with one of my new ones. I've also Identified where I can copy the data back to the buffer that the PARIS application thinks is being sent to the EDS cards. This is called double buffering, and I've almost got it working.
4) I've created what I call a soundbuffer manager that keeps track of what new buffer goes with what old buffer and does the copying.
What I left is finishing the soundbuffer manager and dealing with the 64 bit to 32 bit pointer translation.
But, the hard, hard part is the double buffering, and I'm either almost finished that, or I'm about to find out that I have to go back to the drawing board because this approach isn't going to work. I really, really hope it works!
I've done my very best and put in tones and tones of time. I'm very sorry if people have given up hope or are frustrated waiting. I wish this was easier, and if I had the PARIS application source code, I'd be done. It would have been so simple. But alas....
I'll keep you guys posted as to my progress. I'm trying not to be a hermit anymore, so I'll make a much greater effort to communicate.
Best wishes to all,
Mike
|
|
|