tschak909 Posted March 26, 2018 Share Posted March 26, 2018 (edited) Hello, I'm the systems operator for http://www.irata.online/an on-line service for retro-computing enthusiasts. As part of this service, it is possible to write terminals for this service, due to the unique protocol used. I have attached a definition of the protocol used on port 8005 of this service, and there is example source code on the website (the pterm source), which can be used as a reference. As I am currently working on the Android version of this terminal, I wanted to see if anyone else was interested in implementing a portal to a truly unique system and piece of preserved history? -Thom s0ascers.txt Edited March 26, 2018 by tschak909 Quote Link to comment Share on other sites More sharing options...
brfennpocock Posted March 26, 2018 Share Posted March 26, 2018 Do I correctly understand that you're interested in writing (also) a PLATO terminal for the ’64 or ’128? I'm curious if a limited-capability terminal on a ’64 would really be usable for playing most of the games on PLATO … ? but seems like you're definitely more the expert than I … In particular: remapping from ( 512 × 512 px = 64 × 32 ch ) to ( 320 × 200 px = 40 × 25 ch ) or ( 640 × 200 px = 80 × 25 ch ) in a non-disruptive way. It looks like, per your text file, the A][ version centered a 192×256px screen and expects its own special 4×6px custom character sets? That would certainly work “passably” on a VIC-II, as long as the 4×6 fonts exist — and with some weird color artefacts across 8×8px cell boundaries, of course. On the other hand, it seems like the VDC on the ’128 should handle 512×512 @ 16×8 just fine — definitely as 640×512, with margins blanked on each row, although it wouldn't surprise me if some fudging with the VDC registers wouldn't allow for directly mapping exactly 512×512, albeit with not-precisely-square pixels. I've played around a bit with (including submitting the odd patch to) Linux PTerm, I'd be interested in lending a hand if possible. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted March 26, 2018 Author Share Posted March 26, 2018 I am in the middle of finishing the Android terminal, so I am very familiar with the protocol, and can definitely help anyone who wants to write PLATO terminals. This is why I am reaching out. It should be possible to write a decent one in C using cc65, for the C64 version, the display would need to be scaled similarly to the ATARI PLATO cartridge, while yes, it looks like the 8563 in the 128 can handle a 512x512 display with some reprogramming (similar tricks are used in the original IBM PC PLATO terminal to reprogram the 6845). I will try to help out with all the protocol particulars, as I know them exceptionally well, but I am not familiar with the different connection options that are available for a C64 or C128, and those need to be ironed out. I am reaching out to other communities (apple2, amiga, etc.) in a similar fashion. Here's an example from the ATARI PLATO cartridge, it runs at 320x192 in the scaled mode, and because it is mode F, it is monochrome: -Thom Quote Link to comment Share on other sites More sharing options...
tschak909 Posted March 27, 2018 Author Share Posted March 27, 2018 A GitHUB repository has been created @ http://github.com/tschak909/platoterm128.git Since brfennpocock has offered to start messing about with doing 8563 experiments, I've created a repository, and started writing a C version of the PLATO protocol decoder. This part should translate _VERY_ well to other platforms, as it is just plain jane C with no special tricks. -Thom Quote Link to comment Share on other sites More sharing options...
tschak909 Posted March 28, 2018 Author Share Posted March 28, 2018 I've just checked in the first pass of a PLATO protocol decode into the above repository. Basically, byte goes in, and it gets fanned out to where it needs to go, calling external functions when needed to draw points, lines, plot text. The major part missing from this version of the protocol decode is the custom character set load, because this needs to be worked out. A PLATO character is 8x16, and there are 64 characters in each set, with two sets used for custom characters, 128 characters, meaning about 16K used for character data, so with the C64, characters will have to be scaled down, for example, and this needs to be hashed out, before a meaningful character set load routine can be made. But, for now, anyone interested can see the major workings of the protocol. I would really like to get input and help from knowledgeable C64/C128 coders. It would be great to have a workable PLATO terminal, like on the Atari. -Thom Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 14, 2018 Author Share Posted April 14, 2018 I've scheduled two more Google meets for: Saturday, April 14th, 10am to 12pm Sunday, April 15th, 10am to 12pm Details on the website. -Thom Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted April 14, 2018 Share Posted April 14, 2018 Interesting. Is there much participation in this project? Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 15, 2018 Author Share Posted April 15, 2018 Participation is slowly picking up -Thom Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 17, 2018 Author Share Posted April 17, 2018 Next IRATA.ONLINE meets are on Apr 21, and Apr 22, at 10am to 12pm CDT for both days. Google Meet links on http://www.irata.online/ I really need Commodore 64 and 128 coders to come in, and we can talk about writing a terminal for the service. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 22, 2018 Author Share Posted April 22, 2018 Ok, I've now moved the meets to a self hosted service running on the same server as the main service: https://meet.irata.online/demomeet This will be used starting with the demo meet, tomorrow. Links on the website have been updated. -Thom p.s. would really like to see some 64/128 users. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 29, 2018 Author Share Posted April 29, 2018 I have the first breathings of a PLATO terminal, code is here: http://github.com/tschak909/platoterm64 * text output is ridiculously slow * for some reason user port bit banging via kernel causes system to hang, possibly faulty interrupt routine in cc65 runtime? -Thom Quote Link to comment Share on other sites More sharing options...
David Baldwin Posted April 29, 2018 Share Posted April 29, 2018 looks good i wood like to be able to run it on my commodore from a d64 soon Quote Link to comment Share on other sites More sharing options...
tschak909 Posted April 29, 2018 Author Share Posted April 29, 2018 I need programming help to make both the output routines and the serial routines faster. -Thom Quote Link to comment Share on other sites More sharing options...
tschak909 Posted May 8, 2018 Author Share Posted May 8, 2018 Can somebody with a Commodore 64, and a user port modem running at 2400bps (wifi or otherwise), try to run this program and see if the output freezes after typing a few characters? https://drive.google.com/open?id=1RoYwjDrorBrdhaxR1FI17rDmo9_aOVwE (there are two builds in there, one for userport modems, and another for swlink/turbo232 cartridges. I know the latter does not work properly.) -Thom Quote Link to comment Share on other sites More sharing options...
David Baldwin Posted May 8, 2018 Share Posted May 8, 2018 I'll be right on it Quote Link to comment Share on other sites More sharing options...
David Baldwin Posted May 8, 2018 Share Posted May 8, 2018 trying to login now but plato is not going any ferther do i set the tcp to ser 7 bits or 8 and i have irata.online port 8005. i can see blinking curser in one spot but no text on screen only the platoterm main scren. Quote Link to comment Share on other sites More sharing options...
David Baldwin Posted May 8, 2018 Share Posted May 8, 2018 trying plato-up2400.org Quote Link to comment Share on other sites More sharing options...
David Baldwin Posted May 8, 2018 Share Posted May 8, 2018 did a party even now i get a connect then no more i will keep trying. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted May 9, 2018 Author Share Posted May 9, 2018 There is a known problem between the graphics code and the serial routines. I've been working with the cc65 people to try and resolve it. It's causing the program to freeze (due to the graphics code switching out kernal code to write to the graphics display, but the NMI's for the serial routines are still active...) grrr.... -Thom Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 6, 2018 Author Share Posted June 6, 2018 PLATOTerm64 is starting to function: Code is here: http://github.com/tschak909/platoterm64 1 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 10, 2018 Author Share Posted June 10, 2018 And now it is able to successfully log in 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.