Jump to content

Photo

Ice-T XE 2.75 released

ice-t terminal

47 replies to this topic

#1 itaych OFFLINE  

itaych

    Chopper Commander

  • 201 posts
  • Location:Jerusalem, Israel

Posted Tue Oct 1, 2013 12:09 AM

Ice-T XE is a VT-100/ANSI terminal emulator for the Atari 8-bits.

 

New for 2.75:

  • Fixed a major regression from version 2.73 which broke compatibility with the P:R:Connection, MIO, and possibly other interfaces, due to incorrect reset of the BREAK key status. Thanks to Russ Gilbert for reporting and assistance in finding the cause of the bug.
  • VT100: Fixed some visual errors when changing the width of existing text.
  • Title screen: Fixed minor visual glitch if serial port failed to open.

It wasn't easy debugging an issue that wouldn't occur on my hardware - I had to send Russ about a dozen different versions until we narrowed down the cause of the bug. In version 2.73 I added support for the BREAK key (to send a Break signal over the serial port). Reading the key is done by an interrupt handler, but a flag named "brkkey" (address $11) is zeroed by the OS and must be set back to its 'normal' value, outside of that handler but before any subsequent I/O operation is performed, otherwise the BREAK status will cause that I/O operation to abort with an error. Now, according to Mapping The Atari any nonzero value is good, so Ice-T stuffed a 1 value in there as part of the keyboard read routine. The trouble is that Mapping is wrong: the correct value for normal status is $FF, as stated by De Re Atari and confirmed by the P:R:Connection R: handler source code (luckily available for all to see in the device's user manual). So basically the PRC and apparently MIO as well were constantly thinking the BREAK key was pressed and reading bytes from the serial port would return with some constant value, causing an endless stream of a single garbage character like 'Q' or '?'.

 

Enjoy,

 

-itay

Attached Files



#2 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 12,802 posts
  • Location:United Kingdom

Posted Tue Oct 1, 2013 2:47 AM

Ouch... Well done. ;)

#3 Stephen OFFLINE  

Stephen

    Quadrunner

  • 6,560 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Tue Oct 1, 2013 8:42 AM

Congrats on finding the bug.  I hate to say though - I really do not like the break key sending a break signal.  It is only due to my poor typing skills :)  But the break hey is touching the backspace key on the 130XE and I find myself dropping connections when I go to correct a typo.  It doesn't help that my regular PC keyboard has a large backspace key in the same spot.  I guess I will just have to start practicing some touch typing on the 130XE some more.



#4 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Tue Oct 1, 2013 10:18 AM

Stephen, I'm not going to change this behavior as the Break key is disruptive in many other situations and you ought to be accustomed to not hitting it inadvertently.. But if you like, open the Ice-T binary in a hex editor, seek the string 'a9 3b 8d fc 02' and change 3b to 34. Now your Break key behaves like backspace. Interestingly it will even repeat if you hold the key down. Have fun :)



#5 Stephen OFFLINE  

Stephen

    Quadrunner

  • 6,560 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Tue Oct 1, 2013 10:30 AM

Stephen, I'm not going to change this behavior as the Break key is disruptive in many other situations and you ought to be accustomed to not hitting it inadvertently.. But if you like, open the Ice-T binary in a hex editor, seek the string 'a9 3b 8d fc 02' and change 3b to 34. Now your Break key behaves like backspace. Interestingly it will even repeat if you hold the key down. Have fun :)

Awesome - thanks.  I was not asking you to remove the feature, but thanks a bunch for the tip!



#6 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 12,802 posts
  • Location:United Kingdom

Posted Tue Oct 1, 2013 10:39 AM

If it's actually dropping the connection it might have been worth making it optional... Especially if it's a new feature.

Edited by flashjazzcat, Tue Oct 1, 2013 10:40 AM.


#7 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Tue Oct 1, 2013 10:44 AM

It's not a new feature, but was previously employed with Ctrl-Esc (and still is, if you like). I'm still not changing it :)



#8 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 12,802 posts
  • Location:United Kingdom

Posted Tue Oct 1, 2013 12:27 PM

It's not a new feature, but was previously employed with Ctrl-Esc (and still is, if you like). I'm still not changing it :)

 

