Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Idea: customized videocard BIOS  (Read 10748 times)

0 Members and 1 Guest are viewing this topic.

b3atmania

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 209
  • Last login:November 25, 2005, 09:48:57 am
Idea: customized videocard BIOS
« on: March 07, 2005, 08:53:54 am »
Given that:

- The excellent ArcadeVGA card is made from off-the-shelf components driven by a customized BIOS.
- Many cards can do the same thing by tweaked video registers (as AdvancedMAME does).
 
What is stopping us making a replacement BIOS for common video cards? I would be happy to volunteer creation of a "generic" BIOS for outputting 15kHz signals. I think I have enough x86 assembly language knowledge on to get this done. The functional spec for the "universal" BIOS would be:

- Output in 15kHz on boot for TV and standard resolution monitors.
- Output in 25kHz on boot for medium resolution monitors.
- Output in 31kHz on boot for VGA and tri-sync monitors.
- Implement VESA BIOS calls with as much arcade resolutions as possible for both 15kHz, 25kHz and 31kHz.

Let's discuss how to go about this:

- As a starting point: is a dump of the ArcadeVGA BIOS available?
- Is the ArcadeVGA BIOS copyrighted? Would Andy be willing to release the BIOS source code, perhaps under a licence such as the GPL?
- Another good reference will be SVGALib and AdvancedMAME since many cards work with that setup.

I welcome feedback on this idea. Some issues to sort out are how to replace a BIOS in a card. I noticed some cards have the BIOS ROM in a socket while others have a flash upgradable BIOS. Flash upgradable would obviously be the most convenient. For testing purposes it is not necessary to replace the ROM on the card though.

Please note that I am not starting a commercial project. I fully intent to release source code and/or documentation of the effort.

« Last Edit: March 07, 2005, 11:36:29 am by b3atmania »

SirPeale

  • Green Mountain Man
  • Global Moderator
  • Trade Count: (+23)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 12963
  • Last login:August 04, 2023, 09:51:57 am
  • Arcade Repair in New England
    • Arcade Game and Other Coin-Op Projects
Re: Idea: customized videocard BIOS
« Reply #1 on: March 07, 2005, 09:59:23 am »
Andy has stated many times that the AVGA isn't just a stock card with a custom BIOS.

MonitorGuru

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 774
  • Last login:October 05, 2005, 11:29:43 pm
Re: Idea: customized videocard BIOS
« Reply #2 on: March 07, 2005, 10:36:33 am »
 >:( :police: Well first, any attempt to dump the ArcadeVGA BIOS would involve copyright infringement and therefore is ILLEGAL  :police:   >:(

Second, why would someone who has taken the time to find a series of card that would work, edit the bios, then package and sell the product, suddenly want to GIVE IT AWAY to competition (free source) to kill their business model?  ???


But barring that (copying or asking for help from them), there is nothing illegal/immoral about simply doing the same work yourself and making it available for everyone. 

I've considered the same thing, but there is so little information out there to modify video card BIOS'es (other than hacking them to get faster speeds/etc...) that I have given up attempting to do it as a personal project.

Also, I think, while convient, the ArcadeVGA is overrated.  If only we could control the video card's output during POST and boot, then (almost) any card can be used to drive a VGA monitor once loaded by doing it all in software, instead of firmware.  However it's the post/boot that is the major problem.  Solve that and you don't have to do the entire solution, making it a much easier process.

wpcmame

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 278
  • Last login:February 18, 2024, 01:27:00 pm
Re: Idea: customized videocard BIOS
« Reply #3 on: March 07, 2005, 11:29:26 am »
Andy has stated many times that the AVGA isn't just a stock card with a custom BIOS.
That was true for the old 7000 based since that had extra hardware. AFAIK the new 9200 is a stock card with maybe a different hardware signature to prevent somone from just copying the bios.

I think the main problem with a customized videocard bios is legal. Just changing some display timings and add a few modes will most likely trigger ATI's (or another board manufacturer's) legal department.

Writing a comlete bios for the RV chip isn't an easy task without proper documentation. It will be even more difficult to get the bios ready while the card is still available to buy.


b3atmania

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 209
  • Last login:November 25, 2005, 09:48:57 am
Re: Idea: customized videocard BIOS
« Reply #4 on: March 07, 2005, 11:57:58 am »
Quote
That was true for the old 7000 based since that had extra hardware. AFAIK the new 9200 is a stock card with maybe a different hardware signature to prevent somone from just copying the bios.
A different hardware signature is not gonna prevent copying. In DOS a VGA-compatible card has its BIOS hardwired at address C000:0000. It is trivial to dump the BIOS in DOS mode.

Quote
I think the main problem with a customized videocard bios is legal. Just changing some display timings and add a few modes will most likely trigger ATI's (or another board manufacturer's) legal department.
The legal issue is further complicated by where you live. I am located in Europe where I can legally patch any software. The EU allows this to prevent vendor lock in and to ensure interoperability. Now, many videocard manufactors deny us interoperability with 15/25kHz RGB monitors. Ofcourse, manufactors are not required by EU law to provide assistence getting their product to work with 15/25 KHz RGB monitors. In this case EU-law grants me the option of fixing it myself. Someone living in the USA is probably out of luck as the DMCA prevents them from achieving interoperability in a legal manner.
Quote
Writing a comlete bios for the RV chip isn't an easy task without proper documentation. It will be even more difficult to get the bios ready while the card is still available to buy.
Docs for many chipset and cards are available, witness XFree86 and AdvancedMAME.

