Jump to content
IGNORED

TI-99/2 questions


mizapf

Recommended Posts

 

We could find more information if somebody goes to the TI Archive library, located here

https://legacy.lib.utexas.edu/taro/smu/00063/smu-00063.html

Sometime in the past TI donated the whole archive to a library, occupying over 1500 cubic feet of material.

I got this information when I asked TI support about buying/getting some TI-99 internal documents this year.

 

I might be able to go to the SMU library in Dallas. Thank you for pointing this out!

What sections do you think are most relevant? I think RG-14 Consumer Products Division.

  • Like 2
Link to comment
Share on other sites

Most of the Hexbus peripherals use a 70C20 processor that has its own 2K ROM space where the Hexbus code lived. The processor is marked as a TI special part, not as a TMS70C20 processor. I don’t know if some used the 4K rom 70C40 or not.

 

We would have to either create a custom jig and desolder it and try to dump it or find some other way.

 

My early production RS232 actually has an actual 70C20 on a daughter board where the proprietary chip would normally be.

 

 

Sent from my iPad using Tapatalk

Link to comment
Share on other sites

 

I might be able to go to the SMU library in Dallas. Thank you for pointing this out!

What sections do you think are most relevant? I think RG-14 Consumer Products Division.

 

That would be awesome. I could only afford a trip from Europe to the USA when I combine it somehow with the Chicago Faire.

With your guess you are probably correct. Some earlier documents show: "Personal Product Division" but that might have been migrated into the Consumer Products Division. Anybody knows that?

 

What do you guys think, would be find the actual Grom schematics (TMC0430) and Cpu schematics in the Semiconductor Group?

The TI-990 stuff was done by the Digital Systems Group but that is not listed.

 

Personally I would be most interested in Specifications we don't have yet or we don't even know about that they exist and printouts of the commented original source code for the operating system of the TI-99/4, TI-99/4A, TI-99/2, TI-99/4B, TI-99/5, TI-99/7, CC-40, CC-40+. That would give such a deep insight.

But whoever goes there should check for what we wants.

 

I assume you need to know the code names for several products:

Ground Squirrel = TI-99/2

Armadillo = TI-99/8

ALC = Advanced Language Calculator = CC-40, sometimes also they refer to the ALC Interface or Bus, then the Hex-Bus is meant

Product 359 = TI Extended Basic

Home Computer = TI-99/4 (there was only one in the beginning)

Lonestar Console = ??? (also CC-40?)

 

Here is my list of known Specification we are missing:

 

Hex-Bus™ Interface Peripheral Specification (Spec, 1982-10-08)

Hex-Bus™ Peripheral Bus Specification

Hex-Bus™ Printer Software Functional Specification

Hex-Bus™ Wafertape Software Functional Specification

Hex-bus Cable sketches (Spec, 1983-04-11)

Lonestar Console Intelligent Peripheral Bus Software Design Specification

Hex-Bus™ Generic I/O Product Specification

Advanced Language Calculator Product A Functional Specification

Advanced Language Calculator Microtape Peripheral Functional Specification

 

Disk Peripheral Hardware Specification (also known as 'Home Computer Disk Peripheral Hardware Specification')

Approaches to a Double Density Disk Controller Design for the 99/4X (Spec, 1982-01-11)

99/4 Interface Considerations, DS/SD Disk Controller Electrical Specifications (Spec, 1982-07-13)

Data Sheet for FDC9216 Floppy Disk Data Separation from Standard Microsystems Corporation (1981)

Disk Drive without Power Supply, TI Specification 1040367

NEC uPD765 Single/Double Density Floppy Disk Controller Data Sheet (Spec, 1980-10)

Functional Requirements for a Dual Density 5¼ Floppy Disk Controller Board(Spec, 1982-02-08)

Home Computer Disk Peripheral Product Specification

 

General Requirements for IC’s, Spec 1500005

TI QRAs 10273 – Product Qualification

TI QRAs 10332

TI QRAs 10348

TI QRAs 10349 – IC Qualification

TI QRAs 16237

FCC part 15, subpart J

FCC Rules and Regulations, Part 15 Sub-parts, A, B, & H and Part 2, Subpart J

FCC Docket 20780

FCC Docket 20780, Part 15, Subparts H and I

National Safe Transit Pre-shipment Test Procedure

CSA STD C22.2-154

MIL STD 105

UL STD 114

MIL STD 810B

MIL STD 461

MIL STD 462

MIL STD 461A; 462 Methods CS01, CS02, CS06, RS01, RS02, RS03

UL STD 461A; 462 Methods CS01, CS02, CS06, RS01, RS02, RS03

 

Home Computer Basic Language Specification (Spec, 1979-04-12, Revision 4.1) also known as 'TI-99/4 Home Computer Basic Language Specification'

Product 359 Basic Language Specification (Spec, 1980-01-28)

Product 359 Basic Subprogram Specification (Spec, 1980-01-28)

Product 359 Basic Sprite Specification(Spec, 1980-01-28)

Product 359 Basic Interpreter Expansion RAM Peripheral Support Software Specification (Spec, 1980-01-28)

