Jump to content
BeeryMiller

Telnet Client for MDOS

Recommended Posts

I have an interim release of a Telnet client for MDOS for the Geneve. This program is a revision of Michael Riccio's MyTerm program with an emphasis to be used with the Lantronix UDS-10 and WiModem232.

 

A phone directory with BBS preconfiguration setup is built into the phone directory.

 

This is a work in progress, and any feedback is appreciated.

 

Beery

Share this post


Link to post
Share on other sites

I have an interim release of a Telnet client for MDOS for the Geneve. This program is a revision of Michael Riccio's MyTerm program with an emphasis to be used with the Lantronix UDS-10 and WiModem232.

 

A phone directory with BBS preconfiguration setup is built into the phone directory.

 

This is a work in progress, and any feedback is appreciated.

 

Beery

 

Looks pretty good so far Beery. I would ask to move this topic to the Development thread.

Share this post


Link to post
Share on other sites

Nice :)

One question please, how do you transfer files (i.e. ARK) from here to your Geneve ?

(I unpack and copy them with TI99DIR into a DSK-file, and this goes via .HFE and Lotharek´s drive to the Geneve)

Is there a "better" way maybe ?

thx

Share this post


Link to post
Share on other sites

Nice :)

One question please, how do you transfer files (i.e. ARK) from here to your Geneve ?

(I unpack and copy them with TI99DIR into a DSK-file, and this goes via .HFE and Lotharek´s drive to the Geneve)

Is there a "better" way maybe ?

thx

 

There are many ways to transfer files from the PC over to the TI/Geneve.

 

Your way is good. Since I don't have a Lotharek I will use:

 

HDX for my TI, Magic FM will work on either, you could simply connect the two together via tcpser. Or even upload direct from the PC to the TI.

 

I have even used my BBS to do it.

 

Many ways...

  • Like 1

Share this post


Link to post
Share on other sites

Nice :)

One question please, how do you transfer files (i.e. ARK) from here to your Geneve ?

(I unpack and copy them with TI99DIR into a DSK-file, and this goes via .HFE and Lotharek´s drive to the Geneve)

Is there a "better" way maybe ?

thx

 

I add them to the BBS, then download to the Geneve is the easiest route.

 

The second option I use is with HFE files and using IMGTOOL to put/get files. For some reason, this route crapped out on me this evening after I pulled the SD card from the Geneve system and moved it over to Windows. Gotta figure out what went screwy.

 

As far as the client, I tweaked a couple of lines of code and have removed a loss of a character I was seeing on my board that was infrequently occurring. It's minor.

 

Right now, working on adding an overlay to begin the process of multiple file transfer.

 

Beery

  • Like 1

Share this post


Link to post
Share on other sites

I just want to give an update on work I have been doing with MyTerm for MDOS on the Geneve to have it working with the TIPI.

 

I have one "bug" I presently do not understand what is happening unrelated to the TIPI I am still chasing down. For some reason, my "Quit" routine is locking up my system and not allowing an exit. I think I have some memory mapping/overlay issue at play, but have not been able to identify it yet. That will be this weekend's focus to resolve.

 

What I do have working is Xmodem File Transfers (both ways), ANSI mono and ANSI color, and a phone directory. I still need to do a bit of code cleanup and confirm one is still able to update the phone directory. It's taken me a bit longer as I had some coding issues I did not anticipate. The TIPI code itself resides in its own XOP library useable by others when released. This should make future MDOS TIPI access simpler for anyone that may decide to code something. I have to give a big hand to Tim for his help/code with the ANSI mono/color. I'm also hoping to test out this weekend the ability for ANSI music. I've got my hands on a bunch of music files, and need to test the quality for playback. If it is reasonable, I may just create a standalone ANSI music player.

 

