Page 1 of 1

Minimig with Amigavision and Aspect Ratio Correction

Posted: Sun Sep 03, 2023 8:39 pm
by bfbiii

First, Amigavision is great!

Second, there are even more complicated ways to do this, but I leave that for others; smarter people; people who have slept recently ;-) This covers the bare minimum.

Third, unfortunately, "Jim Sachs mode" has a complication. As far as I can tell the concept that Amiga NTSC Low-res (320x200) has a 5:6 PAR is derived by stretching 320x200 into a 4:3 frame, now it's 320x240, done... I wish things were that easy...

There's a go-to tool for this job: Rec. 601.

The sample rate of NTSC 1:1 progressive pixels derived from Rec. 601 is 135/22 MHz

NTSC Amiga Low-res dot clock is 315/44 MHz

(135/22)/(315/44)
=
6:7 NTSC Low-res PAR

That's it.

Consequently 320*(6/7):200
or
48:35 is your NTSC Low-res DAR (display aspect ratio for 320x200)

If that seems fishy, deriving a correction from Rec. 601 matches anything that I know about that has been corrected on MiSTer: NES, SNES, Genesis, etc. It's pretty much "the way"--to paraphrase Star Wars.


Ok, PAL Low-res just because. (1:1 PAR for PAL is reasonable because the real numbers are crazy.)

The sample rate of PAL 1:1 progressive pixels derived from Rec. 601 is 59/8 MHz

PAL Amiga Low-res dot clock is 709379/100000 MHz

so..
(59/8)/(709379/100000)
=
737500:709379 PAL Low-res PAR

Therefore 320*(737500/709379):256
or
921875:709379 is your PAL Low-res DAR (display aspect ratio for 320x256)

Personally, I don't like DAR. The pertinent info is the PAR correction to the horizontal axis. I just wrote out DAR for the playfield so people can visualize the situation.

#OnlyAmigaMakesItPossible

The margins of this site will fuss with these, but you can download to see more accurate differences.

PAR 5-6.png
PAR 5-6.png (40.73 KiB) Viewed 7078 times

↑NTSC Capture with 5:6 PAR↑

PAR 6-7.png
PAR 6-7.png (48.06 KiB) Viewed 7078 times

↑NTSC Capture with 6:7 PAR↑


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Tue Sep 05, 2023 5:34 pm
by limi
bfbiii wrote: Sun Sep 03, 2023 8:39 pm

Third, unfortunately, "Jim Sachs mode" has a complication. As far as I can tell the concept that Amiga NTSC Low-res (320x200) has a 5:6 PAR is derived by stretching 320x200 into a 4:3 frame, now it's 320x240, done... I wish things were that easy...

There's a go-to tool for this job: Rec. 601.

The point of the “Jim Sachs mode” is exactly that; stretch 320×200 into 4:3, regardless of the Rec 601 standard. You can see this in e.g. the instructional videos for DPaint III from that time. Amiga monitors had adjustment knobs that allowed you to fill the screen, and this is how artists like Jim Sachs used it — it can be seen in action here:

So while the Rec 601 calculations seem reasonable, it’s not how those artists used the Amiga, and that’s exactly why the “Jim Sachs mode” exists :)

[Rec 601] is a standard originally issued in 1982 by the CCIR […] for encoding interlaced analog video signals in digital video form. It includes methods of encoding 525-line 60 Hz and 625-line 50 Hz signals

…which is not the case on the Amiga. In interlaced mode, an NTSC display is 400 lines (482 with
overscan), while a PAL display is 512 lines (566 with overscan).

And as always, there’s no “one true answer” for these things. At the time we adjusted the image to fit the screen as well as possible — often on a per-game basis — using the built-in monitor controls. I’m sure some of them would have ended up closer to 6:7 PAR rather than the 5:6 PAR we currently use, and I want to make it clear that I’m not saying you are wrong, just that there was no fixed standard size — but we both agree that the correct NTSC PAR certainly isn’t 1:1, which is what most emulators use.

