diff --git a/autotest/autotest.bat b/autotest/autotest.bat index 6ab7192..0049e30 100644 --- a/autotest/autotest.bat +++ b/autotest/autotest.bat @@ -60,6 +60,9 @@ rem @echo off @call :test testint32cmp.c @if %errorlevel% neq 0 goto :error +@call :test mixsigncmptest.c +@if %errorlevel% neq 0 goto :error + @call :test testinterval.c @if %errorlevel% neq 0 goto :error diff --git a/autotest/mixsigncmptest.c b/autotest/mixsigncmptest.c new file mode 100644 index 0000000..30466db --- /dev/null +++ b/autotest/mixsigncmptest.c @@ -0,0 +1,64 @@ +#include + +int main(void) +{ + unsigned n1, n0; + + n1 = 0; n0 = 0; + for(int i=-1000; i<2000; i+=37) + { + for(char j=0; j<255; j++) + { + if (i < j) + n1++; + else + n0++; + } + } + + assert(n1 == 7893 && n0 == 13017); + + n1 = 0; n0 = 0; + for(int i=-1000; i<2000; i+=37) + { + for(char j=0; j<255; j++) + { + if (i <= j) + n1++; + else + n0++; + } + } + + assert(n1 == 7899 && n0 == 13011); + + n1 = 0; n0 = 0; + for(int i=-1000; i<2000; i+=37) + { + for(char j=0; j<255; j++) + { + if (i >= j) + n1++; + else + n0++; + } + } + + assert(n0 == 7893 && n1 == 13017); + + n1 = 0; n0 = 0; + for(int i=-1000; i<2000; i+=37) + { + for(char j=0; j<255; j++) + { + if (i > j) + n1++; + else + n0++; + } + } + + assert(n0 == 7899 && n1 == 13011); + + return 0; +} \ No newline at end of file diff --git a/oscar64/NativeCodeGenerator.cpp b/oscar64/NativeCodeGenerator.cpp index 4e1aa32..a212242 100644 --- a/oscar64/NativeCodeGenerator.cpp +++ b/oscar64/NativeCodeGenerator.cpp @@ -9694,6 +9694,8 @@ bool NativeCodeBasicBlock::RemoveUnusedResultInstructions(void) { mVisited = true; + assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size()); + NumberSet requiredRegs(mExitRequiredRegs); int i; @@ -9726,6 +9728,8 @@ bool NativeCodeBasicBlock::RemoveUnusedResultInstructions(void) } } + assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size()); + if (mTrueJump) { if (mTrueJump->RemoveUnusedResultInstructions()) @@ -13421,7 +13425,7 @@ bool NativeCodeBasicBlock::JoinTAXARange(int from, int to) { for (int i = from + 1; i < to; i++) { - if (mIns[i].mMode == ASMIM_ZERO_PAGE && mIns[i].mAddress == mIns[start].mAddress && mIns[i].ChangesAddress()) + if (mIns[i].mMode == ASMIM_ZERO_PAGE && mIns[i].mAddress == mIns[start - 1].mAddress && mIns[i].ChangesAddress()) return false; } @@ -13453,7 +13457,7 @@ bool NativeCodeBasicBlock::JoinTAXARange(int from, int to) } } } - + if (to + 1 < mIns.Size() && mIns[to + 1].mType == ASMIT_STA && !(mIns[to + 1].mLive & LIVE_CPU_REG_A)) { NativeCodeInstruction ins(mIns[to + 1]); @@ -15035,6 +15039,8 @@ bool NativeCodeBasicBlock::BitFieldForwarding(const NativeRegisterDataSet& data) { mNDataSet = data; + assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size()); + if (mLoopHead) { mNDataSet.ResetMask(); @@ -15072,6 +15078,8 @@ bool NativeCodeBasicBlock::BitFieldForwarding(const NativeRegisterDataSet& data) } + assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size()); + if (this->mTrueJump && this->mTrueJump->BitFieldForwarding(mNDataSet)) changed = true; if (this->mFalseJump && this->mFalseJump->BitFieldForwarding(mFDataSet)) @@ -15087,6 +15095,8 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo if (!mVisited) { + assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size()); + mNDataSet = data; if (mLoopHead) @@ -15197,13 +15207,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo { mBranch = ASMIT_JMP; mTrueJump->mNumEntries--; + mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this)); if (!mNDataSet.mRegs[CPU_REG_C].mValue) mTrueJump = fork->mFalseJump; else mTrueJump = fork->mTrueJump; mTrueJump->mNumEntries++; + mTrueJump->mEntryBlocks.Push(this); if (mFalseJump) + { mFalseJump->mNumEntries--; + mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this)); + } mFalseJump = nullptr; changed = true; } @@ -15213,13 +15228,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo { mBranch = ASMIT_JMP; mTrueJump->mNumEntries--; + mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this)); if (mNDataSet.mRegs[CPU_REG_C].mValue) mTrueJump = fork->mFalseJump; else mTrueJump = fork->mTrueJump; mTrueJump->mNumEntries++; + mTrueJump->mEntryBlocks.Push(this); if (mFalseJump) + { mFalseJump->mNumEntries--; + mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this)); + } mFalseJump = nullptr; changed = true; } @@ -15229,13 +15249,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo { mBranch = ASMIT_JMP; mTrueJump->mNumEntries--; + mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this)); if (!mNDataSet.mRegs[CPU_REG_Z].mValue) mTrueJump = fork->mFalseJump; else mTrueJump = fork->mTrueJump; mTrueJump->mNumEntries++; + mTrueJump->mEntryBlocks.Push(this); if (mFalseJump) + { mFalseJump->mNumEntries--; + mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this)); + } mFalseJump = nullptr; changed = true; } @@ -15262,13 +15287,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo { mBranch = ASMIT_JMP; mTrueJump->mNumEntries--; + mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this)); if (mNDataSet.mRegs[CPU_REG_Z].mValue) mTrueJump = fork->mFalseJump; else mTrueJump = fork->mTrueJump; mTrueJump->mNumEntries++; + mTrueJump->mEntryBlocks.Push(this); if (mFalseJump) + { mFalseJump->mNumEntries--; + mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this)); + } mFalseJump = nullptr; changed = true; } @@ -15278,13 +15308,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo { mBranch = ASMIT_JMP; mTrueJump->mNumEntries--; + mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this)); if ((mNDataSet.mRegs[CPU_REG_Z].mValue & 0x80)) mTrueJump = fork->mFalseJump; else mTrueJump = fork->mTrueJump; mTrueJump->mNumEntries++; + mTrueJump->mEntryBlocks.Push(this); if (mFalseJump) + { mFalseJump->mNumEntries--; + mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this)); + } mFalseJump = nullptr; changed = true; } @@ -15293,14 +15328,19 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo if (mNDataSet.mRegs[CPU_REG_Z].mMode == NRDM_IMMEDIATE) { mBranch = ASMIT_JMP; + mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this)); mTrueJump->mNumEntries--; if (!(mNDataSet.mRegs[CPU_REG_Z].mValue & 0x80)) mTrueJump = fork->mFalseJump; else mTrueJump = fork->mTrueJump; mTrueJump->mNumEntries++; + mTrueJump->mEntryBlocks.Push(this); if (mFalseJump) + { mFalseJump->mNumEntries--; + mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this)); + } mFalseJump = nullptr; changed = true; } @@ -15331,6 +15371,8 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo } } + assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size()); + if (this->mTrueJump && this->mTrueJump->ValueForwarding(mNDataSet, global, final)) changed = true; if (this->mFalseJump && this->mFalseJump->ValueForwarding(mFDataSet, global, final)) @@ -18101,6 +18143,8 @@ bool NativeCodeBasicBlock::PeepHoleOptimizer(NativeCodeProcedure* proc, int pass assert(mBranch != ASMIT_JMP || mFalseJump == nullptr); assert(mIns.Size() == 0 || mIns[0].mType != ASMIT_INV); + assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size()); + bool changed = RemoveNops(); mVisited = true; @@ -21982,6 +22026,64 @@ bool NativeCodeBasicBlock::PeepHoleOptimizer(NativeCodeProcedure* proc, int pass } } + else if (sz >= 2 && + mIns[sz - 2].mType == ASMIT_EOR && mIns[sz - 2].mMode == ASMIM_IMMEDIATE && mIns[sz - 2].mAddress == 0x80 && + mIns[sz - 1].mType == ASMIT_CMP && mIns[sz - 1].mMode == ASMIM_IMMEDIATE && mIns[sz - 1].mAddress == 0x80 && !(mIns[sz - 1].mLive & LIVE_CPU_REG_A)) + { + if (mBranch == ASMIT_BNE && mTrueJump->mIns.Size() == 0 && mTrueJump->mBranch == ASMIT_BCC) + { + NativeCodeBasicBlock* tblock = proc->AllocateBlock(); + + tblock->mTrueJump = mTrueJump->mTrueJump; + tblock->mFalseJump = mTrueJump->mFalseJump; + tblock->mBranch = ASMIT_BMI; + tblock->mTrueJump->mNumEntries++; + tblock->mTrueJump->mEntryBlocks.Push(tblock); + tblock->mFalseJump->mNumEntries++; + tblock->mFalseJump->mEntryBlocks.Push(tblock); + + mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this)); + mTrueJump->mNumEntries--; + mTrueJump = tblock; + tblock->mNumEntries++; + tblock->mEntryBlocks.Push(this); + + mIns[sz - 2].mType = ASMIT_NOP; mIns[sz - 2].mMode = ASMIM_IMPLIED; + mIns[sz - 1].mType = ASMIT_ORA; mIns[sz - 1].mAddress = 0; + } + } + + else if (sz >= 4 && + mIns[sz - 4].mType == ASMIT_EOR && mIns[sz - 4].mMode == ASMIM_IMMEDIATE && mIns[sz - 4].mAddress == 0x80 && + mIns[sz - 3].mType == ASMIT_STA && mIns[sz - 3].mMode == ASMIM_ZERO_PAGE && + mIns[sz - 2].mType == ASMIT_LDA && mIns[sz - 2].mMode == ASMIM_IMMEDIATE && mIns[sz - 2].mAddress == 0x80 && + mIns[sz - 1].mType == ASMIT_CMP && mIns[sz - 1].mMode == ASMIM_ZERO_PAGE && mIns[sz - 1].mAddress == mIns[sz - 3].mAddress && !(mIns[sz - 1].mLive & (LIVE_CPU_REG_A | LIVE_MEM))) + { + if (mBranch == ASMIT_BNE && mTrueJump->mIns.Size() == 0 && mTrueJump->mBranch == ASMIT_BCC) + { + NativeCodeBasicBlock* tblock = proc->AllocateBlock(); + + tblock->mTrueJump = mTrueJump->mFalseJump; + tblock->mFalseJump = mTrueJump->mTrueJump; + tblock->mBranch = ASMIT_BMI; + tblock->mTrueJump->mNumEntries++; + tblock->mTrueJump->mEntryBlocks.Push(tblock); + tblock->mFalseJump->mNumEntries++; + tblock->mFalseJump->mEntryBlocks.Push(tblock); + + mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this)); + mTrueJump->mNumEntries--; + mTrueJump = tblock; + tblock->mNumEntries++; + tblock->mEntryBlocks.Push(this); + + mIns[sz - 4].mType = ASMIT_NOP; mIns[sz - 4].mMode = ASMIM_IMPLIED; + mIns[sz - 3].mType = ASMIT_NOP; mIns[sz - 3].mMode = ASMIM_IMPLIED; + mIns[sz - 2].mType = ASMIT_NOP; mIns[sz - 2].mMode = ASMIM_IMPLIED; + mIns[sz - 1].mType = ASMIT_ORA; mIns[sz - 1].mMode = ASMIM_IMMEDIATE; mIns[sz - 1].mAddress = 0; + } + } + else if (sz >= 2 && mIns[sz - 2].mType == ASMIT_LDA && mIns[sz - 2].mMode == ASMIM_IMMEDIATE && mIns[sz - 2].mAddress == 0 && mIns[sz - 1].mType == ASMIT_SBC && mIns[sz - 1].mMode == ASMIM_IMMEDIATE && mIns[sz - 1].mAddress == 0 && !(mIns[sz - 1].mLive & (LIVE_CPU_REG_A | LIVE_CPU_REG_C))) @@ -22098,6 +22200,7 @@ bool NativeCodeBasicBlock::PeepHoleOptimizer(NativeCodeProcedure* proc, int pass #endif #endif + assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size()); if (this->mTrueJump && this->mTrueJump->PeepHoleOptimizer(proc, pass)) changed = true; @@ -22256,6 +22359,22 @@ void NativeCodeBasicBlock::BuildPlacement(GrowingArray& p mFalseJump->BuildPlacement(placement); mTrueJump->BuildPlacement(placement); } + else if (mTrueJump->mIns.Size() == 0 && mTrueJump->mFalseJump == mFalseJump->mFalseJump && mTrueJump->mTrueJump == mFalseJump->mTrueJump) + { + mTrueJump->mPlaced = true; + mTrueJump->mPlace = placement.Size(); + placement.Push(mTrueJump); + + mFalseJump->BuildPlacement(placement); + } + else if (mTrueJump->mIns.Size() == 0 && mTrueJump->mFalseJump == mFalseJump->mTrueJump && mTrueJump->mTrueJump == mFalseJump->mFalseJump) + { + mTrueJump->mPlaced = true; + mTrueJump->mPlace = placement.Size(); + placement.Push(mTrueJump); + + mFalseJump->BuildPlacement(placement); + } else if ( !mTrueJump->mFalseJump && mTrueJump->mTrueJump && mTrueJump->mTrueJump->mPlaced && mTrueJump->mCode.Size() < 120 || mTrueJump->mFalseJump && mTrueJump->mTrueJump && mTrueJump->mFalseJump->mPlaced && mTrueJump->mTrueJump->mPlaced && mTrueJump->mCode.Size() < 120) diff --git a/oscar64/oscar64.cpp b/oscar64/oscar64.cpp index e703179..b0c8254 100644 --- a/oscar64/oscar64.cpp +++ b/oscar64/oscar64.cpp @@ -73,7 +73,7 @@ int main2(int argc, const char** argv) #else strcpy(strProductName, "oscar64"); - strcpy(strProductVersion, "1.6.124"); + strcpy(strProductVersion, "1.6.125"); #ifdef __APPLE__ uint32_t length = sizeof(basePath); diff --git a/oscar64/oscar64.rc b/oscar64/oscar64.rc index d782172..58af906 100644 --- a/oscar64/oscar64.rc +++ b/oscar64/oscar64.rc @@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,6,124,0 - PRODUCTVERSION 1,6,124,0 + FILEVERSION 1,6,125,0 + PRODUCTVERSION 1,6,125,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -43,12 +43,12 @@ BEGIN BEGIN VALUE "CompanyName", "oscar64" VALUE "FileDescription", "oscar64 compiler" - VALUE "FileVersion", "1.6.124.0" + VALUE "FileVersion", "1.6.125.0" VALUE "InternalName", "oscar64.exe" VALUE "LegalCopyright", "Copyright (C) 2021" VALUE "OriginalFilename", "oscar64.exe" VALUE "ProductName", "oscar64" - VALUE "ProductVersion", "1.6.124.0" + VALUE "ProductVersion", "1.6.125.0" END END BLOCK "VarFileInfo" diff --git a/oscar64setup/oscar64setup.vdproj b/oscar64setup/oscar64setup.vdproj index 6928595..d158536 100644 --- a/oscar64setup/oscar64setup.vdproj +++ b/oscar64setup/oscar64setup.vdproj @@ -34,12 +34,6 @@ } "Entry" { - "MsmKey" = "8:_03D7013B0D39A89CEA9D267005ADCE39" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_04ABABC55200450383686DD782DD1548" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -166,12 +160,6 @@ } "Entry" { - "MsmKey" = "8:_326B44043E3720E0A341FB5627DA8873" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_3277DE1463544F67B7E7390175F8A9CF" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -184,12 +172,6 @@ } "Entry" { - "MsmKey" = "8:_36B4A1247BFCE001E1BAE7560E9CFEEA" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_379EE3C17FEC4C5EA79D07668CD05FC4" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -262,12 +244,6 @@ } "Entry" { - "MsmKey" = "8:_458189403F0009BC49371204B74F3BD3" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_47A877D439EE429BAB64C52FEF69EDA4" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -394,12 +370,6 @@ } "Entry" { - "MsmKey" = "8:_749A2BA18335F50EB53CCE7029861FBC" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_749F54DFBD4D404DA9C2E2D5BA7CDDBF" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -460,12 +430,6 @@ } "Entry" { - "MsmKey" = "8:_8667075410229C38BF63AC1CC776055E" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_8827B6B07A1C4B32B08DF784E090381D" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -790,12 +754,6 @@ } "Entry" { - "MsmKey" = "8:_DD5A4DD822437085CD584319732F2D4D" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_DEADBEA270134B77800770802B21859C" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -856,12 +814,6 @@ } "Entry" { - "MsmKey" = "8:_EA3C0BCB01F2639DFA2E37EC8436E5F6" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_ED872D39D58443D590B7C80604BC0FF4" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -892,12 +844,6 @@ } "Entry" { - "MsmKey" = "8:_F20F5618C7576D758C01D89C87469AF8" - "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_F35970F9D8FA46B09F36D7E9DE5532CA" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -1079,26 +1025,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_03D7013B0D39A89CEA9D267005ADCE39" - { - "SourcePath" = "8:VCRUNTIME140.dll" - "TargetName" = "8:VCRUNTIME140.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_04ABABC55200450383686DD782DD1548" { "SourcePath" = "8:..\\samples\\games\\lander.c" @@ -1519,26 +1445,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_326B44043E3720E0A341FB5627DA8873" - { - "SourcePath" = "8:api-ms-win-crt-stdio-l1-1-0.dll" - "TargetName" = "8:api-ms-win-crt-stdio-l1-1-0.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3277DE1463544F67B7E7390175F8A9CF" { "SourcePath" = "8:..\\samples\\rasterirq\\autocrawler.c" @@ -1579,26 +1485,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_36B4A1247BFCE001E1BAE7560E9CFEEA" - { - "SourcePath" = "8:api-ms-win-crt-math-l1-1-0.dll" - "TargetName" = "8:api-ms-win-crt-math-l1-1-0.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_379EE3C17FEC4C5EA79D07668CD05FC4" { "SourcePath" = "8:..\\samples\\memmap\\easyflash.c" @@ -1839,26 +1725,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_458189403F0009BC49371204B74F3BD3" - { - "SourcePath" = "8:api-ms-win-crt-string-l1-1-0.dll" - "TargetName" = "8:api-ms-win-crt-string-l1-1-0.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_47A877D439EE429BAB64C52FEF69EDA4" { "SourcePath" = "8:..\\samples\\memmap\\largemem.c" @@ -2279,26 +2145,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_749A2BA18335F50EB53CCE7029861FBC" - { - "SourcePath" = "8:api-ms-win-crt-runtime-l1-1-0.dll" - "TargetName" = "8:api-ms-win-crt-runtime-l1-1-0.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_749F54DFBD4D404DA9C2E2D5BA7CDDBF" { "SourcePath" = "8:..\\samples\\resources\\breakoutchars.bin" @@ -2499,26 +2345,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8667075410229C38BF63AC1CC776055E" - { - "SourcePath" = "8:api-ms-win-crt-filesystem-l1-1-0.dll" - "TargetName" = "8:api-ms-win-crt-filesystem-l1-1-0.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8827B6B07A1C4B32B08DF784E090381D" { "SourcePath" = "8:..\\samples\\memmap\\tsr.c" @@ -3599,26 +3425,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DD5A4DD822437085CD584319732F2D4D" - { - "SourcePath" = "8:api-ms-win-crt-heap-l1-1-0.dll" - "TargetName" = "8:api-ms-win-crt-heap-l1-1-0.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DEADBEA270134B77800770802B21859C" { "SourcePath" = "8:..\\samples\\games\\connectfour.c" @@ -3819,26 +3625,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EA3C0BCB01F2639DFA2E37EC8436E5F6" - { - "SourcePath" = "8:VERSION.dll" - "TargetName" = "8:VERSION.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_ED872D39D58443D590B7C80604BC0FF4" { "SourcePath" = "8:..\\samples\\kernalio\\fileread.c" @@ -3939,26 +3725,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F20F5618C7576D758C01D89C87469AF8" - { - "SourcePath" = "8:api-ms-win-crt-locale-l1-1-0.dll" - "TargetName" = "8:api-ms-win-crt-locale-l1-1-0.dll" - "Tag" = "8:" - "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F35970F9D8FA46B09F36D7E9DE5532CA" { "SourcePath" = "8:..\\include\\c64\\charwin.h" @@ -4335,15 +4101,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:oscar64" - "ProductCode" = "8:{F5C14785-E716-4D8A-8390-DBB8B4DEEA8D}" - "PackageCode" = "8:{86E78AF0-FBD2-4C41-8643-0068DA813076}" + "ProductCode" = "8:{012BAFFC-85BE-4D95-A9FB-7203B5435FF1}" + "PackageCode" = "8:{ABEDA3FF-5D70-41AE-9FBC-FA8BCE3C85E7}" "UpgradeCode" = "8:{9AB61EFF-ACAC-4079-9950-8D96615CD4EF}" "AspNetVersion" = "8:2.0.50727.0" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.6.124" + "ProductVersion" = "8:1.6.125" "Manufacturer" = "8:oscar64" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:"