VMA Stream Reader

Good morning .
vma streamreader in package does not work with DiSEqC 1.1 ( just like at the beginning )

I guess he changed the diseqc 1.1 commands again, to his interpretation of how it ("simply") works; which I alas cannot follow:
With DiSEqC 1.1 (the “uncommitted” mode), you simply extend to 16 outputs by OR‑ing the group number (0–3) into the address byte:
Byte 3 = 0x38 | group # group = floor((port – 1)/4) → 0x38, 0x39, 0x3A or 0x3B
Byte 4 = 0xF0 | ((port – 1) mod 4 << 2)

He still doesn't like to believe what I wrote, it seems. :)


Greetz,
A33
 
The July 19 version works for me (DiSEqC 1.0).
When i try to launch (out of curiosity) "Video Analyzer" from VMA Mosaic i get a "No Video Sources" error .

For the future it will be nice if you'll add the possibility to save the scanned TP in AltDvb format:

Code:
[SATTYPE]
1=0282
2=Eutelsat 28A-2A-2E-2F
[DVB]
0=6
1=12535,H,5931,34,4
2=12554,H,1256,35,2
3=12595,H,7198,34,2
4=12632,H,14396,34,2
5=12658,H,14996,34,2
6=12683,H,7198,34,2
The format is quite simple:
FREQ,POL,SR,FEC,Modulation where 1=QPSK,2=8PSK,3=16APSK,4=32APSK
 
Last edited:
Why don't you try to explain me where I am wrong? Your posts in this thread have been more on the arrogant know it all and less on the helpful side.

Well, I did explicitely write how diseqc 1.1 should be defined for ports 1-16.
16 ports, as also explained by satesco, I believe.
You continued to use/define 8 ports, and had your own interpretation about the format. And ignored more or less what I wrote, even repeatedly.

Thank you very much, if you then think that I would be on the arrogant side, while I was trying to help with valid information. It was you, who rejected the help, or maybe thought it was of no worth.
I have, by the way, no interest in your software at all, as I don't have or use relevant hardware. I am a bystander, offering help about diseqc, of which I know a bit by now.

To move further: I had already written in the parallelthread how it should be defined:

Diseqc 1.0 and diseqc 1.1 offer both 16 switching states, hence the E0 10 38/39 F0-to-FF similarity.
Diseqc 1.0 however is "committed" to the backwards compatibilty with the oldfashioned Band/Polarity(/Position) commands. Hence that just 4 ports are left over, for the diseqc switch.
Diseqc 1.1 is uncommitted, so all 16 switching results can be used freely.

I hope I have made a good effort, to start explaining where you are (were) wrong, and how it can be solved.
Diseqc has once been a sort of puzzle for me too, but I think I've laid out the puzzle pretty good by now.

Greetz,
A33
 
As you noticed, I had already removed my replies before, which you are still quoting. No worries, let's put this behind.

It has been difficult to fully comprehend the DiSEqC norm, especially with all the possible setups.

The 8 port limitation was a bug in the default NumericUpDown.Maximum value.

Right now, I think I am only missing the polarity and band bits.
 
As you noticed, I had already removed my replies before, which you are still quoting.

No I did not notice at all, that you deleted two(?) of your posts.
Why did you delete them?

It breaks the 'forum continuity', a bit.
Now it looks a bit silly, that I react to posts that aren't there anymore. And my post might look 'silly', whereas in reality my reaction to your posts might be very sensible.
I'd have preferred the solution you used earlier: putting a line through what you had written.

Bottom line: you had an interpretation of the diseqc 1.0/1.1 commands, which you thought was right; and I had/have another interpretation.
I think I started to explain, how to correct the diseqc commands. I hope it helps.


Greetz,
A33
 
I wrote the two replies because I was not happy with the tone of your replies. However, after reading the most recent reply in the Dashboard - Satellites Community forum (which I found to be polite), I thought that it would be best to delete my replies and carry on, to have a friendly and constructive discussion. Yes, I got offended, but let's forget about that.

