Skip to content

Commit

Permalink
0.51d updates
Browse files Browse the repository at this point in the history
  • Loading branch information
frntc committed Jun 20, 2023
1 parent e4b7929 commit e97d153
Show file tree
Hide file tree
Showing 11 changed files with 504 additions and 253 deletions.
8 changes: 8 additions & 0 deletions Source/Firmware/264config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include <SDCard/emmc.h>
#include <fatfs/ff.h>
#include <circle/util.h>
#include <circle/machineinfo.h>
#include "lowlevel_arm64.h"
#include "264config.h"
#include "helpers.h"
Expand Down Expand Up @@ -206,6 +207,13 @@ int readConfig( CLogger *logger, char *DRIVE, char *FILENAME )
screenType = 1;
screenRotation = 1;
}
if ( strstr( ptr, "ST7789_AUTOROTATE" ) )
{
screenType = 1;
CMachineInfo *m_pMachineInfo;
if ( m_pMachineInfo->Get()->GetMachineModel() == MachineModelZero2W )
screenRotation = 1;
}
}
}
}
Expand Down
86 changes: 52 additions & 34 deletions Source/Firmware/config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include <SDCard/emmc.h>
#include <fatfs/ff.h>
#include <circle/util.h>
#include <circle/machineinfo.h>
#include "lowlevel_arm64.h"
#include "config.h"
#include "helpers.h"
Expand All @@ -38,11 +39,11 @@
//#define DEBUG_OUT

#ifdef SIDEKICK20
u8 cfgVIC_Emulation = 0,
cfgVIC_VFLI_Support = 0,
cfgVIC_Audio_Filter = 0;
u16 cfgVIC_ScanlineIntensity = 256;
#endif
u8 cfgVIC_Emulation = 0,
cfgVIC_VFLI_Support = 0,
cfgVIC_Audio_Filter = 0;
u16 cfgVIC_ScanlineIntensity = 256;
#endif

u32 skinFontLoaded;
char skinFontFilename[ 1024 ];
Expand Down Expand Up @@ -242,35 +243,35 @@ int readConfig( CLogger *logger, char *DRIVE, char *FILENAME )
}

#ifdef SIDEKICK20
if ( strcmp( ptr, "VIC_EMULATION" ) == 0 )
{
ptr = strtok_r( NULL, " \t", &rest );
if ( strstr( ptr, "NONE" ) ) cfgVIC_Emulation = 0;
if ( strstr( ptr, "PAL" ) ) cfgVIC_Emulation = 1;
if ( strstr( ptr, "NTSC" ) ) cfgVIC_Emulation = 2;
}

if ( strcmp( ptr, "VIC_VFLI_SUPPORT" ) == 0 )
{
ptr = strtok_r( NULL, " \t", &rest );
if ( strstr( ptr, "YES" ) ) cfgVIC_VFLI_Support = 1;
if ( strstr( ptr, "NO" ) ) cfgVIC_VFLI_Support = 0;
}
if ( strcmp( ptr, "VIC_AUDIO_FILTER" ) == 0 )
{
ptr = strtok_r( NULL, " \t", &rest );
if ( strstr( ptr, "YES" ) ) cfgVIC_Audio_Filter = 1;
if ( strstr( ptr, "NO" ) ) cfgVIC_Audio_Filter = 0;
}
if ( strcmp( ptr, "VIC_SCANLINE_INTENSITY" ) == 0 && ( ptr = strtok_r( NULL, "\"", &rest ) ) )
{
cfgVIC_ScanlineIntensity = atoi( ptr );
if ( cfgVIC_ScanlineIntensity < 0 ) cfgVIC_ScanlineIntensity = 0;
if ( cfgVIC_ScanlineIntensity > 256 ) cfgVIC_ScanlineIntensity = 256;
ptr = strtok_r( NULL, " \t", &rest );
if ( strstr( ptr, "YES" ) ) cfgVIC_Audio_Filter = 1;
if ( strstr( ptr, "NO" ) ) cfgVIC_Audio_Filter = 0;
}
if ( strcmp( ptr, "VIC_EMULATION" ) == 0 )
{
ptr = strtok_r( NULL, " \t", &rest );
if ( strstr( ptr, "NONE" ) ) cfgVIC_Emulation = 0;
if ( strstr( ptr, "PAL" ) ) cfgVIC_Emulation = 1;
if ( strstr( ptr, "NTSC" ) ) cfgVIC_Emulation = 2;
}

