SuperVidel driver annoyances?

News, Support and Development discussions relating to SuperVidel.

Moderators: Mug UK, moondog/.tSCc., [ProToS], lp, instream, Moderator Team, Nature

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

SuperVidel driver annoyances?

Postby shoggoth » Wed Dec 18, 2013 9:24 am

Friends,

Hopefully I'll have some time to work on the drivers again. I'd like to know if there is any particular annoyances that bother you. There are a few hicksups with the console (planar modes), icons have the wrong color in some resolutions (TOS AES only afaik), and the MagiC resolution switcher doesn't work at all.

Any screen resolutions missing?

Incompatibilities that you've noticed?
(Aniplayer behaves funny in higher 16bpp resolutions, and I have no good explanation for that, because the driver is the same for VIDEL16bpp modes - which works w. Aniplayer)

-- PeP
Ain't no space like PeP-space.

patjomki
Atari freak
Atari freak
Posts: 53
Joined: Fri Mar 09, 2007 11:34 pm

Re: SuperVidel driver annoyances?

Postby patjomki » Wed Dec 18, 2013 6:07 pm

shoggoth wrote:...
Any screen resolutions missing?

Incompatibilities that you've noticed?
(Aniplayer behaves funny in higher 16bpp resolutions, and I have no good explanation for that, because the driver is the same for VIDEL16bpp modes - which works w. Aniplayer)

-- PeP


Well, as my monitor is capable of 1920x1200 this resolution would be nice. 8)

And then I am missing a resolution switcher for XaAES.

And my SuperVidel is running fine except the fact that the ATARI logo in the ct60 boot screen is totally distorted. Is this normal?

Edit: What I really miss is a program that switches the videl off to reduce bus load. I once had such a program for my nova graphics card (unfortunately it doesn't work without a nova). The same functionality was included in the afterburner toolkit but obviously it doesn't work as well on a ct60.

And finally not to forget: Great work, PeP!

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Wed Dec 18, 2013 8:47 pm

patjomki wrote:Well, as my monitor is capable of 1920x1200 this resolution would be nice. 8)


I'll add it, then. At least for the digital DVI output.

And then I am missing a resolution switcher for XaAES.


This could be done, yeah. It's a future enhancement though.

And my SuperVidel is running fine except the fact that the ATARI logo in the ct60 boot screen is totally distorted. Is this normal?


Normal, unfortunately. Didier haven't blitter-patched TOS very much, and since we can't snoop the operations of the blitter, it current looks like that.

Edit: What I really miss is a program that switches the videl off to reduce bus load. I once had such a program for my nova graphics card (unfortunately it doesn't work without a nova). The same functionality was included in the afterburner toolkit but obviously it doesn't work as well on a ct60.


Actually, I had this in the driver before, I'm not sure if I removed it or not. The thing was, I discovered that some applications actually checked the screen resolution by looking at the VIDEL registers (UGLY!!!), and turning the VIDEL off meant these applications thought they were running in mono. So what I did was to set a low resolution on the VIDEL, which somewhat matched the properties of the SV resolution, and while that cured this funny incompatibility it doesn't save bus bandwidth. But now that I think of it, I could disable the VIDEL clock or tweak the timing registers in a way that preserves bus bandwidth.

And finally not to forget: Great work, PeP!


Thanks :) :) A lot of work went into the drivers, it's a huge project actually.
Ain't no space like PeP-space.

patjomki
Atari freak
Atari freak
Posts: 53
Joined: Fri Mar 09, 2007 11:34 pm

Re: SuperVidel driver annoyances?

Postby patjomki » Thu Dec 19, 2013 10:26 pm

shoggoth wrote:I'll add it, then. At least for the digital DVI output.


Great. Thanks in advance.

shoggoth wrote:Normal, unfortunately. Didier haven't blitter-patched TOS very much, and since we can't snoop the operations of the blitter, it current looks like that.


I see. Well at least I don't have to be concerned any longer that something went wrong during hardware installation.

