Hi again, I can't claim to fully understand what you are doing or how, but I have a general interest in the area of interfacing, have a little experience and a lot of reading on the subject.
Last question first. There is a lot of interest in FPGAs these days. In amateur radio circles software defined radio has taken off significantly in the last 24 months. A few very clever people have got together and produced the softrock 4, 5 and 6 series or receiver boards at truly pocket mondy prices which has enabled the amateur population to buy in and sample the technology and become very excited about it. The boards used a PC soundcard to decode the mode and tuning. Progressively this is moving to fast fpgas and within a couple of years the concept of an stand-alone economic sdr transceiver not tying up a PC will become the norm. Not every amateur will be out there trying to program fpgas, but we're an inquisitive bunch and more than a few will eventually dabble. So if your project offers a way of getting at the hardware for less, then it's likely to be of significant interest way beyond school.
I'm not surprised that you read the connector the wrong way around, it seems inevitable and happens to more people dabbling with these things than you might at first imagine.
So, when you set up your data, how does the fgpa board know that the data is valid and stable?
This is normally where the sending device would check the board wasn't busy and then set the data and after a moment for the data to settle would strobe cause the data on the pins to be read by the board.
I see that your use of the port appears to be bespoke.
What Altera board are you using please? I was following up a query I had looking for 82550/16550 UART data and came across this site
which might be of more than passing interest to you. Almost certainly a similar sort of interfacing has been implemented before and could save you reinventing a wheel or two. I'll see what I can find that might be of interest.
Even more appropriate
(parallel port control in Linux)