package turgen.decoder;

import java.io.Serializable;

public final class DecoderConfig implements Serializable {
    
    public static final int PL_TURBO_ROM_FILE_FORMAT_BINARY=0;
    public static final int PL_TURBO_ROM_FILE_FORMAT_BASIC=1;
    
    /*General settings*/
    public boolean genPrependSampleNumber;
    public boolean genIgnoreBadSum;
    public boolean genPreferAdaptiveSpeedDetection;
    
    /*Monitor mode settings*/
    public boolean monitorSaveAllBytes;
    
    /*Turbo 2000 and Super Turbo (Czechoslovakia)*/
    public boolean csTurboSaveHeaderToExtraFile;
    public boolean csTurboAlwaysSaveAsBinary;
    
    /*Turbo ROM*/
    public int turboROMFileFormat;
    

    public void csTurboDefaults() {
        csTurboSaveHeaderToExtraFile=false;
        csTurboAlwaysSaveAsBinary=false;
    }
    
    public void turboROMDefaults() {
        turboROMFileFormat=PL_TURBO_ROM_FILE_FORMAT_BINARY;
    }

    public void monitorDefaults() {
        monitorSaveAllBytes=false;
    }

    public void generalDefaults() {
        genPrependSampleNumber=true;
        genPreferAdaptiveSpeedDetection=false;
        genIgnoreBadSum=false;
    }
    

    void setAllDefaults() {
        generalDefaults();
        monitorDefaults();
        csTurboDefaults();
        turboROMDefaults();
    }

    public DecoderConfig() {
        setAllDefaults();
    }



}
