Jump to content

Photo

PLATOTERM 1.2 test release with FAST-IO!

platoterm irata.online cyber1.org mr. atari fast sio r-verter 850

37 replies to this topic

#1 tschak909 ONLINE  

tschak909

    River Patroller

  • 3,248 posts
  • Location:USA

Posted Sun Apr 14, 2019 10:16 AM

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/t...toterm64/issues page.

 

platoterm-fastio.png

 

Enjoy,

-Thom

Attached Files



#2 manterola OFFLINE  

manterola

    Moonsweeper

  • 355 posts
  • Location:Washington metropolitan area, USA

Posted Sun Apr 14, 2019 5:05 PM

This is fantastic! Great improvement.
Connected using my esp-01 powered Atari 1030 modem.
Thanks! Many thanks...

Attached Thumbnails

  • 2131361811_20190414190258.jpg


#3 Tillek OFFLINE  

Tillek

    Dragonstomper

  • 817 posts
  • Location:NE Ohio, USA

Posted Sun Apr 14, 2019 5:15 PM

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



#4 Tillek OFFLINE  

Tillek

    Dragonstomper

  • 817 posts
  • Location:NE Ohio, USA

Posted Sun Apr 14, 2019 5:17 PM

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?



#5 manterola OFFLINE  

manterola

    Moonsweeper

  • 355 posts
  • Location:Washington metropolitan area, USA

Posted Sun Apr 14, 2019 6:33 PM

... 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 by manterola, Sun Apr 14, 2019 6:37 PM.


#6 Kyle22 OFFLINE  

Kyle22

    River Patroller

  • 4,097 posts
  • broadway1.lorexddns.net 10001
  • Location:McKees Rocks (Pittsburgh), PA

Posted Sun Apr 14, 2019 7:18 PM

I'd like to do that to an 835. I see no obvious reason why they couldn't coexist and both function.



#7 Gunstar OFFLINE  

Gunstar

    Gunstar

  • 10,250 posts
  • Location:Kellyville, Oklahoma

Posted Sun Apr 14, 2019 9:49 PM

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 by Gunstar, Sun Apr 14, 2019 9:53 PM.


#8 Umberto OFFLINE  

Umberto

    Moonsweeper

  • 321 posts
  • Location:Washington State

Posted Sun Apr 14, 2019 10:37 PM

DSCN1089.JPG DSCN1091.JPG DSCN1090.JPG

 

 

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 by Umberto, Sun Apr 14, 2019 10:47 PM.


#9 mr-atari OFFLINE  

mr-atari

    Dragonstomper

  • 587 posts
  • Location:netherlands

Posted Mon Apr 15, 2019 12:02 AM

This is my ESP8266 in a SIO-plug ;-)

 

It just fits all in....

Costs about 5 $ in parts, dead cheap.

 

http://www.mr-atari....Atari/SIO2WiFi/

 

I run Plato from my MyIDE-][ with this setup, but it can go in the back of my 1050 too.

Attached Thumbnails

  • DSC08222.JPG
  • DSC08224.JPG
  • DSC08225.JPG
  • DSC08226.JPG


#10 Umberto OFFLINE  

Umberto

    Moonsweeper

  • 321 posts
  • Location:Washington State

Posted Mon Apr 15, 2019 12:08 AM

This is my ESP8266 in a SIO-plug ;-)

 

It just fits all in....

Costs about 5 $ in parts, dead cheap.

 

http://www.mr-atari....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



#11 sanny OFFLINE  

sanny

    Moonsweeper

  • 396 posts
  • Location:Bavaria

Posted Mon Apr 15, 2019 7:20 AM

Thom,

 

did you check in the changes to github? I don't get anything new there.

 

regards,

chris



#12 manterola OFFLINE  

manterola

    Moonsweeper

  • 355 posts
  • Location:Washington metropolitan area, USA

Posted Mon Apr 15, 2019 7:48 AM

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/...-16?hl= esp8266



#13 sanny OFFLINE  

sanny

    Moonsweeper

  • 396 posts
  • Location:Bavaria

Posted Mon Apr 15, 2019 8:00 AM

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



#14 manterola OFFLINE  

manterola

    Moonsweeper

  • 355 posts
  • Location:Washington metropolitan area, USA

Posted Mon Apr 15, 2019 8:11 AM

... and just out of curiosity, did you do something with the ST drive there?

Check this thread:

http://atariage.com/...nternals/page-5

There is youtube video of the sf351 working with an Atari 800XL



#15 tschak909 ONLINE  

tschak909

    River Patroller

  • Topic Starter
  • 3,248 posts
  • Location:USA

Posted Mon Apr 15, 2019 8:49 AM

@sanny - I am working with Mr. Atari to get the changes. He hand-patched the binary.

 

-Thom



#16 tschak909 ONLINE  

tschak909

    River Patroller

  • Topic Starter
  • 3,248 posts
  • Location:USA

Posted Mon Apr 15, 2019 8:53 AM

This is what he patched against the cartridge:

 

Attached File  FASTIO_IO-only.asm   3.31KB   19 downloads

 

------------

 

This was the note attached to it:

 

Good morning Thom.
Lots of hits on my homepage this weekend, I wonder why.... 1f609.png

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. 1f642.png
 
49438609_2085385514902361_58249608029095
 
 
 
 
 
49438609_2085385514902361_58249608029095
 
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.
 
49438609_2085385514902361_58249608029095
 
Make that $2A, sorry, typo.

 



#17 phaeron OFFLINE  

phaeron

    River Patroller

  • 2,778 posts
  • Location:Bay Area, CA, USA

Posted Mon Apr 15, 2019 1:11 PM

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.



#18 David_P OFFLINE  

David_P

    Dragonstomper

  • 939 posts
  • Location:Canada

Posted Mon Apr 15, 2019 3:31 PM

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-elec....com/modems.htm)



#19 sanny OFFLINE  

sanny

    Moonsweeper

  • 396 posts
  • Location:Bavaria

Posted Tue Apr 16, 2019 8:40 AM

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



#20 tschak909 ONLINE  

tschak909

    River Patroller

  • Topic Starter
  • 3,248 posts
  • Location:USA

Posted Tue Apr 16, 2019 8:42 AM

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 by tschak909, Tue Apr 16, 2019 8:43 AM.


#21 sanny OFFLINE  

sanny

    Moonsweeper

  • 396 posts
  • Location:Bavaria

Posted Tue Apr 16, 2019 9:23 AM

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 by sanny, Tue Apr 16, 2019 9:23 AM.


#22 tschak909 ONLINE  

tschak909

    River Patroller

  • Topic Starter
  • 3,248 posts
  • Location:USA

Posted Tue Apr 16, 2019 9:45 AM

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



#23 mr-atari OFFLINE  

mr-atari

    Dragonstomper

  • 587 posts
  • Location:netherlands

Posted Wed Apr 17, 2019 12:17 AM

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!



#24 mr-atari OFFLINE  

mr-atari

    Dragonstomper

  • 587 posts
  • Location:netherlands

Posted Thu Apr 18, 2019 12:46 AM

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.

Attached Files



#25 Gunstar OFFLINE  

Gunstar

    Gunstar

  • 10,250 posts
  • Location:Kellyville, Oklahoma

Posted Thu Apr 18, 2019 8:00 AM

Are these fast I/O versions that say "no mouse" mean they are only keyboard controlled? How about touch tablet or joystick? 







Also tagged with one or more of these keywords: platoterm, irata.online, cyber1.org, mr. atari, fast sio, r-verter, 850

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users