I have been re-reading the DiSEqC documentation by Eutelsat and honestly I still have doubts: I don't understand SMATV switches. They seem to use the data byte with values F0-FF as direct port 1-16 selection? What about the polarity/band selection?

1752934312587.webp
 
Also, can someone explain (again) what "committed" and "uncommitted" means in the context of DiSEqC?
 
New version: Download – VMA Broadcast
- Re-introduced DiSEqC-1.1 Cascading
- Added option to set Polarity and Band bits in DiSEqC-1.0/1.1 Data Byte
- Added DiSEqC Log
- Added Auto Scan AltDVB Export format
- Added Auto Scan Chart recovery for H/V transponders
- Added Auto Scan Load/Save buttons to retrieve previous Auto Scan data
- Added Spectrum measurement (Frequency and Amplitude measurement)

1752943717768.webp
1752943731801.webp

1752943751997.webp
1752943772339.webp
It is possible that DiSEqC is still not 100% correct. For what is missing, it can be constructed using the Raw frame option.
For further DiSEqC corrections/incomplatibilities/mistakes on my part, please provide:
- Description of the setup used
- Correct frames from other software that works
- Incorrect frames from VMA Stream Reader (see DiSEqC Log)
- Copy or screen shot of Eutelsat DiSEqC Documentation that points out how the frame is to be calculated
This documentation is not easy to interpret (for me) on some topics, so perhaps we can discuss any disagreement based on this documentation.

I am open for feature requests to improve VMA Stream Reader within my capabilities and possibilities. I am pretty happy for the current version.

I would like to know:

1) Is there interest in having a realtime spectrum option based on TinySA/TinySA Ultra, which allows double clicking on the spectrum/waterfall diagram to launch the streamreader.dll blindscan? This would allow simultaneous spectrum and either constellation diagram or streaming of the selected transponder. This would require a TinySA/TinySA Ultra (tinySA | Main / HomePage - I am not affiliated with them nor do I make any money from them), an RF splitter and (important) a DC blocker.

2) Is there interest in having support for DVB-T and DVB-C? Streamreader supports it, but I don't have a compatible device. I am looking at the TBS5580, but my budget is short, as is my HWAF (House Wife Acceptance Factor).

3) Is there any DX or Professional (realistic and doable) feature missing?
 
New version: Download – VMA Broadcast
- Re-introduced DiSEqC-1.1 Cascading
- Added option to set Polarity and Band bits in DiSEqC-1.0/1.1 Data Byte
- Added DiSEqC Log
- Added Auto Scan AltDVB Export format
- Added Auto Scan Chart recovery for H/V transponders
- Added Auto Scan Load/Save buttons to retrieve previous Auto Scan data
- Added Spectrum measurement (Frequency and Amplitude measurement)

...
The link "New tool: VMA Stream Reader" takes me to the same page and does not download any files. :confused
 

Attachments

  • VMA site_2025-07-19_21-13-41.webp
    VMA site_2025-07-19_21-13-41.webp
    63.5 KB · Views: 4
Also, can someone explain (again) what "committed" and "uncommitted" means in the context of DiSEqC?

Well, see my post above (did you notice its importance?):
Diseqc 1.0 and diseqc 1.1 offer both 16 switching states, hence the E0 10 38/39 F0-to-FF similarity.
Diseqc 1.0 however is "committed" to the backwards compatibilty with the oldfashioned Band/Polarity(/Position) commands. Hence that just 4 ports are left over, for the diseqc switch.
Diseqc 1.1 is uncommitted, so all 16 switching results can be used freely.
This (the words "committed"and "not/uncommitted") is somewhere in the eutelsat papers, I remember I found that once.
Voltage/Tone/Toneburst and the relevant diseqc 1.0 commands can in principle be used interchangeably. So the diseqc 1.0 commands are COMMITTED to that.
And diseqc 1.1 has NOTHING to do with Band or Polarity.

