Editing Talk:PS1 Emulation
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 184: | Line 184: | ||
0xDDD6C replace 48 07 14 21 to 38 60 00 00 | 0xDDD6C replace 48 07 14 21 to 38 60 00 00 | ||
0xE13C4 replace 60 00 00 00 to 38 60 00 00 | 0xE13C4 replace 60 00 00 00 to 38 60 00 00 | ||
== Ps1_netemu Commands Info == | == Ps1_netemu Commands Info == | ||
Line 214: | Line 190: | ||
Loading external commands is be possible in ps1_netemu. From this we can also figure out that sony call those configs "ad hoc params" which can be little bit misleading. Emulator expect them inside ISO.BIN.EDAT file. Offset depend if "optional header" exist or not. Values are little endian. | Loading external commands is be possible in ps1_netemu. From this we can also figure out that sony call those configs "ad hoc params" which can be little bit misleading. Emulator expect them inside ISO.BIN.EDAT file. Offset depend if "optional header" exist or not. Values are little endian. | ||
* Offset 0x424 or 0x824 in DAT file = Config revision in bcd format, that need to be higher than DB from emu (11624 for 4.86). Safe to use 0x200000. | |||
* Offset 0x424 Config revision in bcd format, that need to be higher than DB from emu (11624 for 4.86). Safe to use 0x200000. | * Offset 0x42C or 0x82C first config command | ||
* Offset 0x42C first config command | * Offset 0x430 or 0x830 param for first command | ||
* Offset 0x430 param for first command | |||
* This repeats 8 times as only 8 commands is supported. | * This repeats 8 times as only 8 commands is supported. | ||
* Command 2 is unsupported. | * Command 2 is unsupported. | ||
Line 267: | Line 242: | ||
**0 = ? (used by SCPS-18011 Um Jammer Lammy, and SLPS-01818 Langrisser IV & V Final Edition [Disc1of2]) | **0 = ? (used by SCPS-18011 Um Jammer Lammy, and SLPS-01818 Langrisser IV & V Final Edition [Disc1of2]) | ||
In Um Jammer Lammy is used together with command 0x13, so it was a bit doubtful if it was a mistake. But Langrisser IV & V Final Edition [Disc1of2] uses it too and is the only command used by this disc, so it "should" do something. Um Jammer Lammy in netemu 3.40 was fixed only with command 0x0/0x0 (id/data) | In Um Jammer Lammy is used together with command 0x13, so it was a bit doubtful if it was a mistake. But Langrisser IV & V Final Edition [Disc1of2] uses it too and is the only command used by this disc, so it "should" do something. Um Jammer Lammy in netemu 3.40 was fixed only with command 0x0/0x0 (id/data) | ||
=== Command 0x01 (netemu 3.40 up to 4.88) === | === Command 0x01 (netemu 3.40 up to 4.88) === | ||
Line 636: | Line 610: | ||
Value is integer that is later converted to double float using fcfid, and truncated to single precision by frsp.<br> | Value is integer that is later converted to double float using fcfid, and truncated to single precision by frsp.<br> | ||
I'm not familiar with CELL floating point unit quirks, but value could be just single precision float from the start, why complicate that so much?<br> | I'm not familiar with CELL floating point unit quirks, but value could be just single precision float from the start, why complicate that so much?<br> | ||
_xcdrom_thread related. | |||
=== Command 0x04 (netemu 3.40 up to 4.88) === | === Command 0x04 (netemu 3.40 up to 4.88) === | ||
*Valid values found: 0x4, 0x7, 0x14 (20d), 0x46 (70d), 0x64 (100d), 0xC8 (200d), 0xFFFFFF38 ( | *Valid values found: 0x4, 0x7, 0x14 (20d), 0x46 (70d), 0x64 (100d), 0xC8 (200d), 0xFFFFFF38 (????????) | ||
*Default value: 0 | *Default value: 0 | ||
*_xcdrom_thread related. | *_xcdrom_thread related. | ||
=== Command 0x05 (netemu 3.40 up to 4.88) === | === Command 0x05 (netemu 3.40 up to 4.88) === | ||
Line 657: | Line 625: | ||
*Default value: 0 | *Default value: 0 | ||
*_xcdrom_thread related. | *_xcdrom_thread related. | ||
=== Command 0x07 (netemu 4.83 up to 4.88) === | === Command 0x07 (netemu 4.83 up to 4.88) === | ||
*Default value: 0 | *Default value: 0 | ||
*_xcdrom_thread related. | *_xcdrom_thread related. | ||
=== Command 0x08 (netemu 3.40 up to 4.88) === | === Command 0x08 (netemu 3.40 up to 4.88) === | ||
Line 703: | Line 666: | ||
*Default value: 0 | *Default value: 0 | ||
*MDEC related? | *MDEC related? | ||
=== Command 0x14 (netemu 4.83 up to 4.88) === | === Command 0x14 (netemu 4.83 up to 4.88) === | ||
Line 715: | Line 675: | ||
=== Command 0x16 (netemu 4.83 up to 4.88) === | === Command 0x16 (netemu 4.83 up to 4.88) === | ||
*Default value: 0 | *Default value: 0 | ||
=== Command 0x17 (netemu 4.83 up to 4.88) === | === Command 0x17 (netemu 4.83 up to 4.88) === | ||
Line 776: | Line 732: | ||
*Default value: 0x7D0 | *Default value: 0x7D0 | ||
*xPadThread related. | *xPadThread related. | ||
=== Command 0x21 (netemu 4.83 up to 4.88) === | === Command 0x21 (netemu 4.83 up to 4.88) === | ||
Line 790: | Line 740: | ||
*Default value: 0x3E8 | *Default value: 0x3E8 | ||
*PS1 GPU related. | *PS1 GPU related. | ||
=== Command 0x23 (netemu 4.83 up to 4.88) === | === Command 0x23 (netemu 4.83 up to 4.88) === | ||
Line 819: | Line 768: | ||
*Default value: 0 | *Default value: 0 | ||
*PS1 GPU related. | *PS1 GPU related. | ||
=== Command 0x32 (netemu 4.83 up to 4.88) === | === Command 0x32 (netemu 4.83 up to 4.88) === | ||
Line 852: | Line 795: | ||
*Or command 0x2C in ps1_netemu.self 3.40 | *Or command 0x2C in ps1_netemu.self 3.40 | ||
*Or command 0x2E in ps1_netemu.self 3.55 ? | *Or command 0x2E in ps1_netemu.self 3.55 ? | ||
*Or command 0x15 in ps1_emu.self 4.88 ? | |||
*Valid values found: | *Valid values found: | ||
**0/1/2/3 | **0/1/2/3 | ||
Line 868: | Line 812: | ||
stay_netemu | stay_netemu | ||
// | // boot is considered to be from disc if argv with game path is empty. | ||
== Ps1_emu Commands Info == | == Ps1_emu Commands Info == | ||
Line 887: | Line 826: | ||
Supposed to launch game using different emulator, but all paths do nothing. | Supposed to launch game using different emulator, but all paths do nothing. | ||
*Valid values found: | *Valid values found: | ||
**3 (Do nothing, but with print! | **3 (Do nothing, but with print!) | ||
**Different values do nothing | **Different values do nothing | ||