shoggoth wrote:So what I did was to set a low resolution on the VIDEL, which somewhat matched the properties of the SV resolution, and while that cured this funny incompatibility it doesn't save bus bandwidth. But now that I think of it, I could disable the VIDEL clock or tweak the timing registers in a way that preserves bus bandwidth.


Perhaps a configuration switch for sv.inf would help to change between compatibility and speed? What do you think?

shoggoth wrote:Thanks :) :) A lot of work went into the drivers, it's a huge project actually.


Actually the work that went into the drivers is recognizable :wink: especially when compared to the state of drivers of other hardware expansions for the falcon had when they were released (Nova, Eclipse, not to mention ctpci in its current state).

SuperVidel drivers were so easy to install and work flawlessly.

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Fri Dec 20, 2013 6:50 pm

patjomki wrote:
shoggoth wrote:So what I did was to set a low resolution on the VIDEL, which somewhat matched the properties of the SV resolution, and while that cured this funny incompatibility it doesn't save bus bandwidth. But now that I think of it, I could disable the VIDEL clock or tweak the timing registers in a way that preserves bus bandwidth.


Perhaps a configuration switch for sv.inf would help to change between compatibility and speed? What do you think?


Actually I think we can have both, so no worries. It's just not something that has been thoroughly investigated, since priority #1 was to get something that was really useful even if it wasn't optimal. We could definitely save STRAM bus bandwidth each time we set a SV-specific mode, that can be arranged.

Actually the work that went into the drivers is recognizable :wink: especially when compared to the state of drivers of other hardware expansions for the falcon had when they were released (Nova, Eclipse, not to mention ctpci in its current state).

SuperVidel drivers were so easy to install and work flawlessly.


This makes me very happy, since I wasn't sure I achieved that goal even though I really really aimed for that. I wanted a solution which "works like the falcon always did", which meant not using fVDI but rather trying to integrate it into the XBIOS/VDI and NVDI. There are still some hickups, but all of them are fixable I think. Thanks for this fine christmas gift :)
Ain't no space like PeP-space.

joska
Hardware Guru
Hardware Guru
Posts: 3624
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: SuperVidel driver annoyances?

Postby joska » Fri Dec 20, 2013 9:47 pm

shoggoth wrote:This makes me very happy, since I wasn't sure I achieved that goal even though I really really aimed for that. I wanted a solution which "works like the falcon always did", which meant not using fVDI but rather trying to integrate it into the XBIOS/VDI and NVDI. There are still some hickups, but all of them are fixable I think. Thanks for this fine christmas gift :)


I hope you plan to document how it works or even publish the sources. Maybe your driver concept can be used on the Afterburner/Eclipse too, as it really needs a more stable VDI solution.
Jo Even

Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Fri Dec 20, 2013 11:03 pm

joska wrote:I hope you plan to document how it works or even publish the sources. Maybe your driver concept can be used on the Afterburner/Eclipse too, as it really needs a more stable VDI solution.


NVDI relies on having a linear framebuffer, and I'm not sure Eclipse has that? (well I guess it *can* work without a linear framebuffer, but the amount of work involved means it's really not feasible).

The TOS VDI could easily support the Eclipse though. It could be fast too. Vector fonts etc could be achieved the Hades way, i.e. by running NVDI sans screen drivers.
Ain't no space like PeP-space.

joska
Hardware Guru
Hardware Guru
Posts: 3624
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: SuperVidel driver annoyances?

Postby joska » Fri Dec 20, 2013 11:18 pm

shoggoth wrote:NVDI relies on having a linear framebuffer, and I'm not sure Eclipse has that?


It sort of does. The Afterburner driver handles this using the MMU.

shoggoth wrote:The TOS VDI could easily support the Eclipse though. It could be fast too.


How? You hook your driver into TOS VDI?

shoggoth wrote:Vector fonts etc could be achieved the Hades way, i.e. by running NVDI sans screen drivers.


Yes, that's what we do today. It works quite well, but unfortunately fVDI and NVDI are not good friends so it's not as stable as it could have been. Nova VDI was rock solid on my Afterburner with the old Nova card (which I regret selling!), both with and without NVDI.
Jo Even

Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Sat Dec 21, 2013 12:23 am

