|
|
Line 75: |
Line 75: |
| | | |
| [[Category:IOS API documentation]] | | [[Category:IOS API documentation]] |
− |
| |
− | == Celebrity Chef Chris Nirschel Cooks for the Homeless ==
| |
− |
| |
− | Cause Celeb highlights a celebritys work on behalf of a specific cause. This week, Chris Nirschel shares with us, via email interview, his work with The Food Bank for New York City.After 28 years, The Food Bank for New York has become the citys major hunger relief organization and one of the largest food banks in the country.
| |
− |
| |
− | [[http://goodvillenews.com/Celebrity-Chef-Chris-Nirschel-Cooks-for-the-Homeless-3xkuIL.html Celebrity Chef Chris Nirschel Cooks for the Homeless]]
| |
− |
| |
− | [[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
| |
− |
| |
− | == The Power of You! Living Life Without Limits ==
| |
− |
| |
− | To every person there comes in their lifetime that special moment when you are figuratively tapped on the shoulder and offered the chance to do a very special thing, unique to you and your talents. What a tragedy if that moment finds you unprepared or unqualified for work which could have been your finest hour. Winston Churchill
| |
− |
| |
− | [[http://goodvillenews.com/The-Power-of-You-Living-Life-Without-Limits-TtvgM5.html The Power of You! Living Life Without Limits]]
| |
− |
| |
− | [[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
| |
− |
| |
− | == Rainbow of Colorful Critters Discovered in Suriname ==
| |
− |
| |
− | A scientific expedition into one of the worlds last pristine tropical forests has revealed incredibly diverse species and extraordinary cultural heritage, said Conservation International (CI) today, announcing the results of a scientific survey in southwest Suriname that documented nearly 1,300 species, including 46 species which may be new to science. The announcement comes as the global organization marks 25 years of science-based conservation, this month.
| |
− |
| |
− | [[http://goodvillenews.com/Rainbow-of-Colorful-Critters-Discovered-in-Suriname-TjkvIE.html Rainbow of Colorful Critters Discovered in Suriname]]
| |
− |
| |
− | [[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
| |
− |
| |
− | == Rainbow of Colorful Critters Discovered in Suriname ==
| |
− |
| |
− | A scientific expedition into one of the worlds last pristine tropical forests has revealed incredibly diverse species and extraordinary cultural heritage, said Conservation International (CI) today, announcing the results of a scientific survey in southwest Suriname that documented nearly 1,300 species, including 46 species which may be new to science. The announcement comes as the global organization marks 25 years of science-based conservation, this month.
| |
− |
| |
− | [[http://goodvillenews.com/Rainbow-of-Colorful-Critters-Discovered-in-Suriname-TjkvIE.html Rainbow of Colorful Critters Discovered in Suriname]]
| |
− |
| |
− | [[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
| |
− |
| |
− | == The Second Glance ==
| |
− |
| |
− | Have you ever cringed at the sight of a human being who is physically disfigured? David Roche, who was born with a facial disfigurement, spent years trying to hide from himself. At middle age, he discovered his inner beauty, his spirit and his strength, and he has dedicated his life to helping all people find the inner beauty within themselves and in others.
| |
− |
| |
− | [[http://goodvillenews.com/The-Second-Glance-FDzaku.html The Second Glance]]
| |
− |
| |
− | [[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
| |
Revision as of 06:59, 5 August 2012
Through /dev/di you can control the DVD.
The inbuf size of all /dev/di IOS cmds must be 0x20
The first entry of the inbuf should(!) be the DI cmd, Starlet fixes it if it doesn't match.
Fleshed out into a simple API called "WDVD": http://emergent.unpy.net/01212889187
DVDLowGetCoverStatus
ios_ioctl( di_fd, 0x88, inbuf, 0x20, outbuf, 0x20);
DVDLowRequestError
((u32*)inbuf)[0x00] = 0xE0000000;
ios_ioctl( di_fd, 0xE0, inbuf, 0x20, outbuf, 0x20);
(Actual DVD error code is returned in (u32*)outbuf)[0x00])
Identical to the error codes found in yagcd section 5.7.3.5.1 (so far).
DVDLowRead (Only works after DVDOpenPartition)
((u32*)inbuf)[0x00] = 0x71000000;
((u32*)inbuf)[0x01] = size;
((u32*)inbuf)[0x02] = byte_offset >> 2;
ios_ioctl( di_fd, 0x71, inbuf, 0x20, dst, size);
DVDLowUnencryptedRead
// Only works up to 0x0050000; in newer IOS versions (IOS30+) the whole
// data block (i.e. offset and offset + len) has to been within one of the following three
// areas (bytes >> 2):
// * 0x00000000 - 0x00014000 (limit of older IOS versions)
// * 0x460a0000 - 0x460a0008
// * 0x7ed40000 - 0x7ed40008
((u32*)inbuf)[0x00] = 0x8D000000;
((u32*)inbuf)[0x01] = size;
((u32*)inbuf)[0x02] = byte_Offset >> 2;
ios_ioctl( di_fd, 0x8D, inbuf, 0x20, dst, size);
DVDLowStopMotor
((u32*)inbuf)[0x00] = 0xE3000000;
((u32*)inbuf)[0x01] = 0; // optional, unknown
((u32*)inbuf)[0x02] = 0; // optional, unknown
ios_ioctl( di_fd, 0xE3, inbuf, 0x20, outbuf, 0x20);
DVDLowReset
((u32*)inbuf)[0x00] = 0x8A000000;
((u32*)inbuf)[0x01] = 1;
ios_ioctl( di_fd, 0x8A, inbuf, 0x20, outbuf, 0x20);
DVDLowReadDiskID, read to 0x80000000
((u32*)inbuf)[0x00] = 0x70000000;
ios_ioctl( di_fd, 0x70, inbuf, 0x20, dst, 0x20);
DVDLowClosePartition
((u32*)inbuf)[0x00] = 0x8C000000;
IOS_Ioctl( di_fd, 0x8C, inbuf, 0x20, 0, 0);
DVDLowOpenPartition
((u32*)buffer)[(0x40>>2)] = 0x8B000000;
((u32*)buffer)[(0x40>>2)+1] = game_partition_byte_offset>>2; // offset of partition (ex: 0xf800000>>2)
//in
((u32*)buffer)[0x00] = PHYSADDR(buffer+0x40); //0x00
((u32*)buffer)[0x01] = 0x20; //0x04
((u32*)buffer)[0x02] = 0; //0x08; optional tik
((u32*)buffer)[0x03] = 0x2A4; //0x0C
((u32*)buffer)[0x04] = 0; //0x10; optional cert chain
((u32*)buffer)[0x05] = 0; //0x14
//out
((u32*)buffer)[0x06] = PHYSADDR(buffer+0x380); //0x18; TMD of the requested partition
((u32*)buffer)[0x07] = 0x49E4; //0x1C
((u32*)buffer)[0x08] = PHYSADDR(buffer+0x360); //0x20; some kind of error buffer
((u32*)buffer)[0x09] = 0x20; //0x24
IOS_Ioctlv( di_fd, 0x8B, 3, 2, buffer);