Jump to content
IGNORED

Telco patch for NanoPEB v1 Serial and UberGROM cart


InsaneMultitasker

Recommended Posts

Post updated to reflect current state:

 

1. "TELCN for nano" ZIP contains two TIFILES formatted files:

a. NANOS - source for the nanopeb patch

b. TELCN - a program to patch TELCO at run-time.


The nanopeb serial port can only be accessed when the card/DSR is turned on. Although this follows TI convention, the step is not required for other RS232 cards, hence the 'incompatibility' with most direct-access serial programs.

 

To use this patch place TELCN in the same folder/disk as TELCO/P/Q.  Start Telco by running TELCN.   TELCN will patch the necessary three routines and transfer control to Telco when complete.  I originally hacked the patches into the telco files using Birdwell's disk utilities but maintenance/upkeep is a real pain so I used the more 'interactive' approach.  Note:  this patch does not change any of the Telco files, it only changes the program in memory.

 

My testing has been limited to terminal-based testing with my (sometimes flakey) nano and a 14.4k modem.  I did not try to "fix" the DTR hang-up feature.  A proper cable is required as detailed in other topics.

 

Since the question has arisen in other threads, Mass Transfer 7.4 and TIMXT also work with the nano. The latter requires the F18A.

 

2. "TELCN for Ubergrom UART" ZIP contains two TIFILES formatted files: 

a. UBERS - source for ubergrom patch

b. TELCN - program to patch TELCO at run-time

 

The ubergrom UART patch functions with Telco's terminal mode only; the file transfer routines rely on the RS232 circular interrupt buffer on a per-module basis.  I have determined that it is not feasible (for me) at this time to try to update all of the file transfer modules.  If someone comes up with the source code for Telco, I'd be happy to take a stab at it.  UART speed is locked at 38.4K.  It is possible this speed will need to be reduced to a lower baud rate for usability when connecting to systems that transmit at high speed. 

 

Edit:  attached the telco complete package Tursi provided in another Telco thread for completeness since it is the image I used for testing.

TELCN for nano.zip

Telco - Complete Package.zip

TELCN-for Ubergrom UART.zip

  • Like 6
Link to comment
Share on other sites

I partially disassembled Telco a few years ago to better understand how it uses the 9938 VRAM.  I had wondered if it was possible to adapt Telco for F18A 80 columns. "Unfortunately" and quite understandably, many programmers relocated the screen image table to another VRAM bank instead of restructuring their program's VDP usage to place the table in bank 0. Since TIMXT fulfilled my desire for high speed, color, and nano compatibility I put the Telco code aside.  

 

When the NANO serial port topic arose again this week I revisited the disassembled Telco code. It was relatively easy to find the direct serial routines and the CIB (rs232 circular interrupt buffer) routines. I did this by searching for LDCR/STCR instructions - used to read/write from/to the 9902 - and CIB addresses 8300, 8303, and 8304.  I then reviewed each routine and looked for their entry points.

 

Modifying/fixing programs requires either changing existing code or writing new routines to be executed in place of the original code.  In Telco, we needed to add code to enable and disable the RS232 so I opted to create new routines, branch to them, and return to a point after the old routine. I settled on trashing the print spooler code in favor of the new serial code.

 

All of the patch work was completed on my TI w/nano and ubergrom cart w/Gazoo's XB27 image.  I first used Birdwell's Disk Utilities (DU) file editor to hack/test TELCO and TELCP. I then wrote and assembled the patch program using FunnelWeb.  RAG linker converted the object file into the TELCN program image. Lastly, I modified the first two program bytes to >FFFF to tell the loader that there was another image file to load after TELCN.

 

Once TELCN/O/P/Q are loaded, the patch executes - it copies new code and updates old code to branch into the new.  The patch then branches to TELCO's original load address.

 

 

  • Like 5
  • Thanks 1
Link to comment
Share on other sites

  • 8 months later...
On 1/1/2020 at 9:12 PM, InsaneMultitasker said:

Today I noticed that when used with the ubergrom patch, Telco won't return to the title screen with the quit option.  I suspect I need to reset the ubergrom cart or grom address.  Has anyone who downloaded the ubergrom patch experienced the same thing?

Yes.  It returns to the E/A screen and locks up.

 

You say that the UberGROM patch locks the UART speed at 38,400.  The status line still shows 1200, but I assume internally it still runs 38.4k.  If I change the speed to 38400 so it shows on the status line, will that break anything?

 

