xor42
"In all EU countries traders are obliged, when offering a discount, to indicate the lowest price applied to the item at least 30 days before the announcement of the price reduction."
Of course, enforcement of such rules is the problem here. But if you notice such discrepancies, you are more than encouraged to file a complaint to the shop and then to your national agency responsible for the protection of consumers if the seller doesn't act in good faith. I was fairly surprised to see how well the latter has worked against a large company in my Balkan country.
Source: https://europa.eu/youreurope/citizens/consumers/unfair-treat...
The engine has a flag that is mainly used to draw the player's weapon (which is rendered above the rest). Using this flag for players was the "engine compliant" way of making a wall hack.
I have done IT consulting in the field, and have been genuinely happy to get a tour of some facilities and debugging software while sitting in a life-size simulator. It really tickles your engineering senses.
As it turns out, their software suite is written in Delphi, which required me to read quite a lot about it, and use/write some custom tools to help me analyze the binaries in Ghidra.
An existing tool I have relied on is called IDR[0]. It relies on "knowledge bases" which are binary files generated by another project[1] from the same author to store information about all the types and classes provided by each version of Delphi. The source code of these two projects is pretty "funky" from a software engineering point of view, but quite enlightening from a research standpoint to understand how Delphi binaries are generated.
I can see from this thread that a lot of people are nostalgic about how easy/enjoyable it was to use. I now find the low-level analysis of this technology just as fun and interesting.
As a side note and to loop back to the reason of this whole endeavor, after many hours spent reversing the software of this manufacturer, I can attest that the rumors about the code quality are not just rumors :)
[0] https://github.com/crypto2011/IDR [1] https://github.com/crypto2011/KBBUILDER
Basically, one would have to setup multiple registers like the GDT which sets the protection on different memory ranges (hence protected mode). Once you have your GDT setup, set a few bits in CR registers and execute a long jump to the code segment of the GDT (provided you have instructions loaded there).
Then once in protected mode, everything changes. The system allows you to set interrupts habdlndlers through the LIDT, to enable memory paging and you'll have to reload the GDT again. But no more access to the convenient BIOS functions.
You also set up the PIC of your system to get a ticking clock for scheduling your kernel operations. Once you got all that is where the fun begins and you can start implementing memory managers and allocators, writing a disk operations layer and implement (or write your own!) filesystem.
OS Dev is truly a fascinating subject because there's so much to learn. Even more with 64-bit, and multiple core initialization and usage.
I don't know how all of this works on ARM, but I might order myself an experimentation board to get my hands on.