Discussion:
Qbasic
(too old to reply)
philo
2016-02-05 17:25:55 UTC
Permalink
Last night I was going through some old paperwork and on the back of a
report I found an old (very simple) program I wrote in Qbasic.

Did a drive search and found a backup from a 386 I had worked on a long
time ago and it had my program on it along with a few games.

I mainly use Linux now but installed DosBox to see if the stuff would run.
It did!

Played Nibbles a few times just for laughs and enjoyed it.

I am not a gamer and never played anything newer than Tetris.
Gene Wirchenko
2016-02-05 22:56:20 UTC
Permalink
Post by philo
Last night I was going through some old paperwork and on the back of a
report I found an old (very simple) program I wrote in Qbasic.
Did a drive search and found a backup from a 386 I had worked on a long
time ago and it had my program on it along with a few games.
I mainly use Linux now but installed DosBox to see if the stuff would run.
It did!
It works fine. I have some QBASIC utilities that I wrote to help
me with software development. I now run them under DOSBox, and they
work fine. I have been doing so for years.

Some tips:

1) For maximum speed, you should probably crank up the cycles
setting. I run my stuff at 70,000 cycles.

2) High cycles will steal from other tasks. If I have two DOSBox
sessions each running at 70,000 cycles, audio playback can stutter on
my system.
Post by philo
Played Nibbles a few times just for laughs and enjoyed it.
I am not a gamer and never played anything newer than Tetris.
Sincerely,

Gene Wirchenko
philo
2016-02-06 00:13:33 UTC
Permalink
Post by Gene Wirchenko
Post by philo
Last night I was going through some old paperwork and on the back of a
report I found an old (very simple) program I wrote in Qbasic.
Did a drive search and found a backup from a 386 I had worked on a long
time ago and it had my program on it along with a few games.
I mainly use Linux now but installed DosBox to see if the stuff would run.
It did!
It works fine. I have some QBASIC utilities that I wrote to help
me with software development. I now run them under DOSBox, and they
work fine. I have been doing so for years.
1) For maximum speed, you should probably crank up the cycles
setting. I run my stuff at 70,000 cycles.
2) High cycles will steal from other tasks. If I have two DOSBox
sessions each running at 70,000 cycles, audio playback can stutter on
my system.
Thanks, but...
I've left it at the default of 3000 cycles and it's just fine

I don't expect I will be using it much.
Post by Gene Wirchenko
Post by philo
Played Nibbles a few times just for laughs and enjoyed it.
I am not a gamer and never played anything newer than Tetris.
Sincerely,
Gene Wirchenko
Michael Black
2016-02-06 03:40:15 UTC
Permalink
Post by philo
Post by Gene Wirchenko
Post by philo
Last night I was going through some old paperwork and on the back of a
report I found an old (very simple) program I wrote in Qbasic.
Did a drive search and found a backup from a 386 I had worked on a long
time ago and it had my program on it along with a few games.
I mainly use Linux now but installed DosBox to see if the stuff would run.
It did!
It works fine. I have some QBASIC utilities that I wrote to help
me with software development. I now run them under DOSBox, and they
work fine. I have been doing so for years.
1) For maximum speed, you should probably crank up the cycles
setting. I run my stuff at 70,000 cycles.
2) High cycles will steal from other tasks. If I have two DOSBox
sessions each running at 70,000 cycles, audio playback can stutter on
my system.
Thanks, but...
I've left it at the default of 3000 cycles and it's just fine
I don't expect I will be using it much.
No? I can see Bill Gates disappointment, "we could have cornered the
marekt place, come out with a version of QBASIC for Linux".

I wonder if Microsoft ever made a version of BASIC for XENIX?