Sorry I forgot this was here!  This week I will be mostly unable to work, so it is a perfect opportunity to get this project done and operational :)

Link to comment
Share on other sites

45 minutes ago, OLD CS1 said:

Yes.  It returns to the E/A screen and locks up.

 

You say that the UberGROM patch locks the UART speed at 38,400.  The status line still shows 1200, but I assume internally it still runs 38.4k.  If I change the speed to 38400 so it shows on the status line, will that break anything?

 

Sorry I forgot this was here!  This week I will be mostly unable to work, so it is a perfect opportunity to get this project done and operational :)

thanks for confirming. Drat.  I'll keep this in mind for when I get back to the timxt code.  As for the speed, what the terminal shows you is of no consequence to the ubergrom routine. I did not even try to disassembly and tie the baud rate select routines into the ubergrom hack. Someone was inquiring about Telco source code (or maybe he/she was thinking about it?).  If we ever got our hands on it, I would like to install a proper patch for the ubergrom and augment with some of the TIMXT fast serial IO routines.  Maybe even add a module for F18a color ansi.  Alas, we need the code to go any further...

Link to comment
Share on other sites

if you do need to change the baud rate, the source contains the current setting. You can either re-assemble or search for the 38.4k value, then adjust to something slower. If I documented it correctly, to adjust from 38.4k to 19.2k, you would search for the value >1900 and replace it with >3200.  9600 would probably be >6400.  The value is directly after the word "BAUD" which is there solely to help find it with a hex editor.  ;)

 

URCVED EQU $
       TEXT 'BAUD'
BAUD   DATA >1900
*  >1900=38.4; >3200=19.2

  • Like 2
Link to comment
Share on other sites

  • 1 year later...
12 minutes ago, arcadeshopper said:

How do you feel about adding a TIPI telnet module to this?@InsaneMultitasker @9640News

Sent from my Pixel 6 Pro using Tapatalk
 

A TIPI patch is nowhere near anything like the NANO patch.  Not saying it could not be done, but it would be something I would have to think about.  Right now, I have irons in the fire on other projects.

 

Beery

Link to comment
Share on other sites

16 minutes ago, arcadeshopper said:

How do you feel about adding a TIPI telnet module to this?@InsaneMultitasker @9640News

Sent from my Pixel 6 Pro using Tapatalk
 

Probably too complicated to update Telco due to the paged modules and other constraints.  If I remember correctly, I had to find some sacrificial space (print spooler) to patch Telco, and we were never able to obtain the source code from Charles Earl.  I thought someone was trying to track him down but I've heard nothing further :(

 

TIMXT may work with the TIPI thanks to earlier work @9640News completed with the 40 column MXT program. I don't have my F18A system operational right now and for the short term, the native z3 Infocom interpreter and next MDOS/Geneve OS release are top of my list.  

  • Like 2
Link to comment
Share on other sites

28 minutes ago, InsaneMultitasker said:

I thought someone was trying to track him down but I've heard nothing further

 

I found him a few years ago on FaceBook and his website. He confirmed he was the author of Telco and even accepted my friend request on FaceBook. However, I was unable to get much more out of him regarding the software, though I did not persist much in my attempts at interaction. I believe I posted this information back at the time of contact, but don’t remember how long ago—I will check: Here and here. Looks like it was about 7 years ago that I re-discovered him.

 

...lee

Edited by Lee Stewart
Additional Info
  • Like 3
Link to comment
Share on other sites

1 hour ago, Lee Stewart said:

 

I found him a few years ago on FaceBook and his website. He confirmed he was the author of Telco and even accepted my friend request on FaceBook. However, I was unable to get much more out of him regarding the software, though I did not persist much in my attempts at interaction. I believe I posted this information back at the time of contact, but don’t remember how long ago—I will check: Here and here. Looks like it was about 7 years ago that I re-discovered him.

 

...lee

The post I remembered was this one from @acadiel where he had made contact but Mr. Earl was checking with his ex... 

 

Telco -- Terminal Emulator (Questions/Answers/Downloads) - Page 3 - TI-99/4A Computers - AtariAge Forums

 

  • Like 2
Link to comment
Share on other sites

The post I remembered was this one from [mention=22866]acadiel[/mention] where he had made contact but Mr. Earl was checking with his ex... 
 
Telco -- Terminal Emulator (Questions/Answers/Downloads) - Page 3 - TI-99/4A Computers - AtariAge Forums
 

He never did reply. I sent him a follow up, but like he said in email - “don’t hold your breath.”
  • Like 2
  • Confused 1
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...