diff --git a/include/cx16/vera.c b/include/cx16/vera.c new file mode 100644 index 0000000..ba045b6 --- /dev/null +++ b/include/cx16/vera.c @@ -0,0 +1,90 @@ +#include "vera.h" + +void vram_addr(unsigned long addr) +{ + vera.ctrl &= ~VERA_CTRL_ADDRSEL; + vera.addr = addr; + vera.addrh = (char)((addr >> 16) & 1) | 0x10; +} + +void vram_put(char data) +{ + vera.data0 = data; +} + +void vram_putw(unsigned data) +{ + vera.data0 = data & 0xff; + vera.data0 = data >> 8; +} + +char vram_get(void) +{ + return vera.data0; +} + +void vram_put_at(unsigned long addr, char data) +{ + vram_addr(addr); + vram_put(data); +} + +char vram_get_at(unsigned long addr) +{ + vram_addr(addr); + return vram_get();; +} + +void vram_putn(unsigned long addr, const char * data, unsigned size) +{ + vram_addr(addr); + while(size > 0) + { + vram_put(*data++); + size--; + } +} + +void vram_getn(unsigned long addr, char * data, unsigned size) +{ + vram_addr(addr); + + while(size > 0) + { + *data++ = vram_get(); + size--; + } +} + +void vram_fill(unsigned long addr, char data, unsigned size) +{ + vram_addr(addr); + + while(size > 0) + { + vram_put(data); + size--; + } +} + + +void vera_spr_set(char spr, unsigned addr32, bool mode8, char w, char h, char z, char pal) +{ + __assume(spr < 128); + + vram_addr(0x1fc00UL + spr * 8); + vram_putw(addr32 | (mode8 ? 0x80 : 0x00)); + vram_putw(0); + vram_putw(0); + vram_put(z << 2); + vram_put((h << 6) | (w << 4) | pal); +} + +void vera_spr_move(char spr, int x, int y) +{ + __assume(spr < 128); + + vram_addr(0x1fc00UL + spr * 8 + 2); + vram_putw(x); + vram_putw(y); +} diff --git a/include/cx16/vera.h b/include/cx16/vera.h new file mode 100644 index 0000000..109b501 --- /dev/null +++ b/include/cx16/vera.h @@ -0,0 +1,84 @@ +#ifndef CX16_VERA_H +#define CX16_VERA_H + +// Thanks to crisps for providing the initial code for this library + +#include + +#define VERA_ADDRH_DECR 0x08 +#define VERA_ADDRH_INC 0xf0 + +#define VERA_CTRL_RESET 0x80 +#define VERA_CTRL_DCSEL 0x02 +#define VERA_CTRL_ADDRSEL 0x01 + +#define VERA_IRQ_LINE_8 0x80 +#define VERA_IRQ_AFLOW 0x08 +#define VERA_IRQ_SPRCOL 0x04 +#define VERA_IRQ_LINE 0x02 +#define VERA_IRQ_VSYNC 0x01 + + +struct VERA +{ + volatile word addr; + volatile byte addrh; + volatile byte data0, data1; + + volatile byte ctrl; + volatile byte ien; + volatile byte isr; + volatile byte irqline; + + volatile byte dcvideo; + volatile byte dchscale; + volatile byte dcvscale; + volatile byte dcborder; + + volatile byte l0config; + volatile byte l0mapbase; + volatile byte l0tilebase; + volatile word l0hscroll; + volatile word l0vscroll; + + volatile byte l1config; + volatile byte l1mapbase; + volatile byte l1tilebase; + volatile word l1hscroll; + volatile word l1vscroll; + + volatile byte audioctrl; + volatile byte audiorate; + volatile byte audiodata; + + volatile byte spidata; + volatile byte spictrl; +}; + +#define vera (*(VERA *)0x9f20) + +inline void vram_addr(unsigned long addr); + +inline void vram_put(char data); + +inline void vram_putw(unsigned data); + +inline char vram_get(void); + +inline void vram_put_at(unsigned long addr, char data); + +inline char vram_get_at(unsigned long addr); + +void vram_putn(unsigned long addr, const char * data, unsigned size); + +void vram_getn(unsigned long addr, char * data, unsigned size); + +void vram_fill(unsigned long addr, char data, unsigned size); + +void vera_spr_set(char spr, unsigned addr32, bool mode8, char w, char h, char z, char pal); + +void vera_spr_move(char spr, int x, int y); + +#pragma compile("vera.c") + +#endif diff --git a/oscar64/oscar64.cpp b/oscar64/oscar64.cpp index 47bee7c..5239d26 100644 --- a/oscar64/oscar64.cpp +++ b/oscar64/oscar64.cpp @@ -74,7 +74,7 @@ int main2(int argc, const char** argv) #else strcpy(strProductName, "oscar64"); - strcpy(strProductVersion, "1.18.195"); + strcpy(strProductVersion, "1.18.196"); #ifdef __APPLE__ uint32_t length = sizeof(basePath); diff --git a/oscar64/oscar64.rc b/oscar64/oscar64.rc index f10da5c..5c356a7 100644 --- a/oscar64/oscar64.rc +++ b/oscar64/oscar64.rc @@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,18,195,0 - PRODUCTVERSION 1,18,195,0 + FILEVERSION 1,18,196,0 + PRODUCTVERSION 1,18,196,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -43,12 +43,12 @@ BEGIN BEGIN VALUE "CompanyName", "oscar64" VALUE "FileDescription", "oscar64 compiler" - VALUE "FileVersion", "1.18.195.0" + VALUE "FileVersion", "1.18.196.0" VALUE "InternalName", "oscar64.exe" VALUE "LegalCopyright", "Copyright (C) 2021" VALUE "OriginalFilename", "oscar64.exe" VALUE "ProductName", "oscar64" - VALUE "ProductVersion", "1.18.195.0" + VALUE "ProductVersion", "1.18.196.0" END END BLOCK "VarFileInfo" diff --git a/oscar64setup/oscar64setup.vdproj b/oscar64setup/oscar64setup.vdproj index 5660e24..d57c024 100644 --- a/oscar64setup/oscar64setup.vdproj +++ b/oscar64setup/oscar64setup.vdproj @@ -34,6 +34,12 @@ } "Entry" { + "MsmKey" = "8:_03D7013B0D39A89CEA9D267005ADCE39" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_04ABABC55200450383686DD782DD1548" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -190,6 +196,12 @@ } "Entry" { + "MsmKey" = "8:_2CA3A525072974368303677563606FFE" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_2CC169DCBB0B4CC0BFE38AE63B285359" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -262,6 +274,12 @@ } "Entry" { + "MsmKey" = "8:_3FA71395262A4AB4A1C2839FD6B91190" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_3FFD08277B804985BDF072C0C1877287" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -478,12 +496,24 @@ } "Entry" { + "MsmKey" = "8:_777CE896BB0B3C09C1B5FB6CB3BFE84F" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_79985361F09A43299E258E1A8E5ED934" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_7A40466D5E5D2D3FD71213A0C0AA5075" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_7A9E700FC438425580655F7C1BC07FD3" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -508,6 +538,12 @@ } "Entry" { + "MsmKey" = "8:_7DD72563FCD1431C95C845C0C4370BC6" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_7E6F12A2B7A647199FCBA7CBDF4E94D2" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -712,6 +748,12 @@ } "Entry" { + "MsmKey" = "8:_AE023AEA6C444140B19CD627DDC2CB87" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_AEE4BA494D48426089DE7D870C4F399B" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -730,6 +772,12 @@ } "Entry" { + "MsmKey" = "8:_B2B920A649CF4027457BBAB004078A03" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_B2F1B217D45A434DBA8EC21095F4D717" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -934,12 +982,24 @@ } "Entry" { + "MsmKey" = "8:_DC9FDF52011EB7C47318682BA0B3F26F" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_DE1058FFA9E149D1909C819592A12273" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_DE2BF7C92569053E7C3DCE88AB7E2566" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_DEADBEA270134B77800770802B21859C" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -1012,6 +1072,12 @@ } "Entry" { + "MsmKey" = "8:_EA3C0BCB01F2639DFA2E37EC8436E5F6" + "OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_ED5FED616EA64689AB793E5D8BD3F13D" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -1235,6 +1301,26 @@ "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" @@ -1755,6 +1841,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2CA3A525072974368303677563606FFE" + { + "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}:_2CC169DCBB0B4CC0BFE38AE63B285359" { "SourcePath" = "8:..\\include\\nes\\mmc1.c" @@ -1995,6 +2101,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3FA71395262A4AB4A1C2839FD6B91190" + { + "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}:_3FFD08277B804985BDF072C0C1877287" { "SourcePath" = "8:..\\include\\assert.c" @@ -2715,6 +2841,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_777CE896BB0B3C09C1B5FB6CB3BFE84F" + { + "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}:_79985361F09A43299E258E1A8E5ED934" { "SourcePath" = "8:..\\include\\gfx\\mcbitmap.c" @@ -2735,6 +2881,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7A40466D5E5D2D3FD71213A0C0AA5075" + { + "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}:_7A9E700FC438425580655F7C1BC07FD3" { "SourcePath" = "8:..\\samples\\rasterirq\\textcrawler.c" @@ -2815,6 +2981,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7DD72563FCD1431C95C845C0C4370BC6" + { + "SourcePath" = "8:..\\include\\cx16\\vera.c" + "TargetName" = "8:vera.c" + "Tag" = "8:" + "Folder" = "8:_CF51FF683B01444CB933CD9573FBBDA9" + "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}:_7E6F12A2B7A647199FCBA7CBDF4E94D2" { "SourcePath" = "8:..\\samples\\kernalio\\filewrite.c" @@ -3495,6 +3681,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_AE023AEA6C444140B19CD627DDC2CB87" + { + "SourcePath" = "8:..\\include\\cx16\\vera.h" + "TargetName" = "8:vera.h" + "Tag" = "8:" + "Folder" = "8:_CF51FF683B01444CB933CD9573FBBDA9" + "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}:_AEE4BA494D48426089DE7D870C4F399B" { "SourcePath" = "8:..\\samples\\scrolling\\make.bat" @@ -3555,6 +3761,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B2B920A649CF4027457BBAB004078A03" + { + "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}:_B2F1B217D45A434DBA8EC21095F4D717" { "SourcePath" = "8:..\\samples\\memmap\\charsetload.c" @@ -4235,6 +4461,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DC9FDF52011EB7C47318682BA0B3F26F" + { + "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}:_DE1058FFA9E149D1909C819592A12273" { "SourcePath" = "8:..\\samples\\particles\\fireworks_stripe.c" @@ -4255,6 +4501,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DE2BF7C92569053E7C3DCE88AB7E2566" + { + "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}:_DEADBEA270134B77800770802B21859C" { "SourcePath" = "8:..\\samples\\games\\connectfour.c" @@ -4495,6 +4761,26 @@ "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}:_ED5FED616EA64689AB793E5D8BD3F13D" { "SourcePath" = "8:..\\include\\nes\\mmc3.c" @@ -5035,6 +5321,17 @@ { } } + "{9EF0B969-E518-4E46-987F-47570745A589}:_CF51FF683B01444CB933CD9573FBBDA9" + { + "Name" = "8:cx16" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_E9B59201726C4801B40E69CE1E618E78" + "Folders" + { + } + } "{9EF0B969-E518-4E46-987F-47570745A589}:_E0C7A8689A4144D0842BCEDA85A07B5D" { "Name" = "8:gfx" @@ -5066,15 +5363,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:oscar64" - "ProductCode" = "8:{332E05C8-E872-4CFC-9DD1-8F52A4F9445C}" - "PackageCode" = "8:{A63E7C75-54FE-4294-AA1D-27AEA19D58E2}" + "ProductCode" = "8:{3171352F-5119-4812-BC92-71EDB0575718}" + "PackageCode" = "8:{4EB75BF5-F2CC-4F28-96A6-A9C848E59CD2}" "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.18.195" + "ProductVersion" = "8:1.18.196" "Manufacturer" = "8:oscar64" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:"