Jump to content

Recommended Posts

I tried TELCO and it hangs as well, but very early in the booting process. I think you're right: it must be a cable issue.

I tried using the custom made cable I made for the Winmodem32 to connect to BBS'ses and it does not work either.

Do you have the ideal serial cable pinout to use with TIMXT?

Share this post


Link to post
Share on other sites

I stumbled across a few TIMXT-related posts while browsing the forums today and it got me thinking about the ugly challenge I ran into, where the RS232 interrupt handler periodically dropping characters. The problem seemed to start sometime after adding the Ubergrom UART code and the PETSCII interpreter code to the core routines.

 

Having not looked at the program source for some time, I started walking through the TIMXT rs232 routine. Everything looked fine. On whim I cracked open "TI Intern", thinking maybe I was missing something related to the ROM interrupt handler.

 

While reviewing the ISR ROM source I noticed that during a VDP interrupt, the ISR re-enables the 9901's VDP interrupt mask. The TIMXT routine expects this mask to be disabled, so as to trick the ISR into handling a PEB external interrupt as a VDP interrupt, forcing execution of the user interrupt routine, which in turn promptly services the RS232 interrupt.

 

It seems that when I added nanoPEB support, I commented out a CRU instruction to disable the 9901 VDP interrupt mask. I suspect I did this to account for the extra CRU instructions needed to enable and disable the nanopeb ROM cru bit. (The nanopeb incorrectly requires its RS232 rom to be enabled before enabling the 9902). At the time I did not notice any problems and since I had shifted to implementing the ubergrom UART I eventually forgot about the change.

 

Once I returned to using the PEB RS232 I started experiencing lost characters, usually when connected at slower speeds or to slower BBSs. When the TI ISR and TIMXT hndler capture an incoming character the VDP interrupt mask is re-enabled, and the ISR immediately fires off a second time to service the still-active VDP interrupt. The TIMXT interrupt handler doesn't find a pending RS232 interrupt so it defaults into thinking there was a spurious interrupt, disables the 9901 prioritization bit/VDP mask, then exits the ISR. (This 'safety measure' explains why the ISR is not stuck in an endless loop after the first character is received). When the next RS232 character is received the whole cycle begins again - the ISR is called, RS232 interrupt is handled, control is returned to the caller, and the ISR is called an unnecessary second time.

 

Depending on the timing of other routines, such as the keyboard scan and reception speed, rs232 characters are randomly dropped.

 

Although I am not able to fix the routine program at the moment, I am hopeful the fix will eliminate what has been a very annoying and difficult problem to figure out.

 

I'm not sure why the test release for the ubergrom UART drops characters as all of my usage seemed pretty flawless. I'll revisit that at another time as well.

  • Like 6

Share this post


Link to post
Share on other sites

I downloaded the TIXMT  for ubergrom (the plop1, plop2, plop3) version (TIFILES Headers)

is this the latest version or is there a newer one?

 

(some issues I saw is if I entered from TI to PC (TeraTerm 2.3) the same letter on the same line

it does not work (e.g. RR,   but RTR works, if you use another letter, thus HARRY POTTER you cannot type)

 

Also to set the colour some items do not go okay (e.g. set text colour, via FCTN-1 and 1) and 

using FCTN-7 and FCTN-9 returns a black screen, press again it is back.

 

 

Share this post


Link to post
Share on other sites
On 7/23/2020 at 12:28 PM, globeron said:

I downloaded the TIXMT  for ubergrom (the plop1, plop2, plop3) version (TIFILES Headers)

is this the latest version or is there a newer one?

 

(some issues I saw is if I entered from TI to PC (TeraTerm 2.3) the same letter on the same line

it does not work (e.g. RR,   but RTR works, if you use another letter, thus HARRY POTTER you cannot type)

 

Also to set the colour some items do not go okay (e.g. set text colour, via FCTN-1 and 1) and 

using FCTN-7 and FCTN-9 returns a black screen, press again it is back.

 

 

I've lost momentum on this and other projects this year.  I pulled open a few source files and it looks like the petscii code is in place but the ansi is not hooked in, so something isn't right.   I probably need to get the files out on github.  I won't return to this until the fall but if I have a chance I'll look for the version with ANSI and the ubergrom changes (related to having no rs232 in the system)  that I thought I completed. 

  • Like 1

Share this post


Link to post
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.

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