@@ -73,11 +73,12 @@ static struct {
7373 GUI_Widget * vmu_priv_1mb ;
7474 GUI_Widget * screenshot ;
7575 GUI_Widget * alt_boot ;
76+ GUI_Widget * alt_read ;
7677
7778 GUI_Widget * device ;
7879 GUI_Widget * os_chk [4 ];
7980
80- GUI_Widget * options_switch [4 ];
81+ GUI_Widget * options_switch [5 ];
8182 GUI_Widget * boot_mode_chk [3 ];
8283 GUI_Widget * memory_chk [16 ];
8384 GUI_Widget * memory_text ;
@@ -405,11 +406,12 @@ void isoLoader_MakeShortcut(GUI_Widget *widget) {
405406 if (GUI_WidgetGetState (self .dma )) {
406407 strcat (cmd , " -a" );
407408 }
408-
409+ if (GUI_WidgetGetState (self .alt_read )) {
410+ strcat (cmd , " -y" );
411+ }
409412 if (GUI_WidgetGetState (self .irq )) {
410413 strcat (cmd , " -q" );
411414 }
412-
413415 if (GUI_WidgetGetState (self .low )) {
414416 strcat (cmd , " -l" );
415417 }
@@ -1054,11 +1056,9 @@ void isoLoader_Run(GUI_Widget *widget) {
10541056 if (GUI_WidgetGetState (self .irq )) {
10551057 self .isoldr -> use_irq = 1 ;
10561058 }
1057-
10581059 if (GUI_WidgetGetState (self .low )) {
10591060 self .isoldr -> syscalls = 1 ;
10601061 }
1061-
10621062 if (GUI_WidgetGetState (self .cdda )) {
10631063 self .isoldr -> emu_cdda = getModeCDDA ();
10641064 }
@@ -1086,7 +1086,9 @@ void isoLoader_Run(GUI_Widget *widget) {
10861086 if (GUI_WidgetGetState (self .dma )) {
10871087 self .isoldr -> use_dma = 1 ;
10881088 }
1089-
1089+ if (GUI_WidgetGetState (self .alt_read )) {
1090+ self .isoldr -> alt_read = 1 ;
1091+ }
10901092 if (GUI_WidgetGetState (self .fastboot )) {
10911093 self .isoldr -> fast_boot = 1 ;
10921094 }
@@ -1348,6 +1350,7 @@ void isoLoader_DefaultPreset() {
13481350
13491351 setModeCDDA (CDDA_MODE_DISABLED );
13501352
1353+ GUI_WidgetSetState (self .alt_read , 0 );
13511354 GUI_WidgetSetState (self .irq , 0 );
13521355 GUI_WidgetSetState (self .low , 0 );
13531356 isoLoader_toggleVMU (self .vmu_disabled );
@@ -1484,12 +1487,13 @@ int isoLoader_SavePreset() {
14841487 snprintf (result , sizeof (result ),
14851488 "title = %s\ndevice = %s\ndma = %d\nasync = %d\ncdda = %08lx\n"
14861489 "irq = %d\nlow = %d\nheap = %08lx\nfastboot = %d\ntype = %d\nmode = %d\nmemory = %s\n"
1487- "vmu = %d\nscrhotkey = %lx\n"
1490+ "vmu = %d\nscrhotkey = %lx\naltread = %d\ n"
14881491 "pa1 = %08lx\npv1 = %08lx\npa2 = %08lx\npv2 = %08lx\n" ,
14891492 title , GUI_TextEntryGetText (self .device ), GUI_WidgetGetState (self .dma ), async ,
14901493 cdda_mode , GUI_WidgetGetState (self .irq ), GUI_WidgetGetState (self .low ), heap ,
14911494 GUI_WidgetGetState (self .fastboot ), type , mode , memory ,
14921495 vmu_num , (uint32 )(GUI_WidgetGetState (self .screenshot ) ? SCREENSHOT_HOTKEY : 0 ),
1496+ GUI_WidgetGetState (self .alt_read ),
14931497 self .pa [0 ], self .pv [0 ], self .pa [1 ], self .pv [1 ]);
14941498
14951499 if (GUI_WidgetGetState (self .alt_boot )) {
@@ -1516,7 +1520,7 @@ int isoLoader_LoadPreset() {
15161520 return -1 ;
15171521 }
15181522
1519- int use_dma = 0 , emu_async = 16 , use_irq = 0 ;
1523+ int use_dma = 0 , emu_async = 16 , use_irq = 0 , alt_read = 0 ;
15201524 int fastboot = 0 , low = 0 , emu_vmu = 0 , scr_hotkey = 0 ;
15211525 int boot_mode = BOOT_MODE_DIRECT ;
15221526 int bin_type = BIN_TYPE_AUTO ;
@@ -1535,6 +1539,7 @@ int isoLoader_LoadPreset() {
15351539
15361540 isoldr_conf options [] = {
15371541 { "dma" , CONF_INT , (void * ) & use_dma },
1542+ { "altread" , CONF_INT , (void * ) & alt_read },
15381543 { "cdda" , CONF_ULONG , (void * ) & emu_cdda },
15391544 { "irq" , CONF_INT , (void * ) & use_irq },
15401545 { "low" , CONF_INT , (void * ) & low },
@@ -1564,6 +1569,7 @@ int isoLoader_LoadPreset() {
15641569
15651570 GUI_WidgetSetState (self .dma , use_dma );
15661571 isoLoader_toggleDMA (self .dma );
1572+ GUI_WidgetSetState (self .alt_read , alt_read );
15671573
15681574 if (emu_async == 0 ) {
15691575 GUI_WidgetSetState (self .async [0 ], 1 );
@@ -1738,6 +1744,7 @@ void isoLoader_Init(App_t *app) {
17381744
17391745 self .preset = APP_GET_WIDGET ("preset-checkbox" );
17401746 self .dma = APP_GET_WIDGET ("dma-checkbox" );
1747+ self .alt_read = APP_GET_WIDGET ("alt-read-checkbox" );
17411748 self .cdda = APP_GET_WIDGET ("cdda-checkbox" );
17421749 self .irq = APP_GET_WIDGET ("irq-checkbox" );
17431750 self .low = APP_GET_WIDGET ("low-checkbox" );
0 commit comments