[comp.sys.atari.st.tech] Bug in Overscan software.

micro@imada.ou.dk (Klaus Pedersen) (05/15/91)

There have been some talk about Overscan here lately, that reminded me
that I found 2 bugs in the driver software. The bugs are in the same 10
lines of code, and they are kind of strange! 
The scene is the following: 
AES initializes itself and opens a Screen workstation. Overscan sits in
the AES/VDI trap and checks for that call, and let it run, after it have
run Overscan initilizes the LineA varibales, (in Do.something). 
At this point Overscan wants to change the variables in your WorkOut array, 
this is where things go wrong

1. (this is the worst) it puts the width and height of the screen into
WorkOut[0] and WorkOut[1] instead of the highest addressable cell (width-1
and Height-1).

2. it tells that you have 200 colors in color mode, and not $200(or 512).

Note that these errors overrides the values put into the LineA varibales
that otherwise are good enough.

Then why don't I release my version? 
- Overscan is Commercial now so I don't know if it's legal. Also my version 
have been hacked so much that it probaly have even more errors. 
(I have taken the illigal fidling with the allocated memory lists out and 
removed compability with prehistoric TOSes) - so you probaly don't want it 
anyway... 
How can we fix this problem - I guess that Karsten will tell us that he have
a fix (called autoswitch Overscan).


Klaus, micro@imada.ou.dk 

ki@opal.cs.tu-berlin.de (Karsten Isakovic) (05/16/91)

In article <1991May14.193547.29278@imada.ou.dk> micro@imada.ou.dk (Klaus Pedersen) writes:
>There have been some talk about Overscan here lately, that reminded me
>that I found 2 bugs in the driver software. The bugs are in the same 10
>lines of code, and they are kind of strange! 

Hello Klaus,

the actual driver for the autoswitch-overscan is 51! versions away from the
old one released into netland. I found lots of bugs ;-)
The autoswitch feature is about 32 versions old and running very stable. I
ported this feature to some other software, now we have the autoswitch
SM-124 emulator for TT-High and and autoswitch driver for the Reflex 1024
card.

>Then why don't I release my version? 
>- Overscan is Commercial now so I don't know if it's legal. Also my version 
>have been hacked so much that it probaly have even more errors. 
>How can we fix this problem - I guess that Karsten will tell us that he have
>a fix (called autoswitch Overscan).

You are right :-)  But it was a good way to say 'what is wrong', so everybody
interested can change it in the source...

>Klaus, micro@imada.ou.dk 
Karsten, ki@opal.cs.tu-berlin.de

micro@imada.ou.dk (Klaus Pedersen) (05/19/91)

ki@opal.cs.tu-berlin.de (Karsten Isakovic) writes:

>In article <1991May14.193547.29278@imada.ou.dk> micro@imada.ou.dk (Klaus Pedersen) writes:
>>There have been some talk about Overscan here lately, that reminded me
>>that I found 2 bugs in the driver software. The bugs are in the same 10
>>lines of code, and they are kind of strange! 

>Hello Klaus,

>the actual driver for the autoswitch-overscan is 51! versions away from the
>old one released into netland. I found lots of bugs ;-)

I my version I have fixed these :
   o a bug that ment that some programs wrote one pixel outside
     the screen, have been fixed.
   o the software is 68010/20/30/40 clean. 
   o the software works on TOS 1.4 and __later__! (it don't use
     undocumented system variables to enlarge the screen memory
     any more!)
   o it is now possible to disable Overscan, from within a bad
     program (last resort, as it is not possible to tell accs
     and the AES about the new screen size).
   o it is also possible to enable/disable Overscan from the
     desktop (general, because it is possible to init. AES and
     accs).
   o the hook into VDI now preserves ALL address registers!
   o the driver is now 3700 bytes, of which 3000 stays in memory,
     (not counting the larger screen (68Kb)).

 
>The autoswitch feature is about 32 versions old and running very stable. I
>ported this feature to some other software, now we have the autoswitch
>SM-124 emulator for TT-High and and autoswitch driver for the Reflex 1024
>card.

How do you tell accs and the AES about the new screen size, I know that you
have a reputation for making some really awsome hooks into TOS/GEM. But 
you can't tell accs that the screen size have changed - can you?

>>Then why don't I release my version?
>>- Overscan is Commercial now so I don't know if it's legal. Also my version 
>>have been hacked so much that it probaly have even more errors.

It have been running stable for some time though, and a lot have been fixed!

>>How can we fix this problem - I guess that Karsten will tell us that he have
>>a fix (called autoswitch Overscan).

>You are right :-)  But it was a good way to say 'what is wrong', so everybody
>interested can change it in the source...

But not everybody can! If I send my version to atari.archive, (driver bin
and source only) would you care? Should I release it as a Patch like KAOS,
so that everybody that allready have overscan can patch it?? (sick)

>>Klaus, micro@imada.ou.dk 
>Karsten, ki@opal.cs.tu-berlin.de

Klaus, micro@imada.ou.dk 

ki@opal.cs.tu-berlin.de (Karsten Isakovic) (05/21/91)

In article <1991May19.163606.18142@imada.ou.dk> micro@imada.ou.dk (Klaus Pedersen) writes:
>I my version I have fixed these :
  [list of fixes deleted]

Your fixes were also fixed in the AutoSwitch-driver.

>How do you tell accs and the AES about the new screen size, I know that you
>have a reputation for making some really awsome hooks into TOS/GEM. 

I never said, that the AutoSwitch-feature is 'clean'. Yes, i have to change
some internal AES/VDI-variables. I am not very happy about having to do such
hacks, i personnaly prefer to programm conforming to the rules. But when i
did the autoswitch feature, i knew _what_ i was doing.
Look at Chameleon, this DA does things that are not 'normal' for DAs. But
it supports XBRA, hooks in the traps (I know, DA are not allowed to steal
trap vectors!) and so on. BUT this tiny thing works on _all_ TOS versions,
with _all_ 680xx processors and it does not crash on resolution changes. It
simply works. And you must know that i develloped it when there was no TT
or even 68020/30er boards. 
If i do a next release of Chameleon, it will be an auto-folder programm
for the Traps and a CPX for configuration. The new SM124-emulator for
the TT-High mode is done in this way.

My reputation in germany is very good, i am often asked how to do something
in legal ways. I beta-test lots of software to see if everything is
according to the rules.
 
> But you can't tell accs that the screen size have changed - can you?

If an DA uses form_center, wind_get or some of the other AES functions that
have something to do with screen-resolutions, the DA gets the right values.

>But not everybody can! If I send my version to atari.archive, (driver bin
>and source only) would you care? Should I release it as a Patch like KAOS,
>so that everybody that allready have overscan can patch it?? (sick)

Since you already send it to atari.archive, i have nothing against it ;-)

>>>Klaus, micro@imada.ou.dk 
Karsten, ki@opal.cs.tu-berlin.de

csbrod@immd4.informatik.uni-erlangen.de (Claus Brod) (05/21/91)

ki@opal.cs.tu-berlin.de (Karsten Isakovic) writes:
>If i do a next release of Chameleon, it will be an auto-folder programm
>for the Traps and a CPX for configuration. The new SM124-emulator for
>the TT-High mode is done in this way.

Gee, I need this badly!! How can I get it?

----------------------------------------------------------------------
Claus Brod, Am Felsenkeller 2,			Things. Take. Time.
D-8772 Marktheidenfeld, Germany		 	(Piet Hein)
csbrod@medusa.informatik.uni-erlangen.de
Claus Brod@wue.maus.de
----------------------------------------------------------------------