dmitrygr Profile Banner
Dmitry Grinberg Profile
Dmitry Grinberg

@dmitrygr

Followers
5K
Following
18K
Media
328
Statuses
3K

Creating order out of chaos, or reverse (as needed).

Austin, TX
Joined October 2009
Don't wanna be here? Send us removal request.
@dmitrygr
Dmitry Grinberg
2 days
I am so glad they clarified this
Tweet media one
3
2
9
@dmitrygr
Dmitry Grinberg
6 days
and. just like that. it is emulated
Tweet media one
0
0
7
@dmitrygr
Dmitry Grinberg
6 days
The bus protocol for @FisherPrice Pixter Classic has been figured out and carts can now be dumped. Proof:
Tweet media one
2
1
10
@dmitrygr
Dmitry Grinberg
8 days
What the hell is an industry-standard 8-wire resistive touch panel?! I know of 4 and 5 wire panels.
Tweet media one
2
0
2
@dmitrygr
Dmitry Grinberg
11 days
This does not happen on later ARM cores (like ARM9) or if your core has alignment checking option and it is enabled. Fun, eh?.
0
0
0
@dmitrygr
Dmitry Grinberg
11 days
But if you try to load an immediate, things go a bit weird, since you end up loading a value from an unaligned address. This will load the proper word, but then rotate it right by 16 bits. This will bewilderingly break all your immediates and nothing else. .
1
0
1
@dmitrygr
Dmitry Grinberg
11 days
So, on ARM7TDMI, PC is written with a value whose last two bits are 0b10. This causes no issues immediately, as instruction fetches ignore lower 2 bits. ARM code runs, as you;d expect ad you'll think all is well. As branches are relative, they work too, and the lower bits stay. .
1
0
0
@dmitrygr
Dmitry Grinberg
12 days
I'll give a hint: on most ARM cores, it'll jump (in ARM mode) to (addr_of_this_instr + 2), but not on all. .
2
0
1
@dmitrygr
Dmitry Grinberg
12 days
Pop quiz. You execute “BX PC” on an ARM CPU in Thumb mode from an address divisible by 2 but not 4. Explain what happens.
3
0
5
@dmitrygr
Dmitry Grinberg
14 days
That moment when you've finally gotten code execution and are dumping the 16MByte ROM out a bit-banged UART . at 1200bps 8n3 . .
1
0
5
@dmitrygr
Dmitry Grinberg
15 days
SD cards have a spec-defined method to indicate support for CMD23. It is not mandatory to support it. It is OK not to. Thus no reason to lie. And yet, there are cards that claim support, but reject the command as invalid, because "fuck you, that's why!".
1
0
15
@dmitrygr
Dmitry Grinberg
16 days
Tweet media one
Tweet media two
Tweet media three
Tweet media four
0
0
19
@dmitrygr
Dmitry Grinberg
17 days
I will now be accepting “oooh”s and “aaah”s…
1
1
34
@dmitrygr
Dmitry Grinberg
18 days
Tweet media one
2
1
16
@dmitrygr
Dmitry Grinberg
18 days
Just going to leave this here for now
Tweet media one
1
1
23
@dmitrygr
Dmitry Grinberg
18 days
I love it when a plan comes together. This is the first pirate ROM for the @FisherPrice Pixter Color. It ain’t much, but it does run.
2
5
41
@dmitrygr
Dmitry Grinberg
19 days
This is someone emulating an 8-bit stack based machine on 32-bits. weirdly. They use as many stack slots as the old machine would, but here they are 32 bits. So instead of using 2 slots to store a u16, one is used and second is garbage. It works, just dirty. EG:
Tweet media one
0
0
1
@dmitrygr
Dmitry Grinberg
19 days
There is nothing I could have done to deserve this
Tweet media one
1
0
0
@dmitrygr
Dmitry Grinberg
21 days
And this is the first pirate rom running. using the reverse engineered instruction set of the VM they use for games
Tweet media one
0
0
5
@dmitrygr
Dmitry Grinberg
21 days
The Pixter Color by @FisherPrice has not been emulated, until now.
Tweet media one
1
0
9