Utodev / PCDAAD

A DAAD adventure writer engine interpreter for PC/MSDOS in VGA 256 colours mode
MIT License
6 stars 1 forks source link

Screen doesn't print text correctly after RESTART #7

Open bensonofjohn opened 10 months ago

bensonofjohn commented 10 months ago

On the ZX Spectrum target I have this code

            GOTO 25
            RESTART

The text scrolls up the screen and the description is printed below, however PCDAAD starts to print the description text over the top of the existing text. I need to force a CLS to make it readable

            GOTO 25
            CLS
            RESTART
Utodev commented 10 months ago

Sorry but I can't reproduce this one. In fact, what I see is exactly the opposite. When I remove all the CLS from the default template, any RESTART will produce text overwriting current text. This is as expected because the current default template runs a WINAT 14 0 every time a picture is drawn, and WINAT resets the cursor position.

This was happening in all targets but MSDOS for me, until I realized the screen was actually being cleared (like with your extra CLS) because my test pictures were full screen, but the half bottom of the picture was black, so it was actually painting black over the previous text.

I have fixed a but in DISPLAY though, but I can still reproduce the expected behaviour you comment, neither in Spectrum, nor DOS, no CPC, nor any target I've tried. All of them overwrite the text if there is no CLS.

May you create a minimal code that fails starting from the default template?

Also, which Spectrum target are you exactly refering to? As there are many of them, maybe that changes something.

Does this also happen to you in CPC o MSX1 targets?

Thanks

I've removed all the CLS in the default template, and what I see is all interpreters but PCDAAD overwrite the text (somehow, their writing position becomes top of current window and start writing over the selected text). It's PCDAAD the only one that seems to do an unexpecte CLS on its own, which may