Regular text transfer speed is a lot faster with the TIPI than previous 38,400 baud transfers. However, the file transfers are at about 1/4 speed (9600 baud equivalent) versus what one can transfer at 38400 baud through the RS232. This is purely a coding issue on my part as I opted to continue using single byte transfers rather than block transfers as that added a level of complexity to the transfer routine. For people familiar with the XMODEM call, one can send/receive 128 or 1024 byte blocks. The issue here is on receiving that block as the whole block vs one byte at a time, the entire 128/1024 block may not be buffered when called in the PI/TIPI, requiring multiple block calls to assemble the complete block. Then, you have to calculate the CRC or Checksum on the block, etc.

 

Since I do not see much traffic with file transfers with BBS activity, I figured my time was best invested in other ways. A 480 sector file takes about 4 minutes to transfer to hard drive at present.

 

Anyways, that is where things stand.

 

Beery

  • Like 2

Share this post


Link to post
Share on other sites

Nice update.

If you want to play around with the graphics mode 6 text scrolling routine implemented with the scroll register sometime down the road, let me know. Can't really use it in its current form as the program is 40-50k, but that's because I retained a lot of the XOP functions in the standalone code.

Share this post


Link to post
Share on other sites

Nice update.

If you want to play around with the graphics mode 6 text scrolling routine implemented with the scroll register sometime down the road, let me know. Can't really use it in its current form as the program is 40-50k, but that's because I retained a lot of the XOP functions in the standalone code.

 

I've debated about the use of the register for the scroll routine. I'm assuming you are referring to using it in the ANSI code. I've actually wondered if it could perhaps be better implemented in the Vid XOP itself with adjusting the vertical offset and tracking the offset for subsequent screen writes within the XOP code. It has been 20+ years since I have really dug around in the video routines to know how complicated that might be as there would be many opcodes that would need to be adjusted.

 

Another idea without a new MDOS version would be to have an independent VID XOP that would either install over the existing VID XOP, or would be a new library XOP addition tailored to the graphics mode. Then, instead of XOP @VIDEO it would be XOP @NEWVID.

 

I've used that register in the past, and I think I still have a demo program around where I loaded the Memex memory full of GIF converted to Myart files, then proceeded to display top to bottom, vertical register scroll one line, write new line of graphics, repeat. As I am sure you are well aware, the video "flies". A shame the 9938 did not have horizontal scroll.

 

Beery

Share this post


Link to post
Share on other sites

I seem to recall there was a little more to it than just tracking the location, in part because of the clear screen and other routines. I don't remember where I left in the standalone code but I was able to display a text file in graphics mode faster than MDOS can display a text file in TEXT 2 mode, thanks to the register scroll. I wanted to try to implement the changes to the OS but did things separate because the original purpose was to speed up PORT. I was also working on some optimizations for the character display code, based on some help from Eck and others long ago.

Share this post


Link to post
Share on other sites

Displaying a TI/Geneve ansi text file in graphics mode is different than ansi terminal emulation as you are well aware. The issue is all the cursor movement and relocation around on the screen which I would think the hardware register scroll would conflict with the underlying screen addressing range the VID XOP is using. I haven't confirmed it, but I suspect if you scroll 8 pixel rows, and try to HOME the cursor with TTYOUT, it would be 8 pixel rows above the screen. That kind of issue is what think would have to be resolved. And then, if you have a smaller window scroll instead of a full screen scroll, issues as well.

 

I don't think Heatwave or Fusion BBS has anything more complicated than just a text file feed with no cursor redirection, etc. However, I know on my BBS, I have other scrollable windows if one is using ANSI for both the file downloads section as well as the message section.

 

BTW, have you done much with the ANSI music interpreter? I found this link at http://artscene.textfiles.com/ansimusic/songs/ that has some ANSI music and was going to see what things sounded like.

 

One thing I did have to do in the TIPI XOP code was send the 3 byte sequence for Up/Down/Left/Right/PgUp/PgDn to the TIPI as a 3 byte block, rather than a single byte, return to program, xop to send another byte, repeat. What I was not able to figure out was whether there was a time latency issue, a telnet server bug, etc. I resolved it by just coding it it directly into the XOP. Just made things simple. Took a while to resolve, but now, load R0 with the opcode, call the XOP, and 3 character bytes sent.

 