joska wrote:
shoggoth wrote:NVDI relies on having a linear framebuffer, and I'm not sure Eclipse has that?


It sort of does. The Afterburner driver handles this using the MMU.


If this is the case, it could work with NVDI drivers and/or TOS VDI.

shoggoth wrote:The TOS VDI could easily support the Eclipse though. It could be fast too.

How? You hook your driver into TOS VDI?


Yes, there are drivers both for the TOS VDI and for NVDI.

shoggoth wrote:Vector fonts etc could be achieved the Hades way, i.e. by running NVDI sans screen drivers.

Yes, that's what we do today. It works quite well, but unfortunately fVDI and NVDI are not good friends so it's not as stable as it could have been. Nova VDI was rock solid on my Afterburner with the old Nova card (which I regret selling!), both with and without NVDI.


I've never liked fVDI, but it was my initial choice for the SuperVidel. When I saw the sources, the "portable" driver examples, it pissed me off. I won't touch it until it's properly cleaned up (not by me). Nova VDI rocks though.
Ain't no space like PeP-space.

patjomki
Atari freak
Atari freak
Posts: 53
Joined: Fri Mar 09, 2007 11:34 pm

Re: SuperVidel driver annoyances?

Postby patjomki » Sat Dec 21, 2013 1:15 pm

shoggoth wrote:I've never liked fVDI, but it was my initial choice for the SuperVidel. When I saw the sources, the "portable" driver examples, it pissed me off. I won't touch it until it's properly cleaned up (not by me). Nova VDI rocks though.


Now that sources of both fVDI and Nova VDI are available perhaps some day there will be a merged version of both or at least an updated version of Nova VDI.

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Sat Dec 21, 2013 2:37 pm

patjomki wrote:
shoggoth wrote:I've never liked fVDI, but it was my initial choice for the SuperVidel. When I saw the sources, the "portable" driver examples, it pissed me off. I won't touch it until it's properly cleaned up (not by me). Nova VDI rocks though.


Now that sources of both fVDI and Nova VDI are available perhaps some day there will be a merged version of both or at least an updated version of Nova VDI.


I think Nova VDI is the way to go, simply because it's proven, works well with NVDI, and has proper support for offscreen bitmaps and all that stuff.
Ain't no space like PeP-space.

alanh
Hardware Guru
Hardware Guru
Posts: 1377
Joined: Mon Jul 24, 2006 9:01 pm
Location: North Wales, UK

Re: SuperVidel driver annoyances?

Postby alanh » Sat Dec 21, 2013 8:19 pm

Can I ask where to download the Nova VDI sources ?
Falcon CT60, Falcon CT63 x2, TT x3, MegaST x2, MegaSTE x2, STFM x2, STE x2, STacy, STBook, (Dead) Hades 060, Milan 060, T40.

patjomki
Atari freak
Atari freak
Posts: 53
Joined: Fri Mar 09, 2007 11:34 pm

Re: SuperVidel driver annoyances?

Postby patjomki » Sun Dec 22, 2013 1:29 am

alanh wrote:Can I ask where to download the Nova VDI sources ?


They are not for download but I've got the permission from Computerinsel to give them to developers that are interested. Just send me a pm.

mikro
Atari God
Atari God
Posts: 1284
Joined: Sat Sep 10, 2005 11:11 am
Location: Brisbane, Queensland, Australia
Contact:

Re: SuperVidel driver annoyances?

Postby mikro » Tue Dec 24, 2013 2:43 pm

shoggoth wrote:But now that I think of it, I could disable the VIDEL clock or tweak the timing registers in a way that preserves bus bandwidth.

