diff --git a/include/stdbool.h b/include/stdbool.h new file mode 100644 index 0000000..7e9bd37 --- /dev/null +++ b/include/stdbool.h @@ -0,0 +1,9 @@ +#ifndef STDBOOL_H +#define STDBOOL_H + +#define bool bool +#define true true +#define false false + +#endif + diff --git a/include/stdint.h b/include/stdint.h new file mode 100644 index 0000000..fcba492 --- /dev/null +++ b/include/stdint.h @@ -0,0 +1,96 @@ +#ifndef STDINT_H +#define STDINT_H + +typedef signed char int8_t; +typedef short int16_t; +typedef long int32_t; + +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; + +typedef signed char int_least8_t; +typedef short int_least16_t; +typedef long int_least32_t; + +typedef unsigned char uint_least8_t; +typedef unsigned short uint_least16_t; +typedef unsigned long uint_least32_t; + +typedef signed char int_fast8_t; +typedef short int_fast16_t; +typedef long int_fast32_t; + +typedef unsigned char uint_fast8_t; +typedef unsigned short uint_fast16_t; +typedef unsigned long uint_fast32_t; + +typedef int intptr_t; +typedef unsigned int uintptr_t; + +typedef long intmax_t; +typedef unsigned long uintmax_t; + + /* LIMIT MACROS */ +#define INT8_MIN (-0x7f - 1) +#define INT16_MIN (-0x7fff - 1) +#define INT32_MIN (-0x7fffffffL - 1) + +#define INT8_MAX 0x7f +#define INT16_MAX 0x7fff +#define INT32_MAX 0x7fffffffL + +#define UINT8_MAX 0xff +#define UINT16_MAX 0xffff +#define UINT32_MAX 0xffffffffUL + +#define INT_LEAST8_MIN (-0x7f - 1) +#define INT_LEAST16_MIN (-0x7fff - 1) +#define INT_LEAST32_MIN (-0x7fffffffL - 1) + +#define INT_LEAST8_MAX 0x7f +#define INT_LEAST16_MAX 0x7fff +#define INT_LEAST32_MAX 0x7fffffffL + +#define UINT_LEAST8_MAX 0xff +#define UINT_LEAST16_MAX 0xffff +#define UINT_LEAST32_MAX 0xffffffffUL + +#define INT_FAST8_MIN (-0x7f - 1) +#define INT_FAST16_MIN (-0x7fff - 1) +#define INT_FAST32_MIN (-0x7fffffffL - 1) + +#define INT_FAST8_MAX 0x7f +#define INT_FAST16_MAX 0x7fff +#define INT_FAST32_MAX 0x7fffffffL + +#define UINT_FAST8_MAX 0xff +#define UINT_FAST16_MAX 0xffff +#define UINT_FAST32_MAX 0xffffffffUL + +#define INTPTR_MIN (-0x7fff - 1) +#define INTPTR_MAX 0x7fff +#define UINTPTR_MAX 0xffff + +#define INT8_C(x) (x) +#define INT16_C(x) (x) +#define INT32_C(x) ((x) + (INT32_MAX - INT32_MAX)) + +#define UINT8_C(x) (x) +#define UINT16_C(x) (x) +#define UINT32_C(x) ((x) + (UINT32_MAX - UINT32_MAX)) + +#define INTMAX_C(x) ((x) + (INT32_MAX - INT32_MAX)) +#define UINTMAX_C(x) ((x) + (UINT32_MAX - UINT32_MAX)) + +#define PTRDIFF_MIN INT16_MIN +#define PTRDIFF_MAX INT16_MAX + +#define SIZE_MAX UINT16_MAX + +#define INTMAX_MIN (-0x7fffffffL - 1) +#define INTMAX_MAX 0x7fffffffL +#define UINTMAX_MAX 0xffffffffUL + + +#endif diff --git a/include/time.c b/include/time.c new file mode 100644 index 0000000..2a1a01a --- /dev/null +++ b/include/time.c @@ -0,0 +1,16 @@ +#include "time.h" + +clock_t clock(void) +{ + __asm + { + lda $a2 + sta accu + 0 + lda $a1 + sta accu + 1 + lda $a0 + sta accu + 2 + lda #0 + sta accu + 3 + } +} diff --git a/include/time.h b/include/time.h new file mode 100644 index 0000000..4f885ab --- /dev/null +++ b/include/time.h @@ -0,0 +1,12 @@ +#ifndef TIME_H +#define TIME_H + +typedef long clock_t; + +#define CLOCKS_PER_SEC 60L + +clock_t clock(void); + +#pragma compile("time.c") + +#endif diff --git a/oscar64/Disassembler.cpp b/oscar64/Disassembler.cpp index e2e4841..e2a0691 100644 --- a/oscar64/Disassembler.cpp +++ b/oscar64/Disassembler.cpp @@ -581,7 +581,7 @@ void NativeCodeDisassembler::Disassemble(FILE* file, const uint8* memory, int st else if (ident) fprintf(file, "%s:\n", ident->mString); - char tbuffer[10]; + char tbuffer[10], abuffer[10]; int ip = start; while (ip < start + size) @@ -614,17 +614,17 @@ void NativeCodeDisassembler::Disassemble(FILE* file, const uint8* memory, int st break; case ASMIM_ABSOLUTE: addr = memory[ip] + 256 * memory[ip + 1]; - fprintf(file, "%04x : %02x %02x %02x %s $%04x\n", iip, memory[iip], memory[iip + 1], memory[iip + 2], AsmInstructionNames[d.mType], addr); + fprintf(file, "%04x : %02x %02x %02x %s %s\n", iip, memory[iip], memory[iip + 1], memory[iip + 2], AsmInstructionNames[d.mType], AddrName(addr, abuffer, linker)); ip += 2; break; case ASMIM_ABSOLUTE_X: addr = memory[ip] + 256 * memory[ip + 1]; - fprintf(file, "%04x : %02x %02x %02x %s $%04x,x\n", iip, memory[iip], memory[iip + 1], memory[iip + 2], AsmInstructionNames[d.mType], addr); + fprintf(file, "%04x : %02x %02x %02x %s %s,x\n", iip, memory[iip], memory[iip + 1], memory[iip + 2], AsmInstructionNames[d.mType], AddrName(addr, abuffer, linker)); ip += 2; break; case ASMIM_ABSOLUTE_Y: addr = memory[ip] + 256 * memory[ip + 1]; - fprintf(file, "%04x : %02x %02x %02x %s $%04x,y\n", iip, memory[iip], memory[iip + 1], memory[iip + 2], AsmInstructionNames[d.mType], addr); + fprintf(file, "%04x : %02x %02x %02x %s %s,y\n", iip, memory[iip], memory[iip + 1], memory[iip + 2], AsmInstructionNames[d.mType], AddrName(addr, abuffer, linker)); ip += 2; break; case ASMIM_INDIRECT: @@ -653,6 +653,20 @@ void NativeCodeDisassembler::Disassemble(FILE* file, const uint8* memory, int st } +const char* NativeCodeDisassembler::AddrName(int addr, char* buffer, Linker* linker) +{ + if (linker) + { + LinkerObject* obj = linker->FindObjectByAddr(addr); + if (obj && obj->mIdent) + return obj->mIdent->mString; + } + + sprintf_s(buffer, 10, "$%04x", addr); + return buffer; +} + + const char* NativeCodeDisassembler::TempName(uint8 tmp, char* buffer, InterCodeProcedure* proc) { if (tmp >= BC_REG_ADDR && tmp <= BC_REG_ADDR + 3) diff --git a/oscar64/Disassembler.h b/oscar64/Disassembler.h index 533cd06..e730b0b 100644 --- a/oscar64/Disassembler.h +++ b/oscar64/Disassembler.h @@ -29,6 +29,7 @@ public: void Disassemble(FILE* file, const uint8* memory, int start, int size, InterCodeProcedure* proc, const Ident* ident, Linker* linker); protected: const char* TempName(uint8 tmp, char* buffer, InterCodeProcedure* proc); + const char* AddrName(int addr, char* buffer, Linker* linker); }; diff --git a/oscar64/Emulator.cpp b/oscar64/Emulator.cpp index 8865258..2fba59c 100644 --- a/oscar64/Emulator.cpp +++ b/oscar64/Emulator.cpp @@ -65,7 +65,7 @@ void Emulator::DumpCycles(void) } printf("Total Cycles %d\n", totalCycles); - return; +// return; for (int i = 0; i < numTops; i++) { @@ -468,8 +468,24 @@ int Emulator::Emulate(int startIP) mMemory[0x1fe] = 0xff; mMemory[0x1ff] = 0xff; + int ticks = 0; while (mIP != 0) { + ticks++; + if (ticks > 4500) + { + mMemory[0xa2]++; + if (!mMemory[0xa2]) + { + mMemory[0xa1]++; + if (!mMemory[0xa1]) + { + mMemory[0xa0]++; + } + } + ticks = 0; + } + if (mIP == 0xffd2) { if (mRegA == 13) @@ -577,7 +593,7 @@ int Emulator::Emulate(int startIP) break; } - if ((trace & 1) && ip == 0x0821) + if ((trace & 1) && ip == 0x081f) { int accu = mMemory[BC_REG_ACCU] + 256 * mMemory[BC_REG_ACCU + 1]; int ptr = mMemory[BC_REG_ADDR] + 256 * mMemory[BC_REG_ADDR + 1]; diff --git a/oscar64/InterCode.cpp b/oscar64/InterCode.cpp index 4238b5c..8a7d528 100644 --- a/oscar64/InterCode.cpp +++ b/oscar64/InterCode.cpp @@ -1396,6 +1396,10 @@ void InterInstruction::LocalRenameRegister(GrowingIntArray& renameTable, int& nu renameTable[mTTemp] = num; mTTemp = num++; } +#if 0 + if (mCode == IC_LOAD_TEMPORARY && mSTemp[0] < 0) + mCode = IC_CONSTANT; +#endif } void InterInstruction::GlobalRenameRegister(const GrowingIntArray& renameTable, GrowingTypeArray& temporaries) @@ -1410,6 +1414,10 @@ void InterInstruction::GlobalRenameRegister(const GrowingIntArray& renameTable, if (InterTypeSize[mTType] > InterTypeSize[temporaries[mTTemp]]) temporaries[mTTemp] = mTType; } +#if 0 + if (mCode == IC_LOAD_TEMPORARY && mSTemp[0] < 0) + mCode = IC_CONSTANT; +#endif } static void UpdateCollisionSet(NumberSet& liveTemps, NumberSet* collisionSets, int temp) @@ -2888,8 +2896,15 @@ void InterCodeBasicBlock::LocalRenameRegister(const GrowingIntArray& renameTable } else if (mEntryRequiredTemps[i]) { - mEntryRenameTable[i] = renameTable[i]; - mExitRenameTable[i] = renameTable[i]; + if (renameTable[i] < 0) + { + mExitRenameTable[i] = mEntryRenameTable[i] = num++; + } + else + { + mEntryRenameTable[i] = renameTable[i]; + mExitRenameTable[i] = renameTable[i]; + } } else { diff --git a/oscar64/InterCodeGenerator.cpp b/oscar64/InterCodeGenerator.cpp index bf4261e..cb24125 100644 --- a/oscar64/InterCodeGenerator.cpp +++ b/oscar64/InterCodeGenerator.cpp @@ -19,14 +19,13 @@ static inline InterType InterTypeOf(const Declaration* dec) case DT_TYPE_VOID: return IT_NONE; case DT_TYPE_INTEGER: + case DT_TYPE_ENUM: if (dec->mSize == 1) return IT_INT8; else if (dec->mSize == 2) return IT_INT16; else return IT_INT32; - case DT_TYPE_ENUM: - return IT_INT8; case DT_TYPE_BOOL: return IT_BOOL; case DT_TYPE_FLOAT: @@ -709,6 +708,7 @@ InterCodeGenerator::ExValue InterCodeGenerator::TranslateExpression(Declaration* ins->mIntValue = dec->mOffset; ins->mVarIndex = dec->mVarIndex; + int ref = 1; if (dec->mType == DT_ARGUMENT) { if (inlineMapper) @@ -718,12 +718,18 @@ InterCodeGenerator::ExValue InterCodeGenerator::TranslateExpression(Declaration* } else ins->mMemory = IM_PARAM; + if (dec->mBase->mType == DT_TYPE_ARRAY) + { + ref = 2; + ins->mOperandSize = 2; + } } else if (dec->mFlags & DTF_GLOBAL) { InitGlobalVariable(proc->mModule, dec); ins->mMemory = IM_GLOBAL; ins->mLinkerObject = dec->mLinkerObject; + ins->mVarIndex = dec->mVarIndex; } else ins->mMemory = IM_LOCAL; @@ -733,7 +739,7 @@ InterCodeGenerator::ExValue InterCodeGenerator::TranslateExpression(Declaration* if (!(dec->mBase->mFlags & DTF_DEFINED)) mErrors->Error(dec->mLocation, EERR_VARIABLE_TYPE, "Undefined variable type"); - return ExValue(dec->mBase, ins->mTTemp, 1); + return ExValue(dec->mBase, ins->mTTemp, ref); } @@ -1384,7 +1390,9 @@ InterCodeGenerator::ExValue InterCodeGenerator::TranslateExpression(Declaration* if (vl.mType->mType == DT_TYPE_POINTER || vr.mType->mType == DT_TYPE_POINTER) { dtype = vl.mType; - if (!vl.mType->IsSame(vr.mType)) + if (vl.mType->IsIntegerType() || vr.mType->IsIntegerType()) + ; + else if (!vl.mType->IsSame(vr.mType)) mErrors->Error(exp->mLocation, EERR_INCOMPATIBLE_OPERATOR, "Incompatible pointer types"); } else if (!vl.mType->IsNumericType() || !vr.mType->IsNumericType()) @@ -1703,7 +1711,10 @@ InterCodeGenerator::ExValue InterCodeGenerator::TranslateExpression(Declaration* { ains->mVarIndex = pdec->mVarIndex; ains->mIntValue = pdec->mOffset; - ains->mOperandSize = pdec->mSize; + if (pdec->mBase->mType == DT_TYPE_ARRAY) + ains->mOperandSize = 2; + else + ains->mOperandSize = pdec->mSize; } else if (ftype->mFlags & DTF_VARIADIC) { @@ -1781,7 +1792,12 @@ InterCodeGenerator::ExValue InterCodeGenerator::TranslateExpression(Declaration* wins->mSType[1] = IT_POINTER; wins->mSTemp[1] = ains->mTTemp; if (pdec) - wins->mOperandSize = pdec->mSize; + { + if (pdec->mBase->mType == DT_TYPE_ARRAY) + wins->mOperandSize = 2; + else + wins->mOperandSize = pdec->mSize; + } else if (vr.mType->mSize > 2 && vr.mType->mType != DT_TYPE_ARRAY) wins->mOperandSize = vr.mType->mSize; else @@ -1967,17 +1983,17 @@ InterCodeGenerator::ExValue InterCodeGenerator::TranslateExpression(Declaration* InterInstruction * zins = new InterInstruction(); zins->mCode = IC_CONSTANT; - zins->mTType = InterTypeOf(vr.mType); + zins->mTType = InterTypeOf(vl.mType); zins->mTTemp = proc->AddTemporary(zins->mTType); zins->mIntValue = 0; block->Append(zins); InterInstruction * ins = new InterInstruction(); ins->mCode = IC_RELATIONAL_OPERATOR; - ins->mOperator = IA_CMPNE; - ins->mSType[0] = InterTypeOf(vr.mType); + ins->mOperator = IA_CMPEQ; + ins->mSType[0] = InterTypeOf(vl.mType); ins->mSTemp[0] = zins->mTTemp; - ins->mSType[1] = InterTypeOf(vr.mType); + ins->mSType[1] = InterTypeOf(vl.mType); ins->mSTemp[1] = vl.mTemp; ins->mTType = IT_BOOL; ins->mTTemp = proc->AddTemporary(ins->mTType); diff --git a/oscar64/NativeCodeGenerator.cpp b/oscar64/NativeCodeGenerator.cpp index 43f611f..817abc3 100644 --- a/oscar64/NativeCodeGenerator.cpp +++ b/oscar64/NativeCodeGenerator.cpp @@ -3730,8 +3730,8 @@ NativeCodeBasicBlock* NativeCodeBasicBlock::BinaryOperator(InterCodeProcedure* p case IA_AND: case IA_XOR: { - if (sins1) LoadValueToReg(proc, sins1, BC_REG_ACCU, nullptr, nullptr); - if (sins0) LoadValueToReg(proc, sins0, BC_REG_ACCU, nullptr, nullptr); + if (sins1) LoadValueToReg(proc, sins1, BC_REG_TMP + proc->mTempOffset[ins->mSTemp[1]], nullptr, nullptr); + if (sins0) LoadValueToReg(proc, sins0, BC_REG_TMP + proc->mTempOffset[ins->mSTemp[0]], nullptr, nullptr); AsmInsType atype; switch (ins->mOperator) @@ -5835,6 +5835,13 @@ void NativeCodeBasicBlock::CallFunction(InterCodeProcedure* proc, NativeCodeProc mIns.Push(NativeCodeInstruction(ASMIT_LDA, ASMIM_ZERO_PAGE, BC_REG_ACCU + 1)); mIns.Push(NativeCodeInstruction(ASMIT_STA, ASMIM_ZERO_PAGE, BC_REG_TMP + proc->mTempOffset[ins->mTTemp] + 1)); } + if (InterTypeSize[ins->mTType] > 2) + { + mIns.Push(NativeCodeInstruction(ASMIT_LDA, ASMIM_ZERO_PAGE, BC_REG_ACCU + 2)); + mIns.Push(NativeCodeInstruction(ASMIT_STA, ASMIM_ZERO_PAGE, BC_REG_TMP + proc->mTempOffset[ins->mTTemp] + 2)); + mIns.Push(NativeCodeInstruction(ASMIT_LDA, ASMIM_ZERO_PAGE, BC_REG_ACCU + 3)); + mIns.Push(NativeCodeInstruction(ASMIT_STA, ASMIM_ZERO_PAGE, BC_REG_TMP + proc->mTempOffset[ins->mTTemp] + 3)); + } } } } @@ -5869,6 +5876,13 @@ void NativeCodeBasicBlock::CallAssembler(InterCodeProcedure* proc, const InterIn mIns.Push(NativeCodeInstruction(ASMIT_LDA, ASMIM_ZERO_PAGE, BC_REG_ACCU + 1)); mIns.Push(NativeCodeInstruction(ASMIT_STA, ASMIM_ZERO_PAGE, BC_REG_TMP + proc->mTempOffset[ins->mTTemp] + 1)); } + if (InterTypeSize[ins->mTType] > 2) + { + mIns.Push(NativeCodeInstruction(ASMIT_LDA, ASMIM_ZERO_PAGE, BC_REG_ACCU + 2)); + mIns.Push(NativeCodeInstruction(ASMIT_STA, ASMIM_ZERO_PAGE, BC_REG_TMP + proc->mTempOffset[ins->mTTemp] + 2)); + mIns.Push(NativeCodeInstruction(ASMIT_LDA, ASMIM_ZERO_PAGE, BC_REG_ACCU + 3)); + mIns.Push(NativeCodeInstruction(ASMIT_STA, ASMIM_ZERO_PAGE, BC_REG_TMP + proc->mTempOffset[ins->mTTemp] + 3)); + } } } } diff --git a/oscar64/Parser.cpp b/oscar64/Parser.cpp index a5251fd..5940266 100644 --- a/oscar64/Parser.cpp +++ b/oscar64/Parser.cpp @@ -411,8 +411,11 @@ Declaration* Parser::ParsePostfixDeclaration(void) adec->mType = DT_ARGUMENT; adec->mVarIndex = vi; adec->mOffset = 0; - adec->mSize = adec->mBase->mSize; - vi += adec->mBase->mSize; + if (adec->mBase->mType == DT_TYPE_ARRAY) + adec->mSize = 2; + else + adec->mSize = adec->mBase->mSize; + vi += adec->mSize; if (pdec) pdec->mNext = adec; else diff --git a/oscar64/Scanner.cpp b/oscar64/Scanner.cpp index b87462c..718bc1c 100644 --- a/oscar64/Scanner.cpp +++ b/oscar64/Scanner.cpp @@ -464,7 +464,7 @@ void Scanner::NextToken(void) else if (mToken == TK_PREP_DEFINE) { NextRawToken(); - if (mToken == TK_IDENT) + if (mToken == TK_IDENT || mToken >= TK_IF && mToken <= TK_ASM || mToken == TK_TRUE || mToken == TK_FALSE) { Macro* macro = new Macro(mTokenIdent); @@ -472,19 +472,26 @@ void Scanner::NextToken(void) { NextRawToken(); - // Macro with argument - do + if (mTokenChar == ')') { NextRawToken(); - if (mToken == TK_IDENT) + } + else + { + // Macro with argument + do { - macro->AddArgument(mTokenIdent); NextRawToken(); - } - else - mErrors->Error(mLocation, EERR_INVALID_PREPROCESSOR, "Invalid define argument"); + if (mToken == TK_IDENT) + { + macro->AddArgument(mTokenIdent); + NextRawToken(); + } + else + mErrors->Error(mLocation, EERR_INVALID_PREPROCESSOR, "Invalid define argument"); - } while (mToken == TK_COMMA); + } while (mToken == TK_COMMA); + } if (mToken == TK_CLOSE_PARENTHESIS) { diff --git a/oscar64setup/oscar64setup.vdproj b/oscar64setup/oscar64setup.vdproj index 5f215b8..1492fc5 100644 --- a/oscar64setup/oscar64setup.vdproj +++ b/oscar64setup/oscar64setup.vdproj @@ -28,6 +28,12 @@ } "Entry" { + "MsmKey" = "8:_216D2A5FECF74C96A4964A74DFEB8552" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_317711E6E48744A18655469B4C53767E" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -52,6 +58,12 @@ } "Entry" { + "MsmKey" = "8:_8B258D238AC44D43A7DC654AFE0B9D8B" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_9D0D7A63D6C848CD85489D6E7C43AFAD" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -88,6 +100,12 @@ } "Entry" { + "MsmKey" = "8:_E5405BA024FB44FB8A71DC51B3B35428" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_E54AFD61BAD0414C9C5B2EFF31DA01FA" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -112,6 +130,12 @@ } "Entry" { + "MsmKey" = "8:_F8F279E2317342BB8F6FD09FE8FE4EF5" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -243,6 +267,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_216D2A5FECF74C96A4964A74DFEB8552" + { + "SourcePath" = "8:..\\include\\stdbool.h" + "TargetName" = "8:stdbool.h" + "Tag" = "8:" + "Folder" = "8:_7C0D28C244F14A21B5F72213BBE59B6F" + "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:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_317711E6E48744A18655469B4C53767E" { "SourcePath" = "8:..\\include\\math.c" @@ -323,6 +367,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8B258D238AC44D43A7DC654AFE0B9D8B" + { + "SourcePath" = "8:..\\include\\time.h" + "TargetName" = "8:time.h" + "Tag" = "8:" + "Folder" = "8:_7C0D28C244F14A21B5F72213BBE59B6F" + "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:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9D0D7A63D6C848CD85489D6E7C43AFAD" { "SourcePath" = "8:..\\include\\stdio.h" @@ -443,6 +507,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E5405BA024FB44FB8A71DC51B3B35428" + { + "SourcePath" = "8:..\\include\\stdint.h" + "TargetName" = "8:stdint.h" + "Tag" = "8:" + "Folder" = "8:_7C0D28C244F14A21B5F72213BBE59B6F" + "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:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E54AFD61BAD0414C9C5B2EFF31DA01FA" { "SourcePath" = "8:..\\include\\assert.h" @@ -523,6 +607,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F8F279E2317342BB8F6FD09FE8FE4EF5" + { + "SourcePath" = "8:..\\include\\time.c" + "TargetName" = "8:time.c" + "Tag" = "8:" + "Folder" = "8:_7C0D28C244F14A21B5F72213BBE59B6F" + "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:FALSE" + "IsolateTo" = "8:" + } } "FileType" { @@ -602,7 +706,7 @@ "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:oscar64" "ProductCode" = "8:{DD6A1D1D-E6A7-4EB4-912E-725CBB8EB76F}" - "PackageCode" = "8:{5524804F-A9C3-411D-92CD-F805012EBDAE}" + "PackageCode" = "8:{6A7C50E8-23AF-4F35-8542-FB26343A6248}" "UpgradeCode" = "8:{9AB61EFF-ACAC-4079-9950-8D96615CD4EF}" "AspNetVersion" = "8:2.0.50727.0" "RestartWWWService" = "11:FALSE" @@ -1123,7 +1227,7 @@ { "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_FB2E467BC172457785F4279BB0BFE8B6" { - "SourcePath" = "8:..\\Release\\oscar64.exe" + "SourcePath" = "8:..\\Debug\\oscar64.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"