Jump to content
IGNORED

Origins of TI BASIC


Casey

Recommended Posts

I have read anecdotes that say that Microsoft had some hand in the development of TI BASIC for the 99/4. Does anyone know the details about this? Microsoft BASIC was pretty much the same from platform to platform - it seems odd that they would write a very different BASIC (in GPL no less) for TI unless Texas Instruments paid them a fortune for it.

 

Also, TI BASIC for the DX10 operating system (at least the 1983 release?) bears a very strong resemblance to TI Extended BASIC II. I'm just curious I guess for information about the origins of TI BASIC.

Link to comment
Share on other sites

No, Microsoft had nothing to do with TI Basic or XB. GPL is a 100% TI only creation and what 90% of the Cartridges made by TI used.

 

Third party Cartridges adopted ROM versions instead. Even PASCAL Cards used GPL to function.

 

And I have the ORIGINAL source code from TI of TI Extended Basic 100 to 110 so you can see it in RXB source code.

Link to comment
Share on other sites

Here's another reference I found that seems to indicate Microsoft was involved in TI BASIC - scroll to almost the very bottom.

 

https://25iq.com/2017/06/18/how-would-ann-miura-ko-have-reacted-if-bill-gates-had-walked-into-her-office-in-1975/

 

and here, in the 1978 section:

 

https://www.ti994.com/timeline/

 

I'd love to know more about this, because TI BASIC is just so different than Microsoft BASIC. Is it possible they developed a BASIC for TI that TI never released? It could be a story similar to Atari BASIC, where Microsoft's BASIC couldn't fit on Atari's 8K cartridge.

  • Like 1
Link to comment
Share on other sites

Actually yes this is the problem some Microsoft people came to TI so people think that Microsoft had something to do with TI Basic or XB.

 

Fact TI just hired away some talent from Microsoft and this creates the impression that Microsoft had anything to do with TI.

Link to comment
Share on other sites

I don't know if there was more than one version of BASIC for the DX-10 OS, but the manual I found online for TI BASIC for DX-10 dated 1983 was very similar to TI Extended BASIC II that was made for the 99/8. It would seem instantly familiar to anyone who had programmed in TI Extended BASIC for the home computer.

  • Like 1
Link to comment
Share on other sites

Actually yes this is the problem some Microsoft people came to TI so people think that Microsoft had something to do with TI Basic or XB.

 

Fact TI just hired away some talent from Microsoft and this creates the impression that Microsoft had anything to do with TI.

Bob Wallace worked at Microsoft from 1978 to 1983. Bob Greenberg worked at Microsoft from 1977 to 1981. So if those two wrote TI BASIC then it was a Microsoft product. Of course they would have been using the TI developed GPL. Bob Greenberg lives in Florida and if someone could contact him, he could either verify or refute whether TI BASIC was written by Microsoft.

  • Like 2
Link to comment
Share on other sites

Was that TM990 basic TI's BASIC for DX10?

 

I remember reading on this forum something about TI, for the 99/4, wanted an ANSI compliant BASIC. Anyone remember where that tidbit came from?

 

-M@

 

The TM990 BASIC is different to the TI990/DX10 version.

 

The DX10 version is ANSI-based and contains lots of functionality for screen display and reading/writing files and records to external devices. It contains lots that you'll recognise from TI-99 Extended BASIC (as Casey said). A copy of the manual is here: http://bitsavers.informatik.uni-stuttgart.de/pdf/ti/990/basic/2308769-9701A_BASIC_refMan_Dec83.pdf.

 

With TM990 BASIC, input/output is limited to a serial terminal or cassette interface. It lets you get closer to the hardware, with commands for the CRU interface, directly accessing memory and controlling interrupts. A copy of the manual is here: http://bitsavers.informatik.uni-stuttgart.de/pdf/ti/TMS9900/tm990-100/MP308_TM990_POWER_BASIC_Reference_Manual_1979.pdf.

Edited by Stuart
  • Like 3
Link to comment
Share on other sites

Third party Cartridges adopted ROM versions instead. Even PASCAL Cards used GPL to function.

No, the p-code card doesn't run the GPL interpreter. But it uses GROM chips to store p-code, assembly code that's transferred to RAM to execute it and the data that makes up the OS:, a ROM-disk volume, which contains the operating system in the file SYSTEM.PASCAL and some other auxiliary files.

So it only uses the same chip technology as GPL, not GPL itself.

Link to comment
Share on other sites

I'd guess TI BASIC originated on the minicomputers, but the ANSI BASIC standard seems to have been published in 1978 (an update??) so not by much.
There is definitely a version for their minicomputers in the 80s.
Here is a manual:
http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/ti/990/basic/2308769-9701A_BASIC_refMan_Dec83.pdf

Link to comment
Share on other sites

No, the p-code card doesn't run the GPL interpreter. But it uses GROM chips to store p-code, assembly code that's transferred to RAM to execute it and the data that makes up the OS:, a ROM-disk volume, which contains the operating system in the file SYSTEM.PASCAL and some other auxiliary files.

So it only uses the same chip technology as GPL, not GPL itself.

Really how does the data get from GROM to RAM? It does use the GPL MOVE command after all.

 

It was my understanding it uses the TI OS GPL MOVE to get data.

Edited by RXB
Link to comment
Share on other sites

No, it doesn't run anything from the GPL interpreter. It does of course read data from GROM, but uses its own code to do that.

