2020-03-01 02:30:19 +00:00
|
|
|
### 6502bench SourceGen dis65 v1.0 ###
|
|
|
|
{
|
|
|
|
"_ContentVersion":3,
|
|
|
|
"FileDataLength":120,
|
Switch to left-handed coordinate system
There's no "standard" coordinate system, so the choice is arbitrary.
However, an examination of the Transporter mesh in Elite revealed
that the mesh was designed for a left-handed coordinate system. We
can compensate for that trivially in the Elite visualizer, but we
might as well match what they're doing. (The only change required
in the code is a couple of sign changes on the Z coordinate, and an
update to the rotation matrix.)
This also downsizes Matrix44 to Matrix33, exposes the rotation mode
enum, and adds a left-handed ZYX rotation mode.
This does mean that meshes that put the front at +Z will show their
backsides initially, since we're now oriented as if we're flying
the ships rather than facing them. I considered adding a 180-degree
Y rotation (with a tweak to the rotation matrix handedness to correct
the first rotation axis) to have them facing by default, but figured
that might be confusing since +Z is supposed to be away.
Anybody who really wants it to be the other way can trivially flip
the coordinates in their visualizer (negate xc/zc).
The Z coordinates in the visualization test project were flipped so
that the design is still facing the viewer at rotation (0,0,0).
2020-03-14 17:25:17 +00:00
|
|
|
"FileDataCrc32":-604155558,
|
2020-03-01 02:30:19 +00:00
|
|
|
"ProjectProps":{
|
|
|
|
"CpuName":"6502",
|
|
|
|
"IncludeUndocumentedInstr":false,
|
|
|
|
"TwoByteBrk":false,
|
|
|
|
"EntryFlags":32702671,
|
|
|
|
"AutoLabelStyle":"Simple",
|
|
|
|
"AnalysisParams":{
|
|
|
|
"AnalyzeUncategorizedData":true,
|
|
|
|
"DefaultTextScanMode":"LowHighAscii",
|
|
|
|
"MinCharsForString":4,
|
|
|
|
"SeekNearbyTargets":true,
|
|
|
|
"SmartPlpHandling":true},
|
|
|
|
|
|
|
|
"PlatformSymbolFileIdentifiers":[],
|
2020-03-02 02:18:31 +00:00
|
|
|
"ExtensionScriptFileIdentifiers":["PROJ:VisWireframeTest.cs",
|
|
|
|
"RT:Apple/VisHiRes.cs"],
|
2020-03-01 02:30:19 +00:00
|
|
|
"ProjectSyms":{
|
|
|
|
}},
|
|
|
|
|
|
|
|
"AddressMap":[{
|
|
|
|
"Offset":0,
|
|
|
|
"Addr":4096}],
|
|
|
|
"TypeHints":[{
|
|
|
|
"Low":0,
|
|
|
|
"High":0,
|
|
|
|
"Hint":"Code"}],
|
|
|
|
"StatusFlagOverrides":{
|
|
|
|
},
|
|
|
|
|
|
|
|
"Comments":{
|
|
|
|
},
|
|
|
|
|
|
|
|
"LongComments":{
|
|
|
|
},
|
|
|
|
|
|
|
|
"Notes":{
|
|
|
|
},
|
|
|
|
|
|
|
|
"UserLabels":{
|
2020-03-09 00:05:08 +00:00
|
|
|
"10":{
|
|
|
|
"Label":"vertices",
|
|
|
|
"Value":4106,
|
|
|
|
"Source":"User",
|
|
|
|
"Type":"GlobalAddr",
|
|
|
|
"LabelAnno":"None"},
|
|
|
|
|
|
|
|
"44":{
|
|
|
|
"Label":"edges",
|
|
|
|
"Value":4140,
|
|
|
|
"Source":"User",
|
|
|
|
"Type":"GlobalAddr",
|
|
|
|
"LabelAnno":"None"},
|
|
|
|
|
|
|
|
"101":{
|
|
|
|
"Label":"faces",
|
|
|
|
"Value":4197,
|
|
|
|
"Source":"User",
|
|
|
|
"Type":"GlobalAddr",
|
|
|
|
"LabelAnno":"None"}},
|
2020-03-01 02:30:19 +00:00
|
|
|
|
|
|
|
"OperandFormats":{
|
|
|
|
"10":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"13":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"16":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"19":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"22":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"25":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"28":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"31":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"34":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"37":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"40":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"43":{
|
|
|
|
"Length":1,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"44":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"48":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"52":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"56":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"60":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"64":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"68":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"72":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"76":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"80":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"84":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"88":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"92":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"96":{
|
|
|
|
"Length":4,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"101":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"104":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"107":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"110":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"113":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null},
|
|
|
|
|
|
|
|
"116":{
|
|
|
|
"Length":3,
|
|
|
|
"Format":"Dense",
|
|
|
|
"SubFormat":"None",
|
|
|
|
"SymbolRef":null}},
|
|
|
|
|
|
|
|
"LvTables":{
|
|
|
|
},
|
|
|
|
|
2020-03-02 02:18:31 +00:00
|
|
|
"Visualizations":[{
|
|
|
|
"Tag":"wf_data",
|
|
|
|
"VisGenIdent":"wireframe-test",
|
|
|
|
"VisGenParams":{
|
|
|
|
"offset":10,
|
2020-03-07 00:51:47 +00:00
|
|
|
"_isPerspective":true,
|
2020-03-08 00:52:36 +00:00
|
|
|
"_isBfcEnabled":true,
|
|
|
|
"_eulerRotX":0,
|
2020-03-09 20:48:30 +00:00
|
|
|
"_eulerRotY":0,
|
|
|
|
"_eulerRotZ":0,
|
2020-03-09 00:05:08 +00:00
|
|
|
"_isAnimatedWireframe":true,
|
2020-03-09 20:48:30 +00:00
|
|
|
"_deltaRotX":3,
|
|
|
|
"_deltaRotY":6,
|
2020-03-09 00:05:08 +00:00
|
|
|
"_deltaRotZ":0,
|
2020-03-09 20:48:30 +00:00
|
|
|
"_frameCount":120,
|
Switch to left-handed coordinate system
There's no "standard" coordinate system, so the choice is arbitrary.
However, an examination of the Transporter mesh in Elite revealed
that the mesh was designed for a left-handed coordinate system. We
can compensate for that trivially in the Elite visualizer, but we
might as well match what they're doing. (The only change required
in the code is a couple of sign changes on the Z coordinate, and an
update to the rotation matrix.)
This also downsizes Matrix44 to Matrix33, exposes the rotation mode
enum, and adds a left-handed ZYX rotation mode.
This does mean that meshes that put the front at +Z will show their
backsides initially, since we're now oriented as if we're flying
the ships rather than facing them. I considered adding a 180-degree
Y rotation (with a tweak to the rotation matrix handedness to correct
the first rotation axis) to have them facing by default, but figured
that might be confusing since +Z is supposed to be away.
Anybody who really wants it to be the other way can trivially flip
the coordinates in their visualizer (negate xc/zc).
The Z coordinates in the visualization test project were flipped so
that the design is still facing the viewer at rotation (0,0,0).
2020-03-14 17:25:17 +00:00
|
|
|
"_frameDelayMsec":33}},
|
2020-03-02 02:18:31 +00:00
|
|
|
|
|
|
|
{
|
|
|
|
"Tag":"bmp_data",
|
|
|
|
"VisGenIdent":"apple2-hi-res-bitmap",
|
|
|
|
"VisGenParams":{
|
|
|
|
"offset":10,
|
|
|
|
"byteWidth":3,
|
|
|
|
"height":11,
|
|
|
|
"colStride":0,
|
|
|
|
"rowStride":0,
|
|
|
|
"isColor":true,
|
|
|
|
"isFirstOdd":false,
|
|
|
|
"isHighBitFlipped":false}}],
|
2020-03-08 00:52:36 +00:00
|
|
|
"VisualizationAnimations":[{
|
|
|
|
"Tags":["wf_data",
|
|
|
|
"bmp_data"],
|
2020-03-09 20:48:30 +00:00
|
|
|
"Tag":"ugly flash",
|
2020-03-08 00:52:36 +00:00
|
|
|
"VisGenIdent":"(animation)",
|
|
|
|
"VisGenParams":{
|
2020-03-09 20:48:30 +00:00
|
|
|
"_frameDelayMsec":1000}}],
|
2020-03-01 02:30:19 +00:00
|
|
|
"VisualizationSets":{
|
2020-03-02 02:18:31 +00:00
|
|
|
"10":{
|
|
|
|
"Tags":["wf_data",
|
2020-03-08 00:52:36 +00:00
|
|
|
"bmp_data"]},
|
|
|
|
|
|
|
|
"44":{
|
2020-03-09 20:48:30 +00:00
|
|
|
"Tags":["ugly flash"]}}}
|