Toucan Posted February 5, 2020 Share Posted February 5, 2020 This weekend I plan on scanning in the 2 TI Basic Interpreter System books that I have. Now, I know we need a copy of the Greenburg book, but what about the other one titled, "Specification of a TI standard of the BASIC Language"? Has that been scanned in already? 4 1 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted February 6, 2020 Share Posted February 6, 2020 I think we are still missing both of them, @Toucan 2 Quote Link to comment Share on other sites More sharing options...
kl99 Posted February 6, 2020 Share Posted February 6, 2020 Both are missing! Quote Link to comment Share on other sites More sharing options...
Toucan Posted February 13, 2020 Author Share Posted February 13, 2020 Okay, here are the docs for the Specification for the TI Standard of the Basic Language. The Greenburg document will come later this week. Enjoy! Big historical discoveries in the TI community this year so far! Specification_for_TI_Standard_Basic.pdf 12 Quote Link to comment Share on other sites More sharing options...
kl99 Posted February 13, 2020 Share Posted February 13, 2020 Incredible document. Thank you so much for its preservation. I didnt expect it to be more than 20 pages but this is huge and reveals why they planned TI Basic like it came and why Extended Basic looked like it did. I need time for studying it. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted February 14, 2020 Share Posted February 14, 2020 Wow, lot of cool stuff in this doc. The list of keywords and functions is fun to read. Complex numbers, time/date, and a whole lot more. Neat! 1 Quote Link to comment Share on other sites More sharing options...
Casey Posted February 14, 2020 Share Posted February 14, 2020 It's definitely interesting to see from this document how 99/4 TI BASIC came to be, and then what was added to make Extended BASIC, and then what went into the 99/8's Extended BASIC II - each a superset of the previous, but each very much defined by this standard. Equally interesting is what was defined by the standard but not used in any of the Home Computer BASICs. Some make sense (the keyed file stuff that was used on the 990) but the values returned by CALL ERR I found interesting. Extended BASIC gives only a passing definition of the error severity ("this value is always 9") but the standard had several possible values for this. Thanks *very much* for sharing this with us! 1 Quote Link to comment Share on other sites More sharing options...
Toucan Posted February 20, 2020 Author Share Posted February 20, 2020 And now, presenting, the Greenberg document! Titled "TI BASIC Interpreter System Documentation". Greenberg Basic.pdf 7 2 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted February 20, 2020 Share Posted February 20, 2020 After reading thrugh this, it becomes quite obvious that this BASIC was NOT for a Dimension 4 or a TI-99/4. It expected an 80-column, Model 911 VDT, had numerous hooks that would have connected to TI's TX operating system (to include all 15 XOPS), and it was expecting a full 64K of system memory space in the form of RAM. All of this tells me that the two BASIC specification documents go together though, as the first document posted provided the required framework for TI BASIC on all machines, whereas this second document specified TI BASIC on some flavor of the TI-990. Since the first specification applied to anything developed at TI using the BASIC language and enforced high-level compatibility, the fact that folks conflated the Microsoft Assembler development of BASIC for a professional system (a TI-990) with the internal work on the GPL-based BASIC in the Dimension X/99/4 systems is quite understandable. It is even likely that there were instances where Mr. Greenberg talked to the consumer team to iron out potential differences between the two implementations, all in the effort of maintaining the enforced conformity between system implementations. That would also explain the recollections of having seen him once or twice during the development process, as he wouldn't have been tied to that team, but he would have had to coordinate some specifics of what he was doing on the other side (the 990 side) with them. 3 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted February 20, 2020 Share Posted February 20, 2020 This is interesting: Quote The main complication in the stack flushing algorithms is that, while most control operations work in LIFO manner, FOR loops have an extended range. That is, a FOR loop can contain GOTOs (and other types of transfers) that may or may not leave the range of the FOR-block. When transfer is made out of a FOR-block, the user may or may not intend to return to the loop. The stack entry is therefore left on the stack until it can be determined that the user probably does not want to transfer control back into the loop . This can be inferred whenever the user RETURNs, FNENDs, or SUBEXITs to an entry earlier in t he stack , and also whenever the same FOR-loop is re-executed at its beginning. It seemed some kind of logic had to be implemented to account for GOTOs which may prematurely exit a FOR-loop. I was always very careful not to leave unresolved FOR-loops like this in my programs, though I am certain I did by accident without a second thought because, as demonstrated below, this logic is implemented in TI BASIC: 10 FOR I=1 TO 10 20 IF I=5 THEN 40 30 NEXT I 40 FOR I=11 TO 20 50 NEXT I When RUN, this completes without error. Changing line 20 to a GOTO instead of an IF-THEN also does not elicit an error. Similarly, this runs without error: 10 FOR I=1 TO 10 20 IF I=5 THEN 40 30 NEXT I 35 STOP 40 X=1 50 GOTO 30 These are bad and neither actually executes. Each NEXT appears to be paired with a preceding FOR during scan† and both programs produce a * FOR-NEXT ERROR. 10 FOR I=1 TO 10 20 IF I<5 THEN 40 30 FOR I=11 TO 20 40 NEXT I 10 FOR I=1 TO 10 20 IF I=5 THEN 40 30 NEXT I 35 STOP 40 FOR I=11 TO 20 50 GOTO 30 † During Static Scan: Quote 5. Check for properly nested FOR loops and function DEFs 1 Quote Link to comment Share on other sites More sharing options...
kl99 Posted February 21, 2020 Share Posted February 21, 2020 Awesome. Big effort from your side to preserve these documentation. Thank you so much. This allows closing down the rumours on the involvement of Microsoft in TI Basic for the TI-99. Need to read this in Detail. 1 Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted February 21, 2020 Share Posted February 21, 2020 5 hours ago, kl99 said: Awesome. Big effort from your side to preserve these documentation. Thank you so much. This allows closing down the rumours on the involvement of Microsoft in TI Basic for the TI-99. Need to read this in Detail. After reading the Greenberg document, I had these questions: 1. Is Greenberg writing as the author of the BASIC interpreter source? Or just a consultant on the documentation? 2. How many ideas did he bring in from other BASIC interpreters? 3. When did DX BASIC become a product? 4. Did Greenberg write both documents? 5. Why no Section I of the Greenberg document? Ideas about DX BASIC in general From bitsavers, I see the BASIC 4.0 manual in 1983. http://www.bitsavers.org/pdf/ti/990/basic/ Since the Feb 78 TI-990 catalog has Item 243 BASIC in an essentially finished form, the June 1978 Specification is a description written long after the DX10 BASIC shipped. Item 244 Business BASIC has a different choice of features from the spec (see Subsetting p.160) http://www.bitsavers.org/pdf/ti/990/brochures/990_Computer_Family_Catalog_Feb78.pdf The Mar77 brochure also offers Multiuser BASIC (along with FORTRAN IV, COBOL, and assembly language.) http://www.bitsavers.org/pdf/ti/990/brochures/ Two hypotheses about Greenberg: Greenberg wrote a new BASIC interpreter described in his source documentation. Greenberg consulted on system documentation to support a extension or a port of the existing DX BASIC. 2 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted February 22, 2020 Share Posted February 22, 2020 On 2/21/2020 at 8:45 AM, FarmerPotato said: Two hypotheses about Greenberg: Greenberg wrote a new BASIC interpreter described in his source documentation. Greenberg consulted on system documentation to support a extension or a port of the existing DX BASIC. if he consulted on a port, I feel, there would be more reference to what was being ported and why the direction was taken. this reads in a more straight forward fashion, little justifications. More like, maybe, TI handed him the 990 code and said, modify this and do it this way with these tools and we want it to look like this when your done. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.