Поскольку все, кажется, предполагают, что вы имеете в виду «ПК до IBM» под «старыми компьютерами», я собираюсь пойти другим путем и предложить ответ, который интерпретирует «старые компьютеры» как «совместимые с IBM». до Windows 9x».
Если вы имели в виду компьютеры с версиями MS-DOS, которые включали QBASIC.EXE
, у вас есть три варианта, в зависимости от того, насколько строго вы определяете запуск их «в Linux»:
Если вы У нас все еще есть копия QBASIC.EXE
, вы можете использовать DOSBox или DOSEMU, чтобы запустить ее в виртуализированной среде DOS. (Оба доступны в репозиториях Debian и просты в настройке. Просто установите папку для монтирования как C:
, поместите в нее QBASIC.EXE
, и все готово. go.)
Это даст вам идеальную совместимость со старым исходным кодом, но никакой интеграции с основной ОС, за исключением «C:
на самом деле является папкой, а не образом диска».
Я должен уточнить, однако, что между ними есть компромисс. DOSEMU будет работать в любом терминале, который вы захотите, но не будет поддерживать причудливые низкоуровневые трюки, которые используются в QBasic (например, для специализированных графических режимов). Единственный способ поддержать это — полный эмулятор, такой как DOSBox... но DOSBox будет открывать свое собственное окно, а не использовать ваш терминал.
FreeBASIC имеет qb
диалект/режим, направленный на идеальную совместимость с большим подмножеством QuickBASIC. (Неподдерживаемый материал — это в основном низкоуровневый материал, связанный с тем фактом, что QuickBASIC был 16-битной системой реального режима, а FreeBASIC — 32-битной системой защищенного режима.)
FreeBASIC предлагает двоичные файлы Linux, но вы только найдите его в своем репозитории пакетов, если вы на самом деле имели в виду «дистрибутивы семейства Debian», а не «Debian» и используете Ubuntu или производную Ubuntu, такую как Mint.
Linux-сборки QB64 даже не находятся в репозиториях Ubuntu, но они специально нацелены на то, чтобы стать наиболее совместимым потомком QuickBASIC в защищенном режиме, и даже предоставляют IDE, которая пытается клонировать QBasic/QuickBasic. ИДЕ.