elvis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1154
  • Last login:January 13, 2025, 08:48:40 am
  • penguin poker
    • StickFreaks
Re: Idea: customized videocard BIOS
« Reply #5 on: March 07, 2005, 04:00:37 pm »
Here in Australia we too are free from stupid DRM ("Digital Restrictions Management" as RMS calls them) and DMCA style laws (for the short term, at least.... here's hoping out politicians aren't stupid enough to be seduced by wealthy American corporations).

Anyhoo... enough about that political agenda...

I'm all for a project where making 15/25KHz outbut BIOS hacks available to the community can happen.  I've tried myself, but to be honest my hardware and assembly knowledge is grossly lacking, but I'm willing to help anyone else who wants to start such things in any way that I can.

I should say, however, that I will not be a part of any project that bases their work on the ArcadeVGA.  Not for any legal reasons, but for moral ones.  Andy has done a fantastic job with his products, and if anyone wants to compete with him (open source or not) they need to be fair and start from scratch.  If that means the project will take 10 times as long, then so be it.  Theft is theft, no matter how you play it, and I won't be a part of that.

RayB

  • I'm not wearing pants! HA!
  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11279
  • Last login:June 24, 2025, 09:58:27 pm
  • There's my post
    • RayB.com
Re: Idea: customized videocard BIOS
« Reply #6 on: March 07, 2005, 10:47:05 pm »
We could just petition the Big 2 and ask them to add such video modes to their next driver release. (The big 2 being ATI and NVidia)
NO MORE!!

b3atmania

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 209
  • Last login:November 25, 2005, 09:48:57 am