Michael
philo
2016-02-06 04:32:06 UTC
Permalink
Post by Michael Black
Post by philo
Post by Gene Wirchenko
Post by philo
Last night I was going through some old paperwork and on the back of a
report I found an old (very simple) program I wrote in Qbasic.
Did a drive search and found a backup from a 386 I had worked on a long
time ago and it had my program on it along with a few games.
I mainly use Linux now but installed DosBox to see if the stuff would run.
It did!
It works fine. I have some QBASIC utilities that I wrote to help
me with software development. I now run them under DOSBox, and they
work fine. I have been doing so for years.
1) For maximum speed, you should probably crank up the cycles
setting. I run my stuff at 70,000 cycles.
2) High cycles will steal from other tasks. If I have two DOSBox
sessions each running at 70,000 cycles, audio playback can stutter on
my system.
Thanks, but...
I've left it at the default of 3000 cycles and it's just fine
I don't expect I will be using it much.
No? I can see Bill Gates disappointment, "we could have cornered the
marekt place, come out with a version of QBASIC for Linux".
I wonder if Microsoft ever made a version of BASIC for XENIX?
Michael
http://chiclassiccomp.org/docs/content/computing/Microsoft/Microsoft_Basic_8086Xenix_UserGuide.pdf
Gene Buckle
2016-02-11 18:22:45 UTC
Permalink
To: philo
From Newsgroup: alt.folklore.computers
Post by Michael Black
Post by philo
I don't expect I will be using it much.
No? I can see Bill Gates disappointment, "we could have cornered the
marekt place, come out with a version of QBASIC for Linux".
Here's "QuickBasic" for Linux: http://www.qb64.net/ :)

g.
--
Proud owner of F-15C 80-0007
http://www.f15sim.com - The only one of its kind.
http://www.diy-cockpits.org/coll - Go Collimated or Go Home.
Some people collect things for a hobby. Geeks collect hobbies.

ScarletDME - The red hot Data Management Environment
A Multi-Value database for the masses, not the classes.
http://scarlet.deltasoft.com - Get it _today_!
--- Synchronet 3.16c-Win32 NewsLink 1.103
The Retro Archive - telnet://bbs.retroarchive.org
Quadibloc
2016-02-12 01:16:01 UTC
Permalink
Post by Gene Buckle
Here's "QuickBasic" for Linux: http://www.qb64.net/ :)
They also have a version that runs on 32-bit Windows ... but *not* one for 64-bit
Windows!

John Savard
h***@bbs.cpcn.com
2016-02-12 02:49:12 UTC
Permalink
Post by Quadibloc
They also have a version that runs on 32-bit Windows ... but *not* one for 64-bit
Windows!
Wasn't there some sort of add-on for modern Windows to allow old DOS
applications, such as QBASIC, to run on it?
philo
2016-02-12 11:25:24 UTC
Permalink
Post by h***@bbs.cpcn.com
Post by Quadibloc
They also have a version that runs on 32-bit Windows ... but *not* one for 64-bit
Windows!
Wasn't there some sort of add-on for modern Windows to allow old DOS
applications, such as QBASIC, to run on it?
The "problem" with Windows is that the 64bit version , though it can run
32 bit apps, cannot run 16 bit apps.
gareth
2016-02-12 11:50:25 UTC
Permalink
Post by philo
The "problem" with Windows is that the 64bit version , though it can run
32 bit apps, cannot run 16 bit apps.
Do the 64-bit processors still boot into 16-bit mode, though?
Scott Lurndal
2016-02-12 14:02:43 UTC
Permalink
Post by gareth
Post by philo
The "problem" with Windows is that the 64bit version , though it can run
32 bit apps, cannot run 16 bit apps.
Do the 64-bit processors still boot into 16-bit mode, though?
They still boot in real-mode. Then the OS switches to protected
mode. Then the OS switches on paging. Then the OS switches to
"long mode". Between each step, various initialization functions
take place (GDT/LDT/IDT, enable the A20 gate, flush kbd controller, etc)

# jmp enable_longmode,[SS_CODE32] (Invoke address using GDT entry #2)
.byte 0x66 # code32 override
.byte 0xea # jmpi instruction
.long enable_longmode # Address to invoke
.word SS_CODE32 # GDT[2]

enable_longmode:
movl $SS_DATA, %eax
movl %eax, %ds
movl %eax, %es
movl %eax, %fs
movl %eax, %gs

