+InsaneMultitasker Posted May 14, 2017 Share Posted May 14, 2017 (edited) During the past few weeks I've been mulling over how to proceed with TIMXT and its development. The code base needs some TLC and many of the routines could be more efficient if I just bit the bullet to rework or rewrite them. I figured a development thread might help me collect my thoughts and share the periodic update. On that note... A few AA members (i.e., Paradroyd, duhproject) have twitter feeds where they post pictures of various BBS systems they connect to. I noticed a few cool C64 BBSs and was curious how the color and graphics were being interpreted. The C64 palette and character sets are different from the TI, and PETSCII has its own way of moving the cursor and controlling which graphics set to use. With the F18A, we can adjust the palette and use the text mode attributes to display colors, just like TIMXT handles ANSI colors today. So I thought a good approach to redoing the core interpreter would be to try my hand at emulating PETSCII. This week I incorporated the C64 extra graphics (thanks to Sometimes99'ers font collection) and finished all but two control routines for displaying the graphics and colors. The terminal window is hard-coded for 80 columns, though I might try to allow for a 40-column color mode to get closer to the C64 experience. Note: Particles BBS allows for PETSCII in 40 and 80 columns; of course, I chose 80 for my call Also, a few pictures show "@" and "]" in place of horizontal and vertical lines; I did not realize until later that there is some uniqueness to the PETSCII character sets that required me to redefine a few more characters. Scorps portal has been down so I couldn't retake the photos. Don't mind the terminal status bar - I haven't updated it. What you are seeing is PETSCII at 38.4K. 1. PLACEHOLDER - Current Release Files Shift838 pulled the EA5 and FR99 images together. This version is from early 2017 and should work with the standard RS232 and the nanoPEB. Macros cannot be saved/loaded in this version; that will be corrected in the future. TIMXT_NANO.zip EA option 5 files TIMXT_NANO.bin FR99 bin file TIMXT-v02c-2017-01-NANO-EA5.dsk disk image (thx Schmitzi) ** The PETSCII version has not yet been released ** 2. PLACEHOLDER - hardware configurations TI terminal emulators generally do not support hardware handshaking. a. TI/CorComp/Myarc RS232 The following cable is NOT configured for any RTS/CTS hardware handshaking, so be sure to turn it off if your modem is configured. AT&K0 is one common command to shut down handshaking. RS232 - modem device 1 - 12 - 33 - 26 - 207 - 720 - 6 b. NanoPEB Serial - a standard DB9 to DB25 serial cable works well with the nano. The nano's rs232 port is configured similar to that of a PC for easy connectivity. This also means if you roll your own cable, be aware that the pins will be different. c. uberGROM cart UART Connecting the UART to a modem device requires either a TTL-to-RS232 converter or a device that can operated at TTL levels. There are only three required connections: Ground, Receive, and Transmit. 3. Links to other relevant threads: RS232 Interrupts: http://atariage.com/forums/topic/250049-interrupt-service-routine-and-the-rs232/?do=findComment&comment=3462424 NanoPEB Serial thread: http://atariage.com/forums/topic/259886-timxt-with-nanopeb-version-1/ **Edit: added placeholders for files and configurations Edited May 21, 2017 by InsaneMultitasker 14 Quote Link to comment Share on other sites More sharing options...
matthew180 Posted May 15, 2017 Share Posted May 15, 2017 Nice work! That is looking really great. Adjusting the palette to match the C64 colors is a nice touch. 2 Quote Link to comment Share on other sites More sharing options...
Paradroyd Posted May 15, 2017 Share Posted May 15, 2017 That's really looking good! 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted May 16, 2017 Author Share Posted May 16, 2017 I am using tcpser as my 'modem' with a cable connected between the ubergrom cart and PC. I was having trouble with some systems and could not figure out what was wrong. Paradroyd gave me a few ideas and bbs raw data image saves to play with, which then led me to installing a copy of Wireshark so that I could look at the packets being sent to tcpser and ultimately, to TIMXT. I found out that in addition to C64 PETSCII codes, there are other controls that systems like the C128 use (i.e., flashing, underlining). TIMXT was not taking these into account and as a result, the screens were coming out wrong. Here is a good before and after example 5 Quote Link to comment Share on other sites More sharing options...
duhproject Posted May 17, 2017 Share Posted May 17, 2017 This is freakin' amazing! Well done. Can't wait to get my mitts on this. You'll need to pop up a PayPal tip jar or something for this! 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted May 21, 2017 Author Share Posted May 21, 2017 (edited) Added some preliminary information and release files to post #1. If you have info that would be helpful to place in the post, send me a PM or share it here for inclusion. FYI, I haven't released the PETSCII version. I need to finish a few changes to the interpreter before that happens. Memorial day weekend was going to be a programming weekend but family plans have made that unlikely. I might be able to share a test version out there this week, we'll see... Edited May 21, 2017 by InsaneMultitasker 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted July 25, 2017 Author Share Posted July 25, 2017 Quick update... I've been bogged down by non-hobby items the past two months. That said, I have made incremental progress. 1. The code base has been converted from my Geneve platter to text files on my PC. I haven't upgraded to a fancy editor, so for now Notepad is my tool of choice. xas99 is now able to assemble and create program images in the blink of an eye. I started to clean up code, move things around, etc. as a result. 2. Once the program is created, I copy it into the HDX server folder. I can then load and run UBERHDX to execute the TIMXT program over the HDX connection. No more sneakernet! 3. I combined the TI RS232 and ubergrom RS232 routines. The UART device and baud rate are now selectable. 4. The PETSCII emulation works flawlessly with the ubergrom UART. However, it drops characters with the RS232 card when I connect to a C64 system. If I use the same routines to dial into TheKeep or Heatwave, no characters are dropped. I -think- what is happening is that the C64 is outputting slower than the other two, and for some reason this is allowing a routine to preempt the RS232 interrupt. I have not been able to isolate the issue because it is the exact opposite of what you might expect, e.g., you would expect dropped characters from the faster system. In between wracking my brain over item #4, I have jotted down a few future potential changes : 1. Moving the terminal status bar to row 26. 2. Further simplifying the menu system. 3. Activating the settings save/restore options. This time of the year is often quite busy with work-related efforts coming up to speed just in time to finish before the end of the year. I'll share another update as time permits. 3 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted July 25, 2017 Share Posted July 25, 2017 (edited) For your editor for the PC check out Notepad++ There are also TI Extended Basic and TMS9900 Language files that can be loaded in it so it makes it very readable.. Notepad++ main program can be downloaded HERE TMS9900/TI-XB Language Highlighting file for Notepad++ HERE Edited July 25, 2017 by Shift838 2 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted September 5, 2017 Share Posted September 5, 2017 So where do I find the ubergrom compatible version? Greg Quote Link to comment Share on other sites More sharing options...
+acadiel Posted September 5, 2017 Share Posted September 5, 2017 So where do I find the ubergrom compatible version? Greg I think it's still a work in progress. The last version I had was hardcoded, and I think Tim needs to probably put in options for changing baud, regular RS232 to UART toggle, etc. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted September 5, 2017 Author Share Posted September 5, 2017 If you have an ubergrom setup that you would like to test, PM me and I will share the hard-coded version with you. Neither my availability nor current status have changed since my July 25th post. 2 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted September 6, 2017 Share Posted September 6, 2017 If you have an ubergrom setup that you would like to test, PM me and I will share the hard-coded version with you. Neither my availability nor current status have changed since my July 25th post. How in the heck did I miss this thread or forget about it!? Finally, something that excites me! I have an EEPROM burner, and a couple of free UberGROMs, but not one modded for WiFi. If someone wants to sell me one (via PayPal), please PM me. I'd love to be a beta tester on this project. Ever since the FinalGROM came out I was wondering when I'd get to use the burner again... Quote Link to comment Share on other sites More sharing options...
LASooner Posted September 6, 2017 Share Posted September 6, 2017 Did your eeprom burner come with that case? Mine came in an ill fitting cardboard box. Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted September 7, 2017 Share Posted September 7, 2017 Did your eeprom burner come with that case? Mine came in an ill fitting cardboard box. Naww, mine came with the same crappy cardboard box! I picked up that case at WalMart. 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted March 10, 2018 Author Share Posted March 10, 2018 (edited) While looking for a few files I came across two ZIPS I had put together last year. Both contain a PETSCII-only version of TIMXT, with ubergrom and rs232 support. I was having some trouble with the RS232 dropping characters, which confounded me to no end since the routines are the same as those used in the ANSI version. Either I messed up a routine or something got trashed when I migrated the code to the PC from my Geneve. 1. After you load the program and drop to terminal mode, press FCTN-5 to activate the C64 palette. You'll know this works if the status bar color changes to a pink-ish color. f you press the key more than once, you may need to press it another 15 times to cycle through the colors for the terminal characters. I don't remember why I did this... [edit: I think the palette change can render the menus invisible. The in-process version corrects this behavior] 2. The C64 backspace is mapped to CTRL-T. If you connect to a C64 system that asks you to press the backspace key, that's your cue. This is often used to detect the system type, since backspace on other systems is CTRL-H. 3. Be sure to check the RS232 configuration. I might have defaulted it to the ubergrom. I recommend stearing clear of file transfers and macros. As stated in another thread, I have some things to work on before returning to TIMXT. timxt-with tifiles header.zip timxt1 raw.zip Edited March 10, 2018 by InsaneMultitasker 3 Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted March 10, 2018 Share Posted March 10, 2018 You know which version I'm waiting for - hint, hint, nudge, nudge 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted March 15, 2018 Author Share Posted March 15, 2018 Hehehe, yes, I know Quote Link to comment Share on other sites More sharing options...
+acadiel Posted March 15, 2018 Share Posted March 15, 2018 While looking for a few files I came across two ZIPS I had put together last year. Both contain a PETSCII-only version of TIMXT, with ubergrom and rs232 support. I was having some trouble with the RS232 dropping characters, which confounded me to no end since the routines are the same as those used in the ANSI version. Either I messed up a routine or something got trashed when I migrated the code to the PC from my Geneve. 1. After you load the program and drop to terminal mode, press FCTN-5 to activate the C64 palette. You'll know this works if the status bar color changes to a pink-ish color. f you press the key more than once, you may need to press it another 15 times to cycle through the colors for the terminal characters. I don't remember why I did this... [edit: I think the palette change can render the menus invisible. The in-process version corrects this behavior] 2. The C64 backspace is mapped to CTRL-T. If you connect to a C64 system that asks you to press the backspace key, that's your cue. This is often used to detect the system type, since backspace on other systems is CTRL-H. 3. Be sure to check the RS232 configuration. I might have defaulted it to the ubergrom. I recommend stearing clear of file transfers and macros. As stated in another thread, I have some things to work on before returning to TIMXT. How are the dropped characters? Are they fixed in this version? There was also an issue where no TI RS232 being on the system where the Ubergrom wouldn't work. Thanks, Tim! Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted March 15, 2018 Author Share Posted March 15, 2018 (edited) How are the dropped characters? Are they fixed in this version? There was also an issue where no TI RS232 being on the system where the Ubergrom wouldn't work. Thanks, Tim! The ubergrom doesn't drop characters. At high speed, the RS232 doesn't seem to drop either, it's when connected at high speed to a slow BBS that the problem occurs. I'm guessing there is some edge condition with the interrupt routine; it's a strange one for sure. I'm pretty sure the case where no RS232 is present was resolved, but I can't guarantee it. I didn't expect to stop working on it so 'abruptly' last year. Best I can say is give it a try if you want to play with the Petscii emulation, as I will continue to update. And just a little teaser the next iteration also has rudimentary Atascii support in place. I hope I can return to working on the program before I forget everything Edited March 15, 2018 by InsaneMultitasker 1 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted June 2, 2018 Share Posted June 2, 2018 So I'm trying to use my P112 CP/M SBC with TIMXT. It does work for the most part, but it seems to hang occasionally. The P112 uses VT100 emulation although that can be changed. Does TIMXT fully support that? What is the ESCAPE key sequence in TIMXT? Does the CTRL key work as expected by VT100? ESC and CTRL are essential in CP/M. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted June 2, 2018 Author Share Posted June 2, 2018 So I'm trying to use my P112 CP/M SBC with TIMXT. It does work for the most part, but it seems to hang occasionally. The P112 uses VT100 emulation although that can be changed. Does TIMXT fully support that? What is the ESCAPE key sequence in TIMXT? Does the CTRL key work as expected by VT100? ESC and CTRL are essential in CP/M. What hangs - TIMXT or the P112? What specifically is essential? TIMXT does not transmit the vt100/ansi escape sequences for the arrow keys. There are probably other omissions as the emulation was never intended for much beyond BBS support at the time. Merging my Geneve ansi/vt100 emulation code into TIMXT is on my list of to dos but TIMXT is a low priority at the moment. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted June 2, 2018 Share Posted June 2, 2018 What hangs - TIMXT or the P112? What specifically is essential? TIMXT does not transmit the vt100/ansi escape sequences for the arrow keys. There are probably other omissions as the emulation was never intended for much beyond BBS support at the time. Merging my Geneve ansi/vt100 emulation code into TIMXT is on my list of to dos but TIMXT is a low priority at the moment. TIMXT hangs, as if it's choking on some incoming data. Check out the video below. What I specifically need is a way to send a CTRL-<key> combination like CTRL-Q, CTRL-X etc... as well as the standard ESCAPE key. I realize that TIMXT was not designed for this type of thing but it would have been nice if I was able to use it nonetheless https://youtu.be/FE0RaO_vnOU Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted June 2, 2018 Author Share Posted June 2, 2018 Strange. Most if not all control characters should be passed directly to the RS232 output routine. I use Ctrl-S,Q,X for the S&T BBS system, so they should work properly. Ctrl-period should map to the escape code, 0x1B (27d), on the TI keyboard. From your video, my immediate ithought is that your cable is somehow not quite right and that TIMXT is getting stuck in its RS232 send character routine waiting for the remote system to properly process the character and raise/lower the proper signal. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted June 3, 2018 Share Posted June 3, 2018 I'm just using a standard serial cable and it works fine when connecting to BBSes with TIMXT. The P112 works fine with a PC terminal like Putty. I'm going to try using TELCO and see if the error is reproduced. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted June 3, 2018 Author Share Posted June 3, 2018 Good idea. If Telco works, then share your cable pinouts between the two devices. Remember, "standard cable" doesn't mean a lot when it comes to the TI RS232. I'm also not clear what is at either end of the cable, but it sure looks like a CTS/RTS or DSR/DTR issue. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.