+acadiel Posted November 24, 2018 Author Share Posted November 24, 2018 There is a Hexbus IC on the board. I was assuming pass through, but maybe it's for something else. I'll have to pull it apart again. Sent from my moto x4 using Tapatalk Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 25, 2018 Share Posted November 25, 2018 Will this work with the CC40 as well? Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted November 25, 2018 Share Posted November 25, 2018 Will this work with the CC40 as well?If it's hexbus it's the same just a different pinout Sent from my LG-H872 using Tapatalk Quote Link to comment Share on other sites More sharing options...
Jeff_Birt Posted November 25, 2018 Share Posted November 25, 2018 There is a Hexbus IC on the board. I was assuming pass through, but maybe it's for something else. I'll have to pull it apart again. Sent from my moto x4 using Tapatalk The big IC is a 'line driver' which just means it has higher current outputs for driving a heavier load. I suspect they used it as a buffer and/or inverter for the 3 I/O lines used. Will this work with the CC40 as well? Yes, the TI-95 and TI-74 added two pins to make a 10 pin connector. The extra two pins being a 6VDC input to the calculator (which my interface supplies so when you are using the cassette interface you are not running on batteries) and a 6V output. The cable between the adapter and the CC40 would be different. I recently picked up a CC40 and have not used it yet. I'll look at making a cable for it as well. In the design files linked in the video there is a PDF of the schematic (in case you don't use Eagle) which shows the pin outs of the TI-95 connector and adapter connector. If there is interest I'll see about getting a small number of PCBs made by OSHpark or someplace so if you want top make on you would just have to buy the components. If there is a really enough interest I might think about putting together 10-20 kits of the PCBs, components and 3d printed case so you can solder it together. Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 25, 2018 Share Posted November 25, 2018 Doh! Forgot the link Hi, While flipping though your video... I was intrigued by your mentioning the TI-74 cassette interface's ability to sense voltage or current initiated by pressing a button on the player/recorder, causing the remote line to become active. I did not catch what the response is by the TI-74. I'm curious because I have a particular TI-99/4a which exhibits an interesting response to a particular unused input port on the 9901 being held LOW(Port 10, Pin 29,SBO\SBZ 26), normally held high by a pull-up resistor. While held LOW the system hangs indefinitely and waits for P10 to go high... at any of the times that a prompt for cassette operation would normally appear. It has been speculated that this was in provision for a more automatic type of data drive never implemented by TI. I'm now wondering if this instead was something concieved to work with regular cassette recorders. Quote Link to comment Share on other sites More sharing options...
Jeff_Birt Posted November 26, 2018 Share Posted November 26, 2018 The 'sense' line is an output of the Commodore C2N datasette. It was made use of by the Commodore 64/VIC-20 originally. The TI-95 does not have any provision for this as far as I am aware. Since the CI-7 tape interface was designed for use with a normal cassette deck which would not have had a key sense output. It is curious though that TI-99/4a has an input pin that acts as though it was made for that purpose given that they had a similar three wire analog tape lead, though they did use a DB9 connector on the computer side of it so there would have been extra pins for that purpose. Maybe they had thought at one point about their own tape deck? Sadly, I don't know much bout the 99/4a. 1 Quote Link to comment Share on other sites More sharing options...
+acadiel Posted November 30, 2018 Author Share Posted November 30, 2018 If it's hexbus it's the same just a different pinout Sent from my LG-H872 using Tapatalk Nope, the CC-40's processor ROM (2K) doesn't have the cassette routines built in. Someone would have to figure out how to add them by dumping the CC-40+ 4K processor ROM or extracting them from the TI-74's 4K processor ROM. To be clear, it probably can do it. But not without creating some assembly routines. 1 Quote Link to comment Share on other sites More sharing options...
gferluga Posted December 16, 2018 Share Posted December 16, 2018 I found something very strange... and it works!!! A CI-7 interface but with a Centronics male plug. I connect it to a standard parallel printer and it's printing... Looks like something custom made by TI. It doesn't looks home made. 4 Quote Link to comment Share on other sites More sharing options...
+acadiel Posted December 17, 2018 Author Share Posted December 17, 2018 Ooh.... internal pics please!!!! Quote Link to comment Share on other sites More sharing options...
gferluga Posted December 17, 2018 Share Posted December 17, 2018 Ok. I can do it... any advise to take care how I open it? Any risk to lose pieces or break something? Quote Link to comment Share on other sites More sharing options...
+acadiel Posted December 19, 2018 Author Share Posted December 19, 2018 If it’s like the CI-7, there are screws under the rubber feet. Just be careful and take plenty of pics. Quote Link to comment Share on other sites More sharing options...
+acadiel Posted March 25, 2020 Author Share Posted March 25, 2020 On 12/17/2018 at 1:47 PM, gferluga said: Ok. I can do it... any advise to take care how I open it? Any risk to lose pieces or break something? Just following back up to see if you can take internal pics of the parallel interface Quote Link to comment Share on other sites More sharing options...
KlausO Posted June 16, 2020 Share Posted June 16, 2020 (edited) Hi, I am Klaus from Germany and this is my first post at atariage. I received a piece of electronics from Italy on ebay, the function of which I would like to find out. It is a CI-7 interface but with a Centronics male plug like this on the pictures from gferluga above. I suspect it only works with specially written access functions, which I unfortunately don't have. I have measured all connections between the 5 IC's and the two connectors. This resulted in two circuit diagrams: the first shows the 5 ICs and in the second they are broken down into individual logic gates. I am now also sure that the circuit is used to connect an old parallel printer to the TI-74: "INTERFACE CENTRONICS" is on the back of the board. The Italian insurance company VitaNuova had equipped its representatives with a case that contained a "KODAK DICONIX 180si" printer with a Centronics interface in addition to the TI-74S. This interface comes from such a case. Unfortunately I don't have a VitaNuova ROM cartridge and have to figure out how to control it to send characters to the printer. I don't think this can be done without an assembler routine, with which the output lines of the TI-74 are written and read directly past the usual protocol. I find it remarkable that the 74HC164 receives its supply voltage via the output of an AND gate, i.e. it can be switched off and on. The connection between the BUSY output of the printer and its STROBE input via two inverters is completely incomprehensible but measured three times. How can STROBE ever get high like this? There are a lot of puzzles in this little circuit ... Edited November 2, 2021 by KlausO 5 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted July 3, 2020 Share Posted July 3, 2020 I hadn't ever seen a parallel version of the interface in the wild. Have you tried to connect it to any other Centronics printers? Most of them used identical signalling (there were sometimes minor differences, but most of them fit into one or two broadly compatible groups). Then you can just try to print and see what happens. . . Quote Link to comment Share on other sites More sharing options...
KlausO Posted July 5, 2020 Share Posted July 5, 2020 Thanks for the hint Ksarul. The Kodak DICONIX 180 SI Centronic Printer works very well on other computers. So the printer is fine. An attempt with the TI-74 to print something via this interface with LIST "12" only leads to the usual error message E0 I/O error 255 "12". I ask the developer of the TIIF2 program and he answer: "It certainly won't work with open, print, close, because these commands expect a strict protocol. You need a bit of intelligence that can't possibly be found in the few TTLs. With the PC interface, this part is on the PC side. This means that the printer would have to do that what is extremely unlikely. Then it would be a custom-made product." I tried different POKE-commands at addresses 274, 275 and 276 without success. The idea for this comes from the "cc40 ti74 hexbus.txt" file from //ftp.whtech.com/hexbus_cc40_ti74/. There is a section entitled "CC-40 PROJECT REPORT # 5", which shows how you can set and read HEX-BUS pins directly. The TI-74 does not seem to have the same addresses for the DOCK-BUS. Does anyone know this addresses for the TI-74? Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted July 5, 2020 Share Posted July 5, 2020 Have you asked Mr. Ferluga what commands he was using to try and print? He noted that his Centronics interface works. . .it could be something as simple as LIST "PIO". Centronics interfaces are basically dumb. They have parallel data lines and a few control lines to manage data flow and that's it. The printer takes the input characters and processes them (prints printable characters and executes control characters). When printing graphics, the printer switches to graphics mode based on the control code and goes from there. If the software sending the data doesn't use the right codes, data ends up looking like garbage in the printout, but that's about all that can happen. Quote Link to comment Share on other sites More sharing options...
KlausO Posted July 7, 2020 Share Posted July 7, 2020 Good advice, I asked Mr. Ferluga about it yesterday and got a direct answer. However, he has not tried the interface himself, but will soon do it. I stick to my assessment that it used to only work with an insurance company cartridge because it was specifically controlled by the insurance software. The standard functions of the TI-74 do not work with this interface. I got further when looking for the DOCK-BUS addresses of the TI-74. I connected an LED between 5V and a transistor-collector on a breadboard. From the transistor-emitter a 330 Ohm resistor goes to GND. At the base of the transistor came a 10 kOhm resistor with a cable to the DOCK-BUS of the TI-74. So I could see directly what a poke does. The DOCK-BUS data-lines D0 to D3 are controlled via address 270. The handshake lines BAV and HSK via address 271. To be able to output something via D0 to D3, BAV must first be set to high and HSK to low. The following two lines set D0 to D3 high: CALL POKE (271,1) CALL POKE (270,15) The logic for address 271 looks like this: value BAV HSK 3 L L 2 L H 1 H L 0 H H With this knowledge, I can now plug in the interface and try to send something to the printer. Hopefully at first only readable and no control codes ... Quote Link to comment Share on other sites More sharing options...
KlausO Posted July 10, 2020 Share Posted July 10, 2020 Characters are output to the printer with this interface by first collecting 8 individual bits in the 74HC164 and then signaling to the printer via a low pulse at Strobe that the printer can accept the byte = character. For pure output, address 271 must be set to 1 (BAV=high, HSK=low). The data line is used as follows: D0: The bit to be output in inverted form D1 = 0 D2: The change from low to high pushes the bits in the 74HC164 one place further. D3 = 0 This small program continuously writes bits into the 74HC164. It starts with a high bit followed by a low bit and so on. I used it to switch LEDs from the interface on and off. So even without a printer I could see whether the interface works this way. 70 PAUSE ALL 80 CALL POKE(271,2) 90 CALL POKE(271,1) 100 A=270 110 B=0:CALL POKE(A,B) 120 PRINT A,B 130 B=4:CALL POKE(A,B) 140 PRINT A,B 210 B=1:CALL POKE(A,B) 220 PRINT A,B 230 B=5:CALL POKE(A,B) 240 PRINT A,B 250 GOTO 100 Now the first real program for the Interface. It send 7 characters to the printer: The five readable characters TI-74 as well as carriage return and line feed. It takes a little over 4 seconds. The two lines 470 and 480 generate the low pulse on strobe. The program works without any problem but it is to slow. 300 CALL POKE(271,2) 310 CALL POKE(271,1) 312 A=270 315 PAUSE ALL 320 Z=ASC("T"):GOSUB 400 330 Z=ASC("I"):GOSUB 400 340 Z=ASC("-"):GOSUB 400 350 Z=ASC("7"):GOSUB 400 360 Z=ASC("4"):GOSUB 400 370 Z=13:GOSUB 400 375 Z=10:GOSUB 400 390 END 400 FOR I=1 TO 8 410 T=Z-128 415 REM PRINT I,Z 420 IF T<0 THEN B=1:Z=2*Z 430 IF T>=0 THEN B=0:Z=2*T 440 CALL POKE(A,B) 450 CALL POKE(A,B+4) 460 NEXT I 470 CALL POKE(A,2) 480 CALL POKE(A,0) 490 RETURN I am planning a version that prints the contents of the TI-74's display. I would then like to implement this in machine language and also take into account the two signals ACK and Busy output by the printer. 1 Quote Link to comment Share on other sites More sharing options...
KlausO Posted August 15, 2020 Share Posted August 15, 2020 (edited) This is the BASIC-Version of the program that print the ontent of the TI-74's display with the "INTERFACE CENTRONICS". The dsiplay-buffer start at adress 8333 with the firts character and go down to 8254. The first task is to search from the end after the first character that is not a space (=32). This is the last character in the line to print. Then tranfers the characters one by one from the start of the display-buffer to the last character. At the end of the line send a CR (=13) and a LF (=10) to the printer. The Runtime of the BASIC-Version is 70 seconds for the two example-Lines. The Line 510 is a REM because BASIC ist to slow to catch the ACK-Signal from the printer. In Line 470 the TROBE-Signal goes low and the real Printer answer with ACK low in a very short time, before BASIC has reached Line 480. The poke in line 480 set STROBE high and clear the 74HC74. In this moment the ACK from the printer is lost and can not be found in line 510. In the Assembler-version the logic works and it wait for the ACK from the printer. 10 PRINT "The quick brown fox jumps over a lazy dog." 20 GOSUB 300 30 PRINT "EXP(PI*SQR(163)) = EXP(";PI;"*";SQR(163);"))=";EXP(PI*SQR(163)) 40 GOSUB 300 50 END 300 CALL POKE(271,1) 310 A=270 320 CALL POKE(A,13) 330 CALL PEEK(A,B) 340 IF B<12 THEN 330 350 FOR E=8254 TO 8333 355 CALL PEEK(E,B):IF B<>32 THEN 370 360 NEXT E 370 FOR S=8333 TO E STEP -1 375 CALL PEEK(S,Z):GOSUB 400 380 NEXT S 385 Z=13:GOSUB 400 390 Z=10:GOSUB 400 395 RETURN 400 FOR I=1 TO 8 410 T=Z-128 420 IF T<0 THEN B=1:Z=2*Z 430 IF T>=0 THEN B=0:Z=2*T 440 CALL POKE(A,B) 450 CALL POKE(A,B+4) 460 NEXT I 470 CALL POKE(A,6) 480 CALL POKE(A,4) 490 CALL POKE(A,13) 500 CALL PEEK(A,B) 510 REM IF B<>12 THEN 500 520 RETURN Edited November 2, 2021 by KlausO 2 Quote Link to comment Share on other sites More sharing options...
KlausO Posted August 16, 2020 Share Posted August 16, 2020 This is the assembler version of the BASIC program from the last post. It works exactly the same, but instead of 70 seconds it only takes 3.5 seconds for the two example lines. The attached file PRTDSP_v4c.txt contains the source code of the assembler routine. The first columns with the HEX values were determined with the aid of the program asm7.exe under Windows XP. I then converted the two-digit hex values into decimal numbers and transferred them to the following BASIC program. The jump destination of the "CALL @PRT" command must be set afterwards because this absolute address is only fixed when memory has been requested with GETMEM. All other jumps (JP, JNE, JPZ, JNZ) in the assembler program using relative addresses, i.e. jump x bytes forwards or backwards and are independent of where the assembler routine is in the memory. 100 CALL GETMEM(120,ASM) 110 CALL POKE(ASM,136,32,62,118,34,1,139,1,15,34) 120 CALL POKE(ASM+10,13,139,1,14,34,12,141,1,14,228) 130 CALL POKE(ASM+20,249,34,32,157,118,230,8,211,118,34) 140 CALL POKE(ASM+30,141,29,118,230,242,50,118,136,32,141) 150 CALL POKE(ASM+40,118,154,118,208,120,142,(ASM+68)/256,(ASM+68),219,118) 160 CALL POKE(ASM+50,77,1,118,229,242,114,13,120,142,(ASM+68)/256) 170 CALL POKE(ASM+60,(ASM+68),114,10,120,142,(ASM+68)/256,(ASM+68),10,114,8) 180 CALL POKE(ASM+70,121,181,223,120,227,1,179,139,1,14) 190 CALL POKE(ASM+80,40,4,139,1,14,210,121,230,238,34) 200 CALL POKE(ASM+90,6,139,1,14,34,4,139,1,14,34) 210 CALL POKE(ASM+100,13,139,1,14,34,12,141,1,14,230) 220 CALL POKE(ASM+110,249,10) 230 PRINT "The quick brown fox jumps over a lazy dog." 240 CALL EXEC(ASM) 250 PRINT "EXP(PI*SQR(163)) = EXP(";PI;"*";SQR(163);"))=";EXP(PI*SQR(163)) 260 CALL EXEC(ASM) 270 CALL RELMEM(ASM) PRTDSP_v4c.txt Quote Link to comment Share on other sites More sharing options...
Hugo Cervantes Posted October 23, 2020 Share Posted October 23, 2020 Hi Jeff, Amazing work on creating the interface!! Couple of questions: 1) For those of us with only a regular cassette tape recorder, would that work on, let´s say, manual mode? 2) I recently read about a TI Connectivity USB cable for their latest Graph Calculators (TI-73, TI-83, TI-83 Plus, etc). Do you think there could be a chance for adapting one of those to the TI-74, 95? Thanks! Hugo Quote Link to comment Share on other sites More sharing options...
rinxo Posted September 27, 2022 Share Posted September 27, 2022 For all of you, I connected my TI-74 to my computer to save the basic programs and to load new ones. I used the https://petlibrary.tripod.com/cassette.html to create a cassette device or using the Arduino Leonardo (https://github.com/molleraj/ti95interface). I have created a Python sofware to to manage the full process, take a look at https://github.com/rinxo/TI74-Manager. 2 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.