Hurry! Carve out your Hackaday.io homestead with a vanity URL. You can see I’ve already secured hackaday.io/mike, but get in before the rest of Hackaday finds out and you can you have ‘/tom’, ‘/jane’, or ‘/zerocool’. (Don’t do it… you can be more creative than zerocool!)
Whether you already have an account, or if you want to create one right now, the next time you log into Hackaday.io the interface will give you the opportunity to choose your vanity address. Like the Oklahoma land rush, we’re sure there will be a swell of folks looking to squat on the most pristine land. So if your first name is already taken, now is the perfect time to re-invent your perfect username.
For those that need a jump start picking their slug, we want to hear your favorite screen name/handle/user alias of all time in the comments. At the risk of embarassing [Jeff Keyzer], I have to say his alias (and company name) Mighty Ohm is pretty spectacular. Can anyone beat it?
The popularization of FPGAs for the hobbyist market means a lot more than custom LED controllers and clones of classic computer systems. FPGAs are also a great tool to experiment with computer architecture, creating new, weird, CPUs that don’t abide by the conventions the industry has used for 40 years. [Victor] is designing a new CPU that challenges the conventions of how to access different memory locations, and in the process even came up with a bit of example code that runs on an ARM microcontroller.
Most of the time, the machine code running on your desktop or laptop isn’t that interesting; it’s just long strings of instructions to be processed linearly. The magic of a computer comes through comparisons, an if statement or a jump in code, where the CPU can run one of two pieces of code, depending on a value in a register. There is the problem of reach, though: if a piece of code makes a direct call to another piece of code, the address of the new code must fit within an instruction. On an ARM processor, only 24 bits are available to encode the address, meaning a jump in code can only go 16 MB on either side of its call. Going any further requires more instructions, and the performance hit that comes along with that.
[Victor] decided a solution to this problem would be to create a bit of circuitry that would be a sliding window to store address locations. Instead of storing the literal address for jumps in code, every branch in the code is stored as a location relative to whatever is in the program counter. The result is an easy way to JMP to code very far away in memory, with less of a performance hit.
There’s an implementation for this sliding window token thing [Victor] whipped up for NXP’s ARM Cortex M3 microprocessor, and he’ll be working on an implementation of this concept in a new CPU over on his git.
[StaticChanger] built a scoreboard to display his kill statistics from Halo for the PC. Yes, we’ve seen kill counters before, but we like the way that he gathers the data. This project is reading the score directly from an address in memory.
Using a program called Cheat Engine, the memory used by a program can be sniffed. After a few passes, the program will help you find a static memory address for your desired data. Once you have that it’s just a matter of using a pointer to that address in your desired programming language. In this case, a C# program polls the value and instructs an Arduino to display the value on a couple of 7-segment displays. Voila, the number appears next to your screen as you see in the image above.