Jump to content


+AtariAge Subscriber
  • Content Count

  • Joined

  • Last visited

  • Days Won


jedimatt42 last won the day on May 7 2017

jedimatt42 had the most liked content!

Community Reputation

2,607 Excellent


About jedimatt42

  • Rank
    River Patroller
  • Birthday 05/15/1973

Contact / Social Media

Profile Information

  • Gender
  • Location
    Beaverton, OR
  • Interests
    Programming, old and new.
    The world of Arduino.
    My TI.
  • Currently Playing
    Mousing around on my TI-99/4A

Recent Profile Visitors

15,836 profile views
  1. Well, 1st, if you have to log into the PI so often that this is worth this kind of effort, I've done something grossly wrong. If you get scrambled noise just when logging into the Linux telnet service on the PI, it is probably either the TELNET negation, or the Csi code 'c' that should respond with the term-type. Probably the TELNET negotiation. The BBS's typically don't actually use the telnet protocol, but just a raw TCP socket which telnet clients can attach to. The telnet negotiation: https://github.com/jedimatt42/tipi/blob/ef1396b8319ef8730571fd9820f6496842866819/examples/telnet/main.c#L177 You'll notice the telnet protocol has precedence over the terminal protocol. The termtype request handler: https://github.com/jedimatt42/tipi/blob/ef1396b8319ef8730571fd9820f6496842866819/examples/telnet/terminal.c#L375 [email protected]
  2. There seem to be bugs... The goals: * if you access the `TIPI.` device, the volume name is "TIPI" regardless of what folder you are in. (sounds like it works) * if you access a mapped `DSK_.`, the volume name is the name of the folder you are mapping to. (bugged) * All the disks support folder access, even `DSK0.` which is logically equivalent to `TIPI.` . (bugged) Naming: The name of the file on the linux system is the name presented to the 4A. Not the name inside the header. This is to improve reasoning about what you can see without tools. There are archives that are 4 million years old that have odd names. TI'ers could use control characters on a 4A to enter names, or would sector edit disks to give them odd names, and then expect that data file via code. Unicode naming on linux screws that up sometimes. You simply have to rename the files after they were copied to the TIPI. If they must have grumpy characters in their name, you should probably rename from the 4A, you might have to first rename to something you can type in via the windows share, or linux log in to the PI. I saw ArcadeShopper telling someone how to rename things for TERM80 recently. If a set of rules existed that were deterministic for what is intended, I would attempt to implement it, to auto-repair names. [email protected]
  3. 1st TI BASIC isn't a terminal protocol, so you do not end up with any sort of end of line characters in the variable assigned through the INPUT statement. 2nd, yes as noted twice on the wiki regarding timezones, case matters. The 4A filesystem is case sensitive. Call link names are case sensitive, DSR device and subroutine names are case sensitive. Just about the only thing on a 4A that isn't case sensitive are BASIC keywords. 3rd, thanks. I saw a hang after setting the timezone once, but couldn't reproduce it. So I had dismissed it. The tipisuper.service is single threaded and responsible for any requiring elevated permission on the PI. So if setting the timezone is hung, it won't notice the request for upgrade, until the tipisuper.service is restarted. I will explore making that more robust. Maybe the script crashes when it doesn't have a valid timezone. The first time I did it, I think I misspelled New_York. [email protected]
  4. New laptop, new linux, new error building gcc - New gcc ( 9.2.1 ) doesn't like some of the code used in the old gcc ( 4.4.0 ) : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90677 I found the solution applied in this issue works well ( coincidentally for a gcc for TI calculators 😞 https://github.com/debrouxl/gcc4ti/issues/11 cd into your install.sh destination directory, and then into the gcc-4.4.0 directory. And apply the patch: cgraph_node.patch patch -p1 < cgraph_node.patch Then re-run the install to resume the build. I'm sure this could be rolled into the install.sh if @insomnia was so inclined. [email protected]
  5. In an update about a month ago, I added internal support for changing the timezone of the PI via the 4A. I didn't document this. In doing so, I added a default value for the TZ in the tipi configuration ( visible as the file PI.CONFIG ). This default was set for Los Angeles. So if you have already manually changed your timezone through some linux or raspi-config technique, writing anything to PI.CONFIG, such as mapping a DSK drive in the TIPICFG tool, will detect a change to the persistent settings, and reset your timezone to Los Angeles. You should set your timezone via the 4A. This is now possible and documented here: https://github.com/jedimatt42/tipi/wiki/PI.CONFIG#timezone-setting ( and as a bonus, you get a tiny reason to use BASIC ) Thanks, @BeeryMiller for reporting the issue. [email protected]
  6. We need to have a feature to properly set the time zone for this variant of Linux that is incorported into the PI.CONFIG management tooling. In building part of that (you can print TZ=yourtimezone to PI.CONFIG and it will apply the change), I noticed that raspi-config does more than just timedatectl for setting the timezones. I'll add proper documentation tonight, sometime after commuting and dinner. [email protected]
  7. Update: 1.50 - 2020-02-11 ----------------------------------- I broke Catalog of the TIPI. device a few updates back... so now it is fixed again... [email protected]
  8. Update 1.49 - 2020-02-09 ---------------------------------- Fixed reading data files via PI.HTTP ( URI1,2,3 aliases ) Now as documented on the PI.HTTP page on the wiki, data streams from the web that are not TIFILES files, will be opened in the format specified ( DIS/VAR 80, DIS/FIXED 128, etc...) and the specified record length will be honored. The data will be broken up to fit within the record length limits. The default record length (if 0 is specified, or nothing is specified in BASIC) for VARIABLE is 80, and the default for FIXED is 128. CALL TIPI("PI.HTTP://ftp.whtech.com/TIPI/WEATHER") once agains works when retrieving the weather data. [email protected]
  9. PeteE runs this way with the ZeroW if I recall. You do end up binding the lifecycle together. I personally leave my PI on all the time, but turn off the other things, either to clear up after a crash or doubts about memory state... But that might be a developer centric issue. I would not recommend doing this to a PI 3 or PI 4, as I would assume powering on the TIPI and 32k while the PI is running might brown-out the PI. I tried that for a bit, and it was trouble. Smarter people might have a better experience. [email protected]
  10. You could just sell the 4A and use classic99... There are technical reasons not to do it. Mostly I don't trust most of the TIPI users to not complain that their 4A locks up while the TIPI update is running. [email protected]
  11. Update 1.48 - 2020-02-05 INT/VAR 254 - long format basic editing in TIPI web-ui. All this BASIC editing is delegating to xbas99.py from Ralph, for the ascii vs bytecode conversion. It now respects the original file format for re-encoding. If it was a PROGRAM image, it'll still be a PROGRAM image after editing. If it was an INT/VAR 254, then it will remain in 'long format'. It is possible to start with a PROGRAM file, add a ton of code, and end up with something that won't load in XB... later I'll add an option to force saving to long format. -- ArcadeShopper reported a bug earlier last month that the web-ui BASIC editor made an unloadable file. This was a small file that was pasted in, in chunks that ended up with an error... but I'm not sure how to deal with that... in TI BASIC you can enter `10 FRED` and it is totally happy to save it... in xbas99.py it'll encode it, and decode it again, just fine... you can load it BASIC... You can load XB programs full of symbols TI BASIC doesn't know, and they just list poorly, and fail to execute... XB's are all extensible... I don't think it is possible to determine if bad input is given, except the one thing I've seen xbas99.py detect, which is a line without a line-number at the beginning. In that case, it omits the line from the encoded file... so still shouldn't result in an unloadable file... More will have to be learned... if anyone uses this feature and has problems, I'd like to know. [email protected]
  12. I've done what with chrome on my phone, where opening the browser reloads the last page I was on... With a little effort, the web-ui could protect against this. [email protected]
  13. This one, and the development forum are in the Classic Computing hierarchy... And there is a sticky, FAQ thread... It'll talk about archives... I think the truthful answer about archives is 'no', but there is an archive aspiration on http://ftp.whtech.com/ [email protected]
  14. I think I got confused by some version of the BASIC catalog code that put the "." on for me, and thus required that I not do so... crafting my own version of reading the catalog from BASIC, I see that yes, the device name needs to end in "." for real DSK1., and TIPI based drives. I stand corrected. I really should never post from my phone, since I can't verify before posting. And my rationale for device specification is flawed... and has become a legacy bug. --- The missing volume name is an interesting over site... I pull the name from the last part of the mapping path, instead of from the last part of the resolved path... LOL... I'll fix that with next release.. [email protected]
  • Create New...