Product 359 Basic Language Implementation and Verification Specification (Spec, 1980-01-28)

Specification of a Texas Instruments Standard for the Basic Language (Spec, 1978-06-09)

TI-99/4A Console Basic Software Specification (Software Spec)

 

TMC0350 128-K Bit Rom Electrical Specification

Speech Module Spec. 1034759

TMS 5200 (old TMS 0285) Voice Synthesis Processor Data Manual

 

TI-99/4 ALC Support Package (Spec)

 

Home Computer Graphics Language Specification

Home Computer Monitor Specification

System Monitor Specification

Graphics Language Monitor Specification

Home Computer Floating Point Specification

Home Computer Equation Calculator Specification

Home Computer system memory, CRU, and interrupt mapping specification

Software Development for the Texas Instruments Home Computer (Spec, 1979-05-24)

 

Home Computer Functional Specification, also known as 'TI-99/4 Home Computer Functional Specification'

Detailed System Specification

RAM Expansion Specification

Infrared Controller Specification

Cassette Peripheral Specification

I/O bus evaluation

I/O Cable Specification

 

Texas Instruments (DSG) Specification Control Drawing 984039 “Keyboard, Unencoded, without Keytops”

TI EPN3621 Thermal Character Printhead Specification

TI DSG Dwg. LU2214191 “Description, PVOLTs IC” – functional description of 2543

TI DSG Dwg. 2210840 “IC, Switching Voltage Regulator” – data sheet on 2543

TI DSG Dwg. LU2214194 “Specifications, Motor Drive IC” – func. descrip. 2444A

TI DSG Dwg. 2210843 “Integrated Circuit, Motor Drive” – data sheet on 2444A

TI DSG Dwg. 999256 “Motor, Stepping Paper Drive”

TI DSG Dwg. LU2214192 “Specification, Power Good IC MOG 2613” – func. descrip. 2613

TI DSG Dwg. 2211371 “Integrated Circuit, Power Good” – data sheet on 2613

 

TMC0430 Graphics Read Only Memory Specification (Specification 1015960)

TMS4732 Read Only Memory Manual

TMS-4732/4364 Read Only Memory Specification

TMS-4016 Random Access Memory Specification

TMS4027 Random Access Memory Manual

TMS4116 Random Access Memory Manual

TMS9901 Input/Output Controller Manual

ASTEC RF Module Specification (TI Specification 1501513)

TMS 9918A Video Display Processor Preliminary Description (Spec)

TMS9918 Video Display Processor Specification (Spec),

TMS9918 VDP Video Display Processor Data Manual (Data Manual, 1979-06-25, Revised)

9918A Data Sheets

 

TMS9919 Sound Generator Controller Specification (Spec, 1979-10-16, Released)

Sound Generator, SN94624 (Spec)

SN76489AN (TMS9919) Data Specification for the Sound Generator

 

RS-232/Parallel Port Software Design Specification (Spec)

TMS9902 Asynchronous Communications Controller Specification Sheet (Spec)

T DNCS.EM3278 [information on the operation of a TI 911 terminal]

T DNCS.EMDIAL [information on the operation of a TI 820 terminal]

SYNC-ANYNC Manual (TI#2223206-0001)

 

TI 99/8 Personal Computer (Spec)

 

TEC 380 (Spec)

CF-40051 CRT Controller Gate Array Specification (Hardware Spec)

CF-40052 I/O Controller Gate Array Specification (Hardware Spec)

Ground Squirrel Mechanical Drawing Package (Hardware Spec)

Ground Squirrel System Hardware Specification (Hardware Spec)

Ground Squirrel Keyboard Specification (Hardware Spec)

Ground Squirrel Software Module Specification (Hardware Spec)

Ground Squirrel RAM Expansion Cradle Specification (Hardware Spec)

Ground Squirrel ALC I/O Peripheral Bus Specification (Hardware Spec)

Ground Squirrel System Software Specification (Software Spec)

Ground Squirrel “Learn to Program” Tutor Specification (Software Spec)

VDE STD 380 [Performance Spec]

JIS STD (tbd) [Performance Spec]

 

Home Computer Video Monitor Specification (Hardware Spec)

Solid State Software™ Module Specification (Hardware Spec)

Specification for PCB Mount Double Row Right Angle Header TI Part Number 1044501

  • Like 4
Link to comment
Share on other sites

I just committed the TI-99/2 implementation; you can get it by pulling from Github, and all others may wait until the last Wednesday of this month, as always.

 

I got both versions running, Fabrice's 24K version as well as Klaus' 32K version. Next thing is the cassette interface, then Hexbus.

  • Like 2
Link to comment
Share on other sites

I just committed the TI-99/2 implementation; you can get it by pulling from Github, and all others may wait until the last Wednesday of this month, as always.

 

I got both versions running, Fabrice's 24K version as well as Klaus' 32K version. Next thing is the cassette interface, then Hexbus.

Can you communicate with the person that did the Cc40 emulation when you are done with Hexbus so they can integrate it? The 74 and 95 emulations can then also use Dockbus. :)

 

