Changeset 77
- Timestamp:
- 04/03/07 17:23:02 (2 years ago)
- Files:
-
- trunk/platform/a610/sub/100f/lib.c (modified) (1 diff)
- trunk/platform/a620/main.c (modified) (3 diffs)
- trunk/platform/a620/sub/100f/lib.c (modified) (1 diff)
- trunk/platform/a620/sub/100f/stubs_entry.S (modified) (2 diffs)
- trunk/platform/a630/main.c (modified) (3 diffs)
- trunk/platform/a630/sub/100c/lib.c (modified) (1 diff)
- trunk/platform/a630/sub/100c/stubs_entry.S (modified) (2 diffs)
- trunk/platform/a640/main.c (modified) (3 diffs)
- trunk/platform/a640/sub/100b/lib.c (modified) (1 diff)
- trunk/platform/a640/sub/100b/stubs_entry.S (modified) (2 diffs)
- trunk/platform/a710/main.c (modified) (3 diffs)
- trunk/platform/a710/sub/100a/lib.c (modified) (1 diff)
- trunk/platform/a710/sub/100a/stubs_entry.S (modified) (2 diffs)
- trunk/tools/gensigs.sh (modified) (1 diff)
- trunk/tools/readme.txt (modified) (1 diff)
- trunk/tools/sig_ref_2.txt (modified) (1 diff)
- trunk/tools/sig_ref_3.txt (added)
- trunk/tools/signatures.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/platform/a610/sub/100f/lib.c
r28 r77 25 25 return (void*)0x10670d50; 26 26 } 27 28 void *get_parameter_data_magic_pointer() 29 { 30 return (void*)0x785C0; 31 } 32 trunk/platform/a620/main.c
r75 r77 26 26 extern long IsStrobeChargeCompleted(); 27 27 28 extern long GetParameterData(long id, long unk, void *buf, long size); 29 extern long SetParameterData(long id, long unk, void *buf, long size); 30 28 31 /* Ours stuff */ 29 32 extern long wrs_kernel_bss_start; … … 31 34 32 35 extern void boot(); 33 36 extern void *get_parameter_data_magic_pointer(); 34 37 35 38 /* … … 630 633 RefreshPhysicalScreen(1); 631 634 } 635 636 637 long get_parameter_data(long id, void *buf, long bufsize) 638 { 639 long *magic = get_parameter_data_magic_pointer(); 640 return GetParameterData(id, magic[1], buf, bufsize); 641 } 642 643 long set_parameter_data(long id, void *buf, long bufsize) 644 { 645 long *magic = get_parameter_data_magic_pointer(); 646 return SetParameterData(id, magic[1], buf, bufsize); 647 } 648 trunk/platform/a620/sub/100f/lib.c
r28 r77 25 25 return (void*)0x1066fc70; 26 26 } 27 28 void *get_parameter_data_magic_pointer() 29 { 30 return (void*)0x77220; 31 } 32 trunk/platform/a620/sub/100f/stubs_entry.S
r33 r77 19 19 NSTUB(Fseek_Fut, 0xffc5664c) 20 20 NSTUB(Fwrite_Fut, 0xffc565b4) 21 NSTUB(GetParameterData, 0xffd50890) 21 22 NSTUB(GetPropertyCase, 0xffc14188) 22 23 NSTUB(GetSystemTime, 0xffc04b10) … … 46 47 NSTUB(Read, 0xffc5cf20) 47 48 NSTUB(RefreshPhysicalScreen, 0xffd60708) 49 NSTUB(SetParameterData, 0xffd50790) 48 50 NSTUB(SetPropertyCase, 0xffc1406c) 49 51 NSTUB(SleepTask, 0xffc11144) trunk/platform/a630/main.c
r75 r77 26 26 extern long IsStrobeChargeCompleted(); 27 27 28 extern long GetParameterData(long id, long unk, void *buf, long size); 29 extern long SetParameterData(long id, long unk, void *buf, long size); 30 28 31 /* Ours stuff */ 29 32 extern long wrs_kernel_bss_start; … … 31 34 32 35 extern void boot(); 33 36 extern void *get_parameter_data_magic_pointer(); 34 37 35 38 /* … … 630 633 RefreshPhysicalScreen(1); 631 634 } 635 636 637 long get_parameter_data(long id, void *buf, long bufsize) 638 { 639 long *magic = get_parameter_data_magic_pointer(); 640 return GetParameterData(id, magic[1], buf, bufsize); 641 } 642 643 long set_parameter_data(long id, void *buf, long bufsize) 644 { 645 long *magic = get_parameter_data_magic_pointer(); 646 return SetParameterData(id, magic[1], buf, bufsize); 647 } 648 trunk/platform/a630/sub/100c/lib.c
r34 r77 25 25 return (void*)0; 26 26 } 27 28 void *get_parameter_data_magic_pointer() 29 { 30 return (void*)0x6B6E8; 31 } 32 trunk/platform/a630/sub/100c/stubs_entry.S
r34 r77 23 23 NSTUB(Fseek_Fut, 0xffc5a6a4) 24 24 NSTUB(Fwrite_Fut, 0xffc5a60c) 25 NSTUB(GetParameterData, 0xffd6edc8) 25 26 NSTUB(GetPropertyCase, 0xffc14de4) 26 27 NSTUB(GetSystemTime, 0xffc04d38) … … 52 53 NSTUB(Read, 0xffc6157c) 53 54 NSTUB(RefreshPhysicalScreen, 0xffd7f49c) 55 NSTUB(SetParameterData, 0xffd6ecd4) 54 56 NSTUB(SetPropertyCase, 0xffc14c94) 55 57 NSTUB(SleepTask, 0xffc119d0) trunk/platform/a640/main.c
r75 r77 26 26 extern long IsStrobeChargeCompleted(); 27 27 28 extern long GetParameterData(long id, long unk, void *buf, long size); 29 extern long SetParameterData(long id, long unk, void *buf, long size); 30 28 31 /* Ours stuff */ 29 32 extern long wrs_kernel_bss_start; … … 31 34 32 35 extern void boot(); 33 36 extern void *get_parameter_data_magic_pointer(); 34 37 35 38 /* … … 630 633 RefreshPhysicalScreen(1); 631 634 } 635 636 637 long get_parameter_data(long id, void *buf, long bufsize) 638 { 639 long *magic = get_parameter_data_magic_pointer(); 640 return GetParameterData(id, magic[1], buf, bufsize); 641 } 642 643 long set_parameter_data(long id, void *buf, long bufsize) 644 { 645 long *magic = get_parameter_data_magic_pointer(); 646 return SetParameterData(id, magic[1], buf, bufsize); 647 } 648 trunk/platform/a640/sub/100b/lib.c
r64 r77 25 25 return (void*)0; 26 26 } 27 28 void *get_parameter_data_magic_pointer() 29 { 30 return (void*)0x6B9E0; 31 } 32 trunk/platform/a640/sub/100b/stubs_entry.S
r64 r77 26 26 // Best match: 61% 27 27 NSTUB(Fwrite_Fut, 0xffc5b6f4) 28 NSTUB(GetParameterData, 0xffd71a6c) 28 29 // Best match: 89% 29 30 NSTUB(GetPropertyCase, 0xffc15484) … … 56 57 NSTUB(Read, 0xffc6263c) 57 58 NSTUB(RefreshPhysicalScreen, 0xffd822a0) 59 NSTUB(SetParameterData, 0xffd71978) 58 60 NSTUB(SetPropertyCase, 0xffc15334) 59 61 NSTUB(SleepTask, 0xffc12068) trunk/platform/a710/main.c
r75 r77 26 26 extern long IsStrobeChargeCompleted(); 27 27 28 extern long GetParameterData(long id, long unk, void *buf, long size); 29 extern long SetParameterData(long id, long unk, void *buf, long size); 30 28 31 /* Ours stuff */ 29 32 extern long wrs_kernel_bss_start; … … 31 34 32 35 extern void boot(); 33 36 extern void *get_parameter_data_magic_pointer(); 34 37 35 38 /* … … 630 633 RefreshPhysicalScreen(1); 631 634 } 635 636 637 long get_parameter_data(long id, void *buf, long bufsize) 638 { 639 long *magic = get_parameter_data_magic_pointer(); 640 return GetParameterData(id, magic[1], buf, bufsize); 641 } 642 643 long set_parameter_data(long id, void *buf, long bufsize) 644 { 645 long *magic = get_parameter_data_magic_pointer(); 646 return SetParameterData(id, magic[1], buf, bufsize); 647 } 648 trunk/platform/a710/sub/100a/lib.c
r28 r77 25 25 return (void*)0x10670ee0; 26 26 } 27 28 void *get_parameter_data_magic_pointer() 29 { 30 return (void*)0x765D8; 31 } 32 trunk/platform/a710/sub/100a/stubs_entry.S
r33 r77 22 22 NSTUB(Fseek_Fut, 0xffc5a180) 23 23 NSTUB(Fwrite_Fut, 0xffc5a0e8) 24 NSTUB(GetParameterData, 0xffd7734c) 24 25 NSTUB(GetPropertyCase, 0xffc14dec) 25 26 NSTUB(GetSystemTime, 0xffc04d38) … … 51 52 NSTUB(Read, 0xffc61058) 52 53 NSTUB(RefreshPhysicalScreen, 0xffd8752c) 54 NSTUB(SetParameterData, 0xffd77280) 53 55 NSTUB(SetPropertyCase, 0xffc14c9c) 54 56 NSTUB(SleepTask, 0xffc119d0) trunk/tools/gensigs.sh
r33 r77 1 1 #!/bin/sh 2 2 3 VERSIONS="1 2 "3 VERSIONS="1 2 3" 4 4 5 5 echo trunk/tools/readme.txt
r33 r77 1 1 sig_ref_1.bin : should contain a610-100e primary 2 2 sig_ref_2.bin : should contain a710-100a primary 3 sig_ref_3.bin : should contain a630-100c primary trunk/tools/sig_ref_2.txt
r33 r77 4 4 RefreshPhysicalScreen 0xFFD8752C 5 5 DisplayImagePhysicalScreen 0xffd36fe0 6 GetParameterData 0xFFD7734C 7 SetParameterData 0xFFD77280 trunk/tools/signatures.h
r76 r77 1622 1622 }; 1623 1623 1624 static FuncSig func_sig_GetParameterData_2[] = { 1625 { 0, 0xe1a00800, 0xfdffffff }, 1626 { 1, 0xe1a03803, 0xfdffffff }, 1627 { 2, 0xe1a00820, 0xfdffffff }, 1628 { 4, 0xe1a07002, 0xfdffffff }, 1629 { 5, 0xe1a08001, 0xfdffffff }, 1630 { 6, 0xe1a04843, 0xfdffffff }, 1631 { 7, 0xeb000000, 0xff000000 }, 1632 { 8, 0xe1a05000, 0xfdffffff }, 1633 { 9, 0xe1d530b4, 0xfdffffff }, 1634 { 10, 0xe1c33003, 0xfdffffff }, 1635 { 11, 0xe1a03803, 0xfdffffff }, 1636 { 13, 0xe1a03823, 0xfdffffff }, 1637 { 14, 0xe0833002, 0xfdffffff }, 1638 { 15, 0xe1570000, 0xfdffffff }, 1639 { 17, 0xe1a01094, 0xfdffffff }, 1640 { 18, 0xe0836005, 0xfdffffff }, 1641 { 19, 0x1a000000, 0xff000000 }, 1642 { 20, 0xeb000000, 0xff000000 }, 1643 { 21, 0xe1a03804, 0xfdffffff }, 1644 { 22, 0xe1d520b6, 0xfdffffff }, 1645 { 23, 0xe1a04823, 0xfdffffff }, 1646 { 24, 0xe1540002, 0xfdffffff }, 1647 { 26, 0xe1a01095, 0xfdffffff }, 1648 { 27, 0x9a000000, 0xff000000 }, 1649 { 28, 0xeb000000, 0xff000000 }, 1650 { 29, 0xe1a00008, 0xfdffffff }, 1651 { 30, 0xe1a01006, 0xfdffffff }, 1652 { 31, 0xe1a02004, 0xfdffffff }, 1653 { -1, -1, -1 }, 1654 /* 28/32 */ 1655 }; 1656 1657 static FuncSig func_sig_SetParameterData_2[] = { 1658 { 0, 0xe1a00800, 0xfdffffff }, 1659 { 2, 0xe1a08820, 0xfdffffff }, 1660 { 3, 0xe1a03803, 0xfdffffff }, 1661 { 4, 0xe1a00008, 0xfdffffff }, 1662 { 5, 0xe1a06002, 0xfdffffff }, 1663 { 6, 0xe1a0a001, 0xfdffffff }, 1664 { 7, 0xe1a04843, 0xfdffffff }, 1665 { 9, 0xeb000000, 0xff000000 }, 1666 { 10, 0xe1a05000, 0xfdffffff }, 1667 { 11, 0xe1d530b4, 0xfdffffff }, 1668 { 12, 0xe1c33003, 0xfdffffff }, 1669 { 13, 0xe1a03803, 0xfdffffff }, 1670 { 15, 0xe1a03823, 0xfdffffff }, 1671 { 16, 0xe1560000, 0xfdffffff }, 1672 { 18, 0xe1a01072, 0xfdffffff }, 1673 { 19, 0xe0837002, 0xfdffffff }, 1674 { 20, 0x1a000000, 0xff000000 }, 1675 { 21, 0xeb000000, 0xff000000 }, 1676 { 22, 0xe1a03804, 0xfdffffff }, 1677 { 23, 0xe1d520b6, 0xfdffffff }, 1678 { 24, 0xe1a04823, 0xfdffffff }, 1679 { 25, 0xe1540002, 0xfdffffff }, 1680 { 27, 0xe1a01073, 0xfdffffff }, 1681 { 28, 0x9a000000, 0xff000000 }, 1682 { 29, 0xeb000000, 0xff000000 }, 1683 { 30, 0xe1a01006, 0xfdffffff }, 1684 { 31, 0xe1a02004, 0xfdffffff }, 1685 { -1, -1, -1 }, 1686 /* 27/32 */ 1687 }; 1688 1689 static FuncSig func_sig_GetParameterData_3[] = { 1690 { 0, 0xe1a00800, 0xfdffffff }, 1691 { 1, 0xe1a00820, 0xfdffffff }, 1692 { 3, 0xe1a04803, 0xfdffffff }, 1693 { 4, 0xe1a09002, 0xfdffffff }, 1694 { 5, 0xe1a0a001, 0xfdffffff }, 1695 { 6, 0xeb000000, 0xff000000 }, 1696 { 7, 0xe1a05000, 0xfdffffff }, 1697 { 8, 0xe1d530b4, 0xfdffffff }, 1698 { 9, 0xe1c33003, 0xfdffffff }, 1699 { 10, 0xe1a03803, 0xfdffffff }, 1700 { 12, 0xe1a04844, 0xfdffffff }, 1701 { 13, 0xe1a03823, 0xfdffffff }, 1702 { 14, 0xe1a08804, 0xfdffffff }, 1703 { 15, 0xe0837002, 0xfdffffff }, 1704 { 16, 0xe1590000, 0xfdffffff }, 1705 { 17, 0xe1a06828, 0xfdffffff }, 1706 { 19, 0xe1a01094, 0xfdffffff }, 1707 { 20, 0xe0874005, 0xfdffffff }, 1708 { 21, 0x1a000000, 0xff000000 }, 1709 { 22, 0xeb000000, 0xff000000 }, 1710 { 23, 0xe1d530b6, 0xfdffffff }, 1711 { 24, 0xe1560003, 0xfdffffff }, 1712 { 26, 0xe1a01095, 0xfdffffff }, 1713 { 27, 0x9a000000, 0xff000000 }, 1714 { 28, 0xeb000000, 0xff000000 }, 1715 { 29, 0xe1d5c0ba, 0xfdffffff }, 1716 { 30, 0xe1a03cff, 0xfdffffff }, 1717 { 31, 0xe08330ff, 0xfdffffff }, 1718 { -1, -1, -1 }, 1719 /* 28/32 */ 1720 }; 1721 1722 static FuncSig func_sig_SetParameterData_3[] = { 1723 { 1, 0xe1a08800, 0xfdffffff }, 1724 { 2, 0xe1a03803, 0xfdffffff }, 1725 { 3, 0xe1a00828, 0xfdffffff }, 1726 { 4, 0xe1a06002, 0xfdffffff }, 1727 { 5, 0xe1a0a001, 0xfdffffff }, 1728 { 6, 0xe1a04843, 0xfdffffff }, 1729 { 8, 0xeb000000, 0xff000000 }, 1730 { 9, 0xe1a05000, 0xfdffffff }, 1731 { 10, 0xe1d530b4, 0xfdffffff }, 1732 { 11, 0xe1c33003, 0xfdffffff }, 1733 { 12, 0xe1a03803, 0xfdffffff }, 1734 { 14, 0xe1a03823, 0xfdffffff }, 1735 { 15, 0xe1560000, 0xfdffffff }, 1736 { 17, 0xe1a01072, 0xfdffffff }, 1737 { 18, 0xe0837002, 0xfdffffff }, 1738 { 19, 0x1a000000, 0xff000000 }, 1739 { 20, 0xeb000000, 0xff000000 }, 1740 { 21, 0xe1a03804, 0xfdffffff }, 1741 { 22, 0xe1d520b6, 0xfdffffff }, 1742 { 23, 0xe1a04823, 0xfdffffff }, 1743 { 24, 0xe1540002, 0xfdffffff }, 1744 { 26, 0xe1a01073, 0xfdffffff }, 1745 { 27, 0x9a000000, 0xff000000 }, 1746 { 28, 0xeb000000, 0xff000000 }, 1747 { 29, 0xe1a01006, 0xfdffffff }, 1748 { 30, 0xe1a02004, 0xfdffffff }, 1749 { 31, 0xe0870005, 0xfdffffff }, 1750 { -1, -1, -1 }, 1751 /* 27/32 */ 1752 }; 1753 1624 1754 FuncsList func_list[] = { 1625 1755 { "AllocateMemory", func_sig_AllocateMemory_1 }, … … 1642 1772 { "Fwrite_Fut", func_sig_Fwrite_Fut_1 }, 1643 1773 { "GetParameterData", func_sig_GetParameterData_1 }, 1774 { "GetParameterData", func_sig_GetParameterData_2 }, 1775 { "GetParameterData", func_sig_GetParameterData_3 }, 1644 1776 { "GetPropertyCase", func_sig_GetPropertyCase_1 }, 1645 1777 { "GetPropertyCase", func_sig_GetPropertyCase_2 }, … … 1671 1803 { "RefreshPhysicalScreen", func_sig_RefreshPhysicalScreen_2 }, 1672 1804 { "SetParameterData", func_sig_SetParameterData_1 }, 1805 { "SetParameterData", func_sig_SetParameterData_2 }, 1806 { "SetParameterData", func_sig_SetParameterData_3 }, 1673 1807 { "SetPropertyCase", func_sig_SetPropertyCase_1 }, 1674 1808 { "SetPropertyCase", func_sig_SetPropertyCase_2 },