Keith Emery wrote:
To verify that spkmodem.c is not the source of the issue. I decided I would try to part off the code from the console, and then compile it. Producing a wav file that I could then manually interpret, certify as good, and use to fix or replace spkmodem-recv. My efforts however were once again stumped when I realized the paired off code accessing the low level hardware with the OS still loaded, will just cause a segmentation fault.
Is there an easy way to run the executable under say QEMU, but emulating just the PC hardware rather than a whole OS?
What if you build coreboot for emulation/qemu with spkmodem console? Does QEMU produce actual sound? I don't know whether QEMU has a speaker output.
Otherwise, you can take a chance and run your program as root in userspace after adding a call to iopl(3); before any in/out calls.
If your kernel is using the PIT then the system might lock up, but I don't expect that modern systems need the PIT so I think it's fine.
Finally, you could try compiling the source code for DOS, that should work fine on actual hardware.
//Peter