VOGONS


I might have accidentally implemented Normal4x.

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 21 of 26, by augnober

User metadata
Rank Member
Rank
Member

The most common 4:3 LCD resolution (1280x1024) isn't mentioned at all, while x960 is.

Slightly off-topic here.. but 1280x1024 is 5:4, whereas 1280x960 is 4:3. Since the LCD display that I've been using for years is natively 1280x1024 with square aspect, I've noticed that a surprising proportion of software simply uses 1280x1024 resolution as if it has a 4:3 aspect by default and proceeds to render everything in a vertically stretched aspect (and since I notice this, I find it rather annoying). When aspect options are offered, often 5:4 is frustratingly absent. To get correct aspect, sometimes the only good solution is to select 1280x960 (which ends up slightly letterboxed) and make sure that the scaling options in my drivers are adjusted such that no further scaling will occur.

Reply 22 of 26, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

@Elamaton: I try to make my sources buildable on other platforms (sans win32 features naturally)...MT32 emulation should be fairly crossplatform, it might just build on Mac.
I also have another feature with direct3d (which could be ported to ogl easily, other outputs would need more work; I didn't implement this for other outputs to stay compatible with official dosbox) - integral scaling. Direct3D output will with aspect=false, try to fill fullscreenresolution with as much picture as possible using integral scaling factors. This happens to make a rather interesting effect: a 320x200 game will be scaled to 1280x1000 on a 1280x1024 LCD screen. This gives the sharpest pixels possible (since 4x is used in the horizontal direction and 5x vertical), slight letterboxing and fairly close to real 4:3 AR and no bilinear scaling step.

http://www.si-gamer.net/gulikoza

Reply 23 of 26, by Elamaton

User metadata
Rank Newbie
Rank
Newbie

obviously you aren't and I guess there are 99,99999999% illegal owners of the ROMs...

For any given emulator, close to 100% of the users are using it in illegal ways, either exclusively or by complementing legal uses - mostly by simply playing games they don't own, some people by owning ROMs that complement the emulator's functionality (e.g. ScummVM's MT-32 support, MAME with its NeoGeo BIOS ROMs etc.) Yet this in no way hinders the development of those emulators. This illegality is a silently acknowledged fact which, for obvious reasons, isn't really discussed much. And that's fine. I won't call it immoral or "wrong", though, as long as there is no way of monetarily compensating the owners of any given intellectual property, i.e. games you can no longer buy, or MIDI synthesizers no longer manufactured.

Quite frankly, I had hoped for good Mt32 emulation myself but after ages of no further development I gave up and bought a real one. Look at the Mt32 forum, the emulation is far from perfect, some may even say far from good and the code hasn't changed in almost 2 years.

OK, good to know. Thank you. In principle, I hold fast that emulation is the way to go in supporting MT-32 in the future, i.e. I don't want it / use it enough to actually buy one. "Far from perfect" may still be good enough, especially for people who haven't owned a real MT-32.

But enough about that. My focus in this thread is Normal4x, the whole MT-32 remark was a parenthesised off-topic digression, almost a postscript that ended up getting more focus than I thought it would.

As for getting the devs to add anything you want to main Dosbox sources you definitely are going the wrong way, you are only hardening their views on such things...

I admit to being intentionally abrasive. The normal way, the default convention even, to approach the core devs in any open source project is groveling: "Please, you most exalted of developers, would you do this humble wretch the wholly undeserved favor of sparing a second or two of your divinely precious time to look at this embarrassingly lacking bit of code I obscenely call a 'patch' in my complete insolent ignorance and lack of perspective? Indeed, I should be spanked silly and sent home to learn respect!"

I'll have none of that. I've seen it too much. It's useless and infuriating ego massaging. The real issue, the code, and the functionality it provides, should always speak for itself. Personalities should have nothing to do with it. Was the approach uncalled for in this instance? Maybe to a degree, but I wanted to see how it would play out if I not only didn't grovel, but went as far as question their judgement in various issues. And I am convinced at this stage of being right about the usefulness of 4x scaling and its perceivable advantage to the other Normal scalers when used with LCD screens of 1280x1024 and beyond.

Will the devs see it my way after all this? Maybe not. Will Normal4x make it to the next release where one or more scalers are added, whenever that is? Maybe not. But given the comments by the devs, in the spirit of "there's no need for 4x scaling, 2x and 3x work just fine on my 15" CRT from 1994!" make me think that no matter how I approached it, there's some curmudgeonly resistance somewhere that would make them resist the addition anyway.

Personality clashes aside, I've given explanations, clarifications, justifications, screenshots and references to neutral testimonials about how it is superior to 3x in several clearly defined scenarios. It has no clear technical drawbacks (at least none have been expressed yet), but it has clear advantages to many people. It's not "frightening" (i.e. completely unknown) code that would take ages to integrate, it's a copy-paste extrapolation of the 2x and 3x code, so it's technically more their code than mine. There's not much more I can do.

If that's not enough, then I can only express my disappointment and disgust at the whole thing and move on with my life.

Reply 24 of 26, by Elamaton

User metadata
Rank Newbie
Rank
Newbie
augnober wrote:

The most common 4:3 LCD resolution (1280x1024) isn't mentioned at all, while x960 is.

Slightly off-topic here.. but 1280x1024 is 5:4, whereas 1280x960 is 4:3.

Agh. You are correct, of course. Carelessness on my side, too busy with the whole anti-Valve rant 😉

Reply 25 of 26, by Elamaton

User metadata
Rank Newbie
Rank
Newbie
gulikoza wrote:

@Elamaton: I try to make my sources buildable on other platforms (sans win32 features naturally)...MT32 emulation should be fairly crossplatform, it might just build on Mac.

OK, I'll have to try that. Your builds are very nice, I've just been relying on the binaries so far (the whole normal4x debacle is the first instance I've ever tried my hand at compiling DOSBox).

integral scaling(...)This gives the sharpest pixels possible (since 4x is used in the horizontal direction and 5x vertical), slight letterboxing and fairly close to real 4:3 AR and no bilinear scaling step.

OK, I'll have to try that with various different LCD's (1280x1024, 1680x1050 with fullresolution=1400x1050, 1900x1200 with fullresolution=1600x1200 - otherwise aspect=false would, if I understood correctly, stretch the image to 16:10?).

Still, I am of the opinion that 4x (and in the future, 5x, 6x etc.) is beneficial. MAME is the shining example when it comes to scaling compared to any emulator out there, and it accepts -prescale up to 8(!). Like with Normal scalers, there is the bilinear scaling step, but as long as the Nearest Neighbor scaling ends up as near as possible to the target resolution (i.e. the less "distance" the bilinear step has to cover), the slight softening of the image caused by the bilinear step is actually beneficial, depending on taste. To me, that is exactly the case; it makes the image a bit more CRT-like and authentic, and I prefer it over all the other methods. And the resulting AR is precisely 4:3, not merely near it. Large enough NN scaling is extremely important here, or the softening will be too severe.

I'm planning on building a retro PC at some point with a pivoting 24" LCD, and I know that prescale factors well beyond 3 will come into use when running MAME. Bomb Jack, a vertical game, is 224 x 256. Given that a vertically pivoted display is 1200x1900, I can afford to use -prescale 5, making the pre-bilinear resolution 1120x1280. You can imagine how much better the image will look than if I only had 3x scaling (672x768) available 😀 I'm a bit scared at how DOSBox and WinUAE will look, although I've read that the upcoming 1.50 version of WinUAE has major improvements in that area.

The DOSBox devs may not see a personal need for more than 3x, especially if you're still running CRTs. But please acknowledge that for a portion of your user base, such a thing is significant. That's all. Thank you.