Off-Topic: Emulation

  • Hello,

    In case you might have wondered about my absence in this forum (which I follow daily): I have taken a break on my satellite/TV hobby and dedicated my time to a different subject that has always been a passion, too. I am talking about emulation - reproducing a computer/console/calculator/etc. in software.

    The result is here: https://vma-broadcast.com/emu/ - this contains some pages with the historic context and currently 36 (!) emulators done in HTML/JScript. The required ROM's are not included for obvious reasons.

    And there is a stand-alone emulator that emulates a PC with Intel 486 CPU, capable of running DOS, WIN3.0, WIN3.1 and WIN95. Of course it can be used to run all those old PC games.

    It can be downloaded at the bottom of this page: https://vma-broadcast.com/download/

    Some interesting facts:

    1) The emulators include (where appropriate) a CRT simulation of common defects like scan lines, shadow mask, phosphor decay, etc.

    2) The VMA 486 Emulator includes a full debugger with disassembler and hex editor, allowing live analysis of the whole memory space of the emulated machine. It includes a "trainer", too. It can detect the memory where life count, damage, etc. is store for direct patching.

    3) The emulators are designed to work on mobile devices (smartphones and tablets) as well as on PC. They include virtual keyboard and joystick.

    Regards,

    Vitor

  • I hope I’m staying on topic if I’m not talking about your app’s emulator, but at least, in terms of terminology, about emulation – which, although they share the same root, have slightly different meanings. From this perspective, I hope my question is valid and that I might receive a reply from the developers of DVB applications.

    My question arose when PantaSat admitted that, for the applications he has developed, he needed – and still needs – AI. On the other hand, @Vitor said at one point – if I understood correctly – that it is impossible to get to the core of CrazyCat’s application, that is, the code that made the creation of Crazyscan possible. At this point, AI in the world of developers (not just for the general public) is unavoidable, as it enables them to develop and improve their applications.

    In engineering, the term ‘reverse engineering’ refers to understanding and analysing how a process, product or system works, and so on.
    Now that there are so many variants of AI, each more powerful than the last, I have asked myself – and I hope this is not merely a rhetorical question, but a practical one – to what extent it is possible for an application such as Crazyscan to be ‘broken down’ into parts so that it can be reproduced, if not in its entirety, then at least those parts that make it unique through the code used.

    Back in 2011, after TBS cards had started to become more widely known, Crazyscan was a unique application (and still is), and an American user well-versed in the subject remarked that it was incredible that a single person could create such an application – surely it must have taken a team.

    I’m not sure whether my question is still considered naive, so I’d like to know whether it would be possible to attempt to reproduce or imitate such an application capable of supporting DVB cards, both new and existing ones.
    Of course, it’s impossible for a human to delve into the code of an app, but I reckon that what a person can’t do, the product of their mind – AI – can help with significantly.

    Of course, CrazyCat is unique, like any human being, but in the virtual world many live in, at least one product he created should be accessible in a different way from how it was originally created.

    What do our developers make of this… idea?:3:

    7 antennas,including 2 of 150cm,one T90 with 16 lnbs
    lnb:Inverto Black Ultra with scalar rings and many Ku lnbs,
    C-band LNB:ESX241,Galaxy Inovations,EuroStar,MTI 20K,NS741U C/Ku,Inverto Single C-band Flange,lnb Chaparral Servo Motor & Skew Control
    LNB Ka:R9216DF XWM,Hughes FSS 19.7-20.2 GHz,
    6 satellite receivers,2 Meters,
    7 PC cards(tbs6983,6903,6590,6522,6209,2603,6909X,6903X,6504),3 tuners usb-tbs5927,tbs5925 & SkyStar USB 2 HD,
    Satellite reception between 100.5E-50.0W,
    Loc:Romania :3:

  • Hello Satesco,

    Your question is off-topic to this thread. Perhaps it deserves a topic on its own. I leave this to the moderators to decide.

    I understand your question: you are asking if one of these two possibilities is feasible

    1) Reverse engineer CrazyCat streamreader.dll in order to obtain a compile-able source code that can be improved, i.e. adding new features, correcting bugs or adding new/other DVB-S/S2/T/T2/C/C2 tuner cards.

    2) Develop from scratch an alternative streamreader.dll that would be compatible with existing applications using CrazyCat's streamreader.dll, allowing new features and DVB-S/S2/T/T2/C/C2 tuner cards to be added.

    In my personal view, option 1 is virtually impossible. I am the author of VAXD (https://vma-broadcast.com/vaxd-vma-executable-disassembler/), a disassembler for different CPU's and I have some experience in reverse engineering software. If you wanted to bypass some security check, edit some forms, etc. - yes that would be possible. Reverse engineering the complete streamreader.dll? No way!

    Option 2 is possible, BUT:

    a) I have zero experience in writing drivers or libraries interfacing them. So, don't expect me to do it.

    b) I am sure that CrazyScan had access to tuner IC documentation. I know that some datasheets have been leaked, but such a work requires NDA signatures or the whole project will be in a gray zone or even illegal. Otherwise, how could you claim where the required knowledge came from?

    c) I believe he started with the source code of TBS streamreader.dll, which he then enhanced. I asked TBS and they do not have CrazyScan's source code. But I am confident that CrazyScan got help from TBS in form of datasheets, source code and samples (of the tuner cards).

    d) It is a HUGE project. Just look how long it took CrazyScan from the first version to the current last version.

    e) The most promising developer for such a task would be, as far as I know, deeptho - the author of NeumoDVB. He is already familiar with developing drivers for tuner cards and has done a brilliant job for NeumoDVB. Unfortunately he seems to only work under Linux.

    Finally, there is the economics.

    If this was to be a commercial venture ("development of a CrazyScan compatible streamreader.dll", supporting new tuners, fixing known bugs and limitations and adding new features), how much would you be prepared to pay? How many users would there be and how much would they globally be prepared to pay?

    Let's consider that such a development would take one man 1 year of exclusive dedication. Let's assume this developer would like to receive 100.000 Euro pre-TAX, which would be around 50.000 Euro post-TAX = a monthly wage of around 3.500 Euro.

    If each DX user would pay 50 Euro to get the newest streamreader.dll, we would need 2000 paying users in the first year!

    I don't see this happening.

    The only light at the end of the tunnel: TBS develops a much improved streamreader.dll! They did the original source code (if I am not mistaken), they have access to the datasheets and they control the hardware. Also, they need to develop the drivers anyway.

    To make this a business opportunity, all they have to do is to develop a new tuner card like "TBS-6903X+" and provide enhanced driver and streamreader.dll with it, that implements the same functionality as CrazyScan's streamreader.dll, but adding improved RFScan(), FTTScan() and BLScan(). The card should support both RFScan() and FFTScan(). They could then sell the card for 499 Euro as "THE ULTIMATE professional DVB-S/S2/S2X tuner card"...

    Regards,
    Vitor

  • Der Haken an der Sache ist, dass WIR offensichtlich nicht das Geschäftsmodell von TBS sind.

    Crazycat haben sie zwar unterstützt, aber nicht im erforderlichen Ausmass wie es notwendig wäre.

    Die neuere Hardware, z.B. TBS6904SE, wo 2/3 unter "not supported" fällt, tut das übrige.

    Leider bin ich weniger zuversichtlich, was TBS betrifft. Theoretisch würde ich in eine TBS-6903X+ investieren. Die zuvor genannte nur für Testzwecke, wenn andere User eine Anfrage haben, sonst hätteich sie längst zum Wertstoffhof gebracht.

    The catch is that WE are clearly not TBS's business model.

    They did support Crazycat, but not to the necessary extent.

    The newer hardware, e.g., the TBS6904SE, where two-thirds of users are listed as "not supported," exacerbates the problem.

    Unfortunately, I'm less than optimistic about TBS. Theoretically, I would invest in a TBS-6903X+. I'd only keep the TBS-6903 for testing purposes if other users request it; otherwise, I would have taken it to the recycling center long ago.

    If you don't specify the antenna size and the approximate location, posting is useless if it's about signal acquisition.

    "Auto" should never be in the settings.

    Dish & Location

    N 48.602 E 15.553

    240 Irte (Ku/C)

    180 Laminas stationary (KaEABCD/Ku/C/X), mobil (all)

    120 Laminas (Ku)

    100 (Ku, 7°E/1.9°E/1°W), 85 (Ku, 13°E/16°E/19.2°E)

  • c) I believe he started with the source code of TBS streamreader.dll, which he then enhanced. I asked TBS and they do not have CrazyScan's source code. But I am confident that CrazyScan got help from TBS in form of datasheets, source code and samples (of the tuner cards).

    А я точно знаю, что CrazyCat НЕ использовал source code of TBS streamreader.dll, а совершенствовал StreamReader API 3, коды которого ему передал DVinGena - автор исходного кода streamreader.dll
    CrazyCat расширял функционал StreamReader, о чём в программе делал пометки типа:

    // Modulation type - **crazycat**
    // Spectral inversion - **crazycat**
    STREAMREADER_API BOOL SendDiseqCmd(PBYTE pCmd, DWORD Length); // **crazycat**
    STREAMREADER_API BOOL SendDiseqCmdEx(PBYTE pCmd, DWORD Length, PBYTE pReply, PDWORD lpReplyLength); // **crazycat**
    #define PKT_SIZE 188 // TS-packet size **crazycat**

    Я и stephan94 активно тестировали новые версии StreamReader, находили и помагали устранять ошибки (например, неверные значения в таблице перевода уровней сигнала в дБ), соревновались в скорости и точности построения RF спектров, констелляций и т.п.

    Происходило это на "рыбацком" сайте Satfeeshers в начале века. Потом сайт был закрыт, а на сайте TBS появилась программка подписанная CrazyCat...

  • I only know that there was some form of collaboration between CrazyCat and TBS.

    And it seems that the source code of his streamreader.dll is lost, which is a shame and means that new tuner cards will hardly be supported.

    This is a great loss, because streamreader.dll was developed over a period of decades... it is not something you can quickly hack together.

    And as strannik tells us: it counted with a lot of voluntary testers.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!