3030#include < SDCard/emmc.h>
3131#include < fatfs/ff.h>
3232#include < circle/util.h>
33+ #include < circle/machineinfo.h>
3334#include " lowlevel_arm64.h"
3435#include " config.h"
3536#include " helpers.h"
3839// #define DEBUG_OUT
3940
4041#ifdef SIDEKICK20
41- u8 cfgVIC_Emulation = 0 ,
42- cfgVIC_VFLI_Support = 0 ,
43- cfgVIC_Audio_Filter = 0 ;
44- u16 cfgVIC_ScanlineIntensity = 256 ;
45- #endif
42+ u8 cfgVIC_Emulation = 0 ,
43+ cfgVIC_VFLI_Support = 0 ,
44+ cfgVIC_Audio_Filter = 0 ;
45+ u16 cfgVIC_ScanlineIntensity = 256 ;
46+ #endif
4647
4748u32 skinFontLoaded;
4849char skinFontFilename[ 1024 ];
@@ -242,35 +243,35 @@ int readConfig( CLogger *logger, char *DRIVE, char *FILENAME )
242243 }
243244
244245 #ifdef SIDEKICK20
245- if ( strcmp ( ptr, " VIC_EMULATION" ) == 0 )
246- {
247- ptr = strtok_r ( NULL , " \t " , &rest );
248- if ( strstr ( ptr, " NONE" ) ) cfgVIC_Emulation = 0 ;
249- if ( strstr ( ptr, " PAL" ) ) cfgVIC_Emulation = 1 ;
250- if ( strstr ( ptr, " NTSC" ) ) cfgVIC_Emulation = 2 ;
251- }
252-
253- if ( strcmp ( ptr, " VIC_VFLI_SUPPORT" ) == 0 )
254- {
255- ptr = strtok_r ( NULL , " \t " , &rest );
256- if ( strstr ( ptr, " YES" ) ) cfgVIC_VFLI_Support = 1 ;
257- if ( strstr ( ptr, " NO" ) ) cfgVIC_VFLI_Support = 0 ;
258- }
259- if ( strcmp ( ptr, " VIC_AUDIO_FILTER" ) == 0 )
260- {
261- ptr = strtok_r ( NULL , " \t " , &rest );
262- if ( strstr ( ptr, " YES" ) ) cfgVIC_Audio_Filter = 1 ;
263- if ( strstr ( ptr, " NO" ) ) cfgVIC_Audio_Filter = 0 ;
264- }
265- if ( strcmp ( ptr, " VIC_SCANLINE_INTENSITY" ) == 0 && ( ptr = strtok_r ( NULL , " \" " , &rest ) ) )
266- {
267- cfgVIC_ScanlineIntensity = atoi ( ptr );
268- if ( cfgVIC_ScanlineIntensity < 0 ) cfgVIC_ScanlineIntensity = 0 ;
269- if ( cfgVIC_ScanlineIntensity > 256 ) cfgVIC_ScanlineIntensity = 256 ;
270- ptr = strtok_r ( NULL , " \t " , &rest );
271- if ( strstr ( ptr, " YES" ) ) cfgVIC_Audio_Filter = 1 ;
272- if ( strstr ( ptr, " NO" ) ) cfgVIC_Audio_Filter = 0 ;
273- }
246+ if ( strcmp ( ptr, " VIC_EMULATION" ) == 0 )
247+ {
248+ ptr = strtok_r ( NULL , " \t " , &rest );
249+ if ( strstr ( ptr, " NONE" ) ) cfgVIC_Emulation = 0 ;
250+ if ( strstr ( ptr, " PAL" ) ) cfgVIC_Emulation = 1 ;
251+ if ( strstr ( ptr, " NTSC" ) ) cfgVIC_Emulation = 2 ;
252+ }
253+
254+ if ( strcmp ( ptr, " VIC_VFLI_SUPPORT" ) == 0 )
255+ {
256+ ptr = strtok_r ( NULL , " \t " , &rest );
257+ if ( strstr ( ptr, " YES" ) ) cfgVIC_VFLI_Support = 1 ;
258+ if ( strstr ( ptr, " NO" ) ) cfgVIC_VFLI_Support = 0 ;
259+ }
260+ if ( strcmp ( ptr, " VIC_AUDIO_FILTER" ) == 0 )
261+ {
262+ ptr = strtok_r ( NULL , " \t " , &rest );
263+ if ( strstr ( ptr, " YES" ) ) cfgVIC_Audio_Filter = 1 ;
264+ if ( strstr ( ptr, " NO" ) ) cfgVIC_Audio_Filter = 0 ;
265+ }
266+ if ( strcmp ( ptr, " VIC_SCANLINE_INTENSITY" ) == 0 && ( ptr = strtok_r ( NULL , " \" " , &rest ) ) )
267+ {
268+ cfgVIC_ScanlineIntensity = atoi ( ptr );
269+ if ( cfgVIC_ScanlineIntensity < 0 ) cfgVIC_ScanlineIntensity = 0 ;
270+ if ( cfgVIC_ScanlineIntensity > 256 ) cfgVIC_ScanlineIntensity = 256 ;
271+ ptr = strtok_r ( NULL , " \t " , &rest );
272+ if ( strstr ( ptr, " YES" ) ) cfgVIC_Audio_Filter = 1 ;
273+ if ( strstr ( ptr, " NO" ) ) cfgVIC_Audio_Filter = 0 ;
274+ }
274275 #endif
275276
276277 if ( strcmp ( ptr, " SKIN_BACKGROUND_ANIMATION" ) == 0 )
@@ -295,6 +296,13 @@ int readConfig( CLogger *logger, char *DRIVE, char *FILENAME )
295296 screenType = 1 ;
296297 screenRotation = 1 ;
297298 }
299+ if ( strstr ( ptr, " ST7789_AUTOROTATE" ) )
300+ {
301+ screenType = 1 ;
302+ CMachineInfo *m_pMachineInfo;
303+ if ( m_pMachineInfo->Get ()->GetMachineModel () == MachineModelZero2W )
304+ screenRotation = 1 ;
305+ }
298306 }
299307 }
300308 }
@@ -311,6 +319,16 @@ int readConfig( CLogger *logger, char *DRIVE, char *FILENAME )
311319 if ( timingValues[ 8 ] ) WAIT_TRIGGER_DMA = timingValues[ 8 ];
312320 if ( timingValues[ 9 ] ) WAIT_RELEASE_DMA = timingValues[ 9 ];
313321
322+ if ( timingValues[ 10 ] ) POLL_FOR_SIGNALS_VIC = timingValues[ 10 ];
323+ if ( timingValues[ 11 ] ) POLL_FOR_SIGNALS_CPU = timingValues[ 11 ];
324+ if ( timingValues[ 12 ] ) POLL_CYCLE_MULTIPLEXER_VIC = timingValues[ 12 ];
325+ if ( timingValues[ 13 ] ) POLL_CYCLE_MULTIPLEXER_CPU = timingValues[ 13 ];
326+ if ( timingValues[ 14 ] ) POLL_READ = timingValues[ 14 ];
327+ if ( timingValues[ 15 ] ) POLL_READ_VIC2 = timingValues[ 15 ];
328+ if ( timingValues[ 16 ] ) POLL_WAIT_CYCLE_WRITEDATA = timingValues[ 16 ];
329+ if ( timingValues[ 17 ] ) POLL_TRIGGER_DMA = timingValues[ 17 ];
330+ if ( timingValues[ 18 ] ) POLL_RELEASE_DMA = timingValues[ 18 ];
331+
314332 #ifndef SIDEKICK20
315333
316334 backupUserProfile ();
0 commit comments