320x200 a 120 hz ¿cuántos khz serían?
Vamos a ver Recap, me da igual esta discusión a lo que voy es a configurar los drivers, así que esto es lo último que voy a decir porque se sale del hilo.
Para salir de dudas haz una prueba muy sencilla: carga en msdos puro un juego antiguo en VGA: el Doom, el Operation Wolf , el Golden Axe, el Blood Money... se verá perfectamente a 320x200 (con sus pixelotes eso sí) en un monitor de PC, ahora tal cual conecta la salida VGA a un monitor/tv de 15 khz y verás una bonita maraña de lineas fuera de sincronia.
Si haces la misma prueba con un PC1512 por ejemplo, que solo tenia CGA, y con un juego en CGA, 320x200 4 colores, lo más probable es que se vea correctamente en el monitor/tv de 15 khz (pero nunca lo he comprobado).
Recuerdo en ordenadores que solo tenian CGA o EGA (PC1512 ó PC1640) y su monitor propio que se veian scanlines que yo no veia en mi ordenador VGA con el mismo juego. En ordenadores con VGA se usaban monitores que soportasen VGA, que eran distintos a los anteriores y lógicamente tenían más definición y un dot-pitch más pequeño para soportar mayores resoluciones, no es ninguna aberración ni podredumbre, a nadie se le pasa por la cabeza usar autocad en un monitor arcade de 15 khz, los ordenadores pretenden ser versátiles. Las VGA emulaban CGA y ello provocaba incompatibilidades en ciertas ocasiones.
Mira, aqui tienes una descripción del modo que digo:
https://en.wikipedia.org/wiki/Mode_13h
https://en.wikipedia.org/wiki/Vga
Una de las virtudes de la ArcadeVGA es precisamente emitir estos modos a 15khz.
De acuerdo que segun las ecuaciones deberian ser modos a 15khz, pero eso dañaria los monitores VGA y usaban ciertos trucos para emitir a más frecuencia.
Y ahora tengo curiosidad por ver esos juegos en su resolución nativa de 320x200 en un monitor arcade a 15khz, aunque no fuera esa con la idea que se programaron, y me da exactamente igual si el haz de electrones sube o baja por el tubo 15700 veces por segundo. Simplemente necesito que mi ordenador tenga disponible la resolución de 320x200 a 15khz para cuando se le antoje al DosBOX usarla. Que es precisamente a lo que iba.
Calamity, efectivamente estaba usando el VMM y ARCADE_OSD antiguos, así que no le haría mucho caso o lo que salia antes como resoluciones tipo 240x192 a pantalla completa en Arcade_OSD (algo debia estar mal).
Con los nuevos la cosa cambia, ahora sí que añade los modos correctamente, incluso de 200 líneas o menos, pero hay muchos que bloquean el ordenador y dejan la pantalla en negro.
Ahora sí que el Dosbox elige las resoluciones correctamente a su antojo, aunque cuando elije 320x200, nada más se ve la mitad superior de la imagen pero estirada a toda la pantalla. El Rastan que probablemente use 320x224 o algo similar pero distinto a 320x200 se ve bien durante el juego, pero con unas franjas negras enormes. Cuando no es juego le pasa lo mismo: solo se ve media imagen estirada.
En Arcade_OSD aparecen muchos modos de todo tipo, algunos funcionan bien pero otros como les de se bloquea el ordenador (y creo que si un programa intenta usarlos se bloquea tambien).
Por las pruebas que he hecho:
- snes perfecto a pantalla completa con scroll suave
- master system perfecto a pantalla completa con franjas negras, scroll suave con vsync
- nes perfecto a pantalla completa con scroll suave
- genesis/mega cd etc: antes iba perfecto a pantalla completa con scroll suave, ahora es una de las resoluciones que bloquea el ordenador
- n64, perfecto aunque parpadea un poco a 640x480 (entrelazado)
-groovy mame, cadillac & dinosaurs, perfecto a 384x224, scroll suave, con una extraña ralentizacion puntual (pero las letras de los menus de mame se ven muy borrosas, al pulsar TAB).
Pego mi ReslLst.txt
## Desktop ##
640 x 480 @ 30.000000 desktop
## PC ##
320 x 200 @ 60.000000 pc
320 x 200 @ 50.000000 pc
320 x 240 @ 60.000000 pc
320 x 240 @ 50.000000 pc
## Family Computer - Nintendo Entertainment System ##
256 x 240 @ 60.098000 famicom
## Mark III - Master System ##
248 x 192 @ 60.000000 mastersys
256 x 192 @ 60.000000 mastersys
## PC Engine - Turbo Grafx ##
336 x 224 @ 60.000000 pcengine
544 x 242 @ 59.922743 pcengine
## Mega Drive - Genesis ##
256 x 224 @ 60.000000 megadrive
320 x 224 @ 60.000000 megadrive
## Super Famicom - SNES ##
256 x 224 @ 60.098475 superfam
256 x 239 @ 50.000000 superfam
512 x 478 @ 25.000000 superfam
512 x 448 @ 30.000000 superfam
## PC-8800 ##
640 x 200 @ 60.000000 pc88
## PC-9800 ##
640 x 400 @ 60.000000 pc98
## Sharp X-68000 ##
256 x 240 @ 55.450000 x68000
256 x 256 @ 55.450000 x68000
512 x 480 @ 55.450000 x68000
512 x 512 @ 55.450000 x68000
768 x 512 @ 55.450000 x68000
## Amiga ##
320 x 256 @ 50.000000 amiga
## Game Boy Advance ##
240 x 160 @ 59.730000 gba
## Aux. ##
240 x 200 @ 59.730000 aux
256 x 244 @ 60.000000 aux
256 x 240 @ 60.098475 aux
320 x 240 @ 54.140000 aux
320 x 244 @ 59.410646 aux
384 x 240 @ 59.629403 aux
## Arcade ##
336 x 240 @ 60.000000 aaa
384 x 224 @ 60.000000 cps
Y mi VVMaker.ini
; VideoModeMaker - Options
; ------------------------
; 1. MAME
; -------
; Path for Mame executable, in case we want to extract xml information from it.
MameExe = "c:\Mame\mame.exe"
; Path for Mame ini folder, in case we want to create an ini file for each game.
; Important: existing ini files will be overwritten.
IniPath = "c:\Mame\ini\"
; Mame options.
ListFromXML = 1 ; Processes Mame XML and get video mode list from it
GenerateXML = 1 ; Extracts XML from Mame (only needed once)
OnlyListMain = 0 ; Only list resolutions for games contained in MameMain.txt
GenerateInis = 0 ; Creates an ini file for each Mame game, in the IniPath folder
SDLMame = 0 ; Use SDLMame specific options
; Monitor orientation
MonitorHorizontal = 1 ; 0 = Rotating monitor: horizontal and vertical games at their native resolution
; Suitable for users that physically rotate their CRTs
; 1 = Horizontal monitor: horizontal games run at their native resolution and
; vertical games are rotated to fit in horizontal monitor
RotatingDesktop = 0 ; Specifies if both desktop and monitor are rotated
; Aspect ratio for vertical games on horizontal monitor
; 4:3 (keeps original aspect ratio)
; 3:3 (stretches to square format)
; 3:4 (stretches to full screen)
; h:v (custom aspect ratio)
VerticalAspect = "4:3"
; 2. MONITOR
; ----------
; Monitor Type. Valid types: D9800, D9400, D9200, EGA, VGA, MULTI, H9110, PAL, NTSC, GENERIC, CUSTOM
MonitorType = "CUSTOM"
; Monitor CUSTOM. These values will be used if MonitorType = "CUSTOM"
;
; monitor_specs0-6 HfreqMin-HfreqMax, VfreqMin,VfreqMax, HFrontPorch, HSyncPulse, HBackPorch, VfrontPorch, VSyncPulse, VBackPorch, HSyncPol, VSyncPol, ActiveLinesLimit, VirtualLinesLimit
;
; * HfreqMin-HfreqMax: Minimum and maximum horizontal frequency, in Hz. Defines the range of horizontal frequencies the monitor is capable to sync.
; The higher the horizontal frequency, the higher the vertical resolution available for the same vertical refresh.
; The higher the horizontal frequency, the higher the vertical refresh available for the same vertical resolution.
; The higher the horizontal frequency, the lower the horizontal amplitude of active video (narrower picture).
;
; * VFreqMin-VfreqMax: Minimum and maximum vertical frequency, in Hz, Defines the range of vertical frequencies the monitor is capable to sync.
;
; * HFrontPorch, HSyncPulse, HBackPorch: Horizontal timing and geometry, values in µs
;
; * VfrontPorch, VSyncPulse, VBackPorch: Vertical timing and geometry, values in ms
;
; * HSyncPol,VSyncPol: sync polarities, 0 = negative, 1 = positive.
;
; * ActiveLinesLimit: Vertical resolutions until ActiveLinesLimit value included, are generated as progressive, regardless the possibility
; of obtaining the required vertical refresh value.
;
; * VirtualLinesLimit: Vertical resolutions above ActiveLinesLimit and below VirtualLinesLimit are virtualized, that is, an interlaced resolution
; bigger that the native one is generated, with the right refresh, and "hardware stretch" is applied.
; Vertical resolutions above VirtulaLinesLimit are generated as interlaced, without any stretching.
monitor_specs0 15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 288, 448
; Tolerance for horizontal frequency, in kHz, enables extending the range defined by [ HfreqMin, HfreqMax ]
; The resulting allowed frequency range will be [ HfreqMin - HfreqTolerance, HfreqMax + HfreqTolerance ]
HfreqTolerance = 0.010
; 3. MODELINE GENERATOR
; ---------------------
; Total number of modelines to generate. Here are the recommended values for each driver version:
; CRT_Emudriver, based on Catalyst 6.5: 160 modes (accepts up to 200, but above 160 HyperSpin will refuse to load)
; CRT_Emudriver, based on Catalyst 9.3: 120 modes (accepts some more but above 120 you can get some blue screens)
; Regular Catalyst : 60 modes (won't accept any more)
TotalModes = 120
; If enabled, only creates modes with 32 bits per pixel color depth
Only32BPPModes = 0
; Method for mode table generation. If Mame xml is processed, that will create a lot of different video modes, so the mode table
; will be optimized keeping the most relevant ones, and dropping the rest, to keep below the TotalModes value.
;
; 0 = Static table: modelines are generated keeping their original vertical refresh. This method is intended to be used in
; combination with ini files for each game.
;
; 1 = Dynamic table: a table of dummy modes is created using xres and yres values while ignoring vfreq. This method is intended
; to be used in combination with Switchres or Groovymame. No ini files are required using this method (you should disable the
; GenerateInis option).
;
; 2 = Magic table: a table of 'magic resolutions' is created, by ignoring xres and vfreq and just keeping yres. This method greatly reduces
; the total number of modes in the list. It's only supported by GroovyMAME, and is intended as a workaround for the Hyperspin issue.
ModeTableMethod_Custom = 0
ModeTableMethod_XML = 1
; Minimum resolution values (these will be used instead of lower values)
XresMin_XML = 240
YresMin_XML = 240
YresRound_XML = 4
XresMin_Custom = 240
YresMin_Custom = 160
YresRound_Custom = 0
; Minimum dotclock value allowed by the video card, in MHz (i.e. DotClockMin = 7.010)
DotClockMin = 0
; Number of iterations used by the mode generator [0,5]. The higher the number of iterations, the bigger the accuracy of the vertical
; refreshed obtained, normally at the cost of increasing the horizontal frequency strictly required.
Iterations = 0
; Specifies if the refresh label is multiplied by 10 before rounding (experimental).
VFreqLabelx10 = 0
; 4. DRIVER
; ---------
; Path for the driver folder
DriverPath = ".\Driver\"
; If UpdateRegistry is enabled, UpdateDriver will only work if the driver version found in DriverPath matches the one installed
; in the system.
UpdateRegistry = 1 ; Specifies if the video card registry section will be updated with the new video modes
; (will only work in combination with CRT_EMUDriver).
UpdateDriver = 0 ; Specifies if the driver files in DriverPath will be updated with the new video modes, for
; future installations.
AnyCatalyst = 0 ; Allows modelines to be installed for any Catalyst version. This option is experimental and
; known to produce some problems.
Por último una sugerencia tal vez imposible: ¿sería posible en una tarjeta gráfica con 2 salidas hacer que los modos de 15 khz salgan automaticamente por una salida y los de 31+ khz por la otra? para así poder tener conectado a la vez el monitor de pc y el arcade.
Ufff, me voy a comer.
Saludos.