Heh - Ctrl-Esc is harder to hit by accident. :) Ctrl-Esc also brings up the Start menu in a Windows emulator, mind, so it's understandable that you moved it.



#9 Stephen OFFLINE  

Stephen

    Quadrunner

  • 6,560 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Tue Oct 1, 2013 6:10 PM

I have found another issue with the VT emulation.  If you connect to irc.atarichat.net 800, the chat window will not scroll.  Using Flicker Term, it works fine - but the font is unreadable on my setup.



#10 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Wed Oct 2, 2013 12:06 AM

Works for me under Altirra and real 130XE through APE telnet client - this is obviously something I always check before releasing a version. You're going to have to give me a lot more information. What platform are you on? Exactly at which version (since 2.72) did this stop working for you?



#11 Stephen OFFLINE  

Stephen

    Quadrunner

  • 6,560 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Wed Oct 2, 2013 4:16 PM

I apologize - it was not a problem with ICE-T.  For some reason, APE was identifying itself as an ANSI terminal.  I changed that to VT100, and all is good.



#12 Lord Cygnus OFFLINE  

Lord Cygnus

    Chopper Commander

  • 117 posts
  • -=[Lord Cygnus]=-
  • Location:Houston, TX

Posted Fri Oct 4, 2013 9:17 AM

Ice-T XE is a VT-100/ANSI terminal emulator for the Atari 8-bits.

 

New for 2.75:

  • Fixed a major regression from version 2.73 which broke compatibility with the P:R:Connection, MIO, and possibly other interfaces, due to incorrect reset of the BREAK key status. Thanks to Russ Gilbert for reporting and assistance in finding the cause of the bug.
  • VT100: Fixed some visual errors when changing the width of existing text.
  • Title screen: Fixed minor visual glitch if serial port failed to open.

It wasn't easy debugging an issue that wouldn't occur on my hardware - I had to send Russ about a dozen different versions until we narrowed down the cause of the bug. In version 2.73 I added support for the BREAK key (to send a Break signal over the serial port). Reading the key is done by an interrupt handler, but a flag named "brkkey" (address $11) is zeroed by the OS and must be set back to its 'normal' value, outside of that handler but before any subsequent I/O operation is performed, otherwise the BREAK status will cause that I/O operation to abort with an error. Now, according to Mapping The Atari any nonzero value is good, so Ice-T stuffed a 1 value in there as part of the keyboard read routine. The trouble is that Mapping is wrong: the correct value for normal status is $FF, as stated by De Re Atari and confirmed by the P:R:Connection R: handler source code (luckily available for all to see in the device's user manual). So basically the PRC and apparently MIO as well were constantly thinking the BREAK key was pressed and reading bytes from the serial port would return with some constant value, causing an endless stream of a single garbage character like 'Q' or '?'.

 

Enjoy,

 

-itay

 

Awesome, Itay!  I've been using ICE-T 2.72 on my Atari 130XE, PR:Conn, with Lantronix UDS-1100 device with no problems calling up ANSI 80 column boards for the past year or so.  However, I installed your recent new version 2.74 and got QQQQQQQQQQQQQQQQQ's constantly across the screen.  I will try this latest release 2.75 you just posted and see if that works.  Any suggestions?

 

-=[Lord Cygnus]=-

      SysOp of:

YYZ BBS [yyzbbs.no-ip.org:23]

8-Bit Guild BBS [8bitguild.no-ip.org:10001]



#13 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Sun Oct 6, 2013 1:04 PM

However, I installed your recent new version 2.74 and got QQQQQQQQQQQQQQQQQ's constantly across the screen.  I will try this latest release 2.75 you just posted and see if that works.  Any suggestions?


Well, the changelog for 2.75 (which you quoted right there, in full) specifically mentions that very problem as solved in this version. So my suggestion is that you give it a try and post the results here. Thanks :)

#14 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Sun Oct 6, 2013 1:12 PM

This message appeared on the 2.74 thread, regarding how I don't automatically turn off the TDLINE bar in SpartaDOS X.
 

http://atariki.krap.pl/index.php/TD_Line:_wyłączenie_i_włączenie_z_poziomu_programu


Thanks to the code in this article I'm now able to do this in SDX from version 4.4 and up. So now every SpartaDOS version should be covered in this respect, except between versions 4.0 and whatever came just before 4.4. If anyone would like to try it out, here's a beta. Enjoy :)

