PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

All about the serious stuff.

Moderators: Mug UK, Zorro 2, Moderator Team

tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by tschak909 »

Hello, everyone.

It's been a very long road, and there were some serious bumps along the way, seven major rewrites to deal with performance and reliability issues, and trying to make something that is as clean of a GEM application as I can make it.

To this end, I have released a beta version for testing, so that I can get much needed feedback. This is especially important as I have been developing this entirely in emulation, with Hatari.
platoterm-titlescreen.png
You can get a copy here, with documentation:
https://github.com/tschak909/platoterms ... ERM-ST-0.5

Minimum Requirements:
-----------------------------------
* 520ST, with TOS 1.0
* Wifi Modem, and appropriate RS-232-C cabling.

Yes, STiNG support will come at some point, I am wrestling with getting it to work with my cross-development environment.

It has been tested under the following environments
---------------------------------------------------------------------------
* TOS 1.0
* TOS 1.02
* TOS 1.4
* TOS 2.06
* TOS 3.06
* EMUTOS
* Geneva
* MagiC 5
* NVDI 5

Known issues:
---------------------
* Program startup fails under MiNT (no crash, but it exits before window is opened)
* Starts, but does not work on Falcon because I need to select the correct serial port. (any help appreciated)
* screen drawing stops when not top window. It does decode the data, so when window is topped, it will resume. Need to write code path to handle.
* Paint redraws don't execute if the paint coordinate in terminal buffer is outside the damaged rect. Trying different solutions for this.
* occasional inconsistent protocol state after screen clear causes small glitches in redraw.
You do not have the required permissions to view the files attached to this post.
Fletch
Atari maniac
Atari maniac
Posts: 92
Joined: Fri Sep 12, 2008 1:11 am

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by Fletch »

Tried out the latest build on my TT today and it works great! I appreciate the hard work.
Fletch
Atari maniac
Atari maniac
Posts: 92
Joined: Fri Sep 12, 2008 1:11 am

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by Fletch »

IMG_7165.jpg
IMG_7164.jpg
IMG_7163.jpg
IMG_7162.jpg
You do not have the required permissions to view the files attached to this post.
joska
Hardware Guru
Hardware Guru
Posts: 4693
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by joska »

tschak909 wrote: * Starts, but does not work on Falcon because I need to select the correct serial port. (any help appreciated)
See here: https://freemint.github.io/tos.hyp/en/x ... ml#Bconmap
tschak909 wrote: * screen drawing stops when not top window. It does decode the data, so when window is topped, it will resume. Need to write code path to handle.
* Paint redraws don't execute if the paint coordinate in terminal buffer is outside the damaged rect. Trying different solutions for this.
You normally don't have to have a special case for drawing to the top window. The easiest way to redraw your window is to wait for redraw-messages, then iterate through the dirty rectangles and redraw each of them. To initiate a (re)draw of (parts of) the window, just send yourself a redraw-message with the coordinates of the part you need to (re)draw. This way all redraws are handled with a single codepath, no special cases needed.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64
tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by tschak909 »

Tried that, performance went straight into toilet.

If you want to take a whack at it, please. :)

-Thom
tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by tschak909 »

Also, it's not clear which port in Bconmap is the falcon's RS232 (aka Serial port 2), which is it?

-Thom
Fletch
Atari maniac
Atari maniac
Posts: 92
Joined: Fri Sep 12, 2008 1:11 am

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by Fletch »

It works just fine on the Falcon's 9 pin serial port.
IMG_7168.jpg
IMG_7167.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
Estrayk
Captain Atari
Captain Atari
Posts: 272
Joined: Mon Nov 23, 2015 2:52 pm
Location: Spain

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by Estrayk »

thanks for the work. waiting for STiNG support.
・Falcon ct60e・Atari MegaSTE ・Atari STe ・MIST ・MISTer・
tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by tschak909 »

If someone could help inject in the necessary STiNG support, that'd be great.
-Thom
ThorstenOtto
Atari God
Atari God
Posts: 1152
Joined: Sun Aug 03, 2014 5:54 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by ThorstenOtto »

