rcs@abstl.UUCP (06/20/86)
I have a friend who has developed software on an IBM XT using: IBM Basic Compiler version 2.00 PC-DOS version 2.1 His programs have been successfully tested on XTs, ATs and a Kaypro 16. When the software is run on a Zenith Z-150 (MS-DOS version 2.11, IO.SYS 1.05) the following message appears: CANNOT EXECUTE AS A CHILD OF BASIC Can anyone provide some insight to the meaning of this error and / or any ideas for a workaround? Thanks in advance for you help! Bob Stuckmeyer ..!ihnp4!we53!abstl!rcs Anheuser-Busch Companies 314/577-4149 One Busch Place, Bldg. 202-7 St. Louis, MO 63118
brown@nicmad.UUCP (06/25/86)
In article <556@abstl.UUCP> rcs@abstl.UUCP writes: > > >I have a friend who has developed software on an IBM XT using: > > IBM Basic Compiler version 2.00 > PC-DOS version 2.1 > >His programs have been successfully tested on XTs, ATs and a Kaypro 16. When >the software is run on a Zenith Z-150 (MS-DOS version 2.11, IO.SYS 1.05) the >following message appears: > > CANNOT EXECUTE AS A CHILD OF BASIC > >Can anyone provide some insight to the meaning of this error and / or any >ideas for a workaround? I'll put in my 2 cents, just to get things started here. On my PC-XT I can get that error while trying to run another Basic compiled program from within another Basic program. So, for some reason, the compiled program 'thinks' that another Basic program is already running. I know this doesn't help you any, but the clue must be in the memory mapping of the Z-150. What you need is the information from the Z-150 that tells you how Basic uses the memory map and the IBM Basic memory map, then you can compare and see what IBM is looking for and then see what the Z-150 operating system is doing to the map. It is a clue, no matter how small of a clue. Hopefully someone else has run across this and has already figured out the difference between the two machines. -- ihnp4------\ harvard-\ \ Mr. Video seismo!uwvax!nicmad!brown topaz-/ / decvax------/
sandersr@ecn-pc.UUCP (Robert C Sanders) (06/27/86)
In article <556@abstl.UUCP> rcs@abstl.UUCP writes: > >I have a friend who has developed software on an IBM XT using: > IBM Basic Compiler version 2.00 > PC-DOS version 2.1 >His programs have been successfully tested on XTs, ATs and a Kaypro 16. When >the software is run on a Zenith Z-150 (MS-DOS version 2.11, IO.SYS 1.05) the >following message appears: > > CANNOT EXECUTE AS A CHILD OF BASIC > >Can anyone provide some insight to the meaning of this error and / or any >ideas for a workaround? I have an H-151 (a Z-150 PC), and I too got that message both, when I tried running Zenith's GW BASIC on an IBM XT, and when I tried to run some basic programs under GW BASIC on my H-150. The problem stems from any terminate and stay resident program that may be in memory. I found that if I removed my RAMDISK program, SIDEKICK, or the like the problem generally cleared up. Another fix, is to run the NODEBUG program provided by Zenith just for problems similar to this. Try this first. Microsoft is unable to help you with questions concerning the Zenith. You should call Zenith at 616-982-3860 for their port of MS-DOS 2.11. They are the ones responcible for it, and know exactly what is in it -- they ordered it that way. This is a common problem, and they have several fixes for it. I now operate under MS-DOS 3.10, and for $75 upgrade, have not had any problems like this occur under it. I hope that this helps. - bob -- ------------ Continuing Engineering Education Telecommunications Purdue University "Time is a mouse that requires constant feeding..." -- me ...!ihnp4!pur-ee!pc-ecn!sandersr
jso@edison.UUCP (07/08/86)
In article <742@nicmad.UUCP>, brown@nicmad.UUCP writes: > In article <556@abstl.UUCP> rcs@abstl.UUCP writes: > > > > CANNOT EXECUTE AS A CHILD OF BASIC > > > >Can anyone provide some insight to the meaning of this error and / or any > >ideas for a workaround? > > On my PC-XT I can get that error while trying to run another Basic compiled > program from within another Basic program. So, for some reason, the compiled > program 'thinks' that another Basic program is already running. You got it! GW-BASIC 2.0 or greater, and therefore most BASICS that derive from it, use a flag referred to as CHLDPR, located at 0:50F, to indicate whether or not BASIC is already running. They rely on this to be cleared at boot or exit, and set when BASIC starts. If the byte is non-zero, it will print that message and fail. This all happens in the "OEM-dependent" portion of the BASIC implementation, so if someone were to make a version for your Z-150 system, they would/should take care of making this work (the 0:50F is IBM-specific). Since you're trying to run an IBM version of BASIC, then either your DOS isn't exactly compatible with PC-DOS in this area, or something else is clobbering that byte. In any case, you should be able to use debug to look at that flag, or search for the reference to the 050F address in the interpreter/runtime package and change it to someplace safe. Hope this is of use- John Owens @ General Electric Company (+1 804 978 5726) edison!jso%virginia@CSNet-Relay.ARPA [old arpa] edison!jso@virginia.EDU [w/ nameservers] jso@edison.UUCP [w/ uucp domains] {cbosgd allegra ncsu xanth}!uvacs!edison!jso [roll your own]