diff --git a/snesapu.dll/APU.asm b/snesapu.dll/APU.asm index ef91b85..8eedd1f 100644 --- a/snesapu.dll/APU.asm +++ b/snesapu.dll/APU.asm @@ -45,12 +45,12 @@ SECTION .data ALIGN=256 SECTION .data ALIGN=32 %endif -; ----- degrade-factory code [2020/12/28] ----- +; ----- degrade-factory code [2021/02/18] ----- apuOpt DD (CPU_CYC << 24) | (DEBUG << 16) | (DSPINTEG << 17) | (VMETERM << 8) | (VMETERV << 9) | (1 << 10) | (STEREO << 11) \ | (HALFC << 1) | (CNTBK << 2) | (SPEED << 3) | (IPLW << 4) | (DSPBK << 5) | (INTBK << 6) apuDllVer DD 21863h ;SNESAPU.DLL Current Version apuCmpVer DD 11000h ;SNESAPU.DLL Backwards Compatible Version - apuVerStr DD "2.18.3 (build 7249)" ;SNESAPU.DLL Current Version (32byte String) + apuVerStr DD "2.18.3 (build 7258)" ;SNESAPU.DLL Current Version (32byte String) DD 8 ; ----- degrade-factory code [END] ----- diff --git a/snesapu.dll/SPC700.asm b/snesapu.dll/SPC700.asm index 6542d2e..165d64d 100644 --- a/snesapu.dll/SPC700.asm +++ b/snesapu.dll/SPC700.asm @@ -454,6 +454,7 @@ USES ECX,EDX,EBX,ESI,EDI Mov DL,[inPSW] Mov EBX,PSW Mov AH,8 + .Flag: Mov dword [EBX],0 ShR DL,1 @@ -490,13 +491,21 @@ USES ECX,EDX,EBX,ESI,EDI Mov [RAM+control],AL ;Copy the correct extra RAM -------------- - Test byte [RAM+control],80h - RetNZ - - LEA ESI,[RAM+ipl] - Mov EDI,extraRAM +; ----- degrade-factory code [2021/02/18] ----- + LEA ESI,[RAM+ipl] ;Setup registers to move data from Extra RAM to + Mov EDI,extraRAM ; IPL region Mov ECX,10h + +%if IPLW + Test AL,AL + JNS short .NoRA + Mov EDI,ESI ;Setup registers to move ROM program into IPL region + Mov ESI,iplROM + .NoRA: +%endif + Rep MovSD +; ----- degrade-factory code [END] #24 ----- ENDP @@ -509,6 +518,7 @@ USES EBX Mov EBX,PSW+1 Mov AL,80h + .Flag: Mov AH,[EBX] Add EBX,4 @@ -4995,25 +5005,28 @@ ALIGN 16 XOr AL,BL ;Did ROM access change? JNS short %%NoRA ; No Push ECX,ESI,EDI + Mov ESI,extraRAM ;Setup registers to move data from Extra RAM to Mov DI,ipl ; IPL region - Mov ECX,10h + Test BL,BL ;Is ROM readable? JNS short %%NoRR ; No, Perform move as intended XChg ESI,EDI ;Reverse original operation, move IPL to Extra RAM Rep MovSD + Mov CL,10h ;Setup registers to move ROM program into IPL region LEA EDI,[ESI-40h] Mov ESI,iplROM + %%NoRR: Rep MovSD ;Move iplROM or extraRAM to IPL ROM region Pop EDI,ESI,ECX + %%NoRA: ; ----- degrade-factory code [END] ----- ;Clear ports ----------------------------- -; ----- degrade-factory code [2015/02/28] ----- Test BL,30h ;Was a clear ports command written? JZ short %%NoCP ; No Mov EAX,EBX @@ -5023,9 +5036,10 @@ ALIGN 16 SAR AX,15 And dword [RAM+port0],EAX ;Reset in-ports And dword [inPortCp],EAX +; ----- degrade-factory code [2015/02/28] ----- And dword [flushPort],EAX - %%NoCP: ; ----- degrade-factory code [END] ----- + %%NoCP: ;Timer control --------------------------- Mov AL,[tControl] ;AL = Timers currently enabled diff --git a/snesapu.dll/version.rc b/snesapu.dll/version.rc index de709b3..b0d4957 100644 --- a/snesapu.dll/version.rc +++ b/snesapu.dll/version.rc @@ -1,5 +1,5 @@ 1 VERSIONINFO - FILEVERSION 2,18,3,7249 + FILEVERSION 2,18,3,7258 PRODUCTVERSION 2,18,3,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0x8L @@ -12,7 +12,7 @@ BEGIN BLOCK "041103A4" BEGIN VALUE "FileDescription", "SNES SPC700 Emulator\0" - VALUE "FileVersion", "2.18.3 (build 7249)\0" + VALUE "FileVersion", "2.18.3 (build 7258)\0" VALUE "LegalCopyright", "Copyright (C) 1999-2008 Alpha-II Productions; (C) 2003-2021 degrade-factory.\0" VALUE "LegalTrademarks", "SNES is a registered trademark of Nintendo.\0" VALUE "ProductName", "SNESAPU\0" diff --git a/spcplay.exe/spcplay.dpr b/spcplay.exe/spcplay.dpr index 935fc14..78924db 100644 --- a/spcplay.exe/spcplay.dpr +++ b/spcplay.exe/spcplay.dpr @@ -2327,7 +2327,7 @@ const DEFAULT_TITLE: string = 'SNES SPC700 Player'; SPCPLAY_TITLE = '[ SNES SPC700 Player ]' + CRLF + ' SPCPLAY.EXE v'; SNESAPU_TITLE = '[ SNES SPC700 Emulator ]' + CRLF + ' SNESAPU.DLL v'; - SPCPLAY_VERSION = '2.18.3 (build 7249)'; + SPCPLAY_VERSION = '2.18.3 (build 7258)'; SNESAPU_VERSION = $21863; APPLINK_VERSION = $02170500; diff --git a/spcplay.exe/spcplay.rc b/spcplay.exe/spcplay.rc index 5645427..3a8a695 100644 --- a/spcplay.exe/spcplay.rc +++ b/spcplay.exe/spcplay.rc @@ -2,7 +2,7 @@ MAINICON ICON DISCARDABLE "spcplay.ico" MAINBMP BITMAP DISCARDABLE "spcplay.bmp" 1 VERSIONINFO - FILEVERSION 2,18,3,7249 + FILEVERSION 2,18,3,7258 PRODUCTVERSION 2,18,3,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0x8L @@ -15,7 +15,7 @@ BEGIN BLOCK "041103A4" BEGIN VALUE "FileDescription", "SNES SPC700 Player\0" - VALUE "FileVersion", "2.18.3 (build 7249)\0" + VALUE "FileVersion", "2.18.3 (build 7258)\0" VALUE "LegalCopyright", "Copyright (C) 2003-2021 degrade-factory.\0" VALUE "LegalTrademarks", "SNES is a registered trademark of Nintendo.\0" VALUE "ProductName", "SPCPLAY\0"