Widescreen mode and kos ?
- BlueCrab
- The Crabby Overlord
- Posts: 5666
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 9 times
- Been thanked: 69 times
- Contact:
Re: Widescreen mode and kos ?
Scanlines is the number of lines that are displayed on the screen, and clocks is the number of clock cycles per line (of the video encoder, I believe). Hence, with a display that is the same number of lines vertically, it would make sense that those numbers would not change. Those numbers control the number of vertical lines, and have nothing to do with horizontal.
Re: Widescreen mode and kos ?
I made tests yesterday and this is the results :
In VGA mode
First, I test the known resolution :
DM_320x240_VGA shows the exact 320x240 texture, and the monitor reports 640x480 60 Hz (31.4 Hz)
DM_640x480_VGA shows the exact 640x480 texture, and the monitor reports 640x480 60 Hz (31.4 Hz)
I played with settings and I see :
- a 768x480 texture, the monitor reports 720x576 50Hz (31.2Khz). I use the settings for the PAL 768x576. I try to have 720x480 60Hz but i didn't find a working setting.
- playing with the 640x480 settings and modifying the bitmapx and bitmapy settings, i achieved in seeing a 740x480 texture on my 16/10 monitor and a 680x480 on my 16/9 one. Both reports the 640x480 resolution but shows more. (or the dreamcast video card reduced the 740 to 640).
In NTSC mode
DM_320x240_NTSC_IL shows the exact 320x240 texture
DM_640x480_NTSC_IL shows 640x480 texture, but with a little part cut in top (y is from 10 to 480)
DM_768x480_NTSC_IL doesn't show 768x480 but like my tests in vga mode, we see horizontaly from 64 to 700.
Playing with settings, namely with borderx and bordery i can see horizontally from 0 to 650 but, this has no interest, because it gives the same as 640x480.
In PAL mode
DM_640x480_PAL_IL shows the exact 640x480 texture
DM_256x256_PAL_IL show the exact 256x256 texture but we can only see the half of the screen (like we have a 256*512 and we only have 256*256)
DM_768x576_PAL_IL doesn't work. I can only see garbage picture on top of the screen.
DM_768x480_PAL_IL gives the same as in VGA and NTSC : namely horizontaly from 64 to 700.
Conclusion
I'd like to find a software which can help to calculate scanline / clocks because these settings set up the resolution : use 524/857 and you'll have 640x480 60 Hz, use 624/863 and you'll have 720x576 50 Hz as my tests report in VGA mode. I tried to play with this settings and my 16/10 monitor shows something but says "unknows resolution" but it works. But 16/9 tv doesn't like and says 'not supported resolution'.
The bitmapx and bitmapy set at which point the display starts from the framebuffer.
The borderx and bordery hide some parts of the screen. That's why I can display more using the 640x480. But if you give a bad setting, the screen shows very bad things (waves and bad colors).
In vga mode, i tried to modify scanint1 and scanint2 to see the effect, but they don't change anything.
I'm sorry i didn't find great things but I'd like to sum up here. I hope someone can help with the scanlines / clocks settings. A 720x480 in 60Hz would be perfect.
In VGA mode
First, I test the known resolution :
DM_320x240_VGA shows the exact 320x240 texture, and the monitor reports 640x480 60 Hz (31.4 Hz)
DM_640x480_VGA shows the exact 640x480 texture, and the monitor reports 640x480 60 Hz (31.4 Hz)
I played with settings and I see :
- a 768x480 texture, the monitor reports 720x576 50Hz (31.2Khz). I use the settings for the PAL 768x576. I try to have 720x480 60Hz but i didn't find a working setting.
- playing with the 640x480 settings and modifying the bitmapx and bitmapy settings, i achieved in seeing a 740x480 texture on my 16/10 monitor and a 680x480 on my 16/9 one. Both reports the 640x480 resolution but shows more. (or the dreamcast video card reduced the 740 to 640).
In NTSC mode
DM_320x240_NTSC_IL shows the exact 320x240 texture
DM_640x480_NTSC_IL shows 640x480 texture, but with a little part cut in top (y is from 10 to 480)
DM_768x480_NTSC_IL doesn't show 768x480 but like my tests in vga mode, we see horizontaly from 64 to 700.
Playing with settings, namely with borderx and bordery i can see horizontally from 0 to 650 but, this has no interest, because it gives the same as 640x480.
In PAL mode
DM_640x480_PAL_IL shows the exact 640x480 texture
DM_256x256_PAL_IL show the exact 256x256 texture but we can only see the half of the screen (like we have a 256*512 and we only have 256*256)
DM_768x576_PAL_IL doesn't work. I can only see garbage picture on top of the screen.
DM_768x480_PAL_IL gives the same as in VGA and NTSC : namely horizontaly from 64 to 700.
Conclusion
I'd like to find a software which can help to calculate scanline / clocks because these settings set up the resolution : use 524/857 and you'll have 640x480 60 Hz, use 624/863 and you'll have 720x576 50 Hz as my tests report in VGA mode. I tried to play with this settings and my 16/10 monitor shows something but says "unknows resolution" but it works. But 16/9 tv doesn't like and says 'not supported resolution'.
The bitmapx and bitmapy set at which point the display starts from the framebuffer.
The borderx and bordery hide some parts of the screen. That's why I can display more using the 640x480. But if you give a bad setting, the screen shows very bad things (waves and bad colors).
In vga mode, i tried to modify scanint1 and scanint2 to see the effect, but they don't change anything.
I'm sorry i didn't find great things but I'd like to sum up here. I hope someone can help with the scanlines / clocks settings. A 720x480 in 60Hz would be perfect.
Alice Dreams Tournament Dreamcast fans : http://www.facebook.com/alicedreamst
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
- BlueCrab
- The Crabby Overlord
- Posts: 5666
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 9 times
- Been thanked: 69 times
- Contact:
Re: Widescreen mode and kos ?
This makes sense, since internally each line and each horizontal pixel gets doubled in this mode (the flags VID_PIXELDOUBLE | VID_LINEDOUBLE are set).patbier wrote:DM_320x240_VGA shows the exact 320x240 texture, and the monitor reports 640x480 60 Hz (31.4 Hz)
Those two probably also include the horizontal blanking and synchronization areas, which would explain the wavyness/color oddities when you mess with them.The borderx and bordery hide some parts of the screen. That's why I can display more using the 640x480. But if you give a bad setting, the screen shows very bad things (waves and bad colors).
These just change where interrupts happen on the scanline (something like the old hblank interrupts you could get on older consoles/computers to do neat effects where you'd change things based on the line you were on).In vga mode, i tried to modify scanint1 and scanint2 to see the effect, but they don't change anything.
Re: Widescreen mode and kos ?
As I proposed to Ayla and DarkstackDev, here is the code I use to test the custom resolution settings :
EDIT : ONLY TO TEST ON VGA
As you can see I need to set up the resolution before pvr_init and after.
In case you need it, here is the makefile :
and you need to have the resol.png in a directory "romdisk"
Please post your tests !
EDIT : ONLY TO TEST ON VGA
Code: Select all
/*
File : resolution.c
Let's test the resolution !
*/
#include <stdio.h>
#include <stdlib.h>
#include <dc/pvr.h>
#include <dc/maple.h>
#include <dc/maple/controller.h>
#include <png/png.h>
#include <dc/video.h>
static pvr_ptr_t txr;
int loadImage(int *l, char *fichier,int taille,int transparence,int flou) {
int tr;
int im;
if (transparence) tr=PNG_FULL_ALPHA; else tr=PNG_NO_ALPHA;
*l= (int)((int *) (pvr_mem_malloc(taille * taille * 2)));
im=png_to_texture(fichier,(int *) *l ,tr);
return 1;
}
void Draw(
pvr_ptr_t texture,
int x1,
int y1,
int x2,
int y2,
int a,
int r,
int g,
int b,
int transparence,
int taille,
double z)
{
pvr_poly_cxt_t cxt;
pvr_poly_hdr_t hdr;
pvr_vertex_t vert;
int tr;
int couleur;
double m1=0,m2=1,min=0,max=1;
if (transparence) {tr=PVR_LIST_TR_POLY; couleur=PVR_TXRFMT_ARGB4444;} else {tr=PVR_LIST_OP_POLY; couleur=PVR_TXRFMT_RGB565;}
pvr_poly_cxt_txr(&cxt, tr, couleur, taille,taille, texture,0);
cxt.txr.uv_clamp = PVR_UVCLAMP_NONE;
cxt.gen.culling = PVR_CULLING_NONE;
pvr_poly_compile(&hdr, &cxt);
pvr_prim(&hdr, sizeof(hdr));
vert.argb = PVR_PACK_COLOR (((double)a / 255),((double)r / 255),((double)g / 255),((double)b / 255));
vert.oargb = 0;
vert.flags = PVR_CMD_VERTEX;
vert.x = x1;
vert.y = y1;
vert.z = z;
vert.u = m1;
vert.v = min;
pvr_prim(&vert, sizeof(vert));
vert.x = x2;
vert.y = y1;
vert.z = z;
vert.u = m2;
vert.v = min;
pvr_prim(&vert, sizeof(vert));
vert.x = x1;
vert.y = y2;
vert.z = z;
vert.u = m1;
vert.v = max;
pvr_prim(&vert, sizeof(vert));
vert.x = x2;
vert.y = y2;
vert.z = z;
vert.u = m2;
vert.v = max;
vert.flags = PVR_CMD_VERTEX_EOL;
pvr_prim(&vert, sizeof(vert));
}
int check_start() {
maple_device_t *cont;
cont_state_t *state;
cont = maple_enum_type(0, MAPLE_FUNC_CONTROLLER);
if (cont) {
state = (cont_state_t *)maple_dev_status(cont);
if (!state)
return 0;
if(state->buttons & CONT_START)
return 1;
}
return 0;
}
void do_frame() {
pvr_wait_ready();
pvr_scene_begin();
pvr_list_begin(PVR_LIST_OP_POLY);
Draw(txr,0,0,1024,1024,255,255,255,255,0,1024,0.1f);
pvr_list_finish();
pvr_scene_finish();
}
static pvr_init_params_t pvr_params = {
{ PVR_BINSIZE_16, PVR_BINSIZE_0, PVR_BINSIZE_16, PVR_BINSIZE_0,
PVR_BINSIZE_0 },
1024* 1024
};
extern uint8 romdisk[];
KOS_INIT_ROMDISK(romdisk);
//TEST 768x480 VGA 60Hz
// DM_768x480_VGA
// my monitor displays 720x576 50Hz
// I can see 720x480;
vid_mode_t vid_768 =
{
DM_768x480,
736, 480,
0,
CT_VGA,
0,
624, 863,
96, 18,
0x18, 0x104,//24,260
0x36, 0x34b,//54,843
0x2c, 0x26c,//44,620
0, 1,
{ 0, 0, 0, 0 }
};
int main(int argc, char *argv[]) {
vid_mode_t vidMode;
printf("---Testing resolution---\n");
printf("Press Start to exit.\n");
/* if you want to test a custom one */
memset( &vidMode, 0, sizeof(vid_mode_t));
memcpy( &vidMode, &vid_768, sizeof(vidMode));
vidMode.pm = PM_RGB565;
vidMode.cable_type = vid_check_cable();
vid_set_mode_ex( &vidMode);
pvr_init(&pvr_params);
vid_set_mode_ex( &vidMode);
/* if you want to test a KOS one */
/*vid_set_mode(DM_768x480_PAL_IL,PM_RGB565);
pvr_init(&pvr_params);
vid_set_mode(DM_768x480_PAL_IL,PM_RGB565);*/
loadImage((int *)((int)&(txr)),"/rd/resol.png",1024,0,0);
/* Go as long as the user hasn't pressed start on controller 1. */
while(!check_start()) {
do_frame();
}
return 0;
}
In case you need it, here is the makefile :
Code: Select all
#
# Basic KallistiOS skeleton / test program
# (c)2001 Dan Potter
#
# Put the filename of the output binary here
TARGET = resolution.elf
# List all of your C files here, but change the extension to ".o"
OBJS = resolution.o romdisk.o
all: rm-elf $(TARGET)
include $(KOS_BASE)/Makefile.rules
clean:
-rm -f $(TARGET) $(OBJS) romdisk.*
rm-elf:
-rm -f $(TARGET)
$(TARGET): $(OBJS)
$(KOS_CC) $(KOS_CFLAGS) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) \
$(OBJS) $(OBJEXTRA) -lpng -lz -lm -lkosutils $(KOS_LIBS)
romdisk.img: romdisk/resol.png
$(KOS_GENROMFS) -f romdisk.img -d romdisk -v
romdisk.o: romdisk.img
$(KOS_BASE)/utils/bin2o/bin2o romdisk.img romdisk romdisk.o
run: $(TARGET)
$(KOS_LOADER) $(TARGET) -n
dist:
rm -f $(OBJS) romdisk.*
$(KOS_STRIP) $(TARGET)
Please post your tests !
- Attachments
-
- resol.png (18.94 KiB) Viewed 3276 times
Last edited by patbier on Thu Jul 29, 2010 1:09 am, edited 1 time in total.
Alice Dreams Tournament Dreamcast fans : http://www.facebook.com/alicedreamst
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
- BB Hood
- DC Developer
- Posts: 189
- Joined: Fri Mar 30, 2007 12:09 am
- Has thanked: 41 times
- Been thanked: 10 times
Re: Widescreen mode and kos ?
Code: Select all
--
KallistiOS ##version##: Sun Jul 18 03:15:42 PDT 2010
THE HOODSTA@home-9jedm11dwa:/usr/local/dc/kos/kos
thd: pre-emption enabled, HZ=100
maple: active drivers:
Dreameye (Camera): Camera
Sound Input Peripheral: Microphone
PuruPuru (Vibration) Pack: JumpPack
VMU Driver: Clock, LCD, MemoryCard
Mouse Driver: Mouse
Keyboard Driver: Keyboard
Controller Driver: Controller
DMA Buffer at ac0a0680
vid_set_mode: 640x480IL NTSC
dc-load console support enabled
maple: attached devices:
A0: Dreamcast Controller (01000000: Controller)
A1: Visual Memory (0e000000: Clock, LCD, MemoryCard)
---Testing resolution---
Press Start to exit.
vid_set_mode: 736x480 NTSC
pvr: enabling vertical scaling for non-VGA
vid_set_mode: 736x480 NTSC
png_to_texture: can't open /rd/resol.png
Re: Widescreen mode and kos ?
Have you create a directory "romdisk" and put the resol.png in ?
Do you use the makefile I posted ?
When you launch "make", does it create a "romdisk.img" ?
Do you use the makefile I posted ?
When you launch "make", does it create a "romdisk.img" ?
Alice Dreams Tournament Dreamcast fans : http://www.facebook.com/alicedreamst
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
-
- DC Developer
- Posts: 414
- Joined: Thu Aug 20, 2009 11:00 am
- Has thanked: 0
- Been thanked: 2 times
Re: Widescreen mode and kos ?
I'd love an 800x600 VGA mode as that's the highest my TIMM hooked to the DC handles.
- BB Hood
- DC Developer
- Posts: 189
- Joined: Fri Mar 30, 2007 12:09 am
- Has thanked: 41 times
- Been thanked: 10 times
Re: Widescreen mode and kos ?
Yes, Yes, Yespatbier wrote:Have you create a directory "romdisk" and put the resol.png in ?
Do you use the makefile I posted ?
When you launch "make", does it create a "romdisk.img" ?
EDIT: Added #include <kos.h> to your headers and the makefile I used:
Code: Select all
TARGET = dcp.elf
OBJS = resolution.o
all: rm-elf $(TARGET)
include $(KOS_BASE)/Makefile.rules
clean:
-rm -f $(TARGET) $(OBJS) romdisk.*
rm-elf:
-rm -f $(TARGET) romdisk.*
$(TARGET): $(OBJS) romdisk.o
kos-c++ -o $(TARGET) $(OBJS)romdisk.o -lpng -lz -lkosutils -lm
romdisk.img:
$(KOS_GENROMFS) -f romdisk.img -d romdisk -v
romdisk.o: romdisk.img
$(KOS_BASE)/utils/bin2o/bin2o romdisk.img romdisk romdisk.o
run: $(TARGET)
$(KOS_LOADER) $(TARGET)
dist:
rm -f $(OBJS) romdisk.o romdisk.img
$(KOS_STRIP) $(TARGET)
Code: Select all
--
KallistiOS ##version##: Sun Jul 18 03:15:42 PDT 2010
THE HOODSTA@home-9jedm11dwa:/usr/local/dc/kos/kos
thd: pre-emption enabled, HZ=100
maple: active drivers:
Dreameye (Camera): Camera
Sound Input Peripheral: Microphone
PuruPuru (Vibration) Pack: JumpPack
VMU Driver: Clock, LCD, MemoryCard
Mouse Driver: Mouse
Keyboard Driver: Keyboard
Controller Driver: Controller
DMA Buffer at ac0a1280
vid_set_mode: 640x480IL NTSC
fs_romdisk: mounting image at 0x8c05b884 at /rd
dc-load console support enabled
maple: attached devices:
A0: Dreamcast Controller (01000000: Controller)
A1: Visual Memory (0e000000: Clock, LCD, MemoryCard)
---Testing resolution---
Press Start to exit.
vid_set_mode: 736x480 NTSC
pvr: enabling vertical scaling for non-VGA
vid_set_mode: 736x480 NTSC
However, for my computer screen (VGA). It displays 736x480.
- BlueCrab
- The Crabby Overlord
- Posts: 5666
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 9 times
- Been thanked: 69 times
- Contact:
Re: Widescreen mode and kos ?
That's pretty easy to explain. Your TV won't do more than ~240 lines due to the fact that the video mode you're setting doesn't have interlacing enabled. Enable interlacing, and you'll probably have 480.BB Hood wrote:but... the TV screen flickers. The width goes to about 700 and the height goes a little bit past 240.
However, for my computer screen (VGA). It displays 736x480.
- BB Hood
- DC Developer
- Posts: 189
- Joined: Fri Mar 30, 2007 12:09 am
- Has thanked: 41 times
- Been thanked: 10 times
Re: Widescreen mode and kos ?
^ You're right but it still flickers. Is the main goal only to get this to work on computer screens or regular ntsc tv's as well?
Re: Widescreen mode and kos ?
Ok thanks for your tests ! It shows that my monitor and yours don't understand the resolution the same way... I'm sorry I should have told that it was for vga tests only, as my goal was to find a 720 * 480 resolution in vga, and these settings gave 720 x 576 50 Hz on my monitor.
Can you tell me which monitor / tv do you use ? (lcd, crt, plasma, led ?) and the model ?
Which vga box do you use ?
Thanks.
Can you tell me which monitor / tv do you use ? (lcd, crt, plasma, led ?) and the model ?
Which vga box do you use ?
Thanks.
Alice Dreams Tournament Dreamcast fans : http://www.facebook.com/alicedreamst
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
- Christuserloeser
- Moderator
- Posts: 5948
- Joined: Thu Aug 28, 2003 12:16 am
- Location: DCEvolution.net
- Has thanked: 10 times
- Been thanked: 0
- Contact:
Re: Widescreen mode and kos ?
That is a problem with most HDTVs and monitors: They won't support anything other than the VGA standard's 640x480 at 60Hz. If you go above that (without meeting some higher standard like 800x600 at 60Hz) it won't work on the vaaaast majority of TVs and monitors out there.
The same goes for VGA at 50Hz. My CRT monitor supports 640x480 at 50Hz but no other HDTV, EDTV, or monitor I've had access to during the recent years does. (I tested it with Beats of Rage which got a 50Hz version)
The model of the VGA box isn't really important as they all work the same way anyway. It's the Dreamcast that does output the VGA, not the box.
The same goes for VGA at 50Hz. My CRT monitor supports 640x480 at 50Hz but no other HDTV, EDTV, or monitor I've had access to during the recent years does. (I tested it with Beats of Rage which got a 50Hz version)
The model of the VGA box isn't really important as they all work the same way anyway. It's the Dreamcast that does output the VGA, not the box.
Insane homebrew collector.
- BB Hood
- DC Developer
- Posts: 189
- Joined: Fri Mar 30, 2007 12:09 am
- Has thanked: 41 times
- Been thanked: 10 times
Re: Widescreen mode and kos ?
Monitor: Samsung SyncMaster 712N 17 inch LCD
TV: Symphonic ST419E TV 27 inch (Not too sure about this one)
TV: Symphonic ST419E TV 27 inch (Not too sure about this one)
-
- DC Developer
- Posts: 414
- Joined: Thu Aug 20, 2009 11:00 am
- Has thanked: 0
- Been thanked: 2 times
Re: Widescreen mode and kos ?
That depends on the TV. My $350 HDTV supports all VESA modes up to 1920x1200p. It's actually pretty rare (from what I've seen) that an HDTV wouldn't support the majority of VESA modes. Even my 15" SDTV supports most VESA modes (scaled to fit the small screen). For an LCD TV, it's merely a matter of scaling the input to the LCD resolution. Since LCDs are rarely the resolution of the the input, scaling is a natural part of the system... so it comes down to how flexible the scaler is. My HDTV is 1280x736, so it scales EVERYTHING but the computer, which I have set to its natural resolution.Christuserloeser wrote:That is a problem with most HDTVs and monitors: They won't support anything other than the VGA standard's 640x480 at 60Hz. If you go above that (without meeting some higher standard like 800x600 at 60Hz) it won't work on the vaaaast majority of TVs and monitors out there.
Re: Widescreen mode and kos ?
Thanks for all your answers. Sadly it seems that it will be very very difficult to have a native widescreen resolution.
So, the only solution would be to stay in 640*480 and render the scene so that when the tv will stretch it, it will be fine.
So, the only solution would be to stay in 640*480 and render the scene so that when the tv will stretch it, it will be fine.
Can you tell me more Quzar ? Thanks.Quzar wrote:The other way to do it that I've found (in 2D) is to have a separate set of textures for widescreen and have them be 'thinner'. By doing this you avoid some of the distortion of the original squashing before the TV expands it. The only issue to deal with is that many TVs that do a widescreen stretch do not do it evenly across the whole image (so the very edge pixels may still be 1:1 then the ones in the center of the screen may be 2:1, very annoying).
Alice Dreams Tournament Dreamcast fans : http://www.facebook.com/alicedreamst
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
- Quzar
- Dream Coder
- Posts: 7499
- Joined: Wed Jul 31, 2002 12:14 am
- Location: Miami, FL
- Has thanked: 4 times
- Been thanked: 10 times
- Contact:
Re: Widescreen mode and kos ?
Previously what you were trying to do was expand the resolution, so that you could fit more content onto the screen and the tv would stretch it out properly. In my alternative method (which afaik is what the commercial widescreen games did) you instead shrink the content to fit more.patbier wrote:Thanks for all your answers. Sadly it seems that it will be very very difficult to have a native widescreen resolution.
So, the only solution would be to stay in 640*480 and render the scene so that when the tv will stretch it, it will be fine.
Can you tell me more Quzar ? Thanks.Quzar wrote:The other way to do it that I've found (in 2D) is to have a separate set of textures for widescreen and have them be 'thinner'. By doing this you avoid some of the distortion of the original squashing before the TV expands it. The only issue to deal with is that many TVs that do a widescreen stretch do not do it evenly across the whole image (so the very edge pixels may still be 1:1 then the ones in the center of the screen may be 2:1, very annoying).
I don't have the proper ratios calculated, but for instance, if you were to make every sprite narrower by X% you could fit more on the screen width. When the widescreen TV stretches from 4:3 to 16:9 then the result is that the sprites end up being the aspect ratio you desire, but you were able to fit more on the screen.
This is the same (general) way that anamorphic video works. It is stored fullscreen in an incorrect aspect ratio, then stretched by the projector lens or tv/dvd player.
"When you post fewer lines of text than your signature, consider not posting at all." - A Wise Man
Re: Widescreen mode and kos ?
Thanks for the answer.
Alice Dreams Tournament Dreamcast fans : http://www.facebook.com/alicedreamst
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
- Christuserloeser
- Moderator
- Posts: 5948
- Joined: Thu Aug 28, 2003 12:16 am
- Location: DCEvolution.net
- Has thanked: 10 times
- Been thanked: 0
- Contact:
Re: Widescreen mode and kos ?
Does anyone know how Ikaruga does it ?
I know it's not widescreen but it seems to render the game in 480x640 but displays it vertically in a 640x480 window.
Couldn't this method be used to render a widescreen game in say: 768x480 and then display it squeezed in a 640x480 window ?
I know it's not widescreen but it seems to render the game in 480x640 but displays it vertically in a 640x480 window.
Couldn't this method be used to render a widescreen game in say: 768x480 and then display it squeezed in a 640x480 window ?
Insane homebrew collector.
-
- DC Developer
- Posts: 9951
- Joined: Sun Dec 30, 2001 9:02 am
- Has thanked: 0
- Been thanked: 1 time
Re: Widescreen mode and kos ?
Doing some rough math, 75% should work.Quzar wrote:I don't have the proper ratios calculated, but for instance, if you were to make every sprite narrower by X% you could fit more on the screen width. When the widescreen TV stretches from 4:3 to 16:9 then the result is that the sprites end up being the aspect ratio you desire, but you were able to fit more on the screen.
Ikagura is done in 3D, so they probably just manipulate the projection / view matrix to squash the rendered image, and then use clipping to clip it into that window.Christuserloeser wrote:I know it's not widescreen but it seems to render the game in 480x640 but displays it vertically in a 640x480 window.
Couldn't this method be used to render a widescreen game in say: 768x480 and then display it squeezed in a 640x480 window ?