From 0f23d6f2c0930b306ac1895716a521a16f7e558f Mon Sep 17 00:00:00 2001 From: red-prig Date: Tue, 7 Mar 2023 23:24:02 +0300 Subject: [PATCH] Fix SMRD parse --- chip/ps4_pssl.pas | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/chip/ps4_pssl.pas b/chip/ps4_pssl.pas index 69bf5b5a..57b71714 100644 --- a/chip/ps4_pssl.pas +++ b/chip/ps4_pssl.pas @@ -1227,7 +1227,7 @@ SOP1 32+ SOPC 32+ SOPP 32 -SMRD 32 +SMRD 32+ VOP2 32+ VOP1 32+ @@ -1412,7 +1412,8 @@ begin T:=H and LAST_5BIT; if (T=DW_SMRD) then //5 begin - pack4(TSMRD(H).OP); + if (TSMRD(H).IMM=0) and + (TSMRD(H).OFFSET=$FF) then pack8(TSMRD(H).OP) else pack4(TSMRD(H).OP); end else begin T:=H and LAST_4BIT; @@ -1946,8 +1947,8 @@ begin With SPI.SMRD do Case IMM of - 0:Write('s[',OFFSET,']'); - 1:Write(OFFSET); + 0:_print_ssrc8(OFFSET,SPI.INLINE32); + 1:Write('0x',HexStr(OFFSET,2)); end; Writeln;