16:9 aspect ratio

Share graphical tips, notes and queries related to our favourite screen layout and its editors.
Post Reply
User avatar
4thRock
Manic Miner
Posts: 415
Joined: Thu Nov 09, 2017 9:35 am
Location: Portugal

16:9 aspect ratio

Post by 4thRock »

Has anyone considered doing graphics in the modern 16:9 aspect ratio ?
It would give a better presentation on today's screens and the illusion of a larger play area.

And how about adding actual hardware support for aspect ratio change, for example in ULA+ or similar?

I think it makes sense to consider this, but it's just an idea for the sake of discussion :)
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: 16:9 aspect ratio

Post by Ast A. Moore »

16:9?
Image
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Sokurah
Manic Miner
Posts: 283
Joined: Tue Nov 14, 2017 10:38 am
Contact:

Re: 16:9 aspect ratio

Post by Sokurah »

I don't think 16:9 makes any sense on a Spectrum. Most people are probably able to run Spectrum games in the native 4:3 resolutions, but let's consider what it'll take to code something for the 16:9 format. Lots of compromises - not matter how you go about it - though.

Using 16:9 on the Spectrum means it should run a resolution of 256x144 and first of all that means a smaller play field.

But if you show the standard resolution on a 16:9 screen it will be stretched, so if you want to compensate for that you'll need to make the sprites more narrow - or higher than 16 pixels (if we assume that the standard is 16x16 pixels), but that will either mean less detailed sprites or it'll make the play field smaller (as the sprites are larger than normal) ... and that'll impact the performance of the game.

I don't see any other way to do it, so it's probably best to just go with the standard.
... on the other hand - if people were bothered by limitations we wouldn't have stuff like the Nirvana engine ;) :lol:
Website: Tardis Remakes / Mostly remakes of Arcade and ZX Spectrum games.
My games for the Spectrum: Dingo, The Speccies, The Speccies 2, Vallation & Sqij.
Twitter: Sokurah
User avatar
4thRock
Manic Miner
Posts: 415
Joined: Thu Nov 09, 2017 9:35 am
Location: Portugal

Re: 16:9 aspect ratio

Post by 4thRock »

I was thinking about something like this mockup:
Image

Here I've considered stretching, the resolution is the same, only the aspect ratio was changed.

Sure, non-square sprites are not practical, and level design would be strange :)
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: 16:9 aspect ratio

Post by R-Tape »

I wondered about trying this once, back when I used to play everything maximised and at laptop resolution. I even got used to fatter sprites. Things like thinner looking sprites to correct for the stretching.

These days though, I always change to 4/3 when I maximise the screen. So this sounds like crazy talk :-p

Your circle example would be an interesting programming challenge for someone though.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: 16:9 aspect ratio

Post by 1024MAK »

Drifting off topic a little...

It would be fun if a suitable FPGA device could be configured to use two normal ZX Spectrum screen areas side by side. So say the default “normal” screen on the left side of a widescreen video display and say, the 128k machines second screen area on the right hand side of the widescreen video display...

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: 16:9 aspect ratio

Post by tomxp411 »

The problem is that this changes the size of the frame buffer.

THAT necessitates moving things around in memory, since the size of the frame buffer is a well-known, fixed varlable.

While it's theoretically possible to do something like this, it would not work with most existing software. The only thing that would work are text based programs that only use the ROM routines to write to the screen (including BASIC programs).
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: 16:9 aspect ratio

Post by 1024MAK »

Any 16:9 system would be incompatible with most existing software.

The thoughts in my earlier post would be totally incompatible unless you were happy to only use the left hand side of the screen... But the work around for that would be for the FPGA to switch back to normal 4:3 mode.

So if done in hardware (FPGA), the idea would be that the widescreen mode would only be used by software written especially for it.

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
User avatar
djnzx48
Manic Miner
Posts: 729
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: 16:9 aspect ratio

Post by djnzx48 »

There are games on the PC that use non-square pixels. For example, Doom draws to a 16:10 framebuffer, which is stretched up to 4:3 by the monitor: https://doomwiki.org/wiki/Aspect_ratio. As long as you design all the graphics with that in mind you shouldn't necessarily need to alter the framebuffer layout.

I still prefer 4:3 and 5:4 monitors to widescreen in general, as web browsing, or anything to do with text, is a lot easier to deal with when you have more vertical space. Using 16:9 might be good for getting a more 'cinematic' look.
AndyC
Dynamite Dan
Posts: 1388
Joined: Mon Nov 13, 2017 5:12 am

Re: 16:9 aspect ratio

Post by AndyC »

It's not even uncommon for 8-bit micros to use non-square pixels, so I don't think that's a particularly big concern (aside from the fact most graphics aren't designed to stretch like that). More likely to be an issue is that TVs typically don't stretch the image uniformly when they are displaying a 4:3 signal in a 16:9 ratio, but instead apply more stretching to the edges of the screen (where it is typically less likely to be the focus of an shot) than to the centre and not in a particularly predictable way.

A hardware mod which output a true 16:9 signal would resolve that somewhat, but I suspect changing the timings to work with the existing display buffer would be difficult. Providing a different video setup with a true 16:9 aspect ratio and square pixels would be best, but presents a lot of issues trying to retain any sense of compatibility with existing software and the ROM routines etc.
User avatar
4thRock
Manic Miner
Posts: 415
Joined: Thu Nov 09, 2017 9:35 am
Location: Portugal

Re: 16:9 aspect ratio

Post by 4thRock »

For analog PAL, you have WSS signaling that could be used to indicate 4:3 aspect ratio or a "zoom the middle" mode:
https://en.wikipedia.org/wiki/Widescreen_signaling

But from a practical point of view, an interesting option would be to stretch JUST the border area.
An example with an image featuring border effects:
Image
(original here https://zxart.ee/eng/authors/d/diver/me ... -defender/)

Emulators could do this, eventually as some sort of filter.
You get proper proportions and a filled screen with no cropping.
User avatar
Joefish
Rick Dangerous
Posts: 2042
Joined: Tue Nov 14, 2017 10:26 am

Re: 16:9 aspect ratio

Post by Joefish »

1024MAK wrote: Thu Dec 20, 2018 7:16 pm It would be fun if a suitable FPGA device could be configured to use two normal ZX Spectrum screen areas side by side. So say the default “normal” screen on the left side of a widescreen video display and say, the 128k machines second screen area on the right hand side of the widescreen video display...
A two-screen display is actually achieveable with current hardware. The SPECTRA device can be set to display the shadow screen, whilst the Spectrum it's attached to continues to show its ordinary screen. ZX-HD could do it with a fairly simple software mod.

What I keep asking for is an emulator that could do this, or an emulator that could expose its memory to another process (e.g. be able to connect on a debug socket and periodically request 6912 bytes from address 16384) and that process could then render the other screen. This would be to allow development of a game that uses two display screens.

Although I guess what you're asking for is to align the two screens without a border in between on one monitor; I'd like to see the two screens go to separate monitors.

As for 16:9, why not just expand the normal screen, scrap the top and bottom borders, and leave the side ones?
Post Reply