# Set up the protected mode stack pointer

lss stack_segdesc, %esp # Load SS:ESP
movl cs_realmode, %eax # Get CS address

# Set up cr3 with PML4 base before paging is enabled

leal identitypml4, %eax # Get PML4 base address
subl $identitypdp, %eax
addl $0xa000, %eax # Bump to real base
movl %eax, %cr3

movl %cr4, %eax # Get CR4
orl $PAE_BIT, %eax # Set PAE for long mode
movl %eax, %cr4 # Set CR4

# Enable long mode
movl $0xC0000080, %ecx # EFER address
rdmsr # Read EFER Register into EAX
orl $LME_BIT, %eax # Enable long mode
wrmsr # Set EFER

# Enable paging to activate long mode
movl %cr0, %eax # Get CR0
mov $0x80050033,%eax
movl %eax, %cr0 # Set CR0
jmp 1f # Clear pipeline


1:
movl memsize, %eax # Amount of e820 buf space remaining
movzwl ap_start, %ebx # BSP or AP flag
movl cs_realmode, %esi # Real-mode base address

# Here, we are still in the compatibility
# mode. A far jump is needed to actually activate the 64bit mode.

# jmp 0x10000,[SS_CODE64] (Invoke address using GDT entry #2)

.byte 0xea # jmpi instruction
.long DVMM_START # Address to invoke, dvmmstart is based at DVMM_START
.word SS_CODE64 # GDT[2]


lea bummer, %si
call print
9: hlt
jmp 9b

bummer:
.string "Fell through jump to C++ code - halting\r\n"
Quadibloc
2016-02-12 17:50:15 UTC
Permalink
Post by philo
The "problem" with Windows is that the 64bit version , though it can run
32 bit apps, cannot run 16 bit apps.
And that has to do with a limitation of Intel and AMD 64-bit processors, that
they have given up the capability to switch from 64-bit mode to 16-bit mode
without rebooting.

One would have thought Intel would have learned from the debacle with the 80286
not to make that mistake again.

John Savard
J. Clarke
2016-02-12 11:53:52 UTC
Permalink
Post by h***@bbs.cpcn.com
Post by Quadibloc
They also have a version that runs on 32-bit Windows ... but *not* one for 64-bit
Windows!
Wasn't there some sort of add-on for modern Windows to allow old DOS
applications, such as QBASIC, to run on it?
Windows comes with a virtual machine, however Microsoft in recent
releases has crippled it in enough ways to make it less useful than it
once was. It was used to support a "Virtual XP" in some versions of
Windows 7 that allowed 32-bit-only code to run, but that broke with some
16-bit code.
jmfbahciv
2016-02-12 13:40:03 UTC
Permalink
Post by J. Clarke
Post by h***@bbs.cpcn.com
Post by Quadibloc
They also have a version that runs on 32-bit Windows ... but *not* one for 64-bit
Windows!
Wasn't there some sort of add-on for modern Windows to allow old DOS
applications, such as QBASIC, to run on it?
Windows comes with a virtual machine, however Microsoft in recent
releases has crippled it in enough ways to make it less useful than it
once was. It was used to support a "Virtual XP" in some versions of
Windows 7 that allowed 32-bit-only code to run, but that broke with some
16-bit code.
Old games are installed in an X86 directory.

/BAH
Quadibloc
2016-02-12 17:53:11 UTC
Permalink
Post by jmfbahciv
Old games are installed in an X86 directory.
Really old games - 16-bit programs - won't work from there either.

The x86 directory is used even for newer programs that run directly on the
processor, instead of being in the newer "managed code" that Microsoft would like
people to switch to - a sort of P-code.

