tschak909 Posted December 30, 2018 Share Posted December 30, 2018 Has anyone got a TIPI that I can borrow or buy so that I can finish PLATOTerm for the TI99? -Thom Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted December 30, 2018 Share Posted December 30, 2018 I have considered this carefully... conclusion: I think my system is all that is keeping me going sometimes. Better luck! Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted December 30, 2018 Share Posted December 30, 2018 Has anyone got a TIPI that I can borrow or buy so that I can finish PLATOTerm for the TI99? -Thom You can buy one today at arcadeshopper.com Sent from my LG-H872 using Tapatalk Quote Link to comment Share on other sites More sharing options...
+9640News Posted January 25, 2019 Share Posted January 25, 2019 I have a question regarding the TIPI. Let's propose I want to run a TIPI based versus serial based BBS on a TI-99/4A. I have a web domain name that points to a port and port forwards to the Raspberry PI. How would one, if it can be done, recognize someone is "knocking" on the port to initiate the logon process? Secondly, if someone else tries the same port, does the port forwarding increment by one? I have not done that aspect of the research yet on web sockets to know that aspect, so I am asking for those that may know before I dig too deep. In another scenario, I think one could have a web based "message board" one logs into from their local computer maybe running something as simple as an extended basic program. Instead of storing messages on a local drive, one could store them on a website directory. I also wonder then if one could upload and/or download files from this web repository. At this point, trying to understand some limitations, if any, the existing TIPI DSR may have that would either allow or hinder such opportunities. Beery Quote Link to comment Share on other sites More sharing options...
ElectricLab Posted January 25, 2019 Share Posted January 25, 2019 (edited) I have a question regarding the TIPI. Let's propose I want to run a TIPI based versus serial based BBS on a TI-99/4A. I have a web domain name that points to a port and port forwards to the Raspberry PI. How would one, if it can be done, recognize someone is "knocking" on the port to initiate the logon process? Secondly, if someone else tries the same port, does the port forwarding increment by one? I have not done that aspect of the research yet on web sockets to know that aspect, so I am asking for those that may know before I dig too deep. In another scenario, I think one could have a web based "message board" one logs into from their local computer maybe running something as simple as an extended basic program. Instead of storing messages on a local drive, one could store them on a website directory. I also wonder then if one could upload and/or download files from this web repository. At this point, trying to understand some limitations, if any, the existing TIPI DSR may have that would either allow or hinder such opportunities. Beery It sounds like you want to run a web server on the Pi, which you certainly could do. I run Apache and Flask on a few of mine (non-TIPI projects), and they work great. If you port-forward port 80 to your pi, and you run a server capable of handling multiple incoming requests, there'd be no incrementing by one. Each new request would be handled separately on its own socket (IP/port combo) and they'd all use the same port from the server's perspective. If you're not talking about web but just want to run a local service and accept requests from the Internet, there are a variety of ways to do this from using old-school inetd to launch a program to serve the request on a per-request basis, or run a program as a daemon that listens to whatever port you want. I've done all of the above on a Pi for various projects and they work remarkably well, even on the original Pis. You could then handle N number of users, implement a login method, and the sky would be the proverbial limit. I did some coding for communication and exchanging messages between code running on the TI and other things, and I created the Tipi NetVar extension that is currently implemented on the Tipi and is part of M@'s repo on github, so you already have it. This is what CHATTI uses to make calls to a service running on myti99.com, present its login session token, and can store/read messages. The CHESS game and the high-score sharing system which SNEK demonstrates also make use of this extension. I also wrote a RockPaperScissors "game" in BASIC which can make use of pseudo-anonymous messaging without the need for tokens or a user profile. https://github.com/ElectricLab/TIPI-code/blob/master/RockPaperScissors I think there's some potential here with this sort of a setup where messages are passed through a central server (myti99.com) which removes the need to port-forward or run servers on your Pi which are open to the 'Net, which would be a bit scary for me I can share source to all these programs (TIPI-related and otherwise) if desired. CHATTI, CHESS, and SNEK are all implemented in C. Edited January 25, 2019 by ElectricLab 2 Quote Link to comment Share on other sites More sharing options...
ElectricLab Posted January 25, 2019 Share Posted January 25, 2019 I should add that I'd share all the myti99 backend stuff too if you're interested. 2 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 25, 2019 Share Posted January 25, 2019 It sounds like you want to run a web server on the Pi, which you certainly could do. I run Apache and Flask on a few of mine (non-TIPI projects), and they work great. If you port-forward port 80 to your pi, and you run a server capable of handling multiple incoming requests, there'd be no incrementing by one. Each new request would be handled separately on its own socket (IP/port combo) and they'd all use the same port from the server's perspective. If you're not talking about web but just want to run a local service and accept requests from the Internet, there are a variety of ways to do this from using old-school inetd to launch a program to serve the request on a per-request basis, or run a program as a daemon that listens to whatever port you want. I've done all of the above on a Pi for various projects and they work remarkably well, even on the original Pis. You could then handle N number of users, implement a login method, and the sky would be the proverbial limit. I did some coding for communication and exchanging messages between code running on the TI and other things, and I created the Tipi NetVar extension that is currently implemented on the Tipi and is part of M@'s repo on github, so you already have it. This is what CHATTI uses to make calls to a service running on myti99.com, present its login session token, and can store/read messages. The CHESS game and the high-score sharing system which SNEK demonstrates also make use of this extension. I also wrote a RockPaperScissors "game" in BASIC which can make use of pseudo-anonymous messaging without the need for tokens or a user profile. https://github.com/ElectricLab/TIPI-code/blob/master/RockPaperScissors I think there's some potential here with this sort of a setup where messages are passed through a central server (myti99.com) which removes the need to port-forward or run servers on your Pi which are open to the 'Net, which would be a bit scary for me I can share source to all these programs (TIPI-related and otherwise) if desired. CHATTI, CHESS, and SNEK are all implemented in C. I would very much like to see how I can store data on the backend.. Greg Quote Link to comment Share on other sites More sharing options...
ElectricLab Posted January 25, 2019 Share Posted January 25, 2019 I would very much like to see how I can store data on the backend.. Greg You have only to ask Let's get together sometime soon and I can walk through it. I know about one of your projects and we'd probably need to make some changes/enhancements to accommodate it. Let's do it! 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted January 26, 2019 Share Posted January 26, 2019 Not looking at setting up a web server, or at least hope not. What I was hoping to do was to be able to have one of two possibilities. 1. Have users "dial" a URL and connect to the TI. I just did not know how the TI would pick that connection up or if it was even possible. 2. Likely route, have a program running on the TI. It "dials out" to a URL, in this case it sounds like myti99.com may be a suitable repository (???). User signs in, then there is a file with user name/pwd to verify a legitimate user. The user can read/write posts and leave them. Similar to what a BBS does in something like "local" mode, except the message and file databases are remote and not local. Is number two plausible? If so, number two would allow a menu item on a users TI startup screen where they can instantly check mail, messages, etc. Initially, it could be in extended basic, or subsequent revisions, written in C or assembly. Beery Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted January 31, 2019 Author Share Posted January 31, 2019 I don't think you want a web-socket. I think you want a TCP server socket. A server socket equivalent to the TCP TIPI extension. It could be done by merely adding another extension to the TIPI python service and defining a protocol for accepting a connection. It is not something the current outgoing socket extension to TIPI supports. It could be enhanced, or used as a starting place to keep it isolated. -M@ Quote Link to comment Share on other sites More sharing options...
+9640News Posted January 31, 2019 Share Posted January 31, 2019 I don't think you want a web-socket. I think you want a TCP server socket. A server socket equivalent to the TCP TIPI extension. It could be done by merely adding another extension to the TIPI python service and defining a protocol for accepting a connection. It is not something the current outgoing socket extension to TIPI supports. It could be enhanced, or used as a starting place to keep it isolated. -M@ Thanks for the feedback Matt. Beery Quote Link to comment Share on other sites More sharing options...
lolof Posted February 2, 2019 Share Posted February 2, 2019 (edited) Is there something I can try to see if the Tipi is working, if I did no mistake by assembling the board while it is still not connected to the raspberry ? I am just missing the right angle socket to connect cables to the PI and would like to see if it's possible to see a sign of life without the PI. For exemple, see the version of eprom or something else... The 32Ko sidecard is set to EXT and is powered by its own PSU. The Tipi is just plugged on the sidecar. Thank you. Edited February 2, 2019 by lolof Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted February 2, 2019 Share Posted February 2, 2019 I have powered up my TIPI without the PI powered up. TI BASIC's CALL TIPI works.I can't say that I have ever powered my TIPI up without the PI physically connected though.If you built it yourself from discrete parts... I'm sure someone here would want to help double check your work... got a pic? Quote Link to comment Share on other sites More sharing options...
lolof Posted February 2, 2019 Share Posted February 2, 2019 (edited) Thank you. I just tested "CALL TIPI" and the TI reply with "BAD NAME". I also cannot hear the three beeps at the TI start. I put the last TIPI.BIN on a AM27C256-150 Eprom. I compiled the .jed for the xilinx from the source code with ISE. No jumper set on crubase configuration pins. Maybe I messed up by the compilation..... Could someone provide me a well known working .jed ? I could post a picture from the board, but it won't help at this point because it's not well cleaned. I should put it in the ultrasonic bath but can't do this before Monday.... I tested the CPLD for short and there is no bridge. Thanks Edited February 2, 2019 by lolof Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted February 2, 2019 Author Share Posted February 2, 2019 Thank you. I just tested "CALL TIPI" and the TI reply with "BAD NAME". I also cannot hear the three beeps at the TI start. I put the last TIPI.BIN on a AM27C256-150 Eprom. I compiled the .jed for the xilinx from the source code with ISE. No jumper set on crubase configuration pins. Maybe I messed up by the compilation..... Could someone provide me a well known working .jed ? I could post a picture from the board, but it won't help at this point because it's not well cleaned. I should put it in the ultrasonic bath but can't do this before Monday.... I tested the CPLD for short and there is no bridge. Thanks Here is the .jed file I have used... tipi_top.jed The latest eprom removed the 3 beeps.. but a CALL TIPI resulting in BAD NAME indicates the ROM is not visible to the TI. Usually when I built boards, this was the result of a short on the 74'245, or the CPLD --- pins on the right hand side connect to the data bus in parallel with the EPROM. A bridge there will cause bad reads from the EPROM and the TI won't see it as a DSR ROM. I usually test for this by using 'easy bug' from minimemory cartridge... set CRU 1000 ( with no jumper on the CRU base block ) command: C1000 should show: 0 enter: 1 Light on TIPI board should turn on. command: M4000 should show: AA enter for next byte... compare them with the hexdump -C tipidsr.bin -M@ Quote Link to comment Share on other sites More sharing options...
lolof Posted February 2, 2019 Share Posted February 2, 2019 (edited) Thank you very much for the reply. I'll check all again. Testing more before your reply, I discovered my 32K did not pass the ram test when the tipi is plugged on it. Also, if the 32k+tipi are plugged on the speech synt, then basic freeze when CALL TIPI instead "bad name"... EDIT : the .jed are the same... Edited February 2, 2019 by lolof Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted February 2, 2019 Author Share Posted February 2, 2019 Thank you very much for the reply. I'll check all again. Testing more before your reply, I discovered my 32K did not pass the ram test when the tipi is plugged on it. Also, if the 32k+tipi are plugged on the speech synt, then basic freeze when CALL TIPI instead "bad name"... that sounds more like a problem with the addressing lines then... since it is interferring with the databus when the expansion memory is being used... mostly the bottom side of the CPLD... The CPLD being the highest density and scariest part of this, can also make it easy to overlook the simple stuff like the expansion pins. -M@ 1 Quote Link to comment Share on other sites More sharing options...
lolof Posted February 4, 2019 Share Posted February 4, 2019 (edited) Thanks to the help from jedimatt42, my TIPI is working now. I have to learn how to use it and enjoy.... Thank you very much. Edited February 4, 2019 by lolof 2 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted February 6, 2019 Share Posted February 6, 2019 Have been using the TIPI for a few days now, and am overall, very impressed. This is arguably the best peripheral one can invest in, for a 99, full stop. two questions, both dev related: (1) what does it take to make a new message type? I want to make a debugging message type that will dump to a special log file, for PLATOTerm development. (2) is it possible to request mouse data from C? I'm having difficulty reading the 9900 assembler for the TI Artist, and I want to add touch support to PLATOTerm, at least for TIPI. -Thom 1 Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted February 6, 2019 Author Share Posted February 6, 2019 Have been using the TIPI for a few days now, and am overall, very impressed. This is arguably the best peripheral one can invest in, for a 99, full stop. two questions, both dev related: (1) what does it take to make a new message type? I want to make a debugging message type that will dump to a special log file, for PLATOTerm development. (2) is it possible to request mouse data from C? I'm having difficulty reading the 9900 assembler for the TI Artist, and I want to add touch support to PLATOTerm, at least for TIPI. -Thom 2 - Yes, I have an example of using the mouse from C - https://github.com/jedimatt42/tipi/tree/master/examples/mouse 1 - It is easy to add new message types : start here: https://github.com/jedimatt42/tipi/blob/master/services/RawExtensions.py That'll point you at 3 custom message type handlers you can use as examples... -M@ Quote Link to comment Share on other sites More sharing options...
wolhess Posted February 19, 2019 Share Posted February 19, 2019 TIPIPEB DSK-FILE ACCESS blocks the TI-system Hi, today I got an error during testing file access in Basic (and XBasic, RXB) on my TIPIPEB system. If this is a known problem please ignore the message. If I did something wrong any hint is welcome. I tried this program: DSKTEST.txt 100 CALL CLEAR 110 PRINT "DISK ACCESS TEST" 120 PRINT 130 INPUT "DEVICE: ":DEVICE$ 140 PRINT "OPEN 140FILE FROM "&DEVICE$ 150 OPEN #1:DEVICE$&"TESTFILE",OUTPUT 160 PRINT "STORE 'TEST123' TO TESTFILE" 170 PRINT #1:"TEST123" 180 CLOSE #1 190 PRINT 200 PRINT "READ TESTFILE" 210 PRINT 220 OPEN #1:DEVICE$&"TESTFILE",INPUT 230 INPUT #1:A$ 240 CLOSE #1 250 PRINT A$ 260 PRINT 270 PRINT "OK" 280 END TIPI System with DSR Build: 2018-06-23PI-Version: 1.0betav030 In my tipi-system 4ADOS is maped as DSK1.DSK2. and DSK3. are physical drives in my PEB.The Disk in Drive DSK2. has the name DATAN For the devicename DSK1., DSK2. or DSK3 all is OK. IF the devicename = DSK.4ADOS. is OK. If the devicename = DSK.DATAN. blocks the system!In this case the red tipi LED is ON until I am resetting the system. If I tried the program in classic99 on my PC and all works fine. In classic99 DSK1. is mapped to TIPI\4ADOSDSK2. is mapped to .\DATAN\ I tried DSK1. and DSK2. in classic99 -> OK. I tried DSK.4ADOS in classic99 -> OK. I tried DSK.DATAN in classic99 -> OK. Wolfgang Hess (wolhess) 1 Quote Link to comment Share on other sites More sharing options...
wolhess Posted February 19, 2019 Share Posted February 19, 2019 I have a second issue with file access on physical drives. on the tipi device, I can use the EOF(1) function to detect the end of the file. on the physical drive in the PEB the EOF function reports always '0' so the program reads over the end of the file and I get an error. If this is also a known issue pleas ignore the post. 1 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted February 19, 2019 Share Posted February 19, 2019 When dealing with the TIPI and 4A/DOS I usually do not mess with the DSK convention, I find it easier to use the file paths like TIPI.DOS or TIPI.BASIC or TIPI.UTILITY etc. This way I not limited to a few options... but as many folders as I want. Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted February 19, 2019 Author Share Posted February 19, 2019 Wolhess - those issues both sound like bugs, that I should fix. I'll take a look at them this week. -M@ 2 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted February 21, 2019 Share Posted February 21, 2019 Can you boot and run a Pi 3b from usb media, instead of a sd card? I mean, install the raspbian os to a usb stick / small usb hard drive in place of using a sd card? 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.