diff -ur vdr/channels.c vdr-atsc/channels.c --- vdr/channels.c 2008-03-07 15:42:38.000000000 -0500 +++ vdr-atsc/channels.c 2008-03-07 15:44:28.000000000 -0500 @@ -51,6 +51,7 @@ const tChannelParameterMap ModulationValues[] = { { 0, QPSK }, + { 8, VSB_8 }, { 16, QAM_16 }, { 32, QAM_32 }, { 64, QAM_64 }, diff -ur vdr/dvbdevice.c vdr-atsc/dvbdevice.c --- vdr/dvbdevice.c 2008-02-09 11:11:44.000000000 -0500 +++ vdr-atsc/dvbdevice.c 2008-03-07 15:45:33.000000000 -0500 @@ -258,6 +258,18 @@ lockTimeout = DVBC_LOCK_TIMEOUT; } break; + case FE_ATSC: { // ATSC + + // Frequency and symbol rate: + + Frontend.frequency = FrequencyToHz(channel.Frequency()); + Frontend.inversion = fe_spectral_inversion_t(channel.Inversion()); + Frontend.u.vsb.modulation = fe_modulation_t(channel.Modulation()); + + tuneTimeout = DVBC_TUNE_TIMEOUT; + lockTimeout = DVBC_LOCK_TIMEOUT; + } + break; case FE_OFDM: { // DVB-T // Frequency and OFDM paramaters: @@ -745,6 +757,8 @@ int type = Source & cSource::st_Mask; return type == cSource::stNone || type == cSource::stCable && frontendType == FE_QAM + || type == cSource::stCable && frontendType == FE_ATSC + || type == cSource::stTerr && frontendType == FE_ATSC || type == cSource::stSat && frontendType == FE_QPSK || type == cSource::stTerr && frontendType == FE_OFDM; }