Attached Files



#15 Stephen OFFLINE  

Stephen

    Quadrunner

  • 6,560 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Sun Oct 6, 2013 1:52 PM

While on the subject of SDX, would it be possible to make it so Ice-T could read the clock (any of which work under SDX) and set it upon program launch?

#16 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Sun Oct 6, 2013 2:00 PM

Probably not. I don't like SDX and it has annoyed me enough.

#17 Lord Cygnus OFFLINE  

Lord Cygnus

    Chopper Commander

  • 117 posts
  • -=[Lord Cygnus]=-
  • Location:Houston, TX

Posted Sun Oct 6, 2013 5:17 PM

Well, the changelog for 2.75 (which you quoted right there, in full) specifically mentions that very problem as solved in this version. So my suggestion is that you give it a try and post the results here. Thanks :)

 

Yes, Itay!  Your handler file 'PRCONN2.HND' resolved the issue between the PR:Conn and ICE-T.  This version 2.75 works great on my Atari system.  View this YouTube video I made of ICE-T terminal in action:

 

 

-=[Lord Cygnus]=-



#18 ZylonBane OFFLINE  

ZylonBane

    River Patroller

  • 3,923 posts
  • Location:KC, KS, USA

Posted Sun Oct 6, 2013 5:19 PM

Using Flicker Term, it works fine - but the font is unreadable on my setup.

 

The FlickerTerm standard distro includes an alternate 3-pixel-wide font which should be basically identical to the Ice-T font. Heck, it uses standard Atari .FNT files, so customizing its font is trivial.



#19 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Mon Oct 7, 2013 6:29 AM

Yes, Itay!  Your handler file 'PRCONN2.HND' resolved the issue between the PR:Conn and ICE-T.

 

Very cool, thanks for the video!

 

Just wanted to clear up a couple of things:

  1. Your attempt to pronounce my name is gallant but unfortunately incorrect: it's properly pronounced like "eat Thai" or "it tie", not "ee-tae". You're lucky you didn't try my last name :)
  2. The cable connecting your PRC to the Lantronix unit is most likely not a "null modem" cable but a standard RS232 cable. "Null modem" is what you'd use to connect the PRC to the serial port of another computer.
  3. The PRCONN2 file has nothing to do with the bugfix. Try the regular PRCONN file, there should be no difference; correct me if I'm wrong.


#20 Android8675 OFFLINE  

Android8675

    Moonsweeper

  • 426 posts
  • Incognito'N
  • Location:Prunedale, CA, USA

Posted Mon Oct 7, 2013 9:38 AM

Yes, Itay!  Your handler file 'PRCONN2.HND' resolved the issue between the PR:Conn and ICE-T.  This version 2.75 works great on my Atari system.  View this YouTube video I made of ICE-T terminal in action:
 

 
-=[Lord Cygnus]=-

Dude I love your narration, so dry. My workmates are wondering what I was chuckling at, they didn't get it.

Itay, gonna try 2.76 beta when I get home tonight. Didn't get your message til I got to work today. I don't know if I can do as good a job as Cygnus, but I may try my hand at doing a little video. Gonna clean my desktop first though, place is a disaster.

-A.

#21 Lord Cygnus OFFLINE  

Lord Cygnus

    Chopper Commander

  • 117 posts
  • -=[Lord Cygnus]=-
  • Location:Houston, TX

Posted Mon Oct 7, 2013 9:58 AM

 

 

Very cool, thanks for the video!

 

Just wanted to clear up a couple of things:

  1. Your attempt to pronounce my name is gallant but unfortunately incorrect: it's properly pronounced like "eat Thai" or "it tie", not "ee-tae". You're lucky you didn't try my last name :)
  2. The cable connecting your PRC to the Lantronix unit is most likely not a "null modem" cable but a standard RS232 cable. "Null modem" is what you'd use to connect the PRC to the serial port of another computer.
  3. The PRCONN2 file has nothing to do with the bugfix. Try the regular PRCONN file, there should be no difference; correct me if I'm wrong.

 

 

My greatest apologies, Itay!  Sorry, I guess I'm just a dumb American in pronouncing your name. hehe :) 

 