We’re trying to get as close to the “tall NTSC PAR” as possible while still preserving integer scaling as well as not requiring you to manually switch in the OSD when you switch between NTSC and PAL games, and that’s why the feature currently works the way it does.


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Tue Sep 05, 2023 6:34 pm
by bfbiii

I understand your response. And you are of course free to stretch to exactly 4:3 if you like. And there is no doubt artists worked from all sorts of uncalibrated monitors, and were perfectly capable of making a Commodore monitor pixel shape bend to their will. I know the 5:6 is popular and that could be enough to offer it as an option, even though a calibrated monitor does not behave this way.

If you calibrate your 1084 or any standard CRT it will conform to the numbers in rec 601 for low-res content--well within reason, I know my 1084s claim 1% tolerance in the manual. If you send the CRT a non-standard low-res signal, it works as I have explained. I understand the Amiga is using a non-standard signal, non-standard signals are exactly what the 135/22 MHz NTSC low-res progressive correction is for.

The many decades of compliance to rec601 is so deep, the derivation of its figures & timings predate the Amiga, with roots in RS-170 from the 1950s.

I do have to run, but I would consider that offering THE industry standard for digitizing PAL & NTSC low-res content is worthwhile for this core, especially since non-standard offerings are already there for everyone to use. It conforms to TVs which many Amiga users used, and it is the standard being used on MiSTer cores that have received this sort of attention as well.


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Tue Sep 05, 2023 7:56 pm
by limi

Thank you for that additional context, I will think about what our options for possibly offering that kind of setup would be. And if you have example configurations already made, I’d love to try them out!


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Tue Sep 05, 2023 8:10 pm
by bfbiii

It will take me a bit. I have not looked at MiSTer stuff in maybe a year, and I just checked in because I got sick! Thank you for Amigavision to pick up my spirits during that. Hopefully this weekend I can look at scaler stuff or beg for help!!!


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Wed Sep 06, 2023 7:50 pm
by bfbiii

Posting these here to make following along easier for anyone interested. Let's assume someone is ;-)

320x200-SQUARE PIXELS.png
320x200-SQUARE PIXELS.png (26.57 KiB) Viewed 6527 times

↑The square pixel presentation that rightly upset Jim Sachs↑

4-3  (by way of 5-6 PAR).png
4-3 (by way of 5-6 PAR).png (44.11 KiB) Viewed 6527 times

↑Stretching to exactly 4:3 by forcing Amiga NTSC Low-res into a 5:4 PAR↑

48-35 (by way of 6-7 Amiga NTSC PAR).png
48-35 (by way of 6-7 Amiga NTSC PAR).png (45.18 KiB) Viewed 6527 times

↑Amiga NTSC Low-res 6:7 PAR derived from the speed of its dot clock compared to the standard sampling speed of Rec. 601. The thing to add to MiSTer maybe someday↑

Now there is another popular option for this piece of art, but I'm holding back for the moment, so we can concentrate on what is being talked about above. So keep eyes above...

okay...

For the sake of transparency that option is to simply present the image with 10:11 NTSC pixels (derived from Rec. 601, of course!). This does look reasonable, but it does not account for the fact that the Amiga NTSC Low-res dot clock is not the same speed as the sampling speed of Rec. 601 (or half the speed in the case of this progressive content). The Amiga dot clock is faster, thus its derived pixels are narrower. But here is that example.

29-20 (by way of 10-11 NTSC PAR).png
29-20 (by way of 10-11 NTSC PAR).png (47.32 KiB) Viewed 6527 times

↑NTSC pixels solution, despite Amiga dot clock not really doing this↑


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Thu Sep 07, 2023 3:42 am
by bfbiii

Using the "alternate" minimig rbf from the Download All Script to avoid the scaler voodo I don't know. Custom ratio for NTSC 320x200 games...

