Been doing a lot of inline ASM with XMM registers for a while, never really done more than that. I would like to do some low level system development such as polling USB devices as a start, when I get the time of course. My favourite assmebler is NASM for no particular reason.

After reading a few threads on these forums I will make one thing clear, that is I'm not here to learn to create malicious code in any way or form.
My intentions are purely in learning more about ASM.
Posted on 2008-03-04 00:03:18 by Kruno
Of course. Welcome to the board.  :thumbsup:
Posted on 2008-03-04 10:28:57 by JimmyClif
Might be a bit too soon to start asking questions, however my friend believes that directly accessing hardware from ASM via interupts is not recommended and that OSs recommend you go through their routines. Is this true?
Posted on 2008-03-05 00:29:22 by Kruno
Depending on the OS, you might need to use a Device Driver to gain access to the Ports you are interested in - for example, on Windows NT derived operating systems such as XP, you can't simply issue IN and OUT asm opcodes.
Typically, these device drivers are kernel-side components that will issue those opcodes for you, and act as a conduit from your userland apps, but you will still be peeking and poking and masking bits just like the good old days, so it becomes a matter of personal preference - is your application time-critical?
Posted on 2008-03-05 01:10:43 by Homer
One application of this is to stram GPS data in real time into the PC via USB ports, yes it's real time.
I will look into this closely, thanks.
Posted on 2008-03-05 01:20:50 by Kruno
One application of this is to stram GPS data in real time into the PC via USB ports, yes it's real time.
Is that a particularly time-sensitive operation?
Posted on 2008-03-05 08:07:45 by f0dder
The data is based upon a person's movement, and how fast they move. I would imagine so.
Posted on 2008-03-06 05:50:34 by Kruno

The data is based upon a person's movement, and how fast they move. I would imagine so.

Well, it's my understanding that GPS data is limited to some meters of accuracy, and there's also a limit of just how fast you can move. How often would you poll GPS data (and is there a limit to how often you can do it?) - unless you're going to do it many times per second, it isn't really going to be a time-critical operation as I see it, and you're fine doing it through the conventional means (asking a driver). Implementing an USB stack is not the most trivial thing to do :)
Posted on 2008-03-06 07:35:45 by f0dder
Data is being sampled at 100Hz, it deals with data on a person for things such as the force a person would hit the ground with as they are running.
Posted on 2008-03-06 20:03:03 by Kruno
He's talking about mocap data.

This data is not related to GPS.

Use the parallel port for maximum throughput to your datalogger, and/or invest in a separate (specialized) wideband datalogger.
Posted on 2008-03-07 05:15:01 by Homer
Thanks.
Posted on 2008-03-08 20:24:58 by Kruno