So I have this wonderful Program written in Qbasic I use to Run Two Stepper Motors that direct a Plasma Cutting
Torch. The Problem is the "OUT" Command sends a signal to the Parallel Port that tell the Stepper Motors what to
do. This only works with Windows 98 and nothing later like Windows XP - Control of the Parallel Port has been
taken away (abandoned) by Microsoft. I want to reclaim the "OUT" Command signal on a Computer that only has
USB Slots. Can anything be done about this? I have looked and looked but still no satisfying solution. Thank You.
Qbasic "OUT" Command Need Work-Around
Moderators:Administrator, Global Moderator
-
Peter Swinkels
- Jr. Member
- Posts:14
- Joined:Fri Sep 17, 2021 12:08 pm
- Location:The Netherlands
- Contact:
Re: Qbasic "OUT" Command Need Work-Around
QBasic OUT Command & Modern PCs
The old QBasic OUT command worked under Windows 98 because programs could write directly to the parallel port. Starting with Windows XP, Microsoft removed direct hardware access for stability and security reasons. On top of that, most modern PCs no longer include parallel ports—only USB.
Key points:
- Direct hardware access removed: QBasic can’t talk to ports on XP or later.
- USB ≠ Parallel: USB adapters don’t expose raw port registers, so OUT won’t work.
- PCI/PCIe parallel cards: Add a real parallel port back into your PC; may work with DOS/FreeDOS or FreeBasic plus drivers like inpout32.dll.
- USB stepper controllers: Modern boards (Arduino, Raspberry Pi, dedicated USB controllers) handle step pulses directly. You’d rewrite your control logic in a modern language.
- Emulation options: DOSBox or FreeDOS can run QBasic, but you still need hardware access underneath.
Bottom line:
If you want to keep your existing QBasic program, install a parallel port card and run it in a DOS‑like environment. If you’re open to modernizing, switch to a USB stepper motor controller and rewrite the software. Both paths are viable—it depends whether you want to preserve the old code or move forward with newer hardware.
The old QBasic OUT command worked under Windows 98 because programs could write directly to the parallel port. Starting with Windows XP, Microsoft removed direct hardware access for stability and security reasons. On top of that, most modern PCs no longer include parallel ports—only USB.
Key points:
- Direct hardware access removed: QBasic can’t talk to ports on XP or later.
- USB ≠ Parallel: USB adapters don’t expose raw port registers, so OUT won’t work.
- PCI/PCIe parallel cards: Add a real parallel port back into your PC; may work with DOS/FreeDOS or FreeBasic plus drivers like inpout32.dll.
- USB stepper controllers: Modern boards (Arduino, Raspberry Pi, dedicated USB controllers) handle step pulses directly. You’d rewrite your control logic in a modern language.
- Emulation options: DOSBox or FreeDOS can run QBasic, but you still need hardware access underneath.
Bottom line:
If you want to keep your existing QBasic program, install a parallel port card and run it in a DOS‑like environment. If you’re open to modernizing, switch to a USB stepper motor controller and rewrite the software. Both paths are viable—it depends whether you want to preserve the old code or move forward with newer hardware.