1
0
mirror of https://github.com/mist-devel/mist-firmware.git synced 2026-02-12 02:27:09 +00:00

- Video fix, scanlines support

This commit is contained in:
jcgamestoy
2013-08-22 00:07:44 +00:00
parent d5e6e7e2c2
commit a24d3dd7b1
2 changed files with 43 additions and 19 deletions

View File

@@ -99,7 +99,7 @@ const unsigned short usb2ami[] = {
0x5f, // 44: F11
0x69 | OSD, // 45: F12 (OSD)
0x6e | OSD, // 46: Print Screen (OSD)
0x69 | OSD, // 47: Scroll Lock (OSD)
NUM_LOCK_TOGGLE, // 47: Scroll Lock (OSD)
MISS, // 48: Pause
MISS, // 49: Insert
MISS, // 4a: Home
@@ -219,7 +219,7 @@ const unsigned short usb2atari[] = {
MISS, // 44: F11
OSD_LOC, // 45: F12
MISS, // 46: Print Screen
MISS, // 47: Scroll Lock
NUM_LOCK_TOGGLE, // 47: Scroll Lock
MISS, // 48: Pause
0x52, // 49: Insert
0x47, // 4a: Home

58
menu.c
View File

@@ -100,6 +100,13 @@ const char *helptexts[]={
0
};
const char* scanlines[]={"Off","25%","50%","75%"};
unsigned int scan=0;
const char* stereo[]={"Mono","Stereo"};
unsigned int sstereo=0;
unsigned char config_autofire = 0;
// file selection menu variables
@@ -315,7 +322,7 @@ void HandleUI(void)
/* everything else is in submenus */
OsdWrite(3, " Storage \x16", menusub == 2,0);
OsdWrite(4, " System \x16", menusub == 3,0);
OsdWrite(5, " Video \x16", menusub == 4,0);
OsdWrite(5, " Audio / Video \x16", menusub == 4,0);
OsdWrite(6, " Firmware & Core \x16", menusub == 5,0);
OsdWrite(7, STD_EXIT, menusub == 6,0);
@@ -559,29 +566,35 @@ void HandleUI(void)
case MENU_MIST_VIDEO1 :
menumask=0x0f;
OsdSetTitle("Video", 0);
OsdWrite(0, "", 0,0);
menumask=0x3f;
OsdSetTitle("A/V", 0);
strcpy(s, " PAL mode: ");
if(tos_system_ctrl & TOS_CONTROL_PAL50HZ) strcat(s, "50Hz");
else strcat(s, "56Hz");
OsdWrite(1, s, menusub == 0,0);
OsdWrite(0, s, menusub == 0,0);
strcpy(s, " Blitter: ");
strcat(s, (tos_system_ctrl & TOS_CONTROL_BLITTER)?"on":"off");
OsdWrite(2, s, menusub == 1, 0);
OsdWrite(1, s, menusub == 1, 0);
strcpy(s, " Screen: ");
if(tos_system_ctrl & TOS_CONTROL_VIDEO_COLOR) strcat(s, "Color");
else strcat(s, "Mono");
OsdWrite(3, s, menusub == 2,0);
OsdWrite(4, "", 0,0);
OsdWrite(5, "", 0,0);
OsdWrite(6, "", 0,0);
OsdWrite(7, STD_EXIT, menusub == 3,0);
OsdWrite(2, "", 0,0);
OsdWrite(3, s, menusub == 2,0);
strcpy(s," Scanlines: ");
strcat(s,scanlines[scan & 0x3]);
OsdWrite(4,s,menusub==3,0);
strcpy(s," Audio: ");
strcat(s,stereo[sstereo & 0x1]);
OsdWrite(5, s, menusub==4,0);
OsdWrite(6, "", 0,0);
OsdWrite(7, STD_EXIT, menusub == 5,0);
parentstate = menustate;
menustate = MENU_MIST_VIDEO2;
@@ -605,14 +618,25 @@ void HandleUI(void)
menustate = MENU_MIST_VIDEO1;
break;
case 2:
tos_update_sysctrl(tos_system_ctrl ^ TOS_CONTROL_VIDEO_COLOR);
menustate = MENU_MIST_VIDEO1;
break;
case 2:
tos_update_sysctrl(tos_system_ctrl ^ TOS_CONTROL_VIDEO_COLOR);
menustate = MENU_MIST_VIDEO1;
break;
case 3:
case 3:
scan=(scan+1) & 0x3;
tos_update_sysctrl((tos_system_ctrl & 0x3fffffff) | (scan<<30));
menustate=MENU_MIST_VIDEO1;
break;
case 4:
sstereo++;
tos_update_sysctrl(tos_system_ctrl ^ 0x20000000);
menustate=MENU_MIST_VIDEO1;
break;
case 5:
menustate = MENU_MIST_MAIN1;
menusub = 4;
break;
}
}
break;