v7 drivers (64bit)
Re: v7 drivers (64bit)
No problem, next step will be the deep inspection of the call DeviceIoControl as isolated culprit. I need to gather all the parameters with disassembly ( a little bit on the tedious side ), but I hope, I come to a conclusion soon. After that, it's up to the party, who's in control of the driver. I'm not (and don't want to be) in a position, to speculate, how certain software providers do their job (i.e. how theyt got ASIO working for their products under Win10 64-bit). But I'm confident, that I either find the correct way or a proof, that there is no way ATM.
Re: v7 drivers (64bit)
If you can provide detailed information it will surely assist the development of the driver. The real question is time, as in the developer(s) have a finite amount of time/resources and so who can know when things can be addressed. It's surely better to assist as much as you can instead of just complaining though. 

Re: v7 drivers (64bit)
Did I complain? If so, not intended at all. I just want to keep my favorite apps running.valis wrote: Sun Jan 28, 2018 3:27 am If you can provide detailed information it will surely assist the development of the driver. The real question is time, as in the developer(s) have a finite amount of time/resources and so who can know when things can be addressed. It's surely better to assist as much as you can instead of just complaining though.![]()
Re: v7 drivers (64bit)
You did not, I was indicating that you were being helpful.
Re: v7 drivers (64bit)
2 results from today:
1. ableton libe 64-bit is working (with windows 7 compatibility mode set). And no, etting this mode to my test program doesn't help.
2. the dll uses a function call which is supposed not to work under Windows 10. Why is works with 32-bit, escapes me.
1. ableton libe 64-bit is working (with windows 7 compatibility mode set). And no, etting this mode to my test program doesn't help.
2. the dll uses a function call which is supposed not to work under Windows 10. Why is works with 32-bit, escapes me.
Re: v7 drivers (64bit)
More strange results
- running my simulator (using only the essential parts of the ASIO driver) in X86 mode works fine (i.e. I have the correct paramters for device control).
- running the simulator in X64 mode survives the system call, but generates an exception (access violation).
- running my simulator (using only the essential parts of the ASIO driver) in X86 mode works fine (i.e. I have the correct paramters for device control).
- running the simulator in X64 mode survives the system call, but generates an exception (access violation).
- next to nothing
- Posts: 2521
- Joined: Mon Jul 29, 2002 4:00 pm
- Location: Bergen, Norway
Re: v7 drivers (64bit)
" running the simulator in X64 mode survives the system call, but generates an exception (access violation)"
I guess that is in Win 10? or do you get the same access violation in win 7 64bit, or running your simulator in compability mode?
I guess that is in Win 10? or do you get the same access violation in win 7 64bit, or running your simulator in compability mode?
A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.
Re: v7 drivers (64bit)
Win 10. I have to try compatibility mode. ATM Win 7 doesn't work anymore (no idea why, I can't login).next to nothing wrote: Tue Jan 30, 2018 1:50 am " running the simulator in X64 mode survives the system call, but generates an exception (access violation)"
I guess that is in Win 10? or do you get the same access violation in win 7 64bit, or running your simulator in compability mode?
Tried, same error. But this error has IMHO nothing to do with Scope.
The exception was due to the fact, that I declared some of the variables involved as int, where DWORD was the correct type. No idea, if this is the same in the original source code. So far, I can't reproduce the BSOD with the simulation.
If someone else has ideas, I could try, I'll do my best. But so far, I'm confused a have to stop here. Unless I can try with the original code, my hands are bound. Sad enough

Re: v7 drivers (64bit)
Got my Win 7 working again. Tested in both x86 and x64 mode. As expected, nothing weird happened. In x64 the final syscall is #4 (status of the device) which returned the correct value.
Re: v7 drivers (64bit)
Good News: I got the source from Holger and now I can find found, what's really happening.
Re: v7 drivers (64bit)
great!
- next to nothing
- Posts: 2521
- Joined: Mon Jul 29, 2002 4:00 pm
- Location: Bergen, Norway
Re: v7 drivers (64bit)
Nice, keeping my fingers crossed 