Sent from my moto x4 using Tapatalk

Link to comment
Share on other sites

Can you communicate with the person that did the Cc40 emulation when you are done with Hexbus so they can integrate it? The 74 and 95 emulations can then also use Dockbus. :)

 

As soon as I get it working on the 99/2. :)

 

By the way, for those of you who build MAME from sources (I mean, who doesn't? ;) ), this is the make command that I use:

 

 

make -j4 SOURCES=src/mame/drivers/ti99_4x.cpp,src/mame/drivers/ti99_4p.cpp,src/mame/drivers/ti99_8.cpp,src/mame/drivers/geneve.cpp,src/mame/drivers/ti99_2.cpp REGENIE=1 TOOLS=1

 

which builds a TI-only MAME.

  • Like 2
Link to comment
Share on other sites

@Fabrice and Klaus: Could you please do the following speed check on your machines:

 

 

5 CALL CLEAR
10 FOR I=1 TO 2000
20 NEXT I

 

and then add lines 6 to 8 (line 7 has a full line of characters, here the asterisk)

 

 

5 CALL CLEAR
6 FOR I=1 TO 24
7 PRINT "****************************"
8 NEXT I
10 FOR I=1 TO 2000
20 NEXT I

 

This time, the start of time is the moment when the screen has been filled (i.e. when you are sure that line 10 has been reached).

Link to comment
Share on other sites

Here are the results (I have used a real chronometer and tested several times to refine to results):

First program: 4"77
Second program : 7"25 (between the execution of the first line and the last one) . Sorry I don't understand what you mean by "This time, the start of time is the moment when the screen has been filled (i.e. when you are sure that line 10 has been reached)." because if I begin to count when the line 10 is reached, the result is the same as the first test.

Edited by fabrice montupet
Link to comment
Share on other sites

The point is: When the screen is filled with characters, the CPU gets less time for computing. The computer should then significantly slow down.

 

The video controller of the 99/2 holds the CPU while it creates the scanline. For that reason, the engineers introduced the "BEOL" (blank end-of-line) character: When this character is encountered on a line, the HOLD line is cleared, and the rest of the scanline is blanked.

 

This phenomenon also described in the technical manuals. [TI992_Product_Specification.pdf, section 3.3.1]

Edited by mizapf
Link to comment
Share on other sites

This is nevertheless much faster than expected. My emulation runs the loop in 12.5 secs (clear screen) and 24.4 secs (full screen). I have no clue why, unless the CPU clock is 10.7 MHz and not 5.35 MHz, as I assumed.

Link to comment
Share on other sites

New try: Please use this program.

 

 

10 CALL CLEAR
20 CALL HCHAR(1,1,79,768)
30 FOR I=1 TO 5000
40 NEXT I

 

First run should be without line 20, second run with line 20. Interestingly, the 24K version is faster than the 32K version in emulation (with the same program). I'm curious about Klaus' results.

Link to comment
Share on other sites

I have some trouble getting the cassette running. I can already do a SAVE CS1, and something is recorded to the WAV file, but it does not load. From listening I'd say it sounds good, but the 99/2 disagrees.

 

How is the tape recorder connected? On the photos I see two jacks at the backside; are they used for the recorder?

 

Would some of you mind to save a short program to a tape recorder or to whatever is capable of recording the output?

Link to comment
Share on other sites

No hurry, the end of May is still far away. (Rhyme not intended.)

 

I know there is no motor control (there is not even a CRU bit for it). I wrote some nonsense in the description like "compatible cassette plug" (must have dreamed it); on the other hand, I wondered what could be those two jacks at the back. As I said, I guess one is tape input, the other is tape output.

 

The speed tests are quite interesting for me. As Fabrice showed, the real iron is much faster than the emulation, which could mean that the clock is not divided by 2, as written in the specs. Well, the RAM wasn't 2K either, as written - I tried to give it 2K only, and it crashed because of an unmapped memory access, so not even Fabrice's ROMs work with the 2K memory.

 

If you find some time, please try to save some program to tape, and also to load/save from Hexbus.

Link to comment
Share on other sites

You can load 99/4A programs? Again a surprise. What I get from the SAVE command is something that does not even remotely resemble the sound that we know. In particular, the frequency is different, and it seems there is no double saving (two instances of every record).

 

I did my tests on Klaus' 99/2, I should say. Maybe they did some changes.

Link to comment
Share on other sites

Yes :-) I made a copy/past of the little program below into js99er using TI Basic, I recorded it with the SAVE CS1 command and then I played the generated .wav file with Audacity without any correction. On the 99/2, the OLD CS1 command accepted the program. I ran it with success.

100 REM SPEED TEST 
110 PRINT "START"
120 K=0
130 K=K+1
140 A=K^2
150 B=LOG(K)
160 C=SIN(K)
170 IF K<1000 THEN 130
180 PRINT "STOP"
190 END 

At the first time I used the OLD CS1, I was surprised to see the 99/2 stopping the display during the READ operation. When the program is loaded, the display is active again. Even if this is the normal way for the 99/2 to work, during a few seconds I have the impression that computer has crashed ^^

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...