Jump to content
IGNORED

Ice-T XE 2.75 released


itaych

Recommended Posts

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

Ice-T_XE_2.75.zip

  • Like 6
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 :)

  • Like 2
Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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

 

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 :)

icet_276_beta1.xex

  • Like 1
Link to comment
Share on other sites

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:

 

[media=420x315]http://youtu.be/HWqdz3GTZNM[/media]

 

-=[Lord Cygnus]=-

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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:

 

[media=420x315]http://youtu.be/HWqdz3GTZNM[/media]

 

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

Link to comment
Share on other sites

 

 

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]=-

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 :)

icet_276_beta2.xex

  • Like 2
Link to comment
Share on other sites

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!

icet_276_beta3.xex

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