offensive_Jerk
Veteran Member
On an XT, is there anyway to enter the BASIC ROM without changing dip switches? DOS 5 is installed, I know there is QBASIC but just wanna play around with the BASIC in ROM.
e 100
cd 18 cd 20
rcx
5
n rombas.com
w
q
debug < source.txt
If you have ROM BASIC installed, you can enter it with an INT 18H instruction.
call it whatever you want. It'll execute ROM BASIC. If ROM BASIC isn't present, it'll do nothing.
I somehow don't think that executing an INT 18h like that is a very good idea. Cassette BASIC is designed with the assumption that the first 64k of memory is empty. You'll end up running into DOS and whatever else is loaded there, and possibly lock the machine up. It's the same reason you shouldn't execute an INT 19h from DOS.
These documents don't give you an answer but may contain some interesting info:
http://ohlandl.ipv7.net/config/ROM_Basic.html...
I don't know if BASIC sets up it's own stack or not, but it most likely do since I have gotten it to work without setting the stack registers.
It does; in fact the PAINT statement in BASICA 1.x can overflow the stack when filling complex areas (use the CLEAR statement to allocate more stack space). All later versions of BASIC don't use the stack with PAINT, and thus don't have this problem.
ROM BASIC doesn't rely on anything in particular when entered through INT 18H.
Interestingly, even GWBASIC relies on some settings (in segment 50H) that the BIOS leaves behind however.
Sometimes I kind of hate it when Louis quotes me, and I look at it later to find I was prattling on. It's hard even for me to read. Since I'm somewhat is control of the hosting (at another address, although I give quite a bit of artistic license to Louis) I should go in and clean it up a little.
Does the OP have the PC-DOS product?...
If so, can't he type "BASIC" or "BASICA" to enter ROM BASIC, then "SYSTEM" when through?...
Or the GWBASIC/QBASIC as appropriate otherwise?...
Segment 50H may be the DOS comm area, but Deskpros treat it differently from everyone else. You'll never get GWBASIC to run on a Deskpro, even under XP on P3 Deskpro without the patch. There's a flag that says "GWBASIC is already resident" that the Deskpros set during initialization for whatever reason.
Okay, so let's amend the sequence to make sure that DS=ES=0:
31 C0 8E D8 8E C0 CD 18 CD 20
...
e 100
31 C0 8E D8 8E C0 cd 18 cd 20
rcx
B
n rombas.com
w
q
It appeared to have Debug on it, but didn't know how to use it. These commands will be helpful since I don't have any convenient ways of copying files over currently.
Will try when I get home.
Also, it's possible the ROM BASIC is not installed? I thought XT's always came with it installed from the factory?
Forgive my ignorance, new to the old IBMs.
You can be safe that ALL of the IBM machines made up to 1991 has ROM BASIC. IBM had to include it because of a license agreement they made with Microsoft when IBM created the PC in 1981 (I guess it was a 10-year contract).
Microsoft got royalities from IBM, and IBM got to incliude Microsoft's BASIC in their PC's. In the 70's, the fact that a well known and easy-to-learn programming language like BASIC was included had been vital to the sucess of any microcomputer. It was more or less like that when IBM entered the field in 1981, so that's why it was strategic of them to include it. Why the agreement lasted for 10 years was because IBM got a discount in price then, so that's why they included it so long even after it went obsolete in the early-mid 80's.