Beery

Share this post


Link to post
Share on other sites

Agree. I was not differentiating between the two because it is the scrolling that takes forever without the scroll register. Yes, Heatwave uses cursor redirection though not necessarily in all menus;it isn't important there.

 

Cursor redirection, homing, clear screen, etc. all need to be aware of the scroll register. That's why I was working on the code separately versus within the confines of the OS. It is just a matter of introducing the right offsets and boundaries to the XOP/low level display routines.

 

If you are referring the scrolling in a smaller window on screen no, I didn't even go there with my color ANSI interpreter. Too complicated and way too slow back then for my tastes. I had it working in the mono interpreter code at one time.

 

ANSI music was a novelty that I implemented just to say I did it. I don't think I encountered any BBS's that used ansi music and with only a single voice it isn't that exciting. My sample files played but something wasn't quite right. Not being a musician by any stretch of the imagination, I was hoping Bruce Harrison or Tony K. could help me figure out what I was missing alas that never came to pass.

Share this post


Link to post
Share on other sites

Well, I can say the ANSI Color routines as written are good with smaller window scrolling.

 

I'll play with the ANSI music, hopefully this weekend. I've got four things to accomplish this weekend.

 

1. Tomorrow, 7 am, put together a guy's motor and if weather good, watch him fly. He's had $8K of hardware sitting in my dining room in the original shipping box for 7 months and he is just now finally coming around to pick it up.

 

2. Test DREM out with new firmware and the latest .bin files. Everything for dual drive is working find without issue with 8 head / 1024 cylinders formatted to 64 MB hard drive images. There is still an issue with 2048 cylinders I identified. Need to run a log file of formatting an image so Oleksandr can identify the issue. Once that resolved, will create my 128 MB hard drive images and be happy.

 

3. Resolve "Quit" issue in MyTerm, will be called MyTipi on release.

 

4. Test ANSI music to see how it behaves to determine whether I want to explore that piece of capability any further.

 

5. If ground dry enough, remove some weeds from garden. Fortunately, lawn (3.5 acres), mowed Tuesday evening. I'm sure glad they have zero turn mowers now.

 

Beery

  • Like 2

Share this post


Link to post
Share on other sites

Why would MyTerm get called MyTipi on release? MyTipi is an extremely undescriptive name.  I hope that was a typo.

 

Is it My(arc)TIPI? Is it your TIPI? 

 

You have a bunch more letters you could use... Maybe "MyTermTipi" or TipiTerm.  Seems like the term "term" should be in there... But it is yours. I didn't register any trademarks, you can call it simply TIPI if you like. I can't stop that. 

 

[email protected]

Share this post


Link to post
Share on other sites

Nothing special about the name.  I do like the term MyTermTipi and will probably go that route.  I was actually planning on using the name TIPI for the TIPI library that would be loaded into MDOS, the XOP with the self installation program.  I guess I could also change it to TIPIXOP.


Beery

 

Share this post


Link to post
Share on other sites
On 6/14/2019 at 2:10 PM, BeeryMiller said:

Well, I can say the ANSI Color routines as written are good with smaller window scrolling.

 

I'll play with the ANSI music, hopefully this weekend. I've got four things to accomplish this weekend.

 

1. Tomorrow, 7 am, put together a guy's motor and if weather good, watch him fly. He's had $8K of hardware sitting in my dining room in the original shipping box for 7 months and he is just now finally coming around to pick it up.

 

2. Test DREM out with new firmware and the latest .bin files. Everything for dual drive is working find without issue with 8 head / 1024 cylinders formatted to 64 MB hard drive images. There is still an issue with 2048 cylinders I identified. Need to run a log file of formatting an image so Oleksandr can identify the issue. Once that resolved, will create my 128 MB hard drive images and be happy.

 

