Display ao486 core on CRT
Display ao486 core on CRT
Hi all,
I have a question about how it's best to make my display on the ao486 core wider, and better readable (text/graphics).
My setup is the following: HDMI out to VGA converter, VGA-> rgb scart cable (https://www.retrogamingcables.co.uk/ana ... earch=fpga) goes into a GscartW switch, which is connected via RGB scart on my B&O MX8000. The following other cores are running fine: TurboGrafx (incl. CD), SNES, NES, GBA, Genesis, Sega CD.
In attachment there are 2 pictures when aspect ratio is normal and full screen. When full screen, display gets purple and it's not correctly outlined.
INI file:
[MiSTer]
key_menu_as_rgui=0 ; set to 1 to make the MENU key map to RGUI in Minimig (e.g. for Right Amiga)
forced_scandoubler=0 ; set to 1 to run scandoubler on VGA output always (depends on core).
ypbpr=0 ; set to 1 for YPbPr on VGA output.
composite_sync=1 ; set to 1 for composite sync on HSync signal of VGA output.
vga_scaler=0 ; set to 1 to connect VGA to scaler output.
hdmi_audio_96k=0 ; set to 1 for 96khz/16bit HDMI audio (48khz/16bit otherwise)
keyrah_mode=0x18d80002 ; VIDPID of keyrah for special code translation (0x23418037 for Arduino Micro)
vscale_mode=0 ; 0 - scale to fit the screen height.
; 1 - use integer scale only.
; 2 - use 0.5 steps of scale.
; 3 - use 0.25 steps of scale.
vscale_border=0 ; set vertical border for TVs cutting the upper/bottom parts of screen (1-399)
;bootscreen=0 ; uncomment to disable boot screen of some cores like Minimig.
;mouse_throttle=10 ; 1-100 mouse speed divider. Useful for very sensitive mice
rbf_hide_datecode=0 ; 1 - hides datecodes from rbf file names. Press F2 for quick temporary toggle
menu_pal=0 ; 1 - PAL mode for menu core
hdmi_limited=0 ; 1 - use limited (16..235) color range over HDMI
; 2 - use limited (16..255) color range over HDMI, for VGA converters.
direct_video=1 ; 1 - enable core video timing over HDMI, use only with VGA converters.
fb_size=0 ; 0 - automatic, 1 - full size, 2 - 1/2 of resolution, 4 - 1/4 of resolution.
fb_terminal=1 ; 1 - enabled (default), 0 - disabled
osd_timeout=30 ; 5-3600 timeout (in seconds) for OSD to disappear in Menu core. 30 seconds if not set.
; Background picture will get darker after double timeout
osd_rotate=0 ; Display OSD menu rotated, 0 - no rotation, 1 - rotate right (+90°), 2 - rotate left (-90°)
; 1 - enables the recent file loaded/mounted.
; WARNING: This option will enable write to SD card on every load/mount which may wear the SD card after many writes to the same place
; There is also higher chance to corrupt the File System if MiSTer will be reset or powered off while writing.
recents=0
; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore ; uncomment to autoboot a core, as the last loaded core.
; 10-30 timeout before autoboot, comment for autoboot without timeout.
bootcore_timeout=10
; Option to load the custom font. Format is plain bitmap 8x8.
; Supported sizes of font:
; 768 bytes - chars 32-127 (only alpha + numeric)
; 1024 bytes - chars 0-127
; 1136 bytes - chars 0-141
; up to 2048 - only chars 0-141 will be used.
; if first 32 chars are empty (for sizes 1024 bytes and more) then they are skipped.
font=font/myfont.pf
; USER button emulation by keybaord. Usually it's reset button.
; 0 - lctrl+lalt+ralt (lctrl+lgui+rgui on keyrah)
; 1 - lctrl+lgui+rgui
; 2 - lctrl+lalt+del
; 3 - same as 0 (lctrl+lalt+ralt on keyrah)
reset_combo=0
; set to 1 for DVI mode. Audio won't be transmitted through HDMI in DVI mode.
dvi_mode=0
; 0 - 1280x720@60
; 1 - 1024x768@60
; 2 - 720x480@60
; 3 - 720x576@50
; 4 - 1280x1024@60
; 5 - 800x600@60
; 6 - 640x480@60
; 7 - 1280x720@50
; 8 - 1920x1080@60
; 9 - 1920x1080@50
;10 - 1366x768@60
;11 - 1024x600@60
;12 - 1920x1440@60
;13 - 2048x1536@60
;
; custom mode: hact,hfp,hs,hbp,vact,vfp,vs,vbp,Fpix_in_KHz
; video_mode=1280,110,40,220,720,5,5,20,74250
video_mode=0
; set to 1-10 (seconds) to display video info on startup/change
video_info=10
; Set to 1 for automatic HDMI VSync rate adjust to match original VSync.
; Set to 2 for low latency mode (single buffer).
; This option makes video butter smooth like on original emulated system.
; Adjusting is done by changing pixel clock. Not every display supports variable pixel clock.
; For proper adjusting and to reduce possible out of range pixel clock, use 60Hz HDMI video
; modes as a base even for 50Hz systems.
vsync_adjust=0
; If you monitor doesn't support either very low (NTSC monitors may not support PAL) or
; very high (PAL monitors may not support NTSC) then you can set refresh_min and/or refresh_max
; parameters, so vsync_adjust won't be applied for refreshes outside specified.
; These parameters are valid only when vsync_adjust is non-zero.
refresh_min=0
refresh_max=0
; These parameters have the same format as video_mode.
; You need to supply both PAL and NTSC modes if you want vsync_adjust to switch between
; predefined modes as a base. This will reduce the range of pixel clock.
;video_mode_ntsc=0
;video_mode_pal=7
; 1-10 (seconds) to display controller's button map upon first time key press
; 0 - disable
controller_info=6
; JammaSD/J-PAC/I-PAC keys to joysticks translation
; You have to provide correct VID and PID of your input device
; Examples: Legacy J-PAC with Mini-USB or USB capable I-PAC with PS/2 connectors VID=0xD209/PID=0x0301
; USB Capable J-PAC with only PS/2 connectors VID=0x04B4/PID=0x0101
; JammaSD: VID=0x04D8/PID=0xF3AD
jamma_vid=0x04D8
jamma_pid=0xF3AD
; Disable merging input devices. Use if only player 1 works.
; Leave no_merge_pid empty to apply this to all devices with the same VID.
;no_merge_vid=0x045E
;no_merge_pid=0x028E
; Same as above but can add multiple devices (one entry per VIDPID). Format is VIDPID in hex number
;no_merge_vidpid=0x12345678
;no_merge_vidpid=0x11112222
; Speeds in sniper/non-sniper modes of mouse emulation by joystick
; 0 - (default) - faster move in non-sniper mode, slower move in sniper mode.
; 1 - movement speeds are swapped.
sniper_mode=0
; Uncomment following option if you don't want to see a second line for long file names in listing.
;browse_expand=0
; 0 - disable MiSTer logo in Menu core
logo=1
; Custom shared folder for core supporting this feature (currently minimig and ao486 only)
; Can be relative to core's home dir or absolute path.
; Path must exist before core start to use it, or it will fail.
; Make sure USB device is mounted before use shared folder on USB!
shared_folder=
; Custom aspect ratio
;custom_aspect_ratio_1=16:10
;custom_aspect_ratio_2=1:1
; use specific (VID/PID) mouse X movement as a spinner and paddle. Use VID=0xFFFF/PID=0xFFFF to use all mice as spinners.
;spinner_vid=0x1BCF
;spinner_pid=0x0005
; spinner_throttle with base value 100 gives one spinner step per one tick. Higher value makes spinner slower.
; Lower than 100 makes spinner faster. Negative value gives opposite direction.
;spinner_throttle=-50
; 0 - X axis, 1 - Y axis.
;spinner_axis=1
; Default filters for video scaler and audio. Paths must be relative to scaler/audio filter folder without leading slash.
;vfilter_default=LCD Effects/LCD_Effect_07.txt
;afilter_default=LPF2000_3tap.txt
; Defines internal joypad mapping from virtual SNES mapping in main to core mapping
; Set to 0 for name mapping (jn) (e.g. A button in SNES core = A button on controller regardless of position on pad)
; Set to 1 for positional mapping (jp) (e.g. A button in SNES core = East button on controller regardless of button name)
gamepad_defaults=0
; Write out file name under the cursor in browser for external integration
; External application or script may parse the info and do some additional actions and/or send info to 3rd party server.
; Warning: it may slowdown the system or add lag while browsing the files in OSD depending on external app/script.
log_file_entry=0
; Automatically disconnect (and shutdown) Bluetooth input device if not use specified amount of time.
; Some controllers have no automatic shutdown built in and will keep connection till battery dry out.
; 0 - don't disconnect automatically, otherwise it's amount of minutes.
bt_auto_disconnect=0
[NeoGeo]
direct_video=0
vga_scaler=1
vsync_adjust=2
vscale_mode=2
I have a question about how it's best to make my display on the ao486 core wider, and better readable (text/graphics).
My setup is the following: HDMI out to VGA converter, VGA-> rgb scart cable (https://www.retrogamingcables.co.uk/ana ... earch=fpga) goes into a GscartW switch, which is connected via RGB scart on my B&O MX8000. The following other cores are running fine: TurboGrafx (incl. CD), SNES, NES, GBA, Genesis, Sega CD.
In attachment there are 2 pictures when aspect ratio is normal and full screen. When full screen, display gets purple and it's not correctly outlined.
INI file:
[MiSTer]
key_menu_as_rgui=0 ; set to 1 to make the MENU key map to RGUI in Minimig (e.g. for Right Amiga)
forced_scandoubler=0 ; set to 1 to run scandoubler on VGA output always (depends on core).
ypbpr=0 ; set to 1 for YPbPr on VGA output.
composite_sync=1 ; set to 1 for composite sync on HSync signal of VGA output.
vga_scaler=0 ; set to 1 to connect VGA to scaler output.
hdmi_audio_96k=0 ; set to 1 for 96khz/16bit HDMI audio (48khz/16bit otherwise)
keyrah_mode=0x18d80002 ; VIDPID of keyrah for special code translation (0x23418037 for Arduino Micro)
vscale_mode=0 ; 0 - scale to fit the screen height.
; 1 - use integer scale only.
; 2 - use 0.5 steps of scale.
; 3 - use 0.25 steps of scale.
vscale_border=0 ; set vertical border for TVs cutting the upper/bottom parts of screen (1-399)
;bootscreen=0 ; uncomment to disable boot screen of some cores like Minimig.
;mouse_throttle=10 ; 1-100 mouse speed divider. Useful for very sensitive mice
rbf_hide_datecode=0 ; 1 - hides datecodes from rbf file names. Press F2 for quick temporary toggle
menu_pal=0 ; 1 - PAL mode for menu core
hdmi_limited=0 ; 1 - use limited (16..235) color range over HDMI
; 2 - use limited (16..255) color range over HDMI, for VGA converters.
direct_video=1 ; 1 - enable core video timing over HDMI, use only with VGA converters.
fb_size=0 ; 0 - automatic, 1 - full size, 2 - 1/2 of resolution, 4 - 1/4 of resolution.
fb_terminal=1 ; 1 - enabled (default), 0 - disabled
osd_timeout=30 ; 5-3600 timeout (in seconds) for OSD to disappear in Menu core. 30 seconds if not set.
; Background picture will get darker after double timeout
osd_rotate=0 ; Display OSD menu rotated, 0 - no rotation, 1 - rotate right (+90°), 2 - rotate left (-90°)
; 1 - enables the recent file loaded/mounted.
; WARNING: This option will enable write to SD card on every load/mount which may wear the SD card after many writes to the same place
; There is also higher chance to corrupt the File System if MiSTer will be reset or powered off while writing.
recents=0
; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore ; uncomment to autoboot a core, as the last loaded core.
; 10-30 timeout before autoboot, comment for autoboot without timeout.
bootcore_timeout=10
; Option to load the custom font. Format is plain bitmap 8x8.
; Supported sizes of font:
; 768 bytes - chars 32-127 (only alpha + numeric)
; 1024 bytes - chars 0-127
; 1136 bytes - chars 0-141
; up to 2048 - only chars 0-141 will be used.
; if first 32 chars are empty (for sizes 1024 bytes and more) then they are skipped.
font=font/myfont.pf
; USER button emulation by keybaord. Usually it's reset button.
; 0 - lctrl+lalt+ralt (lctrl+lgui+rgui on keyrah)
; 1 - lctrl+lgui+rgui
; 2 - lctrl+lalt+del
; 3 - same as 0 (lctrl+lalt+ralt on keyrah)
reset_combo=0
; set to 1 for DVI mode. Audio won't be transmitted through HDMI in DVI mode.
dvi_mode=0
; 0 - 1280x720@60
; 1 - 1024x768@60
; 2 - 720x480@60
; 3 - 720x576@50
; 4 - 1280x1024@60
; 5 - 800x600@60
; 6 - 640x480@60
; 7 - 1280x720@50
; 8 - 1920x1080@60
; 9 - 1920x1080@50
;10 - 1366x768@60
;11 - 1024x600@60
;12 - 1920x1440@60
;13 - 2048x1536@60
;
; custom mode: hact,hfp,hs,hbp,vact,vfp,vs,vbp,Fpix_in_KHz
; video_mode=1280,110,40,220,720,5,5,20,74250
video_mode=0
; set to 1-10 (seconds) to display video info on startup/change
video_info=10
; Set to 1 for automatic HDMI VSync rate adjust to match original VSync.
; Set to 2 for low latency mode (single buffer).
; This option makes video butter smooth like on original emulated system.
; Adjusting is done by changing pixel clock. Not every display supports variable pixel clock.
; For proper adjusting and to reduce possible out of range pixel clock, use 60Hz HDMI video
; modes as a base even for 50Hz systems.
vsync_adjust=0
; If you monitor doesn't support either very low (NTSC monitors may not support PAL) or
; very high (PAL monitors may not support NTSC) then you can set refresh_min and/or refresh_max
; parameters, so vsync_adjust won't be applied for refreshes outside specified.
; These parameters are valid only when vsync_adjust is non-zero.
refresh_min=0
refresh_max=0
; These parameters have the same format as video_mode.
; You need to supply both PAL and NTSC modes if you want vsync_adjust to switch between
; predefined modes as a base. This will reduce the range of pixel clock.
;video_mode_ntsc=0
;video_mode_pal=7
; 1-10 (seconds) to display controller's button map upon first time key press
; 0 - disable
controller_info=6
; JammaSD/J-PAC/I-PAC keys to joysticks translation
; You have to provide correct VID and PID of your input device
; Examples: Legacy J-PAC with Mini-USB or USB capable I-PAC with PS/2 connectors VID=0xD209/PID=0x0301
; USB Capable J-PAC with only PS/2 connectors VID=0x04B4/PID=0x0101
; JammaSD: VID=0x04D8/PID=0xF3AD
jamma_vid=0x04D8
jamma_pid=0xF3AD
; Disable merging input devices. Use if only player 1 works.
; Leave no_merge_pid empty to apply this to all devices with the same VID.
;no_merge_vid=0x045E
;no_merge_pid=0x028E
; Same as above but can add multiple devices (one entry per VIDPID). Format is VIDPID in hex number
;no_merge_vidpid=0x12345678
;no_merge_vidpid=0x11112222
; Speeds in sniper/non-sniper modes of mouse emulation by joystick
; 0 - (default) - faster move in non-sniper mode, slower move in sniper mode.
; 1 - movement speeds are swapped.
sniper_mode=0
; Uncomment following option if you don't want to see a second line for long file names in listing.
;browse_expand=0
; 0 - disable MiSTer logo in Menu core
logo=1
; Custom shared folder for core supporting this feature (currently minimig and ao486 only)
; Can be relative to core's home dir or absolute path.
; Path must exist before core start to use it, or it will fail.
; Make sure USB device is mounted before use shared folder on USB!
shared_folder=
; Custom aspect ratio
;custom_aspect_ratio_1=16:10
;custom_aspect_ratio_2=1:1
; use specific (VID/PID) mouse X movement as a spinner and paddle. Use VID=0xFFFF/PID=0xFFFF to use all mice as spinners.
;spinner_vid=0x1BCF
;spinner_pid=0x0005
; spinner_throttle with base value 100 gives one spinner step per one tick. Higher value makes spinner slower.
; Lower than 100 makes spinner faster. Negative value gives opposite direction.
;spinner_throttle=-50
; 0 - X axis, 1 - Y axis.
;spinner_axis=1
; Default filters for video scaler and audio. Paths must be relative to scaler/audio filter folder without leading slash.
;vfilter_default=LCD Effects/LCD_Effect_07.txt
;afilter_default=LPF2000_3tap.txt
; Defines internal joypad mapping from virtual SNES mapping in main to core mapping
; Set to 0 for name mapping (jn) (e.g. A button in SNES core = A button on controller regardless of position on pad)
; Set to 1 for positional mapping (jp) (e.g. A button in SNES core = East button on controller regardless of button name)
gamepad_defaults=0
; Write out file name under the cursor in browser for external integration
; External application or script may parse the info and do some additional actions and/or send info to 3rd party server.
; Warning: it may slowdown the system or add lag while browsing the files in OSD depending on external app/script.
log_file_entry=0
; Automatically disconnect (and shutdown) Bluetooth input device if not use specified amount of time.
; Some controllers have no automatic shutdown built in and will keep connection till battery dry out.
; 0 - don't disconnect automatically, otherwise it's amount of minutes.
bt_auto_disconnect=0
[NeoGeo]
direct_video=0
vga_scaler=1
vsync_adjust=2
vscale_mode=2
- Attachments
-
- thumbnail_20210910_231128.jpg (186.33 KiB) Viewed 9923 times
-
- thumbnail_20210910_231040.jpg (197.27 KiB) Viewed 9923 times
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: Display ao486 core on CRT
You need special modelines for ao486 to behave on a 15khz CRT, since it's meant for 31 khz VGA CRTs.
Check this post/thread: viewtopic.php?p=28578#p28578
Check this post/thread: viewtopic.php?p=28578#p28578
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Posts: 121
- Joined: Mon Nov 02, 2020 11:25 am
- Has thanked: 48 times
- Been thanked: 19 times
Re: Display ao486 core on CRT
It is possible. I use ao486 on my trinitron all the time. The games look great.
Re: Display ao486 core on CRT
Yes, my tv is a 15 khz monitor indeed.
Allright folks, I managed to get it to work I'm so excited, I tried literally every setting-combo which was mentioned by akeley.
I still need to check the result in-game, first install DOS but I think the results will be promising. Finally I can play Grand Prix 2
I the thread mentioned by akeley, there's a similar problem explained by user Javi which basically solved my problem.
The only question I have remain whether it's still possible to move the screen a bit to the right? Which paramater is best to adjust/add, based on my INI (here below)?
Here are my final settings, incl. some optional video modes which I gathered by going through the various posts:
[MiSTer]
key_menu_as_rgui=0 ; set to 1 to make the MENU key map to RGUI in Minimig (e.g. for Right Amiga)
forced_scandoubler=0 ; set to 1 to run scandoubler on VGA output always (depends on core).
ypbpr=0 ; set to 1 for YPbPr on VGA output.
composite_sync=1 ; set to 1 for composite sync on HSync signal of VGA output.
vga_scaler=0 ; set to 1 to connect VGA to scaler output.
hdmi_audio_96k=0 ; set to 1 for 96khz/16bit HDMI audio (48khz/16bit otherwise)
keyrah_mode=0x18d80002 ; VIDPID of keyrah for special code translation (0x23418037 for Arduino Micro)
vscale_mode=0 ; 0 - scale to fit the screen height.
; 1 - use integer scale only.
; 2 - use 0.5 steps of scale.
; 3 - use 0.25 steps of scale.
vscale_border=0 ; set vertical border for TVs cutting the upper/bottom parts of screen (1-399)
;bootscreen=0 ; uncomment to disable boot screen of some cores like Minimig.
;mouse_throttle=10 ; 1-100 mouse speed divider. Useful for very sensitive mice
rbf_hide_datecode=0 ; 1 - hides datecodes from rbf file names. Press F2 for quick temporary toggle
menu_pal=0 ; 1 - PAL mode for menu core
hdmi_limited=0 ; 1 - use limited (16..235) color range over HDMI
; 2 - use limited (16..255) color range over HDMI, for VGA converters.
direct_video=1 ; 1 - enable core video timing over HDMI, use only with VGA converters.
fb_size=0 ; 0 - automatic, 1 - full size, 2 - 1/2 of resolution, 4 - 1/4 of resolution.
fb_terminal=1 ; 1 - enabled (default), 0 - disabled
osd_timeout=30 ; 5-3600 timeout (in seconds) for OSD to disappear in Menu core. 30 seconds if not set.
; Background picture will get darker after double timeout
osd_rotate=0 ; Display OSD menu rotated, 0 - no rotation, 1 - rotate right (+90°), 2 - rotate left (-90°)
; 1 - enables the recent file loaded/mounted.
; WARNING: This option will enable write to SD card on every load/mount which may wear the SD card after many writes to the same place
; There is also higher chance to corrupt the File System if MiSTer will be reset or powered off while writing.
recents=0
; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore ; uncomment to autoboot a core, as the last loaded core.
; 10-30 timeout before autoboot, comment for autoboot without timeout.
bootcore_timeout=10
; Option to load the custom font. Format is plain bitmap 8x8.
; Supported sizes of font:
; 768 bytes - chars 32-127 (only alpha + numeric)
; 1024 bytes - chars 0-127
; 1136 bytes - chars 0-141
; up to 2048 - only chars 0-141 will be used.
; if first 32 chars are empty (for sizes 1024 bytes and more) then they are skipped.
font=font/myfont.pf
; USER button emulation by keybaord. Usually it's reset button.
; 0 - lctrl+lalt+ralt (lctrl+lgui+rgui on keyrah)
; 1 - lctrl+lgui+rgui
; 2 - lctrl+lalt+del
; 3 - same as 0 (lctrl+lalt+ralt on keyrah)
reset_combo=0
; set to 1 for DVI mode. Audio won't be transmitted through HDMI in DVI mode.
dvi_mode=0
; 0 - 1280x720@60
; 1 - 1024x768@60
; 2 - 720x480@60
; 3 - 720x576@50
; 4 - 1280x1024@60
; 5 - 800x600@60
; 6 - 640x480@60
; 7 - 1280x720@50
; 8 - 1920x1080@60
; 9 - 1920x1080@50
;10 - 1366x768@60
;11 - 1024x600@60
;12 - 1920x1440@60
;13 - 2048x1536@60
;
; custom mode: hact,hfp,hs,hbp,vact,vfp,vs,vbp,Fpix_in_KHz
; video_mode=1280,110,40,220,720,5,5,20,74250
video_mode=0
; set to 1-10 (seconds) to display video info on startup/change
video_info=10
; Set to 1 for automatic HDMI VSync rate adjust to match original VSync.
; Set to 2 for low latency mode (single buffer).
; This option makes video butter smooth like on original emulated system.
; Adjusting is done by changing pixel clock. Not every display supports variable pixel clock.
; For proper adjusting and to reduce possible out of range pixel clock, use 60Hz HDMI video
; modes as a base even for 50Hz systems.
vsync_adjust=0
; If you monitor doesn't support either very low (NTSC monitors may not support PAL) or
; very high (PAL monitors may not support NTSC) then you can set refresh_min and/or refresh_max
; parameters, so vsync_adjust won't be applied for refreshes outside specified.
; These parameters are valid only when vsync_adjust is non-zero.
refresh_min=0
refresh_max=0
; These parameters have the same format as video_mode.
; You need to supply both PAL and NTSC modes if you want vsync_adjust to switch between
; predefined modes as a base. This will reduce the range of pixel clock.
;video_mode_ntsc=0
;video_mode_pal=7
; 1-10 (seconds) to display controller's button map upon first time key press
; 0 - disable
controller_info=6
; JammaSD/J-PAC/I-PAC keys to joysticks translation
; You have to provide correct VID and PID of your input device
; Examples: Legacy J-PAC with Mini-USB or USB capable I-PAC with PS/2 connectors VID=0xD209/PID=0x0301
; USB Capable J-PAC with only PS/2 connectors VID=0x04B4/PID=0x0101
; JammaSD: VID=0x04D8/PID=0xF3AD
jamma_vid=0x04D8
jamma_pid=0xF3AD
; Disable merging input devices. Use if only player 1 works.
; Leave no_merge_pid empty to apply this to all devices with the same VID.
;no_merge_vid=0x045E
;no_merge_pid=0x028E
; Same as above but can add multiple devices (one entry per VIDPID). Format is VIDPID in hex number
;no_merge_vidpid=0x12345678
;no_merge_vidpid=0x11112222
; Speeds in sniper/non-sniper modes of mouse emulation by joystick
; 0 - (default) - faster move in non-sniper mode, slower move in sniper mode.
; 1 - movement speeds are swapped.
sniper_mode=0
; Uncomment following option if you don't want to see a second line for long file names in listing.
;browse_expand=0
; 0 - disable MiSTer logo in Menu core
logo=1
; Custom shared folder for core supporting this feature (currently minimig and ao486 only)
; Can be relative to core's home dir or absolute path.
; Path must exist before core start to use it, or it will fail.
; Make sure USB device is mounted before use shared folder on USB!
shared_folder=
; Custom aspect ratio
;custom_aspect_ratio_1=16:10
;custom_aspect_ratio_2=1:1
; use specific (VID/PID) mouse X movement as a spinner and paddle. Use VID=0xFFFF/PID=0xFFFF to use all mice as spinners.
;spinner_vid=0x1BCF
;spinner_pid=0x0005
; spinner_throttle with base value 100 gives one spinner step per one tick. Higher value makes spinner slower.
; Lower than 100 makes spinner faster. Negative value gives opposite direction.
;spinner_throttle=-50
; 0 - X axis, 1 - Y axis.
;spinner_axis=1
; Default filters for video scaler and audio. Paths must be relative to scaler/audio filter folder without leading slash.
;vfilter_default=LCD Effects/LCD_Effect_07.txt
;afilter_default=LPF2000_3tap.txt
; Defines internal joypad mapping from virtual SNES mapping in main to core mapping
; Set to 0 for name mapping (jn) (e.g. A button in SNES core = A button on controller regardless of position on pad)
; Set to 1 for positional mapping (jp) (e.g. A button in SNES core = East button on controller regardless of button name)
gamepad_defaults=0
; Write out file name under the cursor in browser for external integration
; External application or script may parse the info and do some additional actions and/or send info to 3rd party server.
; Warning: it may slowdown the system or add lag while browsing the files in OSD depending on external app/script.
log_file_entry=0
; Automatically disconnect (and shutdown) Bluetooth input device if not use specified amount of time.
; Some controllers have no automatic shutdown built in and will keep connection till battery dry out.
; 0 - don't disconnect automatically, otherwise it's amount of minutes.
bt_auto_disconnect=0
[ao486]
direct_video=1
vscale_mode=0
vscale_border=1
video_mode=640,8,58,78,240,1,3,18,12324
;video_mode=1280,132,140,281,240,15,0,19,30133
;video_mode=720,24,64,88,240,3,10,6,13500
;video_mode=640,55,90,131,200,34,0,40,15058
;video_mode=640,65,60,108,224,16,0,26,13919
;video_mode=640,54,56,106,224,16,0,28,13764
;video_mode=640,6,56,66,224,14,8,18,12000
;video_mode=640,16,64,80,240,1,3,14,12380
Allright folks, I managed to get it to work I'm so excited, I tried literally every setting-combo which was mentioned by akeley.
I still need to check the result in-game, first install DOS but I think the results will be promising. Finally I can play Grand Prix 2
I the thread mentioned by akeley, there's a similar problem explained by user Javi which basically solved my problem.
The only question I have remain whether it's still possible to move the screen a bit to the right? Which paramater is best to adjust/add, based on my INI (here below)?
Here are my final settings, incl. some optional video modes which I gathered by going through the various posts:
[MiSTer]
key_menu_as_rgui=0 ; set to 1 to make the MENU key map to RGUI in Minimig (e.g. for Right Amiga)
forced_scandoubler=0 ; set to 1 to run scandoubler on VGA output always (depends on core).
ypbpr=0 ; set to 1 for YPbPr on VGA output.
composite_sync=1 ; set to 1 for composite sync on HSync signal of VGA output.
vga_scaler=0 ; set to 1 to connect VGA to scaler output.
hdmi_audio_96k=0 ; set to 1 for 96khz/16bit HDMI audio (48khz/16bit otherwise)
keyrah_mode=0x18d80002 ; VIDPID of keyrah for special code translation (0x23418037 for Arduino Micro)
vscale_mode=0 ; 0 - scale to fit the screen height.
; 1 - use integer scale only.
; 2 - use 0.5 steps of scale.
; 3 - use 0.25 steps of scale.
vscale_border=0 ; set vertical border for TVs cutting the upper/bottom parts of screen (1-399)
;bootscreen=0 ; uncomment to disable boot screen of some cores like Minimig.
;mouse_throttle=10 ; 1-100 mouse speed divider. Useful for very sensitive mice
rbf_hide_datecode=0 ; 1 - hides datecodes from rbf file names. Press F2 for quick temporary toggle
menu_pal=0 ; 1 - PAL mode for menu core
hdmi_limited=0 ; 1 - use limited (16..235) color range over HDMI
; 2 - use limited (16..255) color range over HDMI, for VGA converters.
direct_video=1 ; 1 - enable core video timing over HDMI, use only with VGA converters.
fb_size=0 ; 0 - automatic, 1 - full size, 2 - 1/2 of resolution, 4 - 1/4 of resolution.
fb_terminal=1 ; 1 - enabled (default), 0 - disabled
osd_timeout=30 ; 5-3600 timeout (in seconds) for OSD to disappear in Menu core. 30 seconds if not set.
; Background picture will get darker after double timeout
osd_rotate=0 ; Display OSD menu rotated, 0 - no rotation, 1 - rotate right (+90°), 2 - rotate left (-90°)
; 1 - enables the recent file loaded/mounted.
; WARNING: This option will enable write to SD card on every load/mount which may wear the SD card after many writes to the same place
; There is also higher chance to corrupt the File System if MiSTer will be reset or powered off while writing.
recents=0
; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore ; uncomment to autoboot a core, as the last loaded core.
; 10-30 timeout before autoboot, comment for autoboot without timeout.
bootcore_timeout=10
; Option to load the custom font. Format is plain bitmap 8x8.
; Supported sizes of font:
; 768 bytes - chars 32-127 (only alpha + numeric)
; 1024 bytes - chars 0-127
; 1136 bytes - chars 0-141
; up to 2048 - only chars 0-141 will be used.
; if first 32 chars are empty (for sizes 1024 bytes and more) then they are skipped.
font=font/myfont.pf
; USER button emulation by keybaord. Usually it's reset button.
; 0 - lctrl+lalt+ralt (lctrl+lgui+rgui on keyrah)
; 1 - lctrl+lgui+rgui
; 2 - lctrl+lalt+del
; 3 - same as 0 (lctrl+lalt+ralt on keyrah)
reset_combo=0
; set to 1 for DVI mode. Audio won't be transmitted through HDMI in DVI mode.
dvi_mode=0
; 0 - 1280x720@60
; 1 - 1024x768@60
; 2 - 720x480@60
; 3 - 720x576@50
; 4 - 1280x1024@60
; 5 - 800x600@60
; 6 - 640x480@60
; 7 - 1280x720@50
; 8 - 1920x1080@60
; 9 - 1920x1080@50
;10 - 1366x768@60
;11 - 1024x600@60
;12 - 1920x1440@60
;13 - 2048x1536@60
;
; custom mode: hact,hfp,hs,hbp,vact,vfp,vs,vbp,Fpix_in_KHz
; video_mode=1280,110,40,220,720,5,5,20,74250
video_mode=0
; set to 1-10 (seconds) to display video info on startup/change
video_info=10
; Set to 1 for automatic HDMI VSync rate adjust to match original VSync.
; Set to 2 for low latency mode (single buffer).
; This option makes video butter smooth like on original emulated system.
; Adjusting is done by changing pixel clock. Not every display supports variable pixel clock.
; For proper adjusting and to reduce possible out of range pixel clock, use 60Hz HDMI video
; modes as a base even for 50Hz systems.
vsync_adjust=0
; If you monitor doesn't support either very low (NTSC monitors may not support PAL) or
; very high (PAL monitors may not support NTSC) then you can set refresh_min and/or refresh_max
; parameters, so vsync_adjust won't be applied for refreshes outside specified.
; These parameters are valid only when vsync_adjust is non-zero.
refresh_min=0
refresh_max=0
; These parameters have the same format as video_mode.
; You need to supply both PAL and NTSC modes if you want vsync_adjust to switch between
; predefined modes as a base. This will reduce the range of pixel clock.
;video_mode_ntsc=0
;video_mode_pal=7
; 1-10 (seconds) to display controller's button map upon first time key press
; 0 - disable
controller_info=6
; JammaSD/J-PAC/I-PAC keys to joysticks translation
; You have to provide correct VID and PID of your input device
; Examples: Legacy J-PAC with Mini-USB or USB capable I-PAC with PS/2 connectors VID=0xD209/PID=0x0301
; USB Capable J-PAC with only PS/2 connectors VID=0x04B4/PID=0x0101
; JammaSD: VID=0x04D8/PID=0xF3AD
jamma_vid=0x04D8
jamma_pid=0xF3AD
; Disable merging input devices. Use if only player 1 works.
; Leave no_merge_pid empty to apply this to all devices with the same VID.
;no_merge_vid=0x045E
;no_merge_pid=0x028E
; Same as above but can add multiple devices (one entry per VIDPID). Format is VIDPID in hex number
;no_merge_vidpid=0x12345678
;no_merge_vidpid=0x11112222
; Speeds in sniper/non-sniper modes of mouse emulation by joystick
; 0 - (default) - faster move in non-sniper mode, slower move in sniper mode.
; 1 - movement speeds are swapped.
sniper_mode=0
; Uncomment following option if you don't want to see a second line for long file names in listing.
;browse_expand=0
; 0 - disable MiSTer logo in Menu core
logo=1
; Custom shared folder for core supporting this feature (currently minimig and ao486 only)
; Can be relative to core's home dir or absolute path.
; Path must exist before core start to use it, or it will fail.
; Make sure USB device is mounted before use shared folder on USB!
shared_folder=
; Custom aspect ratio
;custom_aspect_ratio_1=16:10
;custom_aspect_ratio_2=1:1
; use specific (VID/PID) mouse X movement as a spinner and paddle. Use VID=0xFFFF/PID=0xFFFF to use all mice as spinners.
;spinner_vid=0x1BCF
;spinner_pid=0x0005
; spinner_throttle with base value 100 gives one spinner step per one tick. Higher value makes spinner slower.
; Lower than 100 makes spinner faster. Negative value gives opposite direction.
;spinner_throttle=-50
; 0 - X axis, 1 - Y axis.
;spinner_axis=1
; Default filters for video scaler and audio. Paths must be relative to scaler/audio filter folder without leading slash.
;vfilter_default=LCD Effects/LCD_Effect_07.txt
;afilter_default=LPF2000_3tap.txt
; Defines internal joypad mapping from virtual SNES mapping in main to core mapping
; Set to 0 for name mapping (jn) (e.g. A button in SNES core = A button on controller regardless of position on pad)
; Set to 1 for positional mapping (jp) (e.g. A button in SNES core = East button on controller regardless of button name)
gamepad_defaults=0
; Write out file name under the cursor in browser for external integration
; External application or script may parse the info and do some additional actions and/or send info to 3rd party server.
; Warning: it may slowdown the system or add lag while browsing the files in OSD depending on external app/script.
log_file_entry=0
; Automatically disconnect (and shutdown) Bluetooth input device if not use specified amount of time.
; Some controllers have no automatic shutdown built in and will keep connection till battery dry out.
; 0 - don't disconnect automatically, otherwise it's amount of minutes.
bt_auto_disconnect=0
[ao486]
direct_video=1
vscale_mode=0
vscale_border=1
video_mode=640,8,58,78,240,1,3,18,12324
;video_mode=1280,132,140,281,240,15,0,19,30133
;video_mode=720,24,64,88,240,3,10,6,13500
;video_mode=640,55,90,131,200,34,0,40,15058
;video_mode=640,65,60,108,224,16,0,26,13919
;video_mode=640,54,56,106,224,16,0,28,13764
;video_mode=640,6,56,66,224,14,8,18,12000
;video_mode=640,16,64,80,240,1,3,14,12380
- Attachments
-
- 20210914_220426.jpg (287.25 KiB) Viewed 9557 times
Re: Display ao486 core on CRT
In addition, in the ao486 core settings:
aspect ratio: full screen
VSync: 60Hz
Low-Res: Native
Scale: Narrower HV-Integer
Hope this info will help for others too. The thread mentioned by Akeley helped me a lot!
aspect ratio: full screen
VSync: 60Hz
Low-Res: Native
Scale: Narrower HV-Integer
Hope this info will help for others too. The thread mentioned by Akeley helped me a lot!
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: Display ao486 core on CRT
DOS uses a different resolution and there is currently no way to get it to display 100% right on a CRT TV. So I'd get it working first, and see how the games look, then you can play around with centering (see some example images in that thread for comparison). The whole thing is a bit of a hack, so you will get some black borders anyway.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Display ao486 core on CRT
The most you can move those settings to the right is this (you change the second and forth number by 8 in this case):
video_mode=640,0,58,86,240,1,3,18,12324
If that is too far or it goes out of sync, change it by less than 8. You could also play with the 58 number if you need even more.
video_mode=640,0,58,86,240,1,3,18,12324
If that is too far or it goes out of sync, change it by less than 8. You could also play with the 58 number if you need even more.
Re: Display ao486 core on CRT
Hi thorr, thank you. I have tried your proposed changes, but do not see any differences on my tv. I think this is the best possible solution.
- Captain FPGA
- Top Contributor
- Posts: 373
- Joined: Sun Apr 11, 2021 9:19 pm
- Has thanked: 195 times
- Been thanked: 25 times
Re: Display ao486 core on CRT
Hi, I used your ini file on my CRT but the width of the picture is too smushed, leaving too much space on the right and left side. It's almost as if there's now a black bar effect on both sides. I'm using a PVM M2U20. I found this resolution on reddit but got the same result.bvdh85 wrote: ↑Tue Sep 14, 2021 8:17 pm Yes, my tv is a 15 khz monitor indeed.
Allright folks, I managed to get it to work I'm so excited, I tried literally every setting-combo which was mentioned by akeley.
I still need to check the result in-game, first install DOS but I think the results will be promising. Finally I can play Grand Prix 2
I the thread mentioned by akeley, there's a similar problem explained by user Javi which basically solved my problem.
The only question I have remain whether it's still possible to move the screen a bit to the right? Which paramater is best to adjust/add, based on my INI (here below)?
Here are my final settings, incl. some optional video modes which I gathered by going through the various posts:
[MiSTer]
Had to put VGA scaler at 0 since my PVM will only do a rich 240p/480i. What are the settings I would need to adjust to get this right?[ao486]
video_mode=320,8,32,24,240,4,3,16,6048
vga_scaler=1
Dreams don't die!
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: Display ao486 core on CRT
Use the settings from the link on top of this thread or bvdh85's .ini. In addition, in the OSD you will need to change Aspect Ratio to Full (or try the Scale integer settings).Captain FPGA wrote: ↑Fri Sep 17, 2021 1:33 am What are the settings I would need to adjust to get this right?
Even so, there will still be some black bars anyway.
In this pic Thorr managed to whittle the bars down substantially, so you might try his later settings from that thread, but they didn't work on my TV (sync is pushing it too much it seems) and the bars on mine are slightly bigger. That's okay though, seeing as the AR and pixels are 1:1 and it was never meant to be displayed on a 15Khz CRT anyway.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
- Captain FPGA
- Top Contributor
- Posts: 373
- Joined: Sun Apr 11, 2021 9:19 pm
- Has thanked: 195 times
- Been thanked: 25 times
Re: Display ao486 core on CRT
Bam! That did the trick. Here I thought everything was done through the ini, Aspect Ratio: Full Screen in the OSD menu is key. This even gives me a clue on how to manage other cores like the Game Gear which is too small a screen on my CRT. No need to comment on that here, I'll ask over at the Game Gear section. Thanks ever so much for fixing my Ao486 problem!akeley wrote: ↑Fri Sep 17, 2021 10:06 amUse the settings from the link on top of this thread or bvdh85's .ini. In addition, in the OSD you will need to change Aspect Ratio to Full (or try the Scale integer settings).Captain FPGA wrote: ↑Fri Sep 17, 2021 1:33 am What are the settings I would need to adjust to get this right?
Even so, there will still be some black bars anyway.
In this pic Thorr managed to whittle the bars down substantially, so you might try his later settings from that thread, but they didn't work on my TV (sync is pushing it too much it seems) and the bars on mine are slightly bigger. That's okay though, seeing as the AR and pixels are 1:1 and it was never meant to be displayed on a 15Khz CRT anyway.
- Attachments
-
- TV.jpg (38.98 KiB) Viewed 9261 times
Dreams don't die!
-
- Posts: 30
- Joined: Sun Oct 17, 2021 11:28 am
- Been thanked: 19 times
Re: Display ao486 core on CRT
Has anyone found a tweak to the 640x480 settings to make the text clear and centered better?
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Display ao486 core on CRT
Yes, setting up a 480p (or higher) mode and using an HDMI to Svideo converter, I get 480i output which doubles the vertical resolution. I wish this was supported with the built-in scaler. https://www.amazon.com/dp/B00V2ULFAQKuro Houou wrote: ↑Thu Oct 21, 2021 3:07 am Has anyone found a tweak to the 640x480 settings to make the text clear and centered better?