Qbasic "OUT" Command Need Work-Around

Please use this Board for QBasic related requests ( file research, programming, etc.)

Moderators:Administrator, Global Moderator

Post Reply
glenk
Newbie
Posts:1
Joined:Fri Jun 23, 2023 1:12 am
Qbasic "OUT" Command Need Work-Around

Post by glenk » Fri Jun 23, 2023 1:47 am

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.

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

Post by Peter Swinkels » Sat Nov 22, 2025 9:44 pm

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.

Post Reply