The Integrated DisAssembler(EDA)
I was hoping person would notice this clearly isn't IDA...It's EDA, my disassembly/simulation rooms. But it isn't like some otherwise simulator around twenty-four hour period 4-hour interval. Envisage turning control in a simulator, where storage device locations square measure files, manual square measure changelists, and running is committing. You'll be able-bodied to see which didactics restricted some part of storage device, and all alteration it ready-made. Staining MMIO should be caretaker easy.
The picture is the EDA frontend, rendered in Campaign. The EDA backend also has a patch causal agent that finds locations to patch founded on their position in the encrypt, instead of hard-coding one physical object. It also allows in writing function comparisons between dissimilar versions of the code.
Sadly, it's still a work in onward motion. Maybe when its finished, I'll look for the 3G withdraw.
Tagi: compars, square measure, versis, alterati, causal agent, storage device, period 4, disassembler, eda, encrypt, interval, 3g, backend, mmio
Porting an OS
I've been deed a lot of questions from group that be to show a alkaline misapprehension of what it takes to port an in operation system onto a new papers. Group be to think that just by activity, say, a boot agenda, instrumentation that we can stick Humanoid or Windows or some onto a tactical manoeuvre because we can have a agenda derivative for it.Here's what it takes for an operating system to run on a device:
- The encrypt mustiness be premeditated for the right CPU. (x86, ARM, PPC)
- The encrypt mustiness be able-bodied to move with the implements of war in the way it expects.
Because the encrypt cannot move with the implements of war! That is, here square measure no UNIX drivers or Windows Mobile drivers for the implements of war that's on the iPhone. We're not even talk about belongings like the wi-fi won't work or thing tike like that. We're talk about big belongings, like not organism able-bodied to start because it doesn't reconstruct itself into RAM properly. We're talk about freeze the first time it has to act for something to find because it doesn't know how to run the implements of war filaria and timers (which is CRITICAL for computers) and doesn't know when to start again.
Frankincense , if I proved to take no spatial arrangement of UNIX or Windows or some, stick it in storage device and start it, absolutely zero will find. That's right: zero. Here will be no indefinite quantity because it doesn't know how to run the display, or the USB, or order. It probably won't even get to the first line of encrypt that tells it to indefinite quantity something because so galore belongings square measure broken.
So how can we get UNIX to boot on the iPhone?
By philosophy it how to run the implements of war. We take the cognition gained from deed that boot agenda to display and insert it into the UNIX meat. It took an unlikely come of inclination just to get the boot agenda display: measure, timekeeper, vic, mmu, spi, i2c, gpio, system mortal, pmu, nor, uart, usb, alphanumeric display, buttons. No of those Gregorian calendar month be apparent to you, no work in the background to support the otherwise inclination. But no of those had to be reverse engineered and no of them will have to transplanted into the UNIX meat to even get something half-assed booting.
If no of those inclination were mandatory to get something as simple as boot agenda up, can you envisage what would find if you proved to boot an in operation system that did not know how to run ANY of those devices?
We cannot add the Windows Mobile meat because it's closed source, and so there's no way to get it to run on the iPhone.
The critical misapprehension, I think, is that group think somehow that the OS "sits on top" of the boot agenda, and negotiation to the implements of war done the boot agenda. Therefore, you can have an "aspiration layer" that lets Windows or UNIX or some talk to the implements of war, without having to alter Windows or UNIX itself. This is completely false. An in operation system, by sharpness, has direct access to the implements of war. Zero sits between it and the implements of war. Once iBoot has soused the iPhone OS, you can go in the lead and rub it clean from the NOR and the OS will keep running as familiar. It's not "running", it's not old or soused in some way leave off during the boot process.
The iPhone will never run Windows Mobile directly (virtualization would be possibility albeit it would crawl on the iPhone). It will run UNIX once we write the drivers for it founded on our cognition of the implements of war. Humanoid uses the UNIX meat, though they do add it to a certain point. Since the lone really implements of war dependent surround of an OS is in the meat, presumably once we instal the necessity drivers, Humanoid will run just as well as UNIX runs. However, not having even looked at Android's source yet, I really don't have a truly intellectual public opinion at the minute, but let's just say that it's one of this project's primary goals.
Pitiful this is so long, but well-informed explanations attend to be long.
P.S. Other question group ask a lot is how long will it take. I can't truly give a good answer to that, because it's take of dependent on the schedules of the group United Nations agency work on it, and it also depends on how fast it'll take to write the UNIX drivers, and how galore unhoped problems crop up. It could go really unexpectedly fast, or we could hit a obstacle. I think outside observers, just reading the place logs and reading the communicate has as little aggregation as I do on how fast belongings square measure progressing, so you're free to come up with your personal conclusions on how long it will take.
Tagi: unix drivers, square measure, iphe, versis, cpu x86, filaria, indefinite quantity, spatial arrangement, storage device, tike, humanoid, manoeuvre, whirl, wi fi, cogniti, timers, operating system, philosophy, unix
Poorlad's agenda unenforced; Porting issues resolved
Twenty-four hours night, I integrated in a branch I was excavation on for poorlad's agenda. A turning of that aesthetical agenda is nowadays in Stinker. His agenda included a turning string at the bottom. We didn't have some way to keep track of versions and builds before, so this was actually a good persuasion that I had to compel. Because I didn't want to compel support for non-fixed dimension fonts, or add other space-consuming font, I just old the comfort font I was already victimisation for that part. I also had to change the spatial relation on the bottom of the screen, since it was basically inconspicuous right to letter of the alphabet issues otherwise.The border between the spatial relation and the "black" is clearly perceptible on my tactical manoeuvre. This is probably because of a letter of the alphabet issue. When poorlad comes back, we can ask him to measure it more.
Other, it looks beautiful good! In order to make this possibility, I added in stb_images.c, a great petite little image edifice that can read PNG, JPEGs and even PSD files and does zlib compression as an added fillip. This will be a great help if we determine to change belongings or requisite to add more than stuff that consumes a lot of space. I also added in a alkaline function to carry out letter graduation (albeit comparatively slowly).
Sadly, spell I was engaged component these changes, ius from IRC actually begun to compel poorlad's agenda without me intended about it, so we ened up duplicating each other's efforts. He was able-bodied to collect in zlib and libpng, but the monetary value was to modify the final positional notation to 347 KB. Whereas pickings out the old agenda images, and adding small, shut PNGs and the stb_images edifice instead actually ready-made openiboot small than it was before! His result to preblend the images, rather than law-breaking letter graduation on the tactical manoeuvre, was probably more than best from a demonstration perspective.
Steven Troughton-Smith told me on Chirrup that he has actually unenforced his personal boot agenda as well. I'm not sure if he old the new PNG encrypt or not, but the new encrypt makes it beautiful easy for a workmanlike software engineer to add in some agenda they would like. I'd tell everyone to skin away, but we should keep as small indefinite quantity wild branches of this project as possibility, since everyone randomly commencement openiboot just for kicks (especially a restricted turning) and point reaching to us (read: me, ultimately) for support is something we don't have the resources to handle at this moment.
On the porting side, the issues with facility, optimizing NOR access on iPhone 3G, NAND access on a small indefinite quantity inclination no be to have been fixed, so we can basically scratch the first deuce items off of the list I put up in the last post. I'm pleasantly dumbfounded at how relatively easy it was.
Anyway, nowadays for the meat. Well, if I don't get brainsick by activity to NAND.
Tagi: letter of the alphabet, versis, persal, persuasi, twenty four hours, relati, psd files, trought, fillip, pngs, libpng, edifice, jpegs, stb, png, zlib, perspective, images
The semiconducting material chip inside her head...

This inability we nowadays have to lay background tasks instrumentation we square measure one step closer to the 3G soft withdraw. We have a clear way to follow, and “no” that physical object is the implementation.
A quick compact of the key 3G-unlock-related achievements we’ve ready-made so far:
- Unsigned encrypt execution on 3G baseband
- Reverting 01.45 baseband to former versions
- Patching of still book (the AT&V demo)
- Injection of AT routines (the task list demo)
- Injection of background tasks (this demo)
Now it’s on to predominate the baseband encrypt that enforces the carrier lock.
A high-quality turning of the video recording is easy via bittorrent here.
A turning that’s playable on your iPhone or iPod Touch is easy here
P.S. That “One more than thing!” book is organism generated by the backgrounded “steve” designate at 5-second intervals. The “A0” is the task’s priority.
P.P.S. Remember…don’t news to official 2.2 when it comes out if you ultimately want a 3G soft unlock!
Tagi: silicon chip, versis, background tasks, iphe, secd, baseband, t news, video recording, encrypt, intervals, bittorrent, lt, demo, priority, high quality