Files
ChanSort/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.ini
Horst Beham 8480fcf5c2 - experimental support for Philips channel list format 125 (with automatic sync to MtkChannelList.xml)
- experimental support for MtkChannelList.xml (which is part of several MediaTek based Google TVs, e.g. Philips formats 120 and 125)
- Philips formats 100-125: improved decoding of non-latin characters (turkish, cyrillic, ...)
2024-10-01 10:05:48 +02:00

471 lines
11 KiB
INI

############################################################################
# Repair\CM_*_LA_CK.BIN file (or similar) with a hidden .xml - stable
[Repair_xml]
; nothing to configure
############################################################################
# Repair\channel_db_ver.db, mgr_chan_s_fta.db, FLASH_DTVINFO_S_FTA, _pkg, ... - experimental
# There are different version of this format using different offsets/lengths/sizes.
# The calculated length of a channel record in the .db file is used to select specific config sections.
#
# There is a program number at offset 0 and another one around 450 in the .db file.
# My guess is that the 1st is the "new" number and the 2nd the "old" number - or it is the other way around.
# When both numbers are updated and also the value of RecordIndex is set to PrNr-1, the TV doesn't show any changes.
; ---------------------------------------------
; mappings that are the same for all format variants
[flash_db]
reorderRecordsByChannelNumber=true
allowEdit=true
[mgr_chan_s_fta.db]
lenHeader=64
lenFooter=12
offFooterChecksum=8
; field mappings needed to calculate variable channel record length: blockSize / (tvChannels + radioChannels)
numTvChannels=0x2C
numRadioChannels=0x30
channelBlockSize=0x3C
[mgr_chan_s_pkg.db]
lenHeader=64
lenFooter=12
offFooterChecksum=8
; field mappings needed to calculate variable channel record length: blockSize / (tvChannels+radioChannels)
numTvChannels=0x2C
numRadioChannels=0x30
channelBlockSize=0x3C
[mgr_chan_dvbt.db]
lenHeader=64
lenEntry=472
lenFooter=12
offFooterChecksum=8
; field mappings needed to calculate variable channel record length: blockSize / (tvChannels + radioChannels)
numTvChannels=0x2C
numRadioChannels=0x30
channelBlockSize=0x3C
[mgr_chan_dvbc.db]
lenHeader=64
lenEntry=472
lenFooter=12
offFooterChecksum=8
; field mappings needed to calculate variable channel record length: blockSize / (tvChannels + radioChannels)
numTvChannels=0x2C
numRadioChannels=0x30
channelBlockSize=0x3C
[mgr.db_entry:472]
offProgNr=0
offFav=16,436
offName=20
lenName=200
offProvider=224
lenProvider=200
offFavFlags1=428
maskFavFlags1=0x01
offFavFlags2=430
maskFavFlags2=0x08
offFreq=440
offOldProgNr=448
offRecordIndex=456
offTsid=460
offSymbolRate=462
offSid=464
offOnid=466
[mgr.db_entry:476]
offProgNr=0
offFav=16,436
offName=20
lenName=200
offFavFlags1=428
maskFavFlags1=0x01
offFavFlags2=430
maskFavFlags2=0x08
offFreq=444,468
offSymbolRate=450
offOldProgNr=452
offRecordIndex=456
offTsid=460
offSid=464
offOnid=466
[mgr.db_entry:480]
offProgNr=0
offFav=16,436
offName=20
lenName=200
offFavFlags1=428
maskFavFlags1=0x01
offFavFlags2=430
maskFavFlags2=0x08
offFreq=444,468
offSymbolRate=450
offOldProgNr=452
offRecordIndex=456
offTsid=460
offSid=464
offOnid=466
; ---------------------------------------------
; variant with 476 bytes per entry in mgr_chan_s_fta.db
[flash_dtvinfo_s_fta:476]
offChannelTransponderTable=4
numChannelTransponderTable=4000
lenChannelTransponder=4
offTransponderTable=0x5f2c
numTransponderTable=1100
lenTransponder=31
offSatellites=0xe460
offChannelBlock=0x10000
lenChannelBlock=0x10000
; struct Transponder
transponderId=0
freq=4,21
symbolRate=6
onid=10
tsid=12
nid=14
; struct ChannelBlock
offChannel=4
numChannel=734
lenChannel=89
; struct Channel
channelId=0
flags=3
sid=8
pcrPid=10
vpid=12
progNr=22
apid=31
[flash_dtvinfo_s_pkg:476]
offChannelTransponderTable=4
numChannelTransponderTable=2000
lenChannelTransponder=4
offTransponderTable=0x287C
numTransponderTable=550
lenTransponder=31
offSatellites=0x6B16
offChannelBlock=0x10000
lenChannelBlock=0x10000
numChannel=734
; struct transponder
transponderId=0
freq=4,21
symbolRate=6
onid=10
tsid=12
; relative to ChannelBlock
offChannel=4
lenChannel=89
; channels within the ChannelBlock
channelId=0
flags=3
sid=8
pcrPid=10
vpid=12
progNr=22
apid=31
;-------------------------------------------------------------------------
; variant with 480 bytes per entry in mgr_chan_s_fta.db
[flash_dtvinfo_s_fta:480]
offChannelTransponderTable=4
numChannelTransponderTable=4000
lenChannelTransponder=4
offTransponderTable=0x4f14
numTransponderTable=1100
lenTransponder=36
offSatellites=0xe9c4
offChannelBlock=0x10000
lenChannelBlock=0x10000
reorderRecordsByChannelNumber=false
; struct Transponder
transponderId=0
freq=4,21
symbolRate=6
onid=10
tsid=12
nid=14
; struct ChannelBlock
offChannel=4
numChannel=703
lenChannel=93
; struct Channel
channelId=0
flags=3
sid=8
pcrPid=10
vpid=12
progNr=24
apid=34
[flash_dtvinfo_s_pkg:480]
offChannelTransponderTable=4
numChannelTransponderTable=2000
lenChannelTransponder=4
offTransponderTable=0x2804
numTransponderTable=550
lenTransponder=36
offSatellites=0x755C
offChannelBlock=0x10000
lenChannelBlock=0x10000
; struct transponder
transponderId=0
freq=4,21
symbolRate=6
onid=10
tsid=12
; struct ChannelBlock
offChannel=4
numChannel=703
lenChannel=93
; struct Channel
channelId=0
flags=3
sid=8
pcrPid=10
vpid=12
progNr=24
apid=34
############################################################################
# Repair\ChannelList\chanLst.bin version 1.x with AntennaDigSrvTable, CableDigSrvTable and service.dat (for DVB-S) - should be stable
[service.dat_entry]
offPcrPid=0
maskPcrPid=0x1FFF
offLocked=3
maskLocked=0x10
offEncrypted=3
maskEncrypted=0x20
offOnid=4
offTsid=6
offSid=8
offTransponderIndex=10
offVpid=16
maskVpid=0x1FFF
offIsFav=17
maskIsFav=0x80
offProgNr=20
offName=28
lenName=32
offProvider=60
lenProvider=32
[tuneinfo.dat]
offSymRate=0
offFreq=2
maskFreq=0x3FFF
offPolarity=2
maskPolarity=0x4000
offSatIndex=6
maskSatIndex=0xFFF0
offOnid=16
offTsid=18
[CableDigSrvTable_entry]
offChecksum=0
offSymbolRate=24
offFreqTimes16=48
offOnid=50
offSid=52
offTsid=54
offProgNr=122
offLocked=146
offIsFav=147
offName=216
lenName=64
[CablePresetTable_entry]
offChecksum=0
offFreqTimes16=4
offProgNr=8
offOnid=14
offTsid=16
offSid=18
[CableFrqMapTable_entry]
offChecksum=0
offSymbolRate=8
offFreq=18
############################################################################
# PhilipsChannelMaps\ChannelMap_11 with AntennaDigSrvTable, CableDigSrvTable, SatelliteDigSrvTable and service.dat - not supported
############################################################################
# ChannelMap_30 with list.db, tv.db, CableChannelMaps.db, CableDb.bin, TerrestrialChannelMaps.db, TerrestrialDb.bin, SatelliteChannelMaps.db, SatelliteDb.bin - experimental
# uses the [Map45_...] mappings for the *Db.bin files
[Map30]
incrementFavListVersion=false
reorderRecordsByChannelNumber=false
############################################################################
# ChannelMap_45 with list.db, tv.db, HsvDvbCSettings, CableDb.bin, HsvDvbTSettings.bin, TerrestrialDb.bin, SatelliteDb.bin - stable
[Map45]
incrementFavListVersion=false
reorderRecordsByChannelNumber=false
[Map45_CableDb.bin_entry]
offId=0
offFreq=4
offProgNr=8
offIsDigital=12
offOnid=16
offTsid=20
offSid=24
offSymbolRate=28
offLogoNr=32
offEncrypted=36
offLocked=40
offModulateion=44
offServiceType=52
offServiceEdit=58
offName=88
lenName=64
[Map45_SatelliteDb.bin_entry]
offId=0
offFreq=4
offProgNr=8
offIsDigital=12
offOnid=16
offTsid=20
offSid=24
offSymbolRate=28
offLogoNr=32
offEncrypted=36
offLocked=40
offModulateion=44
offServiceType=52
offWrongServiceEdit=58
offServiceEdit=64
offName=80
lenName=64
offSatName=146
lenSatName=64
offUnk1=48
offUnk2=68
offPolarity=72
############################################################################
# ChannelMap_100 with DVBC.xml, DVBT.xml, DVBS.xml, DVBSall.xml
# This format has different variants without a unique sub-version number:
# 1) with a channelFile.bin, no indentation, uppercase hex digits, padded names, no "Scramble" attribute
# 2) without .bin files, no indentation, uppercase hex digits, padded names, a "Scramble" attribute
# 3) with additional *tv_cmdb*.bin files, indentation in XML, lowercase hex digits, unpadded names, a "Scramble" attribute and requirement to keep record order between .xml and .bin in-sync. Often with a "Clone" folder. - stable
[Map100]
# padChannelName: true|false; if true, fill the hex-encoded channel name with 0x00 0x00 to maintain a fixed length; default: true
padChannelName=true
# setFavoriteNumber: true|false; if false, the FavoriteNumber attribute won't be changed
setFavoriteNumber=true
#setReorderedFavNumber: true|false; if true, favorites can be in a different order than the main program numbers; default: false
setReorderedFavNumber=true
# reorderRecordsByChannelNumber: true|false; defines whether the element lines in the XML file are reordered by their ChannelNumber or kept at their location; default: false
reorderRecordsByChannelNumber=true
# allowDelete: true|false; if true, channels can be removed from the .xml. This breaks channel lists that contain .bin files that must be kept in-sync; default: false
allowDelete=true
# settings for the ChannelMap_100 variant that includes a channelFile.bin file
[Map100_channelFile.bin]
padChannelName=true
setFavoriteNumber=true
setReorderedFavNumber=true
reorderRecordsByChannelNumber=true
allowDelete=false
# settings for the ChannelMap_100 variant that includes an atv_cmdb.bin file
[Map100_cmdb.bin]
padChannelName=false
setFavoriteNumber=true
setReorderedFavNumber=true
reorderRecordsByChannelNumber=false
allowDelete=false
############################################################################
# ChannelMap_105: channelFile.bin, Favorite.xml, *.txt, *.xml.
# No XML indentation, added <SatelliteListcopy> element, uppercase hex, padded names, "Scrambled" attribute (with a "d" at the end)
[Map105]
padChannelName=true
setFavoriteNumber=false
setReorderedFavNumber=false
reorderRecordsByChannelNumber=true
# incrementFavListVersion: true|false; when true the Version attribute in the Favorite.xml file gets incremented every time the file is saved; default: false
incrementFavListVersion=true
allowDelete=false
############################################################################
# ChannelMap_110: same as 105 with an additional "UserReorderChannel" attribute (which should probably left unchanged, even after reordering)
[Map110]
padChannelName=true
setFavoriteNumber=false
setReorderedFavNumber=false
# userReorderChannel: 0|1|remove|(blank); when blank the original value is kept as-is, "remove" removes the attribute, 0 and 1 are written as literals; default: 0
userReorderChannel=0
reorderRecordsByChannelNumber=true
incrementFavListVersion=true
allowDelete=false
############################################################################
# ChannelMap_115: same as 110
[Map115]
padChannelName=true
setFavoriteNumber=false
setReorderedFavNumber=false
userReorderChannel=0
reorderRecordsByChannelNumber=true
incrementFavListVersion=true
allowDelete=false
############################################################################
# ChannelMap_120: mostly same as 115
# - Umlauts are encoded with high byte 0xFF instead of 0x00
# - Scrambled is always 0 without any real indication for encryption
# - UserHidden has value "3" instead of "0" for most channels, "1" still exists for some
[Map120]
padChannelName=true
setFavoriteNumber=false
setReorderedFavNumber=false
userReorderChannel=0
reorderRecordsByChannelNumber=true
incrementFavListVersion=false
allowDelete=false
userHiddenDefaultValue=3
dvbXmlLowercaseHexDigits=true
############################################################################
# ChannelMap_125: same as 120
[Map125]
padChannelName=true
setFavoriteNumber=false
setReorderedFavNumber=false
userReorderChannel=0
reorderRecordsByChannelNumber=true
incrementFavListVersion=false
allowDelete=false
userHiddenDefaultValue=3
dvbXmlLowercaseHexDigits=true