[minimig
custom_aspect_ratio_1=55:42

I take it you need that ratio because MiSTer is storing 330x216 for these games. 330*(6/7)/216 = 55/42

With scaling set to 1920x1080, this gives you a 320x200 play area scaled to 1372x1000. That's on the money for NTSC.

That play area in perfect math is 48:35 or 1.37142857142:1. 1372x1000 is obviously 1.372:1

Here is a direct capture of that from MiSTer HDMI out. Download to really see the scaling because the margins of this site will mangle it otherwise.

Turk-Yo.png
Turk-Yo.png (41.88 KiB) Viewed 6450 times

Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Thu Sep 07, 2023 7:59 pm
by bfbiii

It looks like Amigavision has that set as “World” title, 60Hz: NTSC, 1:1 PAR at 5×
So...

Turk-Yo-World.png
Turk-Yo-World.png (38.1 KiB) Viewed 6278 times

Which is more or less what it looks like for a PAL user with a PAL monitor that doesn't switch. Maybe a deep cut, but it's a choice!


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Thu Sep 07, 2023 9:06 pm
by limi

There were a few US Cinemaware games that hadn’t been updated to “Sachs NTSC”, now fixed — thanks!


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Thu Sep 07, 2023 10:22 pm
by bfbiii

I guess there is some irony here as I started this thread to demonstrate the slightly wider spec from rec 601 rather than forced 4:3, but here are other games I'm seeing that looked like they are using 1:1 pixels rather than your Jim Sachs pixels.

Wings
It Came From The Desert
Secret of Monkey Island I
Secret of Monkey Island II
Indy in Atlantis
Who Framed Roger Rabbit


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Thu Sep 07, 2023 11:03 pm
by limi

✅ Wings — fixed in the Cinemaware update earlier
✅ It Came From The Desert — fixed in the Cinemaware update earlier
✅ Secret of Monkey Island I — fixed, thanks!
✅ Secret of Monkey Island II — fixed, thanks!
✅ Indy in Atlantis — fixed, thanks!
✅ Who Framed Roger Rabbit — did not know this was a Jim Sachs game, thanks!


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Fri Sep 08, 2023 1:38 am
by bfbiii

I was having trouble finding anything niche with the Sachs pixels; should have just gone with Defender of the Crown... but why are you calling that 5/6 PAR? That is a only 4 pixels off from exactly 6/7 PAR. Wider than 6/7 PAR technically.

Defender of the Crow: 372x216 * 5x = 1860x1080
1860*(6/7) = 1594
That brings us to 1594x1080 fur the FULL Amiga picture
Here is the difference between that math and what you have.

WorkDoneDid.gif
WorkDoneDid.gif (1.33 MiB) Viewed 6165 times

A play area of 1376x1000 instead of 1372x1000

Unless you are seeing something different on your build, my humble suggestion is do absolutely nothing but change the documentation. 6/7 PAR for NTSC and 737500:709379 PAR or about 1.04:1 PAR for PAL which you round to 1:1.


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Fri Sep 08, 2023 1:41 am
by FoxbatStargazer

Aren't the Lucasart games based on US EGA monitors for PC? (I guess PAL EGA monitors are the same anyway, 60hz....)


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Fri Sep 08, 2023 1:58 am
by bfbiii

I think you see the similarities between the EGA releases and Amiga releases when you use an NTSC monitor or use rec 601 to correct in the digital domain. I don't know a ton about the development of them except it seems people had fun :-)


Re: Minimig with Amigavision and Aspect Ratio Correction

Posted: Fri Sep 08, 2023 7:38 pm
by bfbiii

My dirty hack for NTSC games in the 07.17.7 release that are in widescreen is a 2nd custom resolution:

custom_aspect_ratio_2=385:303

Desert.png
Desert.png (30.61 KiB) Viewed 5953 times