A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.
Re: v7 drivers (64bit)
First findings: (as expected) Ableton Live survives the same syscall, which ASIO SDK host doesn't. I.e. I can reproduce the problem, but still have no idea, how to fix it. I have to dig deaper into that specific call (it's actually not the first call which creates the BSOD, but other call have different parameters). The call itself is trying to get channel info (harmless enough).
Re: v7 drivers (64bit)
After some in depths debug session, my conclusion is (sad as it might be):
there is nothing wrong with the ASIO driver. The problem occurs deep in the scopexite.sys driver and is an access violation exception at this code:
mov dword ptr [rax+rcx*4],0FFFFFFFFh
with rax=00000000ee97f8b0 and rcx=0000000000000000.
The rax address looks suspicious, because the memory context is fffff08efde8aae0. IMHO rax should be ffff08efee97f8b0 (which is within kernel memory). But I'm at a loss here, I don't know anything about system drivers.
there is nothing wrong with the ASIO driver. The problem occurs deep in the scopexite.sys driver and is an access violation exception at this code:
mov dword ptr [rax+rcx*4],0FFFFFFFFh
with rax=00000000ee97f8b0 and rcx=0000000000000000.
The rax address looks suspicious, because the memory context is fffff08efde8aae0. IMHO rax should be ffff08efee97f8b0 (which is within kernel memory). But I'm at a loss here, I don't know anything about system drivers.
Re: v7 drivers (64bit)
My suspicion was confirmed: ASIOScope uses 32-bit Address pointers when it should use 64-bit pointers. As Ableton runs in 32-bit memory space, there is no issue in that case. I informed Holger about my findings and I hope I could help. I can't do anything further atm, because not only the ASIOScope dll has to be changed, but also the scopexite.sys driver.
Re: v7 drivers (64bit)
that's good work.
i'm sure if that's the problem, that the fix will come much sooner that it would otherwise.
i'm sure Holger appreciates your effort.
i'm sure if that's the problem, that the fix will come much sooner that it would otherwise.
i'm sure Holger appreciates your effort.
Re: v7 drivers (64bit)
Amazing efforts here! I'm super impressed by a) the dedication to get to an answer and b) the tech sleuthing. Fingers crossed it leads to an even more stable Scope.
P.S. I have been able to BSOD using the Juce VST Demo Host using ASIO in the past, which was probably my bad code, but could have been related to this.
P.S. I have been able to BSOD using the Juce VST Demo Host using ASIO in the past, which was probably my bad code, but could have been related to this.
- next to nothing
- Posts: 2521
- Joined: Mon Jul 29, 2002 4:00 pm
- Location: Bergen, Norway
Re: v7 drivers (64bit)
w_ellis, the Juce crash was probably driver related. This case has some similarities to this thread: https://forum.juce.com/t/asio-devices-c ... t/18795/15 as far as i can decrypt it 
Good work DragonSF. This could explain a lot, but one thing is nagging me; the different behaviour in win 7x64 / win 10x64. Does 7 "accept" 32bit pointers, but not 10?

Good work DragonSF. This could explain a lot, but one thing is nagging me; the different behaviour in win 7x64 / win 10x64. Does 7 "accept" 32bit pointers, but not 10?
A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.
Re: v7 drivers (64bit)
I asked me myself the same question. I'll take a look at that later. Maybe in Win 7 all process are running in 32-bit space.
And Voicemeeter is working, because it's a 32-bit application.
And Voicemeeter is working, because it's a 32-bit application.
Last edited by DragonSF on Mon Feb 05, 2018 2:34 am, edited 2 times in total.
Re: v7 drivers (64bit)
Just to confirm: under Windows 7, the ASIO driver is loaded into 32-bit space. Therefore no problem.