The p-code card doesn't only have 48 K GROM, it also has 12 K ROM with assembly code inside.

 

That ROM contains startup routines, BIOS and the main part of the PME, i. e. the P-Machine Emulator. The PME is flexible enough to run p-code directly from RAM as well as from memory-mapped autoincrementing memory, i.e. VDP RAM or GROM. Thus p-code can be run from GROM on the p-code card without first moving it to RAM.

 

Overall, the p-system doesn't use too much of the console's code. Floating point arithmetic is an exception. But even things like DSR calls are handled differently. They don't use DSRLNK or equivalent in the console. Printing on the screen is different, since the p-system always emulate an 80-column screen by sideways scrolling. Thus it has its own screen image in low memory expansion, and uses the VDP screen area simply as a viewport into the 80-column screen. This of course makes all print on screen routines different.

It has its own file handling system, which is why you can implement a RAMdisk for the p-system by supporting sector read/write only.

Edited by apersson850
  • Like 6
Link to comment
Share on other sites

The Secret Guide to Computers by Russ Walter, page 34:

Some computers use strange variations. For example, Radio Shack's Color
Computer (with Extended BASIC) uses version 4 but also includes some features
from version GW. The Texas Instruments 99/4A uses a version of Microsoft BASIC
that's so ridiculous that Bill's ashamed to admit he had anything to do with it!

Link to comment
Share on other sites

Go To by Steve Lohr:

His missive did not bring a flood of checks from hobbyists, nor did Gates expect that
it would. He made his point, but he had already moved on to concentrate on selling his
BASIC to personal-computer makers. Though young, Gates found he had an innate
business sense, even as a salesman. He went to Texas to sell his BASIC to the Radio
Shack chain for its TRS-80 personal computer. At Radio Shack, he met with John Roach,
a vice president who later became chairman. Gates told him the price was $50,000, to
which Roach replied, "Horseshit!" Gates was a bit taken aback by this Texas bargaining
tactic. But. he recalled, "I held my ground, arguing that software was a crucial part of
what Radio Shack's customers would need for their personal computers. Roach was a
formidable guy, but he gave me my price." With each encounter, Gates gained
confidence. "When it came to sell to Texas Instruments, I decided that $100,000 was
fair," he said. "But I was afraid that they might balk at six figures. So I offered them a
grocery store bargain: only $99,000! It was a deal, and they bought it!."

  • Like 1
Link to comment
Share on other sites

Transcript of a Video History Interview with Bill Gates. Interviewer: David Allison, Division of Computers, Information, & Society, National Museum of American History, Smithsonian Institution. Location: Microsoft Corporation, Bellevue, Washington.

We were talking with Texas Instruments about doing a BASIC for them. It was kind of complicated at first ...

Link to comment
Share on other sites

Time, Tech, Fifty Years of BASIC, the Programming Language That Made Computers Personal, Apr 29, 2014.

 

The PET offered a variant of Microsoft BASIC from the start. Apple and Radio Shack started out with rudimentary variants of the language—Apple’s was written by cofounder Steve Wozniak himself—before acquiring the rights to distribute Microsoft’s version. For the next few years, nearly every microcomputer of any significance came with Microsoft BASIC, including models from companies such as Atari and Texas Instruments.

 

  • Like 1
Link to comment
Share on other sites

Really how does the data get from GROM to RAM? It does use the GPL MOVE command after all.

 

It was my understanding it uses the TI OS GPL MOVE to get data.

 

I didn't need GPL to move data from GROM to RAM. The GROMs are memory mapped devices.

I set the address and then read the GROM data and put it somewhere in RAM.

 

I did it in Forth using the routine that reads a character from a memory location. (C@)

Which is written in assembler. Then I can put it anywhere I want to.

 

Am I missing something about GROMS? (very possible)

: GROM   ( addr -- ) \ set GROM address
         SPLIT  9C02 C!  9C02 C! ;

: GRC@+   ( -- c)  9800 C@ ;  \ GROM char fetch, w/auto-incr

Link to comment
Share on other sites

 

 

I didn't need GPL to move data from GROM to RAM. The GROMs are memory mapped devices.

I set the address and then read the GROM data and put it somewhere in RAM.

 

I did it in Forth using the routine that reads a character from a memory location. (C@)

Which is written in assembler. Then I can put it anywhere I want to.

 

Am I missing something about GROMS? (very possible)

: GROM   ( addr -- ) \ set GROM address
         SPLIT  9C02 C!  9C02 C! ;

: GRC@+   ( -- c)  9800 C@ ;  \ GROM char fetch, w/auto-incr

Ok but that is not a move, a move reads a byte at a address and puts it somewhere else.

The above looks like it just reads a byte with auto increment but does not have a location for where the bytes go?

 

Been many years since I did anything with C so the C@ may be a location not specified. But still looks like just one byte at a time.

Edited by RXB
Link to comment
Share on other sites

Ok but that is not a move, a move reads a byte at a address and puts it somewhere else.

The above looks like it just reads a byte with auto increment but does not have a location for where the bytes go?

 

Been many years since I did anything with C so the C@ may be a location not specified. But still looks like just one byte at a time.

 

This is Forth, not C, and C@ does, in fact, move a byte from one memory location to another. In this case, it moves it from GROM to RAM. The RAM location here is the top of Forth’s parameter stack.

 

...lee

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...