John Savard
Scott Lurndal
2016-02-12 14:04:37 UTC
Permalink
Post by J. Clarke
Post by h***@bbs.cpcn.com
Post by Quadibloc
They also have a version that runs on 32-bit Windows ... but *not* one for 64-bit
Windows!
Wasn't there some sort of add-on for modern Windows to allow old DOS
applications, such as QBASIC, to run on it?
Windows comes with a virtual machine, however Microsoft in recent
releases has crippled it in enough ways to make it less useful than it
once was. It was used to support a "Virtual XP" in some versions of
Windows 7 that allowed 32-bit-only code to run, but that broke with some
16-bit code.
Note that when AMD added 64-bit support to the Intel Architecture (long mode),
the vm86 hardware support (used by 32-bit windows to support real-mode code[*]) was
no longer available in long-mode.

[*] Called Wow (Windows on Windows) in NT4.0 which became Win2k.
Quadibloc
2016-02-12 17:55:33 UTC
Permalink
Post by Scott Lurndal
Note that when AMD added 64-bit support to the Intel Architecture (long mode),
the vm86 hardware support (used by 32-bit windows to support real-mode code[*]) was
no longer available in long-mode.
And when Intel gave up on Itanium being the wave of the future, and decided to
accept AMD's version, calling it EM64T, despite having the experience of the
80286 debacle, they failed to correct such an obvious mistake.

Total, eternal upwards compatibility. That is what we want, so we don't have to
run out and buy new software unless we _want_ to.

John Savard
Charlie Gibbs
2016-02-12 20:49:55 UTC
Permalink
Post by Quadibloc
Post by Scott Lurndal
Note that when AMD added 64-bit support to the Intel Architecture (long
mode), the vm86 hardware support (used by 32-bit windows to support
real-mode code[*]) was no longer available in long-mode.
And when Intel gave up on Itanium being the wave of the future, and decided
to accept AMD's version, calling it EM64T, despite having the experience of
the 80286 debacle, they failed to correct such an obvious mistake.
Total, eternal upwards compatibility. That is what we want, so we don't have
to run out and buy new software unless we _want_ to.
"Intel put the 'backward' in 'backward compatibility'." -- me

Between VirtualBox and dosemu on my Linux box, I have no complaints.
--
/~\ ***@kltpzyxm.invalid (Charlie Gibbs)
\ / I'm really at ac.dekanfrus if you read it the right way.
X Top-posted messages will probably be ignored. See RFC1855.
/ \ HTML will DEFINITELY be ignored. Join the ASCII ribbon campaign!
William Pechter
2016-02-12 17:38:28 UTC
Permalink
Post by Quadibloc
Post by h***@bbs.cpcn.com
Post by Quadibloc
They also have a version that runs on 32-bit Windows ... but *not*
one for 64-bit
Post by h***@bbs.cpcn.com
Post by Quadibloc
Windows!
Wasn't there some sort of add-on for modern Windows to allow old DOS
applications, such as QBASIC, to run on it?
Windows comes with a virtual machine, however Microsoft in recent
releases has crippled it in enough ways to make it less useful than it
once was. It was used to support a "Virtual XP" in some versions of
Windows 7 that allowed 32-bit-only code to run, but that broke with some
16-bit code.
Can't you run WindowsXP, 2000, 98 in hyperv on Windows past version 7.

I know 8.1 had the desktop client hyper-v which seemed equivalent in function
to VMware Workstation built in.
--
--
Digital had it then. Don't you wish you could buy it now!
pechter-at-gmail.com http://xkcd.com/705/
Quadibloc
2016-02-12 17:51:46 UTC
Permalink
Post by J. Clarke
Post by h***@bbs.cpcn.com
Post by Quadibloc
They also have a version that runs on 32-bit Windows ... but *not* one for 64-bit
Windows!
Wasn't there some sort of add-on for modern Windows to allow old DOS
applications, such as QBASIC, to run on it?
Windows comes with a virtual machine, however Microsoft in recent
releases has crippled it in enough ways to make it less useful than it
once was. It was used to support a "Virtual XP" in some versions of
Windows 7 that allowed 32-bit-only code to run, but that broke with some
16-bit code.
Yes; this is "Windows XP Mode", available with Windows 7 Professional. But it
is not available in Windows 8 or later.

John Savard
Continue reading on narkive:
Loading...