jpegqs
This dereference option makes a second instruction, this is not OISC.
Replace the text to the right of the Start button with: doomp.bin
Click the Start button.
Doom will launch in your browser.
Game select screen:
HI-SCORE 0
/--------------------\
| |
| | NEXT
| |
| [][][] |
| [] [] |
| [] [] |
| [] [] |
| [] [] | SPEED 0
| [] [] |
| [][][] | LEVEL 12
| |
| [][][][][] |
| [] |
| [][][][] | ROTATE
| [] |
| [] | -->
| [] [] |
| [][][] |
| |
| |
\--------------------/
Tetris game: SCORE 1000
/--------------------\
| |
| | NEXT
| |
| | []
| [][] | [][]
| [][] | []
| |
| | SPEED 0
| |
| | LEVEL 0
| |
|[][] |
|[][] [] |
|[][][][] | ROTATE
|[][][][] [] [][][]|
|[][][][][][] [][] | -->
|[][][][][] [][][]|
|[][][][][][] [][][]| PAUSE
|[][][][][][][] [][]|
|[][][][][][] [][][]|
\--------------------/Show HN: Loongson (Loongarch64) support for IDA
Show HN: Doomestication of Spreadtrum
Show HN: Playing Doom on a feature phone (SC6531E chipset)
I load the code not while the OS is running, but through boot via USB.
SC6531DA is similar to SC6531E, but some constants have been changed, so additional research into its firmware is required.
I have enough knowledge to run some game on the SC6531E, but a lot of work still needs to be done.
Anyone want to cooperate with me?
> MAUI, a feature-phone operating system used with MediaTek-based shanzhai devices, also used on Motorola phones and some Samsung feature phones.
> MediaTek developed an embedded operating system named MAUI Runtime Environment which is based on Nucleus RTOS.
So it's not raw Nucleus.
So writing firmware that will work on most phones on a particular chipset will not be so easy.
There are also phones on Mocor5 OS, a little more expensive, it's actually Android 4.4 on the Spreadtrum SC7715 chipset.
I didn't find any Java here, but these CPUs have a Jazelle ARM extension to run Java bytecode.
P.S.: There's an old project based on reverse engineered MT6260 firmware: https://github.com/xobs/fernly
smolnes: A NES emulator in less than 5000 significant bytes of C++
Someone’s Been Messing with My Subnormals
Show HN: A simple Italian to English translator written in C (Hello World joke)
#include <stdio.h>int main() { puts((char[]){ ~-~-~-~-~-~-~-~-~-~-~- 'S', -~-~-~-~ 'a', 'l', ~-~-~-~-~-~-~-~-~-~- 'v', -~-~-~-~-~-~-~-~-~-~ 'e', ',', ' ', -~-~-~-~-~-~-~-~-~-~ 'M', 'o', -~-~-~-~ 'n', -~-~-~-~-~-~-~-~ 'd', ...
1. There are no data members inside X, in this case the size of the structure is 1 byte.
2. main() does nothing.
3. *x = new X[100]() - this requests a new array of 100 elements of type X, at a stage before main() is called.
4. The new[] operator is overloaded in the class, this operator must return the address for the requested array. It returns the address of the empty string object plus 1.
5. For each of the 100 elements, the X() constructor is called, the "this" address for those elements will be the value returned by new[] plus an index from 0 to 99. The X() constructor converts this to a number from 1 to 100 by subtracting the address of the empty string. This is the only UB here, but it works in all major modern compilers since they combine the same strings into one instance.
A way to torture an interviewer (C++, FizzBuzz)
#include <stdio.h> static struct X { void* operator new[](size_t) { return (char*)&1[""]; } void operator delete[](void*) { } X() : X((char*)this - "") { } X(char i) { printf(i%3?i%5?"%s%i\n":"%s\n":"Fizz%s\n",i%5?"":"Buzz",i); } } *x = new X[100](); int main(){}
https://github.com/upx/upx/blob/devel/src/stub/src/arch/amd6...
Then it takes ~2500 bytes, mine is ~500 (static version). But the decompression speed for larger code should be higher, as I noticed.
I want to make the decoder small enough to be used in compressed executables. Where decompression performance doesn't matter because LZMA is far from fast decompression, and small code without inlining makes it worse (but bearable).
Show HN: Micro LZMA decoder (x86 assembly code golf)
00000000 abcdefgh ijklmnop qrstuvwx
-------- -------- -------- --------
00abcdef 00ijklgh 00qrmnop 00stuvwx
0000ijkl 0000qr00 0000gh00 00mnop00 <-- missing "qr"
000000qr 00000000 00000000 00gh0000The rest is unchanged, but there is a trick in that the table indexes are shuffled, and shuffled differently depending on the neighboring values in a 24-bit block of source data.
> but I have had to decode a ton of 64-bit base64 strings, for example
Should be good for small data. It's a pity that no one (or I haven't seen such benchmarks) measures the performance of decoding a large amount of small data (like 1..64 bytes).
Show HN: "crzy64", base64 mod aimed for fastest decoding
I need to use inline assembly because of this.