Expanding the range of QL Adventures
Re: Expanding the range of QL Adventures
Note the "flicker" code can only work in supervisor mode as it needs to relocate the system variables - This might not easily run alongside an application that needs user input.
Tobias
Tobias
ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
-
- RWAP Master
- Posts: 2847
- Joined: Sun Nov 28, 2010 4:51 pm
- Location: Stone, United Kingdom
- Contact:
Re: Expanding the range of QL Adventures
Presumably the code would work on Minerva in dual screen mode, but yes, if it uses the QL's second screen and therefore only in supervisor mode, it would not easily be useful on a QDOS based machine for providing text entry alongside the graphic.
Rich Mellor
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module - add a USB printer to your QL
Also Involved in:
Icephorm
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module - add a USB printer to your QL
Also Involved in:
Icephorm
Re: Expanding the range of QL Adventures
Hmm, Steve Sutton has managed Mode 4 plus 8 at the same time in ACT. Would be wise to contact him.
-
- RWAP Master
- Posts: 2847
- Joined: Sun Nov 28, 2010 4:51 pm
- Location: Stone, United Kingdom
- Contact:
Re: Expanding the range of QL Adventures
I have tried various ways to contact Steve, but alas he is proving very elusive!Ralf R. wrote:Hmm, Steve Sutton has managed Mode 4 plus 8 at the same time in ACT. Would be wise to contact him.
There was a routine in the Quanta library to split the screen so the top half was mode 8 and the bottom half mode 4 too - I used it for (I think) the Worm and the Jewel adventure....
Rich Mellor
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module - add a USB printer to your QL
Also Involved in:
Icephorm
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module - add a USB printer to your QL
Also Involved in:
Icephorm
-
- Font of All Knowledge
- Posts: 4038
- Joined: Mon Dec 20, 2010 11:40 am
- Location: Sunny Runcorn, Cheshire, UK
Re: Expanding the range of QL Adventures
Hi,RWAP wrote:There is no such thing as Abandonware - however, the original programmer of Akalabeth (Richard Garriott) is easily found on line - https://richardgarriott.com/ so I have sent him an email to ask for his permission for freeware conversions to any platform.Derek_Stewart wrote: Akalabeth: World of Doom is Abandonware and I have found a web site with the source code, wriiten Apple Basic which is a dialect of Micrsoft Basic. Superbasic should be able to handle this.
Do you think it is worth porting the QL?
The version I downloaded looks to be a MS Basic convert, seems to run in GW Basic...
Yes, I do think (that with permission) it would be worth porting to the QL as a classic game - especially if the sources were added to the SinclairQL github - where perhaps others could improve the game and add colour etc. It would also be worth looking at the Spectrum discussion as people have discussed on there how to improve the code for the Spectrum
I was looking at Wikipedia, list of commerical games with source code, link here:
https://en.m.wikipedia.org/wiki/List_o ... urce_code
I was surprised to see Akalabeth: World of Doom listed, Freeware and Public Domain... is this correct. If it correct, I could interested in converting it to QL.
Regards,
Derek
Derek
Re: Expanding the range of QL Adventures
Hello gents,
my nick is Omega and I developed dithvide for QL. I was recently contacted by Rich to comment on the dithvide and recent discussion about QL adventures. Based on the comments from Tomas, I think you got the point how it works. Just to explain others what dithvide is: Plain QL can display only 8 colors in low res, 4 colors in high res. In case we alter color of one pixel every display interrupt (50Hz), we can achieve more colors (lo-res 32),(hi res 8). Resulting pixel will blink at the rate of 25Hz with resulting color that is mixture of two alternating colors (white + black = grey). In addition, I developed "mixed mode" that is altering 8 color mode with 4 color mode to get even more color variations. This mode is special, because screen page and screen mode is altered for each line, precise CPU timing is required (similar to ZX Spectrum multicolor technique).
Technically:
* main thing is to hook on the sv.plist interrupt handler with screen flipping routine.
To do so, there are following issues:
* sv.plist points to pool of service routines that's being executed every screen interrupt. Using QDOS to hook another service to sv.plist is not useable for "mixed mode", because precise timing (chasing TV ray) is required. QDOS links at the end of the queue and what you get is unpredictable start of tv ray.
* standard QDOS has system variables sitting in screen_0. I *think* that there is no way to move system variables to other place and release screen 0 for user. [Please correct me if I am wrong here.]
* use of supervisor mode is necessary to free-up screen 0 at the cost of limited QDOS support.
I see following options.
1. Avoid HW screen flipping (mc_stat) - use software flipping using fast memory to screen copy routine. QL's CPU is slow, blitted window would need to be reasonably small.
2. Use HW screen flipping. Preserve screen 0 variables in the memory. Restore vars once QDOS needs to get control. Question is, if keyboard can be managed without system variables.
In case you would like to see some screens in dithvide mode(s), please post the screens somewhere and I will convert it. It would be a good start to see if it is worth the effort.
_o_
my nick is Omega and I developed dithvide for QL. I was recently contacted by Rich to comment on the dithvide and recent discussion about QL adventures. Based on the comments from Tomas, I think you got the point how it works. Just to explain others what dithvide is: Plain QL can display only 8 colors in low res, 4 colors in high res. In case we alter color of one pixel every display interrupt (50Hz), we can achieve more colors (lo-res 32),(hi res 8). Resulting pixel will blink at the rate of 25Hz with resulting color that is mixture of two alternating colors (white + black = grey). In addition, I developed "mixed mode" that is altering 8 color mode with 4 color mode to get even more color variations. This mode is special, because screen page and screen mode is altered for each line, precise CPU timing is required (similar to ZX Spectrum multicolor technique).
Technically:
* main thing is to hook on the sv.plist interrupt handler with screen flipping routine.
To do so, there are following issues:
* sv.plist points to pool of service routines that's being executed every screen interrupt. Using QDOS to hook another service to sv.plist is not useable for "mixed mode", because precise timing (chasing TV ray) is required. QDOS links at the end of the queue and what you get is unpredictable start of tv ray.
* standard QDOS has system variables sitting in screen_0. I *think* that there is no way to move system variables to other place and release screen 0 for user. [Please correct me if I am wrong here.]
* use of supervisor mode is necessary to free-up screen 0 at the cost of limited QDOS support.
I see following options.
1. Avoid HW screen flipping (mc_stat) - use software flipping using fast memory to screen copy routine. QL's CPU is slow, blitted window would need to be reasonably small.
2. Use HW screen flipping. Preserve screen 0 variables in the memory. Restore vars once QDOS needs to get control. Question is, if keyboard can be managed without system variables.
In case you would like to see some screens in dithvide mode(s), please post the screens somewhere and I will convert it. It would be a good start to see if it is worth the effort.
_o_
Re: Expanding the range of QL Adventures
Hi _o_,
and welcome to the forum, many thanks for your input, still studying it, before commenting.
Tomas
and welcome to the forum, many thanks for your input, still studying it, before commenting.
It should be possible, as we can call `IPC' processor directly to scan keyboard as I learnt from Andrew Pennell's book on Assembly (chapter The Alternate screen).if keyboard can be managed without system variables?
Tomas
-
- RWAP Master
- Posts: 2847
- Joined: Sun Nov 28, 2010 4:51 pm
- Location: Stone, United Kingdom
- Contact:
Re: Expanding the range of QL Adventures
Welcome to the forums - yes, your input will be much appreciated - if we can get this working, this will represent one of the best QL projects in a long time.
We need to find a reliable source of the Level 9 games and graphics files to work with....
We need to find a reliable source of the Level 9 games and graphics files to work with....
Rich Mellor
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module - add a USB printer to your QL
Also Involved in:
Icephorm
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module - add a USB printer to your QL
Also Involved in:
Icephorm
Re: Expanding the range of QL Adventures
Hi _o_,
your ideas are REMarkable! Do you need some specific type of screen for your conversions?
your ideas are REMarkable! Do you need some specific type of screen for your conversions?
Re: Expanding the range of QL Adventures
Hi _o_
EDIT
I have toyed with your `dithvide' code, and I have some suggestions to safe on memory with more speed, add support for keyrow scan, and to also provide a small utility to mask out flash bits in mode 8 screens.
I wish to share with you, if you could PM me with your email?
Tomas
EDIT
I have toyed with your `dithvide' code, and I have some suggestions to safe on memory with more speed, add support for keyrow scan, and to also provide a small utility to mask out flash bits in mode 8 screens.
I wish to share with you, if you could PM me with your email?
Tomas