Please do that :) You can do it in the same way screen savers did, tweak the sync signal or so (haven't bothered to check). 320x240/tc/vga/60 hz takes about 16% of CPU time, this is way too much. Or at least include a switch in sv.inf for that. Imagine I want to play Quake as fast as possible, so I don't care whether there's a slight incompatibility for old crazy stuff.

mikro
Atari God
Atari God
Posts: 1284
Joined: Sat Sep 10, 2005 11:11 am
Location: Brisbane, Queensland, Australia
Contact:

Re: SuperVidel driver annoyances?

Postby mikro » Tue Dec 24, 2013 2:45 pm

patjomki wrote:
alanh wrote:Can I ask where to download the Nova VDI sources ?


They are not for download but I've got the permission from Computerinsel to give them to developers that are interested. Just send me a pm.

I'm not sure I understand this -- what help the Nova VDI sources would be for Supervidel (CTCPI?) ?

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Wed Dec 25, 2013 1:32 pm

mikro wrote:
shoggoth wrote:But now that I think of it, I could disable the VIDEL clock or tweak the timing registers in a way that preserves bus bandwidth.

Please do that :) You can do it in the same way screen savers did, tweak the sync signal or so (haven't bothered to check). 320x240/tc/vga/60 hz takes about 16% of CPU time, this is way too much. Or at least include a switch in sv.inf for that. Imagine I want to play Quake as fast as possible, so I don't care whether there's a slight incompatibility for old crazy stuff.


I think it could work without causing any incompatibilities actually. Or... I have to think about it. Some programs check the timing regs to see if they're running in ST-compatible/2bpp modes (some prescaling thing)... An option in sv.inf means incompatibilites could be avoided though.
Ain't no space like PeP-space.

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Wed Dec 25, 2013 1:34 pm

mikro wrote:
patjomki wrote:
alanh wrote:Can I ask where to download the Nova VDI sources ?


They are not for download but I've got the permission from Computerinsel to give them to developers that are interested. Just send me a pm.

I'm not sure I understand this -- what help the Nova VDI sources would be for Supervidel (CTCPI?) ?


None, really. Unless someone plans to port Nova VDI to the SV, which wouldn't make sense either.
Ain't no space like PeP-space.

jury
Captain Atari
Captain Atari
Posts: 167
Joined: Tue Sep 21, 2004 11:11 am
Location: Poland

Re: SuperVidel driver annoyances?

Postby jury » Thu Dec 26, 2013 12:03 pm

mikro wrote:
shoggoth wrote:But now that I think of it, I could disable the VIDEL clock or tweak the timing registers in a way that preserves bus bandwidth.

Please do that :) You can do it in the same way screen savers did, tweak the sync signal or so (haven't bothered to check). 320x240/tc/vga/60 hz takes about 16% of CPU time, this is way too much. Or at least include a switch in sv.inf for that. Imagine I want to play Quake as fast as possible, so I don't care whether there's a slight incompatibility for old crazy stuff.


One more vote for faster Quake! :)

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Sun Dec 29, 2013 11:00 am

I was just browsing the sources, and in SV-resolutions, I do the following on the VIDEL:

Code: Select all

        if(fmt[mode & NUMCOLS].bpp <= 8)
      {
         /*
          * This allows certain (bad) applications to determine
          * the size of the palette etc. based on the current
          * VIDEL register state.
          */
         videl_setmode(VGA | VERTFLAG | (mode & 7));
      }
      else
      {
         /*
          * Preserve bandwidth.
          */

         videl_setmode(VGA | VERTFLAG | BPS1);
      }


Basically: If it's a hicolor/truecolor resolution, it secretly sets the VIDEL into 320x240x1bpp. If it's a <=8bpp mode, it sets the VIDEL into the corresponding bit depth (at 320x240), since this allows hardware banging applications to restore/set the right palette data.

So, what's needed is just a few lines which sets the sync signals in a way that causes no (or little) video data to be fetched by the VIDEL. I need some help here though, because I have no idea. Mikro? Can I borrow some of your brains here? :)

I realized that there *may* be side effects that causes bugs though, because I might be using the VIDEL VBL interrupt for something somewhere. But in such case it's curable.
Ain't no space like PeP-space.

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Sun Dec 29, 2013 12:52 pm

