Porting PLATOTERM to the QL as a QDOS app.
Posted: Sun Jul 07, 2019 4:47 am
Hello everyone.
I've spent the last two years building a massive on-line platform for retrocomputing users (IRATA.ONLINE), based on PLATO, and to this end have written almost TWO DOZEN ports of the required terminal access software PLATOTERM.
It can be gotten here, for many platforms, including the ZX Spectrum: https://www.irata.online/
Now I am trying to get up to speed as quickly as possible to make a full screen QDOS application (there are various reasons for this, if you really want to know, ask and I'll explain.)
and I have put together a toolchain based on XTC68 and the C68 libs/includes.
Thus far, I have been able to compile, link, and test simple programs in Qemulator, and am now trying to set up the correct drawing context by opening my own channel and not dealing with the default CON that C68 seems to create.
I did try to redirect the consetup function pointer, to a blank function prototype (to test and see if I was correctly casting the pointer), but the default CON_ still appears.
https://github.com/tschak909/platotermq ... main.c#L22
https://github.com/tschak909/platotermq ... reen.c#L28
What's going on here? also, why is my program task name still showing as C_PROG (when I look at it via file), despite me changing it?
Assuming I can get past this, is getting the window I want, simply a matter of calling io_open against the appropriate SCR or CON specification? (I am leaning towards SCR, as I do not want normal keyboard input semantics, and want to handle this on my own.)
also, I have noticed the sd_iscale function, why only the single scale value? Can I only symmetrically scale both X and Y? (I can work around this, just like I do everywhere else by using scaling tables, but I wanted to see if I could leverage the system ROM to give me a 512x512 display scaled down to 512x256 or 256x256 depending on the display mode)
-Thom
I've spent the last two years building a massive on-line platform for retrocomputing users (IRATA.ONLINE), based on PLATO, and to this end have written almost TWO DOZEN ports of the required terminal access software PLATOTERM.
It can be gotten here, for many platforms, including the ZX Spectrum: https://www.irata.online/
Now I am trying to get up to speed as quickly as possible to make a full screen QDOS application (there are various reasons for this, if you really want to know, ask and I'll explain.)
and I have put together a toolchain based on XTC68 and the C68 libs/includes.
Thus far, I have been able to compile, link, and test simple programs in Qemulator, and am now trying to set up the correct drawing context by opening my own channel and not dealing with the default CON that C68 seems to create.
I did try to redirect the consetup function pointer, to a blank function prototype (to test and see if I was correctly casting the pointer), but the default CON_ still appears.
https://github.com/tschak909/platotermq ... main.c#L22
https://github.com/tschak909/platotermq ... reen.c#L28
What's going on here? also, why is my program task name still showing as C_PROG (when I look at it via file), despite me changing it?
Assuming I can get past this, is getting the window I want, simply a matter of calling io_open against the appropriate SCR or CON specification? (I am leaning towards SCR, as I do not want normal keyboard input semantics, and want to handle this on my own.)
also, I have noticed the sd_iscale function, why only the single scale value? Can I only symmetrically scale both X and Y? (I can work around this, just like I do everywhere else by using scaling tables, but I wanted to see if I could leverage the system ROM to give me a 512x512 display scaled down to 512x256 or 256x256 depending on the display mode)
-Thom