Re: Idea: customized videocard BIOS
« Reply #7 on: March 08, 2005, 05:18:02 am »
>:( :police: Well first, any attempt to dump the ArcadeVGA BIOS would involve copyright infringement and therefore is ILLEGAL  :police:   >:(
For someone who owns an ArcadeVGA card it would not be illegal to dump the BIOS. It would not be illegal to disassemble and study its inner workings either.

Quote
Second, why would someone who has taken the time to find a series of card that would work, edit the bios, then package and sell the product, suddenly want to GIVE IT AWAY to competition (free source) to kill their business model?  ???
It depends on your view. You could also say that if the source to the ArcadeVGA BIOS was available the community will extend its capabilities (to include support for 25kHz modes for example) without Ultimarc incurring development costs. The added value community extensions provide could well mean extra sales for Ultimarc. It works both ways.

Quote
Also, I think, while convient, the ArcadeVGA is overrated.  If only we could control the video card's output during POST and boot, then (almost) any card can be used to drive a VGA monitor once loaded by doing it all in software, instead of firmware.  However it's the post/boot that is the major problem.  Solve that and you don't have to do the entire solution, making it a much easier process.
I think only the situation during POST is problematic. At boot you could indeed do everything in software. It would be fairly trivial to create a bootloader that does some VGA register tweaking. This would allow DOS to boot in 15kHz. In fact, AdvanceMAME has a utility for this, although that starts from AUTOEXEC.BAT and not from the bootstrap loader.

AceTKK

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 664
  • Last login:August 20, 2011, 01:14:48 am
Re: Idea: customized videocard BIOS
« Reply #8 on: March 08, 2005, 12:52:21 pm »
Yes!  I'd been hoping somebody would come along with enough low-lvl programming know-how to take on this project.  I had considered petitioning ATi to add support for arcade monitor frequencies to their unified driver, but I doubt they would consider the market valuable enough to bother doing it.  I'd be happy to help out any way I can. 

On the issue of Andy & Ultimarc; I'd like to avoid hurting his profits as he's been an awesome pioneer and a contributing member of this community.  On the other hand, the whole spirit of this forum is reflected in the "do it yourself" attitude.  If we can hack together a working alternative to a commercial product then I'm all for it.  There will always be a market for those who aren't technically inclined or interested in setting up / troubleshooting a home-brew solution, and the ArcadeVGA will remain attractive option to that market. 

I'm going to do a little research into Radeon BIOS flashing utilities, I know I've come across one or two when experimenting with third-party BIOSes on my old Radeon card.  Let's keep this thread active and hopefully we can find a solution.

-Ace-
I want my own arcade controls!

AndyWarne

  • Trade Count: (+18)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1938
  • Last login:April 11, 2021, 03:37:09 am
    • Ultimarc
Re: Idea: customized videocard BIOS
« Reply #9 on: March 08, 2005, 01:59:02 pm »
I am rather disappointed in some of the replies on this thread. I am sure the original poster had good intentions but some people seem to have taken this as a call to reverse-engineer and copy the ArcadeVGA card.
The card hardware is different. The PLL clock on VGA cards is designed to deal with resolutions up to 1280 and beyond, not down to 240 at 15Khz. The clock generation does not work properly at the low frequencies necessary as anyone who has tried to use Powerstrip to create a low resolution at 15Khz will have found out.
The BIOS is a complete re-write and this represents 6 months of intensive work during which time I nearly gave up many times. It is not just a matter of changing some tables, there is a completely new section of code for example which calculates the pixel clock based on a fixed 15Khz scan rate and enables interlacing if required.
The other point is that the BIOS does not stay static. For example ATI recently replaced the R9200 with R9250. Although this is pin-compatible with the 9200 the BIOS requirements are different, which required me to lock myself in my workshop for 2 weeks. Also using different RAM chips on the board needs a BIOS change.
In order to start this project I had to put a project plan to ATI and sign non-disclosure agreements etc. I do know that they are litigous in this area as some time ago they threatened legal action against someone in Canada who posted their flash utility on a website.
I do agree with the poster above that this is meant to be a DIY forum so I can't blame anyone for asking the questions, but please remember that, as I think anyone of the small band of people such as myself, Randy, Oscar and others would agree, none of us are going to get rich selling to the MAME community! We are all selling specialised low-volume products as prices more suited to a high-turnover commodity. Also the nature of the products require a great deal of support, which hopefully we all give to the best of our abilities.
Preventing us from even covering financial investment would not do any good at all to anyone.
I would suggest an alternative to the ArcadeVGA card is already there: Advanced MAME. This is the DIY solution.
Andy

elvis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1154
  • Last login:January 13, 2025, 08:48:40 am
  • penguin poker
    • StickFreaks
Re: Idea: customized videocard BIOS
« Reply #10 on: March 08, 2005, 04:36:23 pm »
I would suggest an alternative to the ArcadeVGA card is already there: Advanced MAME. This is the DIY solution.
Andy

Very true.  My only issue with AdvanceMAME is a standard PC still needs to post/boot, and does so at 31KHz until I can whack it with a Linux-FBDev driver to drop it back to 15KHz.  For me, I would love to be able to add just a single 15KHz mode to any existing card that can handle such things (older Nvidia cards seem to be OK hitting low-ish pclocks) and tell that mode to initialise at boot. 

I've got no interest in recreating the AVGA, nor competing with it.  I've got the software smarts to use AdvanceMAME, and quite frankly don't need an AVGA for my current project.  All I want is a single, temporary, boot-time modeline that won't kill my monitor.  (In the short term, I'll be using a jPac anyway, with the 15KHz devider for just that purpose).

Having said all of that, I'm also quite disappointed with the folks who are blatantly trying to rip off someone else's continual hard work - not to mention hard work that helps our community daily.  I'm surprised Andy responded in such a calm way.  Where it my project, I would have had some choice words to say.

JoeB

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 628
  • Last login:Yesterday at 06:07:10 am
  • NES Fanatic
Re: Idea: customized videocard BIOS
« Reply #11 on: March 08, 2005, 06:02:21 pm »
Very true.  My only issue with AdvanceMAME is a standard PC still needs to post/boot, and does so at 31KHz until I can whack it with a Linux-FBDev driver to drop it back to 15KHz.

This is where the much cheaper JPAC comes into play.  It will protect your 15kHz monitor by spliting the screen in 2 until your driver loads.

You can also get a D9200 or equivalent monitor.

There's lots of solutions outside or reverse engineering the hard work of a valued member of this community!  Andy is a real standup guy, and deserves every penny!

elvis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1154
  • Last login:January 13, 2025, 08:48:40 am
  • penguin poker
    • StickFreaks
Re: Idea: customized videocard BIOS
« Reply #12 on: March 08, 2005, 09:39:15 pm »
I'd love a D9200 but won't be using one for 2 reasons:

1) Buying from the US doesn't work for we folk in the southern hemisphere thanks to the Earth's magnetic field in our part of the world, and

2) Buying locally costs well over double what you lucky folk in the US/Europe pay thanks to labour and import charges.  Really, it's just not worth the money for we Aussies.

I've got myself a nice quality Kortek monitor which has been repaired and cap-kitted nicely, so it should see another few years yet.  As mentioned, I'll be using a JPAC on this setup for convenience, but again it means ordering from overseas or paying rediculous amounts for local resellers. 

I'd love a DIY solution that didn't rely on buying parts from overseas, which is why I'm sticking my hand up to help in b3atmania's plan if I can.  But again, I will make it very clear that I WILL NOT be a part of any project which rips off any closed-source product (Andy's good work, or anyone else's).  Either leverage existing open-source projtects and give credit where due, or write it from scratch.  There are no other options.

Oh, and while I'm here, this is another great example of why the world should scrap BIOSes and move to Open Firmware instead.

wpcmame

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 278
  • Last login:February 18, 2024, 01:27:00 pm
Re: Idea: customized videocard BIOS
« Reply #13 on: March 09, 2005, 05:00:13 am »
The low pclock is a non-issue. You can just double the horizontal resolution and let mame double the pixels for you. The monitor knows nothing about pixels and only sees the intensity changes between them so the picture will look the same on the monitor.

Also using AVGA with a monitor that supports both 15 and 31Khz is an overkill. There is no picture difference between a 31KHz mode with software scanlines and a 15KHz mode with hardware scanlines on the same monitor. (The AVGA is still easier to use since you don't need to create any modes yourself but it is rather easy to create custom 31KHz modes on most cards)

elvis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1154
  • Last login:January 13, 2025, 08:48:40 am
  • penguin poker
    • StickFreaks
Re: Idea: customized videocard BIOS
« Reply #14 on: March 09, 2005, 05:31:26 am »
I'm far more interested in 15KHz hardware modes for arcade monitor preservation (as in, making sure mine doesn't go bang) as opposed to anything else.  Again, I can use software to force low-res modes AFTER boot.  DURING boot is another story.

b3atmania

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 209
  • Last login:November 25, 2005, 09:48:57 am
Re: Idea: customized videocard BIOS
« Reply #15 on: March 09, 2005, 06:05:20 am »
Quote
There is no picture difference between a 31KHz mode with software scanlines and a 15KHz mode with hardware scanlines on the same monitor. (The AVGA is still easier to use since you don't need to create any modes yourself but it is rather easy to create custom 31KHz modes on most cards)
Indeed not much of a difference visually. However, software scanlines require CPU cycles to render. Also because you essentially double the resolution (by interleaving the picture with black lines) you also need a framebuffer twice as large. This means copying a rendered frame to the buffer will take a lot longer. For high-end PCs this might not matter but for ageing scrap hardware this is certainly a consideration.

Silver

  • Wiki Contributor
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1668
  • Last login:April 16, 2025, 04:09:53 pm
  • Cunning like the Fox.
    • Mods'n'Mods
Re: Idea: customized videocard BIOS
« Reply #16 on: March 09, 2005, 07:38:33 am »
I thought there was more than jsut scanlines making a difference?

Running mame with scanlines on my pc monitor does not seem to look anything like running mame at 15Khz? Looks very pixel-ly...

SirPeale

  • Green Mountain Man
  • Global Moderator
  • Trade Count: (+23)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 12963
  • Last login:August 04, 2023, 09:51:57 am
  • Arcade Repair in New England
    • Arcade Game and Other Coin-Op Projects
Re: Idea: customized videocard BIOS
« Reply #17 on: March 09, 2005, 07:52:11 am »
I'm still waiting for Andy to put the technology he uses in the J-PAC in his video amp.  He said at one point that he'd be doing it, but not yet.  It's for a project (actually, a series of projects) that I don't need many inputs for (needs seven inputs, so I hacked a keyboard) so a J-PAC is way overkill.

Eventually I'll probably just have to give up waiting, and make a timer circuit for monitor delay.

wpcmame

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 278
  • Last login:February 18, 2024, 01:27:00 pm
Re: Idea: customized videocard BIOS
« Reply #18 on: March 09, 2005, 10:20:44 am »
I thought there was more than jsut scanlines making a difference?
Running mame with scanlines on my pc monitor does not seem to look anything like running mame at 15Khz? Looks very pixel-ly...
That is because pc monitors got much finer dot-pitch. The picture wouldn't look any more arcade-like if you could run your pc monitor at 15KHz.

How arcade-like the picture look depends on the monitor tube, not on the electronics controlling it.

When a monitor runs in 15KHz it skips every second line but when using software scanlines, every second line is black. Unless there is a difference between not drawing a line and drawing a black line the picture is the same.


desmatic

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 216
  • Last login:June 25, 2006, 02:25:53 pm
    • Easy MameCab
Re: Idea: customized videocard BIOS
« Reply #19 on: March 09, 2005, 03:21:35 pm »
I'm still waiting for Andy to put the technology he uses in the J-PAC in his video amp.  He said at one point that he'd be doing it, but not yet.  It's for a project (actually, a series of projects) that I don't need many inputs for (needs seven inputs, so I hacked a keyboard) so a J-PAC is way overkill.

No doubt.  A stand alone protection circuit would certainly be a great toy.

For those considering dumping the bios, yes, it's easy to do.  The rage3d folks have been doing it for a while now, and back when a Radeon 32MB DDR was hot stuff, I actually wrote a bootdisk for the rage3d guys that automated the whole thing.  Anyways, my recommendation to anyone considering it, get the orginal ArcadeVGA.  Aside from the selfless reasons (supporting Andy's time investment) there's also the selfish ones to consider.  A lot of goofballs who didn't know what they were doing flashed the wrong models and killed their cards.  Not to mention, the retail version of the card with an identical chipset (assuming your clever enough to identify it) will cost you pretty much the same and guess what?  It won't work as well if it uses an inferior DAC.  So why bother?

As far as the calculations go.  I've finally finished writing a modeline calculator for DOS/Windows/Linux, though I haven't had the time yet to test it fully.  Its calculations are accurate to whatever a double on your OS is, and there are NO rounding errors for fixed frequency calculations, meaning its more accurate than the DAC on your video card, which should be the only limiting factor.  It was written with only one thing in mind, MAME and arcade monitors.   Sourceforge project lrmc (low resolution modeline calculator).  I've just got a Wellsgardner k7200, which I'll be testing the 15kHz calculations on for a number of video cards.  I've tested the output already using an ossilloscope and so far everything's worked nicely.  The configuration I'm using is totally new and different from anything out there.  I'm not testing it on an open source driver, I'm actually using Nvidia's Linux driver to run MAME at 15kHz, meaning no more waiting for, or debuging open source drivers.  If you've got an Nvidia card, you should be all set.  PClock mins are a mute issue as well, as long as you're using advance MAME.  If you know me, you'll also know that you can rest assured that not a single pixel has been neglected, mistreated, or forgotten.  Aspect ratios are correct for underscanned modes, it supports an infinite number of totally independant modeline formats (which will let you take full advantage of D9200 type monitors), you can also pick your modeline preference, from best picture, to best vsync, or best combination.
« Last Edit: March 09, 2005, 04:16:05 pm by desmatic »

elvis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1154
  • Last login:January 13, 2025, 08:48:40 am
  • penguin poker
    • StickFreaks
Re: Idea: customized videocard BIOS
« Reply #20 on: March 09, 2005, 09:45:35 pm »
Desmatic, I'm looking forward to seeing this in action.  Your site has helped me greatly in the past, and I'll be using msot of your setup and tools for my next linux/15KHz setup.

Silver

  • Wiki Contributor
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1668
  • Last login:April 16, 2025, 04:09:53 pm
  • Cunning like the Fox.
    • Mods'n'Mods
Re: Idea: customized videocard BIOS
« Reply #21 on: March 10, 2005, 05:26:48 am »
yes that sounds fantastic... although I'm using XP/Radeon drivers. how is it implimented? Does it make the extra display settings available to the system? or is it command line based?

desmatic

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 216
  • Last login:June 25, 2006, 02:25:53 pm
    • Easy MameCab
Re: Idea: customized videocard BIOS
« Reply #22 on: March 10, 2005, 08:31:02 am »
yes that sounds fantastic... although I'm using XP/Radeon drivers. how is it implimented? Does it make the extra display settings available to the system? or is it command line based?

It's command line based, written in C (although I originally wrote it in perl), so it'll run on any platform, regardless of the graphics driver you are using.
« Last Edit: March 10, 2005, 08:35:17 am by desmatic »

wpcmame

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 278
  • Last login:February 18, 2024, 01:27:00 pm
Re: Idea: customized videocard BIOS
« Reply #23 on: March 10, 2005, 11:16:36 am »
This means that you can't use it for xmame or the official mame, as neither support integer stretch, which you will need to work around pclock mins lower than 12mHz on Arcade Monitors.
Don't know about xmame but official mame supports integer stretch. It is called cleanstreatch.

-cleanstretch [option] / -cs [option]

   Stretch the image to integer ratios only. This may leave a black border
   around the image in fullscreen mode. The options are:

      none       disable. This will cause artifacts when using
             scanlines.
      auto       let the blitter decide. The d3d module will select
             the best option.
      full       always stretch to integer ratios both horizontally
             and vertically.
      horizontal  always stretch to integer ratios horizontally.
      vertical    always stretch to integer ratios vertically.

   The default is AUTO (-cleanstretch auto). This option requires -ddraw
   or -direct3d.
 

Silver

  • Wiki Contributor
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1668
  • Last login:April 16, 2025, 04:09:53 pm
  • Cunning like the Fox.
    • Mods'n'Mods
Re: Idea: customized videocard BIOS
« Reply #24 on: March 10, 2005, 11:55:37 am »
Thats interesting.... I'm currently running windows on ati's radeon drivers, and I have an interesting presentation monitor (NEC xm29+) that supposedly supports 15Khz-60Khz (or at least up to 1024x768@60Hz).
 I say supposedly as I need to test that it does not really mean 15Khz,31-60Khz as another pres monitor I had di just that (it internally line-doubled 15Khz inputs to 31Khz.)

I've been told thats its true multisync over the whole range though, which in theory makes it like a D9200, I think. If so I'd like to use it (obviously!) to run all games at native resolutions and still have a nice windows display.

I'm guessing I'll need to play with powerstrip, but if anyone knows a handy way to get a radeon to fire 15/25Khz signals to test let me know.

Apologies for taking this slightly off-topic...

desmatic

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 216
  • Last login:June 25, 2006, 02:25:53 pm
    • Easy MameCab
Re: Idea: customized videocard BIOS
« Reply #25 on: March 10, 2005, 12:12:16 pm »
This means that you can't use it for xmame or the official mame, as neither support integer stretch, which you will need to work around pclock mins lower than 12mHz on Arcade Monitors.
Don't know about xmame but official mame supports integer stretch. It is called cleanstreatch.

-cleanstretch [option] / -cs [option]

   Stretch the image to integer ratios only. This may leave a black border
   around the image in fullscreen mode. The options are:

      none       disable. This will cause artifacts when using
             scanlines.
      auto       let the blitter decide. The d3d module will select
             the best option.
      full       always stretch to integer ratios both horizontally
             and vertically.
      horizontal  always stretch to integer ratios horizontally.
      vertical    always stretch to integer ratios vertically.

   The default is AUTO (-cleanstretch auto). This option requires -ddraw
   or -direct3d.
 

I remember reading about it some time ago but never got a round to testing it (I don't have Windows installed on anything anymore).  But do you know if the official version fully support integers stretch, like 3:1 or 3:2 or other such goofy combinations.  I wasn't sure if it only supported scaled stretching like 2:2 or 3:3, etc.
« Last Edit: March 10, 2005, 12:28:48 pm by desmatic »

wpcmame

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 278
  • Last login:February 18, 2024, 01:27:00 pm
Re: Idea: customized videocard BIOS
« Reply #26 on: March 10, 2005, 01:12:15 pm »
But do you know if the official version fully support integers stretch, like 3:1 or 3:2 or other such goofy combinations.

desmatic

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 216
  • Last login:June 25, 2006, 02:25:53 pm
    • Easy MameCab
Re: Idea: customized videocard BIOS
« Reply #27 on: March 10, 2005, 02:44:19 pm »
But do you know if the official version fully support integers stretch, like 3:1 or 3:2 or other such goofy combinations.  I wasn't sure if it only supported scaled stretching like 2:2 or 3:3, etc.
Stretching in official mame is tricky.
cleanstretch can stretch 2:3 etc but the result depends on other settings. If you use hardwarestretch the image will probably be antialiased.
For scaling there is a direct3d option "zoom" which if I understand correctly can use hardware but doesn't alter the image in any way.

So optimal settings should be:
For 2:2 etc -hardwarestretch -direct3d -zoom 2
For 2:1 etc -nohwardwarestretch -cleanstretch full

(or just use -nohardwarestretch -cleanstretch full for all games)

Wow, that's great stuff.   I imagine the performance hit for integer stretching would hardly be measurable, so no great loss.  If the stretching is being done by MAME's core and not through directx, then it should also work in XMAME.  I look into it tonight.

If anyone knows the Windows registry location for either Nvidia cards or Radeon cards, I might be inspired to contrive a registry output / format for Windows users.  The MAME faq link for modelines doesn't take me anywhere useful, so far as I can see.  And google doesn't seem to be offering up any hints either.

Update:  I can't find any feature that enables automatic integer stretching for XMAME, however, you can easily stretch images using -hs -ws.
« Last Edit: March 10, 2005, 04:28:38 pm by desmatic »

desmatic

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 216
  • Last login:June 25, 2006, 02:25:53 pm
    • Easy MameCab
Re: Idea: customized videocard BIOS
« Reply #28 on: March 10, 2005, 04:35:19 pm »
Thats interesting.... I'm currently running windows on ati's radeon drivers, and I have an interesting presentation monitor (NEC xm29+) that supposedly supports 15Khz-60Khz (or at least up to 1024x768@60Hz).
 I say supposedly as I need to test that it does not really mean 15Khz,31-60Khz as another pres monitor I had di just that (it internally line-doubled 15Khz inputs to 31Khz.)

I've been told thats its true multisync over the whole range though, which in theory makes it like a D9200, I think. If so I'd like to use it (obviously!) to run all games at native resolutions and still have a nice windows display.

I'm guessing I'll need to play with powerstrip, but if anyone knows a handy way to get a radeon to fire 15/25Khz signals to test let me know.

I don't know how to use powerstrip, however, the task is easy enough in advancemame.  As far as your monitor is concerned, if it's a true multisync you don't want to use more than one modeline format.  The d9200 is more like a multiple fixed frequency monitor than a multisync monitor and benefits from using more than one modeline format.

Silver

  • Wiki Contributor
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1668
  • Last login:April 16, 2025, 04:09:53 pm
  • Cunning like the Fox.
    • Mods'n'Mods
Re: Idea: customized videocard BIOS
« Reply #29 on: March 11, 2005, 06:10:49 am »
Thanks for the feedback. I am slightly confused when you say only use 1 modeline format. I thought the main advantage of Advancemame is that it will generate custom modelines for each game for perfect emulation....

And if my monitor is multi-sync, then - like a d9200 - I would want to use the full range (15/25/31).

Or when you say format do you mean that d9200 behaves differently switching from 15 to 25 than a true multisync would?

wpcmame

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 278
  • Last login:February 18, 2024, 01:27:00 pm
Re: Idea: customized videocard BIOS
« Reply #30 on: March 11, 2005, 07:01:49 am »
Thanks for the feedback. I am slightly confused when you say only use 1 modeline format. I thought the main advantage of Advancemame is that it will generate custom modelines for each game for perfect emulation....
There is a difference between a modeline and modeline format. Advmame generates modelines for each game based on the modeline format.

The modeline format describes how much of each line that is visible on the monitor and how long time that required for sync, retrace and blanking.

Unfortunatly these properties are expressed as fractions of the line length and not in microseconds so the same modeline format will not work for 25KHz where each line is 40us and 15KHz where each line is 64us.

Quote

Silver

  • Wiki Contributor
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1668
  • Last login:April 16, 2025, 04:09:53 pm
  • Cunning like the Fox.
    • Mods'n'Mods
Re: Idea: customized videocard BIOS
« Reply #31 on: March 11, 2005, 07:42:52 am »
ah so modeline format is the same as Advancemames device_video_format....

Thanks for clearing that up.

Although if I have a multisync monitor over the range 15-31Khz, I presumably will still need multiple modeline formats? Or am I still missing something?

desmatic

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 216
  • Last login:June 25, 2006, 02:25:53 pm
    • Easy MameCab
Re: Idea: customized videocard BIOS
« Reply #32 on: March 11, 2005, 09:14:23 am »
ah so modeline format is the same as Advancemames device_video_format....

Thanks for clearing that up.

Although if I have a multisync monitor over the range 15-31Khz, I presumably will still need multiple modeline formats? Or am I still missing something?

It's a bit more complicated than that.
« Last Edit: March 11, 2005, 09:29:11 am by desmatic »

Silver

  • Wiki Contributor
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1668
  • Last login:April 16, 2025, 04:09:53 pm
  • Cunning like the Fox.
    • Mods'n'Mods
Re: Idea: customized videocard BIOS
« Reply #33 on: March 11, 2005, 10:12:02 am »
Thanks for the great explanation - I'm pretty handy with tv signals (mainly pal/ntsc) and monitor stuff but the modeline understanding had eluded me....

Much appreciated.