tschak909 Posted April 14, 2019 Share Posted April 14, 2019 Hey, everybody. Mr. Atari gave me a copy of a patched version of the upcoming 1.2 release, which does the following: * Improves I/O throughput immensely, 2400 baud is stable now! * embeds an R-Verter driver into the cartridge, which engages if an R: handler isn't loaded from disk, or bootstrapped from device. Very handy! I've been testing here, and it works great, and would definitely love some feedback on it. Sijmen will hand me a patch soon for the R: handler, so it can be incorporated upstream for CC65 use. I've attached a cartridge ROM here, and you can file issues on the https://github.com/tschak909/platoterm64/issues page. Enjoy, -Thom PLATOTERM-1.2-Atari-cart-No-Mouse-FASTIO.rom 11 Quote Link to comment Share on other sites More sharing options...
manterola Posted April 14, 2019 Share Posted April 14, 2019 This is fantastic! Great improvement. Connected using my esp-01 powered Atari 1030 modem. Thanks! Many thanks... 6 Quote Link to comment Share on other sites More sharing options...
Tillek Posted April 14, 2019 Share Posted April 14, 2019 This is fantastic! Great improvement. Connected using my esp-01 powered Atari 1030 modem. Thanks! Many thanks... I don't suppose you'd be able to share details on the modified 1030? I'd love to do that with my old one! (It wasn't working anyway). 2 Quote Link to comment Share on other sites More sharing options...
Tillek Posted April 14, 2019 Share Posted April 14, 2019 This is fantastic! Great improvement. Connected using my esp-01 powered Atari 1030 modem. Thanks! Many thanks... ... and just out of curiosity, did you do something with the ST drive there? 1 Quote Link to comment Share on other sites More sharing options...
manterola Posted April 15, 2019 Share Posted April 15, 2019 (edited) ... and just out of curiosity, did you do something with the ST drive there?Yep.. it is one of the coolest stuff so far. It has the xf551 circuit inside (thanks Dropcheck). Check bitsofthepast.com website. I plan to make a video soon , once I finish putting a tail (half) SIO cable on it. As you can see I did a cover for the hole, I am still painting it and then I'll be done.I will point you to the right threads soon Edited April 15, 2019 by manterola 1 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted April 15, 2019 Share Posted April 15, 2019 I'd like to do that to an 835. I see no obvious reason why they couldn't coexist and both function. Quote Link to comment Share on other sites More sharing options...
Gunstar Posted April 15, 2019 Share Posted April 15, 2019 (edited) I don't suppose you'd be able to share details on the modified 1030? I'd love to do that with my old one! (It wasn't working anyway). I'd be very interested too. I've been planning on picking up an SX212 modem and hacking it into my 1030 case, but then that's still only 1200 baud, but at least it still has an SIO port and the two cases are just about the same size, so I was hoping for a pretty good fit. But maybe turning it into a wi-fi modem or whatever is a better idea. I just don't want to be tethered to a PC with SIO2PC and APE R: handler. Edited April 15, 2019 by Gunstar Quote Link to comment Share on other sites More sharing options...
Umberto Posted April 15, 2019 Share Posted April 15, 2019 (edited) This is my rendition with a esp8622 I did about a year ago. 19200 is pretty snappy on a 8bit. Both SIO ports work. The blue LED is activity. A free hand design, basically just an R-verter and esp with level shifter. I did steal someone else firmware. Edited April 15, 2019 by Umberto 5 Quote Link to comment Share on other sites More sharing options...
mr-atari Posted April 15, 2019 Share Posted April 15, 2019 This is my ESP8266 in a SIO-plug It just fits all in.... Costs about 5 $ in parts, dead cheap. http://www.mr-atari.com/Mr.Atari/SIO2WiFi/ I run Plato from my MyIDE-][ with this setup, but it can go in the back of my 1050 too. 7 Quote Link to comment Share on other sites More sharing options...
Umberto Posted April 15, 2019 Share Posted April 15, 2019 This is my ESP8266 in a SIO-plug It just fits all in.... Costs about 5 $ in parts, dead cheap. http://www.mr-atari.com/Mr.Atari/SIO2WiFi/ I run Plato from my MyIDE-][ with this setup, but it can go in the back of my 1050 too. I believe I saw that on your site, pretty slick Quote Link to comment Share on other sites More sharing options...
sanny Posted April 15, 2019 Share Posted April 15, 2019 Thom, did you check in the changes to github? I don't get anything new there. regards, chris Quote Link to comment Share on other sites More sharing options...
manterola Posted April 15, 2019 Share Posted April 15, 2019 ESP8266 use to connect to Plato and other services is subject of other thread. If you are interested in the topic I recommend to read the the document created by Dropcheck in post #397. It is a very quick guide of esp8266 annd Atari 8 bits. http://atariage.com/forums/topic/262518-sio-wifi-modem-with-esp8266/page-16?hl=%20esp8266 Quote Link to comment Share on other sites More sharing options...
sanny Posted April 15, 2019 Share Posted April 15, 2019 I'm curious about the changes in "PLATOTERM 1.2 test release with FAST-IO!", and there especially in "Improves I/O throughput immensely, 2400 baud is stable now!". Quote Link to comment Share on other sites More sharing options...
manterola Posted April 15, 2019 Share Posted April 15, 2019 ... and just out of curiosity, did you do something with the ST drive there? Check this thread: http://atariage.com/forums/topic/285910-ideaexternal-atari-st-drive-transformed-to-8-bit-xf551-internals/page-5 There is youtube video of the sf351 working with an Atari 800XL Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 15, 2019 Author Share Posted April 15, 2019 @sanny - I am working with Mr. Atari to get the changes. He hand-patched the binary. -Thom Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 15, 2019 Author Share Posted April 15, 2019 This is what he patched against the cartridge: FASTIO_IO-only.asm ------------ This was the note attached to it: Good morning Thom.Lots of hits on my homepage this weekend, I wonder why.... Here is the patch-code.I setup a R: device table in ZP, using $Fx.Then use these vectors directly.Using libraries slow things down, and we don't have time for that when doing IO constantly.That is why I avoid them and write my own subroutines.Atari's-CIOV is bulky too, so doing a short-cut is the main trick.I omitted my driver/terminal, still working on that.You have to add the Xon/Xoff-protocol.Question:I have room left to include a R:downloader (for APE) users.If no R:device is bootstrapped, nor a 850 kicks in, I can try a download first, then do my Rverter/ESP8266.Just a thought, let me know what you think.In the mean-time I start coding on that. FASTIO_IO-only.ASM I forgot to mention: You can setup a table anywhere you want, if you have free RAM elsewhere or ZP is occupied. I omitted open/close/special, since using CIOV is fine for that. But you can save code/time there too. Just put AUX1 in $2F push the vector to stack and do RTS. The advantage of ZP is that coding saves bytes and using it is faster then non-ZP RAM. That is why I used ZP in my code. I think that sums it up. Make that $2A, sorry, typo. 4 Quote Link to comment Share on other sites More sharing options...
phaeron Posted April 15, 2019 Share Posted April 15, 2019 I would pre-increment the pointers and JSR to JMP(abs). Frees up ZP space and saves 5-9 cycles per call. The fast I/O routines do not set up the zero-page I/O control block (ZIOCB). This is OK if the ZIOCB has already been set up previously, such as from opening the R: device, but not if another device has been used in the interim or if the OPEN call has been skipped. The variable that is critical for 850-based handlers is ICDNOZ since it is used by the handler's GET/PUT BYTE routines to determine which of the 850's four I/O ports is targeted by an IOCB. The R: device validates this in order to issue an error if a port other than the one opened for concurrent access is used. 5 Quote Link to comment Share on other sites More sharing options...
+David_P Posted April 15, 2019 Share Posted April 15, 2019 I'd be very interested too. I've been planning on picking up an SX212 modem and hacking it into my 1030 case, but then that's still only 1200 baud, but at least it still has an SIO port and the two cases are just about the same size, so I was hoping for a pretty good fit. But maybe turning it into a wi-fi modem or whatever is a better idea. I just don't want to be tethered to a PC with SIO2PC and APE R: handler. Not a lot of SX-212s out in the wild any more; I bought Best's last one a year or two ago. I believe they still have SX 212 shells in stock, though. EDIT: And they've got the XM301 in stock at $19.95 each. (http://www.best-electronics-ca.com/modems.htm) 1 Quote Link to comment Share on other sites More sharing options...
sanny Posted April 16, 2019 Share Posted April 16, 2019 This seems to be a patch for the binary. Which assembler was used to compile it and how do I apply it? I had expected a source-code patch, since both cc65 and PLATOterm (AFAIK) are available in source. FYI, in case you don't know: If you want to modify some part of the cc65 runtime library (I think the serial driver is changed by this patch, at least), you can copy the relevant source file from the cc65 library, modify it to your needs, and use this version. So copy e.g. libsrc/atari/ser/atrrdev.s to your directory, modify it to your needs, and compile like this cl65 -t atari .... atrrdev.s ... As long as you don't change the exported symbol names, the linker will pick up your modified version instead of the version contained in the lib. Remember, the cc65 lib must work for general programs. You know what your program does. And if the official cc65 lib version is suboptimal (because of checks for things which cannot happen in your program), it's perfectly valid to use a local tweaked version of the lib file(s) affected. regards, chris 1 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 16, 2019 Author Share Posted April 16, 2019 (edited) I do not know which assembler he used to apply it. Hopefully he will chime in. *nod* I understand, and I did try to steer Mr. Atari to make the change in a non-binary way, but he didn't want to work that way. I take the contributions as they come to me. So I guess, for now, the plan is to reverse-patch his changes into the atrrdev.s and keep a local copy. -Thom Edited April 16, 2019 by tschak909 1 Quote Link to comment Share on other sites More sharing options...
sanny Posted April 16, 2019 Share Posted April 16, 2019 (edited) If you're going to use a changed atrrdev.s it might be worth a try to increase the receive buffer size from 256 to 512, 1K, or maybe even more. See RECVBUF_SZ define. Maybe we can get 4800 baud working... Edited April 16, 2019 by sanny Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 16, 2019 Author Share Posted April 16, 2019 it's worth a try. I'll be able to dig back into this after my work situation clears up at the end of May. Sijmen did this patch, and it made such a huge difference, I wanted to get it out to everybody. (I also need to get his ESP8266 driver that he embedded, as well) -Thom 1 Quote Link to comment Share on other sites More sharing options...
mr-atari Posted April 17, 2019 Share Posted April 17, 2019 No sweat, if you forward me the conflicting library, I can modify. -mouse (need to change the timer#id) -Xon/Xoff -serial I just said, some parts are in c++, is not my cup of tea... 6502 I code in TASM, since uh, before Christ I guess.... The new code is simply cut/paste in Thom's 1.2 release. Nothing fancy. --- I have a better working version at my place at he moment "1.2.1" That first tries to download the R: driver if it was not booted. If that fails, it uses the internal ESP/Rverter-driver. This enables APE users to work with the cartridge. I even added a tiny terminal for ESP users to get connected outside PLATO's TTY mode, ESP-connection is a pita and this is an easy short-cut for me. For testing I even have a loadable version as XEX file. Later! 4 Quote Link to comment Share on other sites More sharing options...
mr-atari Posted April 18, 2019 Share Posted April 18, 2019 1.2.1 Supports APE-users. LiteDOS: When in BASIC, type DOS/return. press return. (directory) use arrow-keys, walk to plato.xex, press return. PLATOTERM-1.2.1-Atari-No-Mouse FASTIO.rom LiteDOS 204 PLATO 121.atr 5 Quote Link to comment Share on other sites More sharing options...
Gunstar Posted April 18, 2019 Share Posted April 18, 2019 Are these fast I/O versions that say "no mouse" mean they are only keyboard controlled? How about touch tablet or joystick? 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.