diff -Naur vdr-1.5.8.org/channels.c vdr-1.5.8/channels.c --- vdr-1.5.8.org/channels.c 2009-01-09 19:30:34.111620453 -0500 +++ vdr-1.5.8/channels.c 2009-01-09 19:43:36.168620571 -0500 @@ -52,6 +52,7 @@ const tChannelParameterMap ModulationValues[] = { { 0, MOD_QPSK }, { 0, QPSK }, + { 4, VSB_8 }, { 8, MOD_8PSK }, { 16, MOD_QAM_16 }, { 16, QAM_16 }, diff -Naur vdr-1.5.8.org/dvbdevice.c vdr-1.5.8/dvbdevice.c --- vdr-1.5.8.org/dvbdevice.c 2009-01-09 19:29:28.213620830 -0500 +++ vdr-1.5.8/dvbdevice.c 2009-01-09 19:43:36.169621124 -0500 @@ -264,6 +264,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: @@ -764,6 +776,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::stSat && frontendType == FE_DVB_S || type == cSource::stSat && frontendType == FE_DVB_S2 diff -Naur vdr-1.5.8.org/sources.c vdr-1.5.8/sources.c --- vdr-1.5.8.org/sources.c 2004-12-26 06:58:52.000000000 -0500 +++ vdr-1.5.8/sources.c 2009-01-09 19:43:36.169621124 -0500 @@ -57,6 +57,7 @@ int type = stNone; switch (toupper(*s)) { case 'C': type = stCable; break; + case 'A': type = stCable; break; case 'S': type = stSat; break; case 'T': type = stTerr; break; case '0' ... '9': type = *s - '0'; break; // backward compatibility