MattKC asked himself if he could put a whole game into a QR code. He actually succeeds at it, but with some fascinating turns along the way which include changing linker settings and creating a window in assembly.
One of his other adventures is compressing the executable using an old demoscene tool: Crinkler. Crinkler is not your normal RAR, ZIP, or other self-extracting executable compressors. Crinkler replaces the linker used to generate the executable by a combined linker and compressor. The result is an EXE file which does not do any kind of dropping and decompresses into memory like a traditional executable file compressor.
It also uses context modelling, which produces a far superior compression ratio than most other compressors. The disadvantage of context modelling is that it is extremely slow and needs quite a lot of memory for decompression, but this is not usually a problem with 4k demos.
Something I wish I knew before picking the Lenovo 730-13IKB in a super-sale open box deal. The Yoga 730-13IKB has 2 really common, and pretty unforgiveable, problems. One is display flickering issues and keyboards that have keys that are randomly flaky. I got the display fixed while it was under warranty (after trying re-seating of the display cable through the hinge and only getting a little improvement), but it went out of warranty when I started having keyboard issues. I would often have the A,S,D keys stop working, but it wasn’t always consistent and was sometimes different keys. One solution that helped was to pull the bottom off, clean the contacts, and re-seat the keyboard connection. That, however, only worked for a little while until it started again.
Time to replace the keyboard with a new one – fortunately it was only $29 in 2021. As for how to do it, It’s Binh Repaired & Reviewed gives a great disassembly demonstration. The most annoying part is the removal of the black plastic wrap over the keyboard. I actually tore the backlight layer – but since my replacement kit had a new one I just tossed the old one. Once you’ve done that, it seems to go pretty well.
Now it appears to work perfectly, hopefully it will continue to do so.
Update 2022: I gave up. The first keyboard worked ok for a few months, then started loosing different keys. I replaced it with another one, and after a few months that one too started having failed keys. I would recommend buying a full price OEM one if you must try this. But I ended up buying a new laptop instead of dropping $100 on a replacement keyboard. I just put it towards $500 for buying a nice lenovo laptop that works as I need it.
UPDATE: ASUS has issued a recall. You can check the capacitor, or check the serial and part numbers. See the bottom of this article.
I recently bought an ASUS Maximus Z690 Hero for my new i9-12900K build. In the last few weeks since release, some people are reporting their ASUS Z690 motherboards are burning up and quit working. Fortunately for me, I have been unable to find DDR5 memory, so my board is still sitting in the box – which is fortunate because it appears the board I got his this very issue.
What is the issue? Reporters say the system runs for some time, then there is often an audible pop and the system hangs. People report smelling smoke and even seeing the upper corner of the board glowing. After powering down, there is damage to the upper corner of the board by the digital readout. Powering on the board throws code 53 and never reboots.
As more reports came in, they seemed to focus on these two 4C10B MOSFET components getting fried.
Buildzoid started looking at these reports and noticed something strange. The boards that are blowing up have a capacitor that appears to be backwards. These polymer-aluminum polarized capacitors have defined positive and negative electrodes. According to the specs on these types of capacitors, if you reverse the polarity accidently (i.e. if you put them in backwards) then leakage current will increase and ‘the life span may decrease’. This would explain why they might work for a short time, but then burn out.
Here’s a picture of a burned up board with the backwards capacitor. You can see the polarity stripe on the left. All the boards that appear ok have the positive stripe on the right.
There is no official word from ASUS on this yet, but a big reddit thread has basically concluded that this is the issue and discourage anyone from using these boards immediately. If they happen to blow when you are away, the system does not always power down and could present a real fire hazard as people have reported the components becoming glowing hot by the time they can even shut the system down.
12/29/2021 Update: Here’s the recall information from ASUS
We have recently received incident reports regarding the ROG Maximus Z690 Hero motherboard. In our ongoing investigation, we have preliminarily identified a potential reversed memory capacitor issue in the production process from one of the production lines that may cause debug error code 53, no post, or motherboard components damage. The issue potentially affects units manufactured in 2021 with the part number 90MB18E0-MVAAY0 and serial number starting with MA, MB, or MC.
Flappy bird on the SNES – inside Super Mario World??
Code injection into Super Mario World has become a favorite of the speedrunning and the Mario hacking community. Usually this is done programmatically via automated controller input while exploiting overflow bugs. SethBling used the injection technique to enter a version of the game Flappy Bird – by hand.
Retro Game Mechanics Explained is a great series on retro game console programming. If you ever wanted to know how the cake is baked, this is a great channel.
One of the best series up so far is how to program the SNES system. His 16 part series talks about background effects, lag & blanking, DMA and HDMA, memory mapping, color math, hardware registers, background modes 0-6, and the infamous mode 7. It is one of the better explanations of mode 7 that I have seen (though folks with a more formal background in graphics might explain it with with affine transforms alone)
He also covers individual games and topics such as how the Atari 2600 ‘Raced the beam’, Atari quadrascan, pokemon sprite decompression, Pac-Man arcade’s famous kill screen, Mario’s wrong warp, and many other fun topics.
And just like that programmer’s were replaced by machine learning and pressing tab.
GitHub Copilot is a development plugin that uses AI to auto-complete what you’re coding. The AI was trained using github projects as its learning source. You start coding, press tab, and it gives you a list of what it thinks you might want next based on what it matches you might be developing.
Nick Chapsas tries out a number of programming tasks from basic data structures, creating an API, a calculator, and even fully implemented fizzbuzz. It does *shockingly* well.
I think this is the next obvious level of auto-completion we’ve had for years. I bet it almost certainly will come to mainline development tools in the next 5 years. It does, however, bring up some interesting legal points if someone unknowingly auto-completes a blob of code from an GPL or closed source project. This treads the fine line of auto-generated code and downright copying. My guess is that using IP violation code scanning tools to detect problems will be even more important.
Matchlock makes a visual effects tool called Bishamon. It appears to integrate with everything to Unity to console development. You can even download a copy right now with a 60 day license for their WWVFX contest.
This seems to be a common problem. On my keyboard, I’d have ASD intermittently drop out or take a couple hits to register.
I used this technique to re-seat the cable and help it lay a bit better under the battery – but I also used 99% isopropanol alcohol to clean the contacts. I actually got quite a bit of gunk off the contacts. I re-connected things but was still having trouble with f and g keys. I tried once more, and it seems to have perhaps solved it.
Time will tell, but maybe give it a try if you are having trouble.
12th Generation processors are built on a new hybrid core architecture of big and small cores working together. However, it turns out that some DRM software has issues with this hybrid
“Certain third-party gaming Digital Rights Management (DRM) software may incorrectly recognize 12th Generation Intel® Core™ Processors efficient-cores (E-cores) as another system. This prevents games implementing that DRM software from running successfully. Games may crash during launch or gameplay, or unexpectedly shut down.”
My current computer is about 6 years old so I’m currently setting up for a 12th Gen Intel system build. While looking at all the new motherboards, I found that ASUS has a really interesting RAID card for up to 4 NVMe drives. I found this an intriguing bit of hardware, and the fact it seems to get near linear doubling with each drive you add was even more impressive.
BuildOrBuy shows the somewhat confusing steps of how to set this beast up.