Jump to content
IGNORED

Microsoft Multiplan for the TI -- Cartridge Inquiry


Omega-TI

Recommended Posts

I have a question regarding Multiplan for the TI. Your answer(s) may be objective, or subjective, but still I'd really like to know what you think.

 

Do you think the reason Multiplan has not been stuffed into an Uber Cart yet is because:

 

a) The person doing it would be afraid of being sued by Microsoft.. even after all these decades.

b) You think not enough people would use it, so it would be a total waste of time and effort.

c) It's just not possible.

d) It's possible, but it would take up too much room not leaving enough for BASIC or the E/A.

e) ______________________________________________________________________ ?

 

I never really used Multiplan all that much myself, that is until I found the 80 column upgrade that works with the F18A, now I like to use my TI for small, but productive things from time to time.

 

 

 

  • Like 2
Link to comment
Share on other sites

Actuallly from a technical perspective I found the Multiplan cartridge to be very interesting.

 

About 5 years ago I bought a bad-quality xerox copy of a document that detailed the C interpreter Microsoft used for implementing Multiplan on the TI-99/4A.

I have no clue where I put the document, from time to time I've been looking for it, but without any success so far.

 

To be more specific:

 

If my mind serves me well, there's some kind of "bytecode" interpreter in the multiplan cartridge (handling some Microsoft specific C dialect)

Presume that the multiplan source code itself was mostly the same for all different home computer platforms out there.

The only thing they needed to implement for each individual platform was the interpreter itself.

 

The document was supposed to get scanned and added to the development resources thread... Oh well, I guess one day I'll find it somewhere ;)

  • Like 5
Link to comment
Share on other sites

Sounds like what my Parsec source code document did to me--I pulled it out to get some information needed on a thread here, put it away, and couldn't find it for several years. . .but I got it scanned and through the OCR before it had a chance to disappear again. Somewhere, I have the source code for the BASIC Support Module too. . .but that is an absolutely horrible photocopy. I was working to restore it about 10 years ago and got sidetracked. . .

Link to comment
Share on other sites

Actuallly from a technical perspective I found the Multiplan cartridge to be very interesting.

 

About 5 years ago I bought a bad-quality xerox copy of a document that detailed the C interpreter Microsoft used for implementing Multiplan on the TI-99/4A.

I have no clue where I put the document, from time to time I've been looking for it, but without any success so far.

 

To be more specific:

 

If my mind serves me well, there's some kind of "bytecode" interpreter in the multiplan cartridge (handling some Microsoft specific C dialect)

Presume that the multiplan source code itself was mostly the same for all different home computer platforms out there.

The only thing they needed to implement for each individual platform was the interpreter itself.

 

The document was supposed to get scanned and added to the development resources thread... Oh well, I guess one day I'll find it somewhere ;)

 

If you do find it, I would be highly interested in a copy. It sounds like that document has documentation for the p-code part of Microsoft's "revenue bomb" C compiler (see here for some background). I think this p-code interpreter later evolved into the Visual Basic runtime, but that is speculative. Having a re-implementation of this bytecode interpreter, combined with old versions of Microsoft C that still included "cs" may lead to an interesting compiler option for the TI (it is said to create very tight binaries).

 

By the way, the fathers of this compiler, Charles Simonyi and Richard Brodie, are key figures in the microcomputer revolution of the 80's, driving the development of what eventually became Microsoft Office -- starting with defining the very concepts of it while at Xerox' PARC labs back in the 70's. Their wikipedia pages make interesting reading.

  • Like 1
Link to comment
Share on other sites

Hmmm... was the C interpreter written in TI BASIC so Multiplan was triple interpreted?
That would explain the speed. :D

Microsoft was good at making interpreters, just not fast ones.

Seems to me an embedded system I worked on had a C interpreter.
I think that had it's roots in an old Dr. Dobbs Journal article.

It wouldn't surprise me if that's where Microsoft got the idea for Multiplan.
That or Tiny Pascal which was published in BYTE.

Link to comment
Share on other sites

  • 1 month later...

Actuallly from a technical perspective I found the Multiplan cartridge to be very interesting.

 

About 5 years ago I bought a bad-quality xerox copy of a document that detailed the C interpreter Microsoft used for implementing Multiplan on the TI-99/4A.

I have no clue where I put the document, from time to time I've been looking for it, but without any success so far.

 

