1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-11-03 23:06:09 +00:00
6502bench/SourceGen/SGTestData/20140-char-encoding-s.dis65
Andy McFadden 3368182e14 Allow single-character DCI strings
The DCI string format uses character values where the high bit of the
last byte differs from the rest of the string.  Usually all the high
bits are clear except on the last byte, but SourceGen generally allows
either polarity.

This gets a little uncertain with single-character strings, because
SourceGen can't auto-detect DCI very effectively.  A series of bytes
with the high bit set could be a single high-ASCII string or a series
of single-byte DCI strings.

The motivation for allowing them is C64 PETSCII.  While ASCII allows
"high ASCII" as an escape hatch, PETSCII doesn't have that option, so
there's no way to mark the data as a character or a string.  We still
want to do a bit of screening, but if the user specifies a non-ASCII
character set and the selected bytes have their high bits set, we
want to just treat the whole set as 1-byte DCI.

Some minor adjustments were needed for a couple of validity checks
that expected longer strings.

This adds some short DCI strings in different character sets to the
char-encoding regression tests.

(for issue #102)
2021-08-08 15:38:39 -07:00

804 lines
11 KiB
Plaintext

### 6502bench SourceGen dis65 v1.0 ###
{
"_ContentVersion":4,
"FileDataLength":1299,
"FileDataCrc32":-371479809,
"ProjectProps":{
"CpuName":"6502",
"IncludeUndocumentedInstr":false,
"TwoByteBrk":false,
"EntryFlags":32702671,
"AutoLabelStyle":"Simple",
"AnalysisParams":{
"AnalyzeUncategorizedData":true,
"DefaultTextScanMode":"C64ScreenCode",
"MinCharsForString":4,
"SeekNearbyTargets":true,
"UseRelocData":false,
"SmartPlpHandling":false,
"SmartPlbHandling":true},
"PlatformSymbolFileIdentifiers":[],
"ExtensionScriptFileIdentifiers":[],
"ProjectSyms":{
}},
"AddressMap":[{
"Offset":0,
"Addr":4096}],
"TypeHints":[{
"Low":0,
"High":0,
"Hint":"Code"}],
"StatusFlagOverrides":{
},
"Comments":{
"16":"inappropriate format should be ignored"},
"LongComments":{
"-2147483647":{
"Text":"Projected edited to format non-char operands as chars.",
"BoxMode":false,
"MaxWidth":80,
"BackgroundColor":0}},
"Notes":{
},
"UserLabels":{
},
"OperandFormats":{
"0":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"Ascii",
"SymbolRef":null},
"2":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"HighAscii",
"SymbolRef":null},
"4":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"6":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"8":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"Ascii",
"SymbolRef":null},
"10":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"HighAscii",
"SymbolRef":null},
"12":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"14":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"16":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"Ascii",
"SymbolRef":null},
"18":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"HighAscii",
"SymbolRef":null},
"20":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"22":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"24":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"Ascii",
"SymbolRef":null},
"29":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Ascii",
"SymbolRef":null},
"30":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"HighAscii",
"SymbolRef":null},
"31":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"32":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"33":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"Ascii",
"SymbolRef":null},
"35":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"HighAscii",
"SymbolRef":null},
"37":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"39":{
"Length":2,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"41":{
"Length":2,
"Format":"NumericBE",
"SubFormat":"Ascii",
"SymbolRef":null},
"43":{
"Length":2,
"Format":"NumericBE",
"SubFormat":"HighAscii",
"SymbolRef":null},
"45":{
"Length":2,
"Format":"NumericBE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"47":{
"Length":2,
"Format":"NumericBE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"50":{
"Length":13,
"Format":"StringGeneric",
"SubFormat":"Ascii",
"SymbolRef":null},
"63":{
"Length":14,
"Format":"StringGeneric",
"SubFormat":"HighAscii",
"SymbolRef":null},
"78":{
"Length":11,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"90":{
"Length":15,
"Format":"StringGeneric",
"SubFormat":"C64Screen",
"SymbolRef":null},
"106":{
"Length":17,
"Format":"StringGeneric",
"SubFormat":"Ascii",
"SymbolRef":null},
"124":{
"Length":18,
"Format":"StringGeneric",
"SubFormat":"HighAscii",
"SymbolRef":null},
"143":{
"Length":30,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"174":{
"Length":95,
"Format":"StringGeneric",
"SubFormat":"Ascii",
"SymbolRef":null},
"270":{
"Length":95,
"Format":"StringGeneric",
"SubFormat":"HighAscii",
"SymbolRef":null},
"366":{
"Length":60,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"426":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"427":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"428":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"429":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"430":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"431":{
"Length":26,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"457":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"458":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"459":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"460":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"462":{
"Length":60,
"Format":"StringGeneric",
"SubFormat":"C64Screen",
"SymbolRef":null},
"522":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"523":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"524":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"525":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"526":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"527":{
"Length":26,
"Format":"StringGeneric",
"SubFormat":"C64Screen",
"SymbolRef":null},
"553":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"554":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"555":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"556":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"558":{
"Length":15,
"Format":"StringReverse",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"574":{
"Length":18,
"Format":"StringNullTerm",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"593":{
"Length":84,
"Format":"StringNullTerm",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"678":{
"Length":20,
"Format":"StringL8",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"699":{
"Length":22,
"Format":"StringL16",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"722":{
"Length":7,
"Format":"StringDci",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"730":{
"Length":19,
"Format":"StringReverse",
"SubFormat":"C64Screen",
"SymbolRef":null},
"750":{
"Length":23,
"Format":"StringGeneric",
"SubFormat":"C64Screen",
"SymbolRef":null},
"774":{
"Length":24,
"Format":"StringL8",
"SubFormat":"C64Screen",
"SymbolRef":null},
"799":{
"Length":26,
"Format":"StringL16",
"SubFormat":"C64Screen",
"SymbolRef":null},
"826":{
"Length":15,
"Format":"StringDci",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1103":{
"Length":34,
"Format":"StringGeneric",
"SubFormat":"Ascii",
"SymbolRef":null},
"1138":{
"Length":16,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1154":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1155":{
"Length":2,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1157":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1158":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1159":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1160":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1161":{
"Length":2,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1163":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1164":{
"Length":2,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1166":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1167":{
"Length":2,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1169":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1170":{
"Length":2,
"Format":"StringGeneric",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1172":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1173":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1175":{
"Length":12,
"Format":"StringGeneric",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1187":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1188":{
"Length":2,
"Format":"StringGeneric",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1190":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1191":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1192":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1193":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1194":{
"Length":2,
"Format":"StringGeneric",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1196":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1197":{
"Length":2,
"Format":"StringGeneric",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1199":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1200":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1201":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1202":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1203":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1204":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1205":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Hex",
"SymbolRef":null},
"1206":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1208":{
"Length":33,
"Format":"StringGeneric",
"SubFormat":"HighAscii",
"SymbolRef":null},
"1247":{
"Length":5,
"Format":"StringDci",
"SubFormat":"Ascii",
"SymbolRef":null},
"1252":{
"Length":2,
"Format":"StringDci",
"SubFormat":"Ascii",
"SymbolRef":null},
"1254":{
"Length":1,
"Format":"StringDci",
"SubFormat":"Ascii",
"SymbolRef":null},
"1255":{
"Length":1,
"Format":"StringDci",
"SubFormat":"Ascii",
"SymbolRef":null},
"1257":{
"Length":5,
"Format":"StringDci",
"SubFormat":"HighAscii",
"SymbolRef":null},
"1262":{
"Length":2,
"Format":"StringDci",
"SubFormat":"HighAscii",
"SymbolRef":null},
"1264":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Ascii",
"SymbolRef":null},
"1265":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"Ascii",
"SymbolRef":null},
"1267":{
"Length":5,
"Format":"StringDci",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1272":{
"Length":2,
"Format":"StringDci",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1274":{
"Length":1,
"Format":"StringDci",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1275":{
"Length":1,
"Format":"StringDci",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1277":{
"Length":5,
"Format":"StringDci",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1282":{
"Length":2,
"Format":"StringDci",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1284":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1285":{
"Length":1,
"Format":"NumericLE",
"SubFormat":"C64Petscii",
"SymbolRef":null},
"1287":{
"Length":5,
"Format":"StringDci",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1292":{
"Length":2,
"Format":"StringDci",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1294":{
"Length":1,
"Format":"StringDci",
"SubFormat":"C64Screen",
"SymbolRef":null},
"1295":{
"Length":1,
"Format":"StringDci",
"SubFormat":"C64Screen",
"SymbolRef":null}},
"LvTables":{
},
"Visualizations":[],
"VisualizationAnimations":[],
"VisualizationSets":{
},
"RelocList":{
},
"DbrValues":{
}}