Skip to content

Commit e97d153

Browse files
authored
0.51d updates
1 parent e4b7929 commit e97d153

File tree

11 files changed

+504
-253
lines changed

11 files changed

+504
-253
lines changed

Source/Firmware/264config.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
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 "264config.h"
3536
#include "helpers.h"
@@ -206,6 +207,13 @@ int readConfig( CLogger *logger, char *DRIVE, char *FILENAME )
206207
screenType = 1;
207208
screenRotation = 1;
208209
}
210+
if ( strstr( ptr, "ST7789_AUTOROTATE" ) )
211+
{
212+
screenType = 1;
213+
CMachineInfo *m_pMachineInfo;
214+
if ( m_pMachineInfo->Get()->GetMachineModel() == MachineModelZero2W )
215+
screenRotation = 1;
216+
}
209217
}
210218
}
211219
}

Source/Firmware/config.cpp

Lines changed: 52 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
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"
@@ -38,11 +39,11 @@
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

4748
u32 skinFontLoaded;
4849
char 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();

Source/Firmware/config.h

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ extern int menuItemPos[ 5 ][ MAX_ITEMS ][ 2 ];
3737
extern int screenType, screenRotation, vdcSupport;
3838

3939
#ifdef SIDEKICK20
40-
extern u8 cfgVIC_Emulation,
41-
cfgVIC_VFLI_Support,
42-
cfgVIC_Audio_Filter;
43-
extern u16 cfgVIC_ScanlineIntensity;
44-
#endif
40+
extern u8 cfgVIC_Emulation,
41+
cfgVIC_VFLI_Support,
42+
cfgVIC_Audio_Filter;
43+
extern u16 cfgVIC_ScanlineIntensity;
44+
#endif
4545

46-
#define TIMING_NAMES 10
46+
#define TIMING_NAMES 19
4747
const char timingNames[TIMING_NAMES][32] = {
4848
"WAIT_FOR_SIGNALS",
4949
"WAIT_CYCLE_READ",
@@ -54,7 +54,16 @@ const char timingNames[TIMING_NAMES][32] = {
5454
"WAIT_CYCLE_MULTIPLEXER",
5555
"WAIT_CYCLE_MULTIPLEXER_VIC2",
5656
"WAIT_TRIGGER_DMA",
57-
"WAIT_RELEASE_DMA"
57+
"WAIT_RELEASE_DMA",
58+
"POLL_FOR_SIGNALS_VIC",
59+
"POLL_FOR_SIGNALS_CPU",
60+
"POLL_CYCLE_MULTIPLEXER_VIC",
61+
"POLL_CYCLE_MULTIPLEXER_CPU",
62+
"POLL_READ",
63+
"POLL_READ_VIC2",
64+
"POLL_WAIT_CYCLE_WRITEDATA",
65+
"POLL_TRIGGER_DMA",
66+
"POLL_RELEASE_DMA",
5867
};
5968

6069
#define CATEGORY_NAMES 5

Source/Firmware/crt.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ void readCRTFile( CLogger *logger, CRT_HEADER *crtHeader, const char *DRIVE, con
167167

168168
// read data in one big chunk
169169
u32 nBytesRead;
170-
memset( rawCRT, 0, filesize );
170+
// memset( rawCRT, 0, filesize );
171+
memset( rawCRT, 0, 1032 * 1024 );
171172
result = f_read( &file, rawCRT, filesize, &nBytesRead );
172173

173174
if ( result != FR_OK )

0 commit comments

Comments
 (0)