if ( strcmp( ptr, "VIC_VFLI_SUPPORT" ) == 0 )
{
ptr = strtok_r( NULL, " \t", &rest );
if ( strstr( ptr, "YES" ) ) cfgVIC_VFLI_Support = 1;
if ( strstr( ptr, "NO" ) ) cfgVIC_VFLI_Support = 0;
}
if ( strcmp( ptr, "VIC_AUDIO_FILTER" ) == 0 )
{
ptr = strtok_r( NULL, " \t", &rest );
if ( strstr( ptr, "YES" ) ) cfgVIC_Audio_Filter = 1;
if ( strstr( ptr, "NO" ) ) cfgVIC_Audio_Filter = 0;
}
if ( strcmp( ptr, "VIC_SCANLINE_INTENSITY" ) == 0 && ( ptr = strtok_r( NULL, "\"", &rest ) ) )
{
cfgVIC_ScanlineIntensity = atoi( ptr );
if ( cfgVIC_ScanlineIntensity < 0 ) cfgVIC_ScanlineIntensity = 0;
if ( cfgVIC_ScanlineIntensity > 256 ) cfgVIC_ScanlineIntensity = 256;
ptr = strtok_r( NULL, " \t", &rest );
if ( strstr( ptr, "YES" ) ) cfgVIC_Audio_Filter = 1;
if ( strstr( ptr, "NO" ) ) cfgVIC_Audio_Filter = 0;
}
#endif

if ( strcmp( ptr, "SKIN_BACKGROUND_ANIMATION" ) == 0 )
Expand All @@ -295,6 +296,13 @@ int readConfig( CLogger *logger, char *DRIVE, char *FILENAME )
screenType = 1;
screenRotation = 1;
}
if ( strstr( ptr, "ST7789_AUTOROTATE" ) )
{
screenType = 1;
CMachineInfo *m_pMachineInfo;
if ( m_pMachineInfo->Get()->GetMachineModel() == MachineModelZero2W )
screenRotation = 1;
}
}
}
}
Expand All @@ -311,6 +319,16 @@ int readConfig( CLogger *logger, char *DRIVE, char *FILENAME )
if ( timingValues[ 8 ] ) WAIT_TRIGGER_DMA = timingValues[ 8 ];
if ( timingValues[ 9 ] ) WAIT_RELEASE_DMA = timingValues[ 9 ];

if ( timingValues[ 10 ] ) POLL_FOR_SIGNALS_VIC = timingValues[ 10 ];
if ( timingValues[ 11 ] ) POLL_FOR_SIGNALS_CPU = timingValues[ 11 ];
if ( timingValues[ 12 ] ) POLL_CYCLE_MULTIPLEXER_VIC = timingValues[ 12 ];
if ( timingValues[ 13 ] ) POLL_CYCLE_MULTIPLEXER_CPU = timingValues[ 13 ];
if ( timingValues[ 14 ] ) POLL_READ = timingValues[ 14 ];
if ( timingValues[ 15 ] ) POLL_READ_VIC2 = timingValues[ 15 ];
if ( timingValues[ 16 ] ) POLL_WAIT_CYCLE_WRITEDATA = timingValues[ 16 ];
if ( timingValues[ 17 ] ) POLL_TRIGGER_DMA = timingValues[ 17 ];
if ( timingValues[ 18 ] ) POLL_RELEASE_DMA = timingValues[ 18 ];

#ifndef SIDEKICK20

backupUserProfile();
Expand Down
23 changes: 16 additions & 7 deletions Source/Firmware/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ extern int menuItemPos[ 5 ][ MAX_ITEMS ][ 2 ];
extern int screenType, screenRotation, vdcSupport;

#ifdef SIDEKICK20
extern u8 cfgVIC_Emulation,
cfgVIC_VFLI_Support,
cfgVIC_Audio_Filter;
extern u16 cfgVIC_ScanlineIntensity;
#endif
extern u8 cfgVIC_Emulation,
cfgVIC_VFLI_Support,
cfgVIC_Audio_Filter;
extern u16 cfgVIC_ScanlineIntensity;
#endif

#define TIMING_NAMES 10
#define TIMING_NAMES 19
const char timingNames[TIMING_NAMES][32] = {
"WAIT_FOR_SIGNALS",
"WAIT_CYCLE_READ",
Expand All @@ -54,7 +54,16 @@ const char timingNames[TIMING_NAMES][32] = {
"WAIT_CYCLE_MULTIPLEXER",
"WAIT_CYCLE_MULTIPLEXER_VIC2",
"WAIT_TRIGGER_DMA",
"WAIT_RELEASE_DMA"
"WAIT_RELEASE_DMA",
"POLL_FOR_SIGNALS_VIC",
"POLL_FOR_SIGNALS_CPU",
"POLL_CYCLE_MULTIPLEXER_VIC",
"POLL_CYCLE_MULTIPLEXER_CPU",
"POLL_READ",
"POLL_READ_VIC2",
"POLL_WAIT_CYCLE_WRITEDATA",
"POLL_TRIGGER_DMA",
"POLL_RELEASE_DMA",
};

#define CATEGORY_NAMES 5
Expand Down
3 changes: 2 additions & 1 deletion Source/Firmware/crt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,8 @@ void readCRTFile( CLogger *logger, CRT_HEADER *crtHeader, const char *DRIVE, con

// read data in one big chunk
u32 nBytesRead;
memset( rawCRT, 0, filesize );
// memset( rawCRT, 0, filesize );
memset( rawCRT, 0, 1032 * 1024 );
result = f_read( &file, rawCRT, filesize, &nBytesRead );

if ( result != FR_OK )
Expand Down
Loading

0 comments on commit e97d153

Please sign in to comment.