Yes, you are correct on the 'null modem cable' I stated.  The RS232 cable is one that I made.  However, I did plug it into a null modem cable into my custom-made RS232 cable out of the PR:Conn like an extension into the Lantronix and it works.  Strange, I know.

 

Well, I was using ICE-T vr. 2.74 when I first loaded up 'PRCONN.HND' when I got all the QQQQQQQQQQQQQQQ's.  When I loaded up vr. 2.75 using 'PRCONN2.HND', everything worked fine.  What is the actual difference between 'PRCONN.HND' and 'PRCONN2.HND'?

 

-=[Lord Cygnus]=-



#22 Lord Cygnus OFFLINE  

Lord Cygnus

    Chopper Commander

  • 117 posts
  • -=[Lord Cygnus]=-
  • Location:Houston, TX

Posted Mon Oct 7, 2013 10:00 AM

Dude I love your narration, so dry. My workmates are wondering what I was chuckling at, they didn't get it.

Itay, gonna try 2.76 beta when I get home tonight. Didn't get your message til I got to work today. I don't know if I can do as good a job as Cygnus, but I may try my hand at doing a little video. Gonna clean my desktop first though, place is a disaster.

-A.

 

HAHAHAHAHA!  I know, right?  I'm just an old skool BBS'er from the 80's, dude!  Maybe I should take some editing classes and not sound so elementary :grin:

 

I actually made this video for my friend, David Baldwin, in New Zealand to show him the piece-by-piece retro equipment I'm using for telnet BBS'ing.  It was intended for demo, but thought I would post the news here of the success.

 

-=[Lord Cygnus]=-


Edited by Lord Cygnus, Mon Oct 7, 2013 10:05 AM.


#23 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Mon Oct 7, 2013 10:16 AM

When I loaded up vr. 2.75 using 'PRCONN2.HND', everything worked fine.  What is the actual difference between 'PRCONN.HND' and 'PRCONN2.HND'?

 

-=[Lord Cygnus]=-

 

PRCONN.HND is similar (or perhaps identical?) to ATARI850.HND. It's a very small executable that contacts the PRC, downloads a handler that is stored on the PRC's internal ROM and installs that as an R: handler.

 

After the PRC was released it was discovered to be incompatible with some misbehaving terminal program popular at the time (HomeTerm) and so a purely disk based handler, with some workaround built in, was released. It is named PRC.SYS on the disk that came with the PRC and named PRCONN2.HND here. You will notice that it's a much larger file than the PRCONN.HND.

 

Since this file is a workaround for some problematic terminal program that does not interest us today, I am considering dropping this file from future Ice-T releases. Please try 2.75 with PRCONN.HND and let me know if it works so I can get rid of PRCONN2.



#24 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Mon Oct 7, 2013 7:21 PM

Ok people. Here's another beta for you. In this version I've greatly improved the VT100 emulation. If anyone here uses Ice-T to login to a Linux shell, there's an application named 'vttest' you can use to stress test an emulator (to install: sudo apt-get install vttest). 2.75 actually failed miserably, but with this new beta version everything passes pretty much perfectly. (Note: if Telnetting with Altirra, before trying clever things like Emacs, don't forget to type: export TERM=vt100 . This is needed because Altirra doesn't negotiate terminal type when connecting.)

 

I've also looked into the reasons why data is getting lost at high baud rates even though Ice-T maintains a rather large input buffer, and I think I've solved the problem. So, any of you who use Ice-T at lower baud rates just because of data loss, please try maximal baud rates with this version (russg, you mentioned this issue).

 

Enjoy :)

Attached Files



#25 itaych OFFLINE  

itaych

    Chopper Commander

  • Topic Starter
  • 201 posts
  • Location:Jerusalem, Israel

Posted Tue Oct 8, 2013 2:58 PM

And another one. I've been busy polishing the emulator even more - at this point each of the tests in 'vttest' including the most obscure will either pass flawlessly or fail due to things that aren't planned to ever be supported in Ice-T (such as terminal types other than VT100, 132 columns, blinking and bold text simultaneously, etc). I've even simulated the keyboard LEDs, though I have no idea what they're useful for :) There are also some speedups in the code and added robustness against data loss, so this is a version worth getting even if you don't care about the finer details of terminal emulation.

 

Cheers!

Attached Files







Also tagged with one or more of these keywords: ice-t, terminal

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users