... got some help from my friends at #atariscene :)

Basically I just have to force external sync, and the VIDEL output is shut off completely (unless someone has some external sync thingy connected, which shouldn't be the case. It's not a scenario I'll support anyway).
Ain't no space like PeP-space.

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Tue Dec 31, 2013 8:22 pm

I've added an option for this now, but noticed an obvious side effect: Right now the system still uses the VIDEL VBI to execute the TOS VBL handler, even in SV resolutions. This works, though I wouldn't be surprised if you sometimes notice that the mouse cursor fades/flashes every now and then. The SV has dedicated interrupt vectors for the DVI and VGA outputs (separate ones!), and I need to write some code to manage this stuff.

In this case, this means the new feature "works", but there are side effects for the system which makes it fairly useless at this stage.
Ain't no space like PeP-space.

mikro
Atari God
Atari God
Posts: 1284
Joined: Sat Sep 10, 2005 11:11 am
Location: Brisbane, Queensland, Australia
Contact:

Re: SuperVidel driver annoyances?

Postby mikro » Sun Jan 05, 2014 7:57 pm

shoggoth wrote:Basically I just have to force external sync, and the VIDEL output is shut off completely

That would be my advice as well :)

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3472
Joined: Sat Jun 30, 2012 9:33 am

Re: SuperVidel driver annoyances?

Postby dml » Sun Jan 05, 2014 8:23 pm

mikro wrote:
shoggoth wrote:Basically I just have to force external sync, and the VIDEL output is shut off completely

That would be my advice as well :)


Do you still get vblank when using this method? If that works ok I might adopt it too.

ausl8
Atariator
Atariator
Posts: 28
Joined: Tue May 03, 2011 12:53 am

Re: SuperVidel driver annoyances?

Postby ausl8 » Sun Jan 05, 2014 11:40 pm

This may have been touched on but when I am running 1920 x 1080 x 16 bit resolution the Set Video Display Dialogue in TOS shows the Resolution as 1024 x 768 and other high resolution display settings show the wrong setting in the Resolution box.

I have been unable to get a correct display in any SupeVidel (Super mode) resolutions with Aniplayer. Videl modes seem to work ok.

Finally and this is just a quirk, when I use an RGB monitor on the Videl output i get an Overscan true color display from the NEWDESK.INF file created when running the SuperVidel in 1920 X 1080 x 16bit resolution setting.

User avatar
shoggoth
Nature
Nature
Posts: 853
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: SuperVidel driver annoyances?

Postby shoggoth » Mon Jan 06, 2014 3:34 pm

ausl8 wrote:This may have been touched on but when I am running 1920 x 1080 x 16 bit resolution the Set Video Display Dialogue in TOS shows the Resolution as 1024 x 768 and other high resolution display settings show the wrong setting in the Resolution box.


Basically, the video resolution dialog must have been coded by monkeys on crack. It needs to be rewritten. It is able to switch resolutions, but its insides are pure evil. Sorry about that, I'll improve it later.

I have been unable to get a correct display in any SupeVidel (Super mode) resolutions with Aniplayer. Videl modes seem to work ok.


In this case I actually blame Aniplayer. I strongly suspect that Aniplayer uses a bad way of detecting the current pixel format, and the SuperVidel actually uses the same driver in VIDEL HC and SV HC modes. I have no solution for this right now - it *CAN* be caused by the driver - but my current theory is that it's actually Aniplayer who's to blame for this.

I base this suspicion on other code Didier has written (he detects the pixel format in the console by checking the video base address in TOS, for example.).

Finally and this is just a quirk, when I use an RGB monitor on the Videl output i get an Overscan true color display from the NEWDESK.INF file created when running the SuperVidel in 1920 X 1080 x 16bit resolution setting.


The SuperVidel re-uses these bits in the modecode word for other stuff. Set a standard VIDEL resolutions, save it, reboot. You'll end up sans overscan.
Ain't no space like PeP-space.


Social Media

     

Return to “SuperVidel”

Who is online

Users browsing this forum: No registered users and 1 guest