3. Resolve "Quit" issue in MyTerm, will be called MyTipi on release.

 

4. Test ANSI music to see how it behaves to determine whether I want to explore that piece of capability any further.

 

5. If ground dry enough, remove some weeds from garden. Fortunately, lawn (3.5 acres), mowed Tuesday evening. I'm sure glad they have zero turn mowers now.

 

Beery

It took longer than expected.  Item 1 & 5 were completed on schedule.  Last night, finally found why I could not "quit" my program without a lockup.  I was doing a BLWP @0 and the program would just hang.  Previously, I thought there was some other routines in my exiting calls that were causing the trouble.  Somewhere in my program, I am changing the workspace pointer at >0000 containing >F080 to >0000 and MDOS did not like it.  Now, got to find what piece of code is causing that issue.  

 

Anyways, at least I am on track and I can "fix" it by rewriting the WS pointer that should be there before doing the BLWP @0.

 

Haven't had time to test ANSI music yet.

 

Item #2 with a 128 MB hard drive image looks to be not possible at this point in time, so will live with 64 MB's of SD "drive" storage.

 

Beery

  • Like 1

Share this post


Link to post
Share on other sites

OK Folks, I am uploading an archive with multiple programs in it for the TIPI for MDOS use on the Geneve.

 

The file contains MyTerm modified to use the TIPI.  It requires the use of the TIPI driver included with the package.  One should also use IBMGRF ON in their AUTOEXEC file for some of the extended character definitions 128 and above.

 

Second, there is another terminal program, TERM.  Basically, it is a 1056 byte (5 sectors) terminal client using the Telnet protocol with the TIPI.  It too, depends upon the TIPI driver that is included.  Source code is included and shows how simple the TIPI can be used for programming on the MDOS side of things.

 

Documentation is also included for both programs.


MyTerm does include a phone directory as well as support for ANSI Color thanks to Tim along with file transfer capability.  See the notes in the program.

 

There are a few cosmetic issues still left to resolve in MyTerm, however the program I believe is pretty sound as is for general use.

 

Generally, I believe non-color ANSI display is going to be extremely fast, perhaps faster than PORT.  I haven't timed it yet.  ANSI color should be about the same speed.  File transfer speed with the TIPI will be at about 9600 baud equivalent speeds.  This was due to not wanting to rewrite a bunch of Xmodem code for segmented blocks due to slow internet connections, slow serving BBS's, etc.  As file transfers on the BBS side of things are limited, I focused my time on other things.

 

Any feedback is appreciated.

 

Beery

 

 

 

 

 

 

TERM.ARK

  • Like 4

Share this post


Link to post
Share on other sites
On 7/7/2019 at 3:35 PM, BeeryMiller said:

The file contains MyTerm modified to use the TIPI.  It requires the use of the TIPI driver included with the package.  One should also use IBMGRF ON in their AUTOEXEC file for some of the extended character definitions 128 and above.

Generally, I believe non-color ANSI display is going to be extremely fast, perhaps faster than PORT.  I haven't timed it yet.  ANSI color should be about the same speed.

I don't have a TIPI PEB as they weren't in stock the last few times I checked.  This certainly sounds like a fun program and mdos routine to play with.

 

PORT was built for speed yet when I look at my 25-year old code I see room for improvement, especially in the VDP read/write areas. The forum folks and game-writing crowd in general have certainly opened up my eyes (and I'm sure others) about how to do things much better when it comes to extracting speed out of limited clock cycles.

 

Nice work, Beery.  Any chance of a short demo vid?

 

  • Like 2

Share this post


Link to post
Share on other sites

I should be able to get a demo video "soon".  Got quite a few things on my plate and for the most part, been taking it a bit easy this past weekend.

 

The PEBox power supply fan failing causing the whole PEBox to get !!!HOT!!! has caused the Memex Geneve to have an issue.  Still need to chase down a few things to answer some of your questions regarding the tests with the unit.

 

Beery

 

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