To be more specific:

 

If my mind serves me well, there's some kind of "bytecode" interpreter in the multiplan cartridge (handling some Microsoft specific C dialect)

Presume that the multiplan source code itself was mostly the same for all different home computer platforms out there.

The only thing they needed to implement for each individual platform was the interpreter itself.

 

The document was supposed to get scanned and added to the development resources thread... Oh well, I guess one day I'll find it somewhere ;)

 

I think the documents you refer to were posted in the yahoo group some 5 years ago:

https://groups.yahoo.com/neo/groups/ti99-4a/conversations/topics/72673

https://groups.yahoo.com/neo/groups/ti99-4a/conversations/topics/72672

 

The '673 document is the main specification, the '672 document is an addendum/errata to the former. It says that once upon a time Microsoft had a reference implementation in C for this spec, and also that the spec should be complete enough to write one from scratch. Has anyone ever attempted a disassembly & analysis of the Multiplan cartridge ROM?

 

This p-code looks quite well done, allowing substantial programs in little memory. It has a single 64K data space for global data and the stack, and an essentially unlimited segmented code space: the code is divided up into relocatable "segments" that are paged in and out as needed. Also, the p-code looks very tight, packing many C operations in a single byte.

 

If there is a reimplementation of this, and if someone has an old Microsoft C compiler (i.e. one of the DOS 16-bit compilers) that still supports generating this p-code, we would have another great tool for writing new software.

  • Like 1
Link to comment
Share on other sites

Well, I still use Multiplan to keep an inventory of my electronic parts. Why? Well my TI is set up in my hobby room so it's very convenient, and MP has all the features I need (except a cell search function unfortunately). The 80col version with the F18A made a huge difference in usability.

  • Like 3
Link to comment
Share on other sites

  • 6 months later...

You will notice that each GROM has a unique part number as well. The 6K of program in each of them was masked ROM, as universally programmable GROMs were not made (true GRAM chips were not made either). Even TI went to larger logic boards like the EGROM or the GSIM when they wanted to test code for a future GROM on real iron.

Link to comment
Share on other sites

Ah yes, that looks to be Extended BASIC, based on the GROM part numbers. The stacked chips are the four XB GROMs (GROMs don't mind being stacked at all, as that is basically what they are doing even when spread out on the board). The two ROM chips are controlled by the bank switching logic in the 74LS74 and 74LS00. Between then, they contain 12K of programming data, as the bank switch logic only switches the upper 4K. The part of the data at >6000 is always present, while the data at >7000 could be different, depending on the routine being used (and which chip it is in).

  • Like 2
Link to comment
Share on other sites

I would have to disqualify myself from the game though, as I have a truly unfair advantage. I recognize a significant number of the TI cartridge boards almost immediately, as I have a pretty extensive reference set of cartridge boards without the shells--each with an original label attached for quick identification. . .I've shelled a lot of the common cartridges to use the shells with new cartridge boards, as that is cheaper than using molds to make new ones (and yes, I have a set of molds) or 3D printing them (I have some of those too).

  • Like 2
Link to comment
Share on other sites

  • 4 years later...
On 5/29/2015 at 10:04 AM, pnr said:

 

I think the documents you refer to were posted in the yahoo group some 5 years ago:

https://groups.yahoo.com/neo/groups/ti99-4a/conversations/topics/72673

https://groups.yahoo.com/neo/groups/ti99-4a/conversations/topics/72672

 

The '673 document is the main specification, the '672 document is an addendum/errata to the former. It says that once upon a time Microsoft had a reference implementation in C for this spec, and also that the spec should be complete enough to write one from scratch. Has anyone ever attempted a disassembly & analysis of the Multiplan cartridge ROM?

 

This p-code looks quite well done, allowing substantial programs in little memory. It has a single 64K data space for global data and the stack, and an essentially unlimited segmented code space: the code is divided up into relocatable "segments" that are paged in and out as needed. Also, the p-code looks very tight, packing many C operations in a single byte.

 

If there is a reimplementation of this, and if someone has an old Microsoft C compiler (i.e. one of the DOS 16-bit compilers) that still supports generating this p-code, we would have another great tool for writing new software.

 

Bumping this old thread.

Would someone be able to "save" the above documents from the yahoo group and post it here before they get lost in space and time? 

  • Like 2
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...