tschak909 wrote:Also, it's not clear which port in Bconmap is the falcon's RS232 (aka Serial port 2), which is it?
On Falcon (or other machine which don't have a 2nd MFP), bios device #8 is serial2.

But you don't need to mess with Bconmap (expect maybe to figure out which devices are present, there are also upgraded machines which have more than the usual serial ports), just use the corresponding BIOS device number directly in calls to Bconin() etc. Note that you should need the user to give a choice then which port to use. Or alternatively, always use device #6 instead of 1. And don't forget to restore the original setting before exiting.
joska
Hardware Guru
Hardware Guru
Posts: 4693
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by joska »

BIOS device 6 isn't available on all machines, so I would not use that by default. If you don't want to let the user select serial port in PLATOTERM directly you should always use device 1, and leave the serial port setup to an external program/accessory. When I first started using my Falcon I'm pretty sure I used an accessory that let me remap the SCC serial port to the standard BIOS device (no Falcon support in older comms software) but I can't remember it's name.

And yes, I meant to use Bconmap to populate a list of available devices.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64
ThorstenOtto
Atari God
Atari God
Posts: 1152
Joined: Sun Aug 03, 2014 5:54 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by ThorstenOtto »

joska wrote:leave the serial port setup to an external program/accessory.
IIRC that won't work with Mint, where the Bconmap settings are per process.
spiny
Disk Imager Supreme
Disk Imager Supreme
Posts: 2709
Joined: Mon Aug 11, 2003 11:53 pm
Location: just outside bristol
Contact:

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by spiny »

I have no idea what I'm doing, and this ST isn't on the internet, but it seems to run OK

it's a 1meg FM, TOS1.04
plato.jpg
You do not have the required permissions to view the files attached to this post.
czietz
Hardware Guru
Hardware Guru
Posts: 1223
Joined: Tue May 24, 2016 6:47 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by czietz »

It doesn't work so well, though, as soon as screen resolutions are used that weren't anticipated by the author. I tested on my 1040STf with a Vofa graphics card. In 640x480x16, 800x600x16, 800x600x256, 1024x768x16 and 1024x768x256 PLATOTERM simply crashes with an address error at startup.

In 640x480x2 colors [1] and 640x480x256 colors it works, but have a look at the attached screenshots. The contents of the menu bar ("1200") is shifted, also with 256 colors there's a drawing error with the PLATOTERM logo.

[1] Note that "2 colors" does not necessarily mean black & white. As you can see the palette is changed in 2 color mode, as well.
You do not have the required permissions to view the files attached to this post.
tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by tschak909 »

Thanks for testing! I'll fix the menu bar. :)

-Thom
User avatar
Eero Tamminen
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2158
Joined: Sun Jul 31, 2011 1:11 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by Eero Tamminen »

FYI: one way to test different resolutions, and some compatibility with non-standard graphics is using Hatari's VDI mode, and specifying some uncommon resolution, for example: "--vdi-planes 4 --vdi-width 800 --vdi-height 640".

Another one is using Hatari Falcon emulation with native Videl mode setting program like "Videl Inside", and using e.g. the high color (16-bit chunky) mode.
tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by tschak909 »

Indeed. good call.
-Thom

p.s. have verified that the program does run under MiNT, but the serial i/o isn't working.. am debugging..

also it looks like XaAES isn't doing the quarter screen backing store (used in normal TOS for the menus/dialogs) so that is exposing some superfluous redraws that I need to track down. This is good.

-Thom
ThorstenOtto
Atari God
Atari God
Posts: 1152
Joined: Sun Aug 03, 2014 5:54 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by ThorstenOtto »

tschak909 wrote:Indeed. good call.
also it looks like XaAES isn't doing the quarter screen backing store
No it isn't. Menus use just normal windows, like everything else. So yes, you will get redraw events when you open a menu and it covers part of your window.
tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by tschak909 »

That's ok. I just need to figure out why i am not getting/sending serial I/O now, while it works under TOS. I temporarily removed the iorec revectoring, and explicitly added a Bconmap to the default ST serial device (6), so am wondering what else I need to do...

-Thom
tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by tschak909 »

Here is a bog standard Atari 1040STF, running PLATOTERM, TOS 1.02, no HSMOD, no NVDI, nothing.

It's pumping along at 19200 baud :)

https://www.youtube.com/watch?v=sra87dHJARM
vido
Atari Super Hero
Atari Super Hero
Posts: 719
Joined: Mon Jan 31, 2011 7:39 pm

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by vido »

This looks really nice! Congrats!
I hope I will be able to use it also on my FireBee under MiNT one day ... :)

Good work!!!
joska
Hardware Guru
Hardware Guru
Posts: 4693
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by joska »

Is this latest version available for download somewhere? The latest binary I found on github is from June 16th.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64
joska
Hardware Guru
Hardware Guru
Posts: 4693
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by joska »

The one from June 16th appears to work correctly in 800x600 on my Falcon under plain TOS. However, even in 256 colours it messed with the lower 16 colours. You should use colours > 16 when available in order to not mess up the AES colours.

Another thing I noticed is that when a redraw (and not just a blit) the colours are flashing.

Under MiNT it crashes due to a memory violation, that's probably the IOREC-issue.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64
User avatar
shoggoth
Nature
Nature
Posts: 1011
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by shoggoth »

In 256 color modes, it makes sense to remap your pen indices to the palette instead of the other way around, IMO. It’s not that much work, and it’s a lot nicer than having your pretty desktop background turned into colorful vomit.
Ain't no space like PeP-space.
joska
Hardware Guru
Hardware Guru
Posts: 4693
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: PLATOTERM for Atari ST - A PLATO terminal for IRATA.ONLINE - 0.5 Beta

Post by joska »

True, as long as the colour is present in the palette.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64
Post Reply

Return to “Applications”