I have no idea what SMATV is, exactly (though I must have read the passages that you quote). The address byte is 18 instead of 10, that is clear. For me, address byte 10 is enough, to use the diseqc 1.1 commands.
The address byte is (only) relevant, if the receiving element is picky to what "addresses" it will listen, to follow up the command (3rd [and furtherth] byte). This is about how it works:
E0: Hay, listen up!
10: This is a message for the LNBs and the switches!
39: I want you to switch in the "uncommitted" way, to an uncommitted port (if you are able to do that),
Fx: Namely: switch to uncommitted port x-1.

Maybe SMATV is a term that might have developed further, if it had been taken up and developed further by the industry?
Same as other parts of the eutelsat documents:
I don't know if many "normal" parts support bi-directional diseqc 2.x nowadays?
Hardly any LNB supports diseqc Band/Pol switching, though it seems several multiswitches do.
Some motor commands for GotoX seem to be used a bit differently than in the original eutelsat documents, I believe. See e.g. USALS/ GotoX; Raw diseqc commands
The 22kHz protocol was later used for Unicable/JESS, in a completely new manner, not linked to eutelsat anymore.

So the eutelsat documents offer versatile methods, that aren't all used or implemented. But since, there were other developments as well, not following the exact eutelsat protocol. So maybe, not all is to be understood.

Greetz,
A33

edit: small text changes.
 
Last edited:
So tell me: should I add an uncommitted mode that just outputs F0 to FF for ports 1-16?

How do common receivers manage all these differences?
 
16/1 switch ... if this would give you any hints...
 
So tell me: should I add an uncommitted mode that just outputs F0 to FF for ports 1-16?
For diseqc 1.1, yes of course, that is the way.
And also allow repeats (if for instance cascaded 1.1 SPAUNs are used)

And allow diseqc 1.0 commands (edit: e.g. for when the EMP Cantauri is in diseqc1.1+1.0 mode), and repeats.

Diseqc 1.2 is not relevant, yet, it seems?


How do common receivers manage all these differences?
Well, they seem to be able to interpret bits and bytes....
There seem to be ready made ICs for that. Not my expertise.
This is the advantage of digitalisation.

Edited.
 
You download the complete setup now. It includes VMA Stream Reader. I can't keep two separate installers.
 
For diseqc 1.1, yes of course, that is the way.
And also allow repeats (if for instance cascaded 1.1 SPAUNs are used)

And allow diseqc 1.0 commands (edit: e.g. for when the EMP Cantauri is in diseqc1.1+1.0 mode), and repeats.

Diseqc 1.2 is not relevant, yet, it seems?



Well, they seem to be able to interpret bits and bytes....
There seem to be ready made ICs for that. Not my expertise.
This is the advantage of digitalisation.

Edited.
Diseqc-1.2 works, I can test it myself.
Stephan94 is still struggling with his switch and my software. I will add another diseqc-1.1 option, to cover all cases. Would be easier and faster if I could test it myself, but in the end it will work for sure.
 
New version: https://vma-broadcast.com/wp-content/uploads/2025/04/VMA Video Analyser Setup - 2025-07-20.zip

(Hopefully) last DiSEqC fix.

Added new DiSEqC-1.1 Uncommitted mode = E0 10 38 Fx (x=0 to F).
Added a new TEST button for easier testing of the configuration: send the DiSEqC command of the selected satellite and shows the sent frame in the DiSEqC Log.

@stephan94: Please test this new version, use "DiSEqC-1.1 Uncommitted" and specify your ports.
If that does not work, test the regular "DiSEqC-1.1" and specify your ports.
If that does not work, test "DiSEqC-1.1 Cascading".
If even this does not work, just use RAW FRAME and specify whatever your setup needs.
 
I know, but I want him to check with his switch.
That's why I added the extra mode.
 
Back
Top