Petscii translation in stdio and conio
This commit is contained in:
parent
da57ae00c5
commit
5372d49b50
15
README.md
15
README.md
|
@ -23,7 +23,7 @@ The goal is to implement the actual C standard and not some subset for performan
|
||||||
|
|
||||||
## Limits and Errors
|
## Limits and Errors
|
||||||
|
|
||||||
After four weeks, the compiler has now matured significantly. There are still several open areas.
|
There are still several open areas, but most targets have been reached. The current Dhrystone performance is 35 iterations per second with byte code (12259) and 203 iterations with native code (13572 Bytes).
|
||||||
|
|
||||||
### Language
|
### Language
|
||||||
|
|
||||||
|
@ -76,6 +76,19 @@ The compiler is command line driven, and creates an executable .prg file.
|
||||||
|
|
||||||
A list of source files can be provided.
|
A list of source files can be provided.
|
||||||
|
|
||||||
|
## Console input and output
|
||||||
|
|
||||||
|
The C64 does not use ASCII it uses a derivative called PETSCII. There are two fonts, one with uppercase and one with uppercase and lowercase characters. It also used CR (13) as line terminator instead of LF (10). The stdio and conio libaries can perform translations.
|
||||||
|
|
||||||
|
The translation mode is selected in conio with the variable "giocharmap" and the function "iocharmap" which will also switch the font.
|
||||||
|
|
||||||
|
iocharmap(IOCHM_PETSCII_2);
|
||||||
|
printf("Hello World\");
|
||||||
|
|
||||||
|
Will switch to the lowercase PETSCII font and translate the strings while printing.
|
||||||
|
|
||||||
|
Input from the console will also be translated accordingly.
|
||||||
|
|
||||||
## Inline Assembler
|
## Inline Assembler
|
||||||
|
|
||||||
Inline assembler can be embedded inside of any functions, regardles of their compilation target of byte code or native.
|
Inline assembler can be embedded inside of any functions, regardles of their compilation target of byte code or native.
|
||||||
|
|
|
@ -23,21 +23,21 @@ enum VICColors
|
||||||
{
|
{
|
||||||
VCOL_BLACK,
|
VCOL_BLACK,
|
||||||
VCOL_WHITE,
|
VCOL_WHITE,
|
||||||
BCOL_RED,
|
VCOL_RED,
|
||||||
BCOL_CYAN,
|
VCOL_CYAN,
|
||||||
BCOL_PURPLE,
|
VCOL_PURPLE,
|
||||||
BCOL_GREEN,
|
VCOL_GREEN,
|
||||||
BCOL_BLUE,
|
VCOL_BLUE,
|
||||||
BCOL_YELLOW,
|
VCOL_YELLOW,
|
||||||
|
|
||||||
BCOL_ORANGE,
|
VCOL_ORANGE,
|
||||||
BCOL_BROWN,
|
VCOL_BROWN,
|
||||||
BCOL_LT_RED,
|
VCOL_LT_RED,
|
||||||
BCOL_DARK_GREY,
|
VCOL_DARK_GREY,
|
||||||
BCOL_MED_GREY,
|
VCOL_MED_GREY,
|
||||||
BCOL_LT_GREEN,
|
VCOL_LT_GREEN,
|
||||||
BCOL_LT_BLUE,
|
VCOL_LT_BLUE,
|
||||||
BCOL_LT_GREY
|
VCOL_LT_GREY
|
||||||
};
|
};
|
||||||
|
|
||||||
struct VIC
|
struct VIC
|
||||||
|
|
|
@ -1,5 +1,75 @@
|
||||||
#include "conio.h"
|
#include "conio.h"
|
||||||
|
|
||||||
|
static IOCharMap giocharmap = IOCHM_ASCII;
|
||||||
|
|
||||||
|
void iocharmap(IOCharMap chmap)
|
||||||
|
{
|
||||||
|
giocharmap = chmap;
|
||||||
|
if (chmap == IOCHM_PETSCII_1)
|
||||||
|
putchar(128 + 14);
|
||||||
|
else if (chmap == IOCHM_PETSCII_2)
|
||||||
|
putchar(14);
|
||||||
|
}
|
||||||
|
|
||||||
|
__asm putpch
|
||||||
|
{
|
||||||
|
ldx giocharmap
|
||||||
|
cpx #IOCHM_ASCII
|
||||||
|
bcc w3
|
||||||
|
|
||||||
|
cmp #10
|
||||||
|
bne w1
|
||||||
|
lda #13
|
||||||
|
w1:
|
||||||
|
cpx #IOCHM_PETSCII_1
|
||||||
|
bcc w3
|
||||||
|
|
||||||
|
cmp #65
|
||||||
|
bcc w3
|
||||||
|
cmp #123
|
||||||
|
bcs w3
|
||||||
|
cmp #97
|
||||||
|
bcs w2
|
||||||
|
cmp #91
|
||||||
|
bcs w3
|
||||||
|
w2:
|
||||||
|
eor #$20
|
||||||
|
cpx #IOCHM_PETSCII_2
|
||||||
|
beq w3
|
||||||
|
and #$df
|
||||||
|
w3:
|
||||||
|
jmp 0xffd2
|
||||||
|
}
|
||||||
|
|
||||||
|
__asm getpch
|
||||||
|
{
|
||||||
|
jsr 0xffe4
|
||||||
|
|
||||||
|
ldx giocharmap
|
||||||
|
cpx #IOCHM_ASCII
|
||||||
|
bcc w3
|
||||||
|
|
||||||
|
cmp #13
|
||||||
|
bne w1
|
||||||
|
lda #10
|
||||||
|
w1:
|
||||||
|
cpx #IOCHM_PETSCII_1
|
||||||
|
bcc w3
|
||||||
|
|
||||||
|
cmp #65
|
||||||
|
bcc w3
|
||||||
|
cmp #123
|
||||||
|
bcs w3
|
||||||
|
cmp #97
|
||||||
|
bcs w2
|
||||||
|
cmp #91
|
||||||
|
bcs w3
|
||||||
|
w2:
|
||||||
|
eor #$20
|
||||||
|
w3:
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int kbhit(void)
|
int kbhit(void)
|
||||||
{
|
{
|
||||||
__asm
|
__asm
|
||||||
|
@ -16,12 +86,12 @@ int getche(void)
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
L1:
|
L1:
|
||||||
jsr $ffe4
|
jsr getpch
|
||||||
cmp #0
|
cmp #0
|
||||||
beq L1
|
beq L1
|
||||||
|
|
||||||
sta accu
|
sta accu
|
||||||
jsr $ffd2
|
jsr putpch
|
||||||
lda #0
|
lda #0
|
||||||
sta accu + 1
|
sta accu + 1
|
||||||
}
|
}
|
||||||
|
@ -33,7 +103,7 @@ int getch(void)
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
L1:
|
L1:
|
||||||
jsr $ffe4
|
jsr getpch
|
||||||
cmp #0
|
cmp #0
|
||||||
beq L1
|
beq L1
|
||||||
|
|
||||||
|
@ -60,16 +130,17 @@ void clrscr(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void gotoxy(int x, int y)
|
void textcursor(bool show)
|
||||||
|
{
|
||||||
|
*(char *)0xcc = show ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void gotoxy(int cx, int cy)
|
||||||
{
|
{
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
ldy #y
|
ldy cy
|
||||||
lda (fp), y
|
ldx cx
|
||||||
tax
|
|
||||||
ldy #x
|
|
||||||
lda (fp), y
|
|
||||||
tay
|
|
||||||
clc
|
clc
|
||||||
jsr $fff0
|
jsr $fff0
|
||||||
}
|
}
|
||||||
|
@ -79,8 +150,7 @@ void textcolor(int c)
|
||||||
{
|
{
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
ldy #c
|
lda c
|
||||||
lda (fp), y
|
|
||||||
sta $0286
|
sta $0286
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,24 @@
|
||||||
#ifndef CONIO_H
|
#ifndef CONIO_H
|
||||||
#define CONIO_H
|
#define CONIO_H
|
||||||
|
|
||||||
|
enum IOCharMap
|
||||||
|
{
|
||||||
|
IOCHM_TRANSPARENT,
|
||||||
|
IOCHM_ASCII,
|
||||||
|
IOCHM_PETSCII_1,
|
||||||
|
IOCHM_PETSCII_2
|
||||||
|
};
|
||||||
|
|
||||||
|
extern IOCharMap giocharmap;
|
||||||
|
|
||||||
|
// Switch character map to transparent bypass, petscii font 1 or
|
||||||
|
// petscii font 2. Translation is performed for all reading and
|
||||||
|
// writing operations. The ascii mode will only translate the
|
||||||
|
// line end CR into an LF
|
||||||
|
|
||||||
|
void iocharmap(IOCharMap chmap);
|
||||||
|
|
||||||
|
|
||||||
int kbhit(void);
|
int kbhit(void);
|
||||||
|
|
||||||
int getche(void);
|
int getche(void);
|
||||||
|
@ -19,6 +37,10 @@ int wherex(void);
|
||||||
|
|
||||||
int wherey(void);
|
int wherey(void);
|
||||||
|
|
||||||
|
// show or hide the text cursor
|
||||||
|
|
||||||
|
void textcursor(bool show);
|
||||||
|
|
||||||
#pragma compile("conio.c")
|
#pragma compile("conio.c")
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,21 +1,77 @@
|
||||||
#include "stdio.h"
|
#include "stdio.h"
|
||||||
#include <stdlib.h>
|
#include "conio.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
|
||||||
|
__asm putpch
|
||||||
|
{
|
||||||
|
ldx giocharmap
|
||||||
|
cpx #IOCHM_ASCII
|
||||||
|
bcc w3
|
||||||
|
|
||||||
|
cmp #10
|
||||||
|
bne w1
|
||||||
|
lda #13
|
||||||
|
w1:
|
||||||
|
cpx #IOCHM_PETSCII_1
|
||||||
|
bcc w3
|
||||||
|
|
||||||
|
cmp #65
|
||||||
|
bcc w3
|
||||||
|
cmp #123
|
||||||
|
bcs w3
|
||||||
|
cmp #97
|
||||||
|
bcs w2
|
||||||
|
cmp #91
|
||||||
|
bcs w3
|
||||||
|
w2:
|
||||||
|
eor #$20
|
||||||
|
cpx #IOCHM_PETSCII_2
|
||||||
|
beq w3
|
||||||
|
and #$df
|
||||||
|
w3:
|
||||||
|
jmp 0xffd2
|
||||||
|
}
|
||||||
|
|
||||||
|
__asm getpch
|
||||||
|
{
|
||||||
|
jsr 0xffcf
|
||||||
|
|
||||||
|
ldx giocharmap
|
||||||
|
cpx #IOCHM_ASCII
|
||||||
|
bcc w3
|
||||||
|
|
||||||
|
cmp #13
|
||||||
|
bne w1
|
||||||
|
lda #10
|
||||||
|
w1:
|
||||||
|
cpx #IOCHM_PETSCII_1
|
||||||
|
bcc w3
|
||||||
|
|
||||||
|
cmp #65
|
||||||
|
bcc w3
|
||||||
|
cmp #123
|
||||||
|
bcs w3
|
||||||
|
cmp #97
|
||||||
|
bcs w2
|
||||||
|
cmp #91
|
||||||
|
bcs w3
|
||||||
|
w2:
|
||||||
|
eor #$20
|
||||||
|
w3:
|
||||||
|
}
|
||||||
|
|
||||||
void putchar(char c)
|
void putchar(char c)
|
||||||
{
|
{
|
||||||
__asm {
|
__asm {
|
||||||
lda c
|
lda c
|
||||||
bne w1
|
jmp putpch
|
||||||
lda #13
|
|
||||||
w1:
|
|
||||||
jsr 0xffd2
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char getchar(void)
|
char getchar(void)
|
||||||
{
|
{
|
||||||
__asm {
|
__asm {
|
||||||
jsr 0xffcf
|
jsr getpch
|
||||||
sta accu
|
sta accu
|
||||||
lda #0
|
lda #0
|
||||||
sta accu + 1
|
sta accu + 1
|
||||||
|
@ -25,21 +81,16 @@ char getchar(void)
|
||||||
void puts(const char * str)
|
void puts(const char * str)
|
||||||
{
|
{
|
||||||
__asm {
|
__asm {
|
||||||
|
loop:
|
||||||
ldy #0
|
ldy #0
|
||||||
lda (str), y
|
lda (str), y
|
||||||
beq done
|
beq done
|
||||||
loop:
|
|
||||||
cmp #10
|
jsr putpch
|
||||||
bne w1
|
|
||||||
lda #13
|
|
||||||
w1:
|
|
||||||
jsr 0xffd2
|
|
||||||
inc str
|
inc str
|
||||||
bne next
|
bne loop
|
||||||
inc str + 1
|
inc str + 1
|
||||||
next:
|
|
||||||
ldy #0
|
|
||||||
lda (str), y
|
|
||||||
bne loop
|
bne loop
|
||||||
done:
|
done:
|
||||||
}
|
}
|
||||||
|
@ -49,14 +100,14 @@ char * gets(char * str)
|
||||||
{
|
{
|
||||||
__asm {
|
__asm {
|
||||||
loop:
|
loop:
|
||||||
jsr 0xffcf
|
jsr getpch
|
||||||
ldy #0
|
ldy #0
|
||||||
cmp #13
|
cmp #10
|
||||||
beq done
|
beq done
|
||||||
sta (str), y
|
sta (str), y
|
||||||
inc str
|
inc str
|
||||||
bne loop
|
bne loop
|
||||||
inc srt + 1
|
inc str + 1
|
||||||
bne loop
|
bne loop
|
||||||
done:
|
done:
|
||||||
lda #0
|
lda #0
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
void putchar(char c);
|
void putchar(char c);
|
||||||
|
|
||||||
char getchar(void);
|
char getchar(void);
|
||||||
|
|
|
@ -431,6 +431,8 @@ void InterCodeGenerator::TranslateAssembler(InterCodeModule* mod, Expression* ex
|
||||||
offset += 2;
|
offset += 2;
|
||||||
}
|
}
|
||||||
else if (aexp->mType == DT_LABEL_REF)
|
else if (aexp->mType == DT_LABEL_REF)
|
||||||
|
{
|
||||||
|
if (aexp->mBase->mBase)
|
||||||
{
|
{
|
||||||
if (!aexp->mBase->mBase->mLinkerObject)
|
if (!aexp->mBase->mBase->mLinkerObject)
|
||||||
TranslateAssembler(mod, aexp->mBase->mBase->mValue, nullptr);
|
TranslateAssembler(mod, aexp->mBase->mBase->mValue, nullptr);
|
||||||
|
@ -442,6 +444,9 @@ void InterCodeGenerator::TranslateAssembler(InterCodeModule* mod, Expression* ex
|
||||||
ref.mRefObject = aexp->mBase->mBase->mLinkerObject;
|
ref.mRefObject = aexp->mBase->mBase->mLinkerObject;
|
||||||
ref.mRefOffset = aexp->mOffset + aexp->mBase->mInteger;
|
ref.mRefOffset = aexp->mOffset + aexp->mBase->mInteger;
|
||||||
dec->mLinkerObject->AddReference(ref);
|
dec->mLinkerObject->AddReference(ref);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
mErrors->Error(aexp->mLocation, EERR_ASM_INVALD_OPERAND, "Undefined label");
|
||||||
|
|
||||||
offset += 2;
|
offset += 2;
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,7 @@ int main(int argc, const char** argv)
|
||||||
DWORD length = ::GetModuleFileNameA(NULL, basePath, sizeof(basePath));
|
DWORD length = ::GetModuleFileNameA(NULL, basePath, sizeof(basePath));
|
||||||
|
|
||||||
#else
|
#else
|
||||||
printf("Starting oscar64 1.1.40\n");
|
printf("Starting oscar64 1.1.41\n");
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
uint32_t length = sizeof(basePath);
|
uint32_t length = sizeof(basePath);
|
||||||
|
|
|
@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 1,1,40,0
|
FILEVERSION 1,1,41,0
|
||||||
PRODUCTVERSION 1,1,40,0
|
PRODUCTVERSION 1,1,41,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -43,12 +43,12 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "oscar64"
|
VALUE "CompanyName", "oscar64"
|
||||||
VALUE "FileDescription", "oscar64 compiler"
|
VALUE "FileDescription", "oscar64 compiler"
|
||||||
VALUE "FileVersion", "1.1.40.0"
|
VALUE "FileVersion", "1.1.41.0"
|
||||||
VALUE "InternalName", "oscar64.exe"
|
VALUE "InternalName", "oscar64.exe"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2021"
|
VALUE "LegalCopyright", "Copyright (C) 2021"
|
||||||
VALUE "OriginalFilename", "oscar64.exe"
|
VALUE "OriginalFilename", "oscar64.exe"
|
||||||
VALUE "ProductName", "oscar64"
|
VALUE "ProductName", "oscar64"
|
||||||
VALUE "ProductVersion", "1.1.40.0"
|
VALUE "ProductVersion", "1.1.41.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
|
@ -14,12 +14,6 @@
|
||||||
"BackwardsCompatibleGUIDGeneration" = "8:TRUE"
|
"BackwardsCompatibleGUIDGeneration" = "8:TRUE"
|
||||||
"Hierarchy"
|
"Hierarchy"
|
||||||
{
|
{
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_03D7013B0D39A89CEA9D267005ADCE39"
|
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_0D8B657E4A954DBFAF14055CDFFB384C"
|
"MsmKey" = "8:_0D8B657E4A954DBFAF14055CDFFB384C"
|
||||||
|
@ -40,20 +34,14 @@
|
||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_2CA3A525072974368303677563606FFE"
|
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_317711E6E48744A18655469B4C53767E"
|
"MsmKey" = "8:_317711E6E48744A18655469B4C53767E"
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_3FA71395262A4AB4A1C2839FD6B91190"
|
"MsmKey" = "8:_3AFDC86156F04AABB8D82218C17005F2"
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
|
@ -76,18 +64,6 @@
|
||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_777CE896BB0B3C09C1B5FB6CB3BFE84F"
|
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_7A40466D5E5D2D3FD71213A0C0AA5075"
|
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_7EA67552E0B34B9BA70152AD9E369EA6"
|
"MsmKey" = "8:_7EA67552E0B34B9BA70152AD9E369EA6"
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
@ -118,13 +94,13 @@
|
||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_B2B920A649CF4027457BBAB004078A03"
|
"MsmKey" = "8:_B4265CBF352343D2867DBCCE67D9F493"
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_B4265CBF352343D2867DBCCE67D9F493"
|
"MsmKey" = "8:_C239EFB1C3A646809AD2740ABDE747B0"
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
}
|
}
|
||||||
|
@ -136,18 +112,6 @@
|
||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_DC9FDF52011EB7C47318682BA0B3F26F"
|
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_DE2BF7C92569053E7C3DCE88AB7E2566"
|
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_E218D776D9014F99BE2B046AEF2D6E8B"
|
"MsmKey" = "8:_E218D776D9014F99BE2B046AEF2D6E8B"
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
@ -184,12 +148,6 @@
|
||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_EA3C0BCB01F2639DFA2E37EC8436E5F6"
|
|
||||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_EDDED74E9AC24D9C8C7811F3A20ACA53"
|
"MsmKey" = "8:_EDDED74E9AC24D9C8C7811F3A20ACA53"
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
@ -293,26 +251,6 @@
|
||||||
}
|
}
|
||||||
"File"
|
"File"
|
||||||
{
|
{
|
||||||
"{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}:_0D8B657E4A954DBFAF14055CDFFB384C"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0D8B657E4A954DBFAF14055CDFFB384C"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:..\\include\\crt.c"
|
"SourcePath" = "8:..\\include\\crt.c"
|
||||||
|
@ -373,26 +311,6 @@
|
||||||
"IsDependency" = "11:FALSE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"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}:_317711E6E48744A18655469B4C53767E"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_317711E6E48744A18655469B4C53767E"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:..\\include\\math.c"
|
"SourcePath" = "8:..\\include\\math.c"
|
||||||
|
@ -413,12 +331,12 @@
|
||||||
"IsDependency" = "11:FALSE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"IsolateTo" = "8:"
|
||||||
}
|
}
|
||||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3FA71395262A4AB4A1C2839FD6B91190"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3AFDC86156F04AABB8D82218C17005F2"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:api-ms-win-crt-stdio-l1-1-0.dll"
|
"SourcePath" = "8:..\\include\\c64\\vic.h"
|
||||||
"TargetName" = "8:api-ms-win-crt-stdio-l1-1-0.dll"
|
"TargetName" = "8:vic.h"
|
||||||
"Tag" = "8:"
|
"Tag" = "8:"
|
||||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
"Folder" = "8:_247D4CAD3CB843B3A8A4DC2D90F47C28"
|
||||||
"Condition" = "8:"
|
"Condition" = "8:"
|
||||||
"Transitive" = "11:FALSE"
|
"Transitive" = "11:FALSE"
|
||||||
"Vital" = "11:TRUE"
|
"Vital" = "11:TRUE"
|
||||||
|
@ -430,7 +348,7 @@
|
||||||
"PackageAs" = "3:1"
|
"PackageAs" = "3:1"
|
||||||
"Register" = "3:1"
|
"Register" = "3:1"
|
||||||
"Exclude" = "11:FALSE"
|
"Exclude" = "11:FALSE"
|
||||||
"IsDependency" = "11:TRUE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"IsolateTo" = "8:"
|
||||||
}
|
}
|
||||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3FFD08277B804985BDF072C0C1877287"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3FFD08277B804985BDF072C0C1877287"
|
||||||
|
@ -493,46 +411,6 @@
|
||||||
"IsDependency" = "11:FALSE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"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}:_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}:_7EA67552E0B34B9BA70152AD9E369EA6"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7EA67552E0B34B9BA70152AD9E369EA6"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:..\\include\\c64\\joystick.h"
|
"SourcePath" = "8:..\\include\\c64\\joystick.h"
|
||||||
|
@ -633,12 +511,12 @@
|
||||||
"IsDependency" = "11:FALSE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"IsolateTo" = "8:"
|
||||||
}
|
}
|
||||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B2B920A649CF4027457BBAB004078A03"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B4265CBF352343D2867DBCCE67D9F493"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:api-ms-win-crt-math-l1-1-0.dll"
|
"SourcePath" = "8:..\\include\\c64\\joystick.c"
|
||||||
"TargetName" = "8:api-ms-win-crt-math-l1-1-0.dll"
|
"TargetName" = "8:joystick.c"
|
||||||
"Tag" = "8:"
|
"Tag" = "8:"
|
||||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
"Folder" = "8:_247D4CAD3CB843B3A8A4DC2D90F47C28"
|
||||||
"Condition" = "8:"
|
"Condition" = "8:"
|
||||||
"Transitive" = "11:FALSE"
|
"Transitive" = "11:FALSE"
|
||||||
"Vital" = "11:TRUE"
|
"Vital" = "11:TRUE"
|
||||||
|
@ -650,13 +528,13 @@
|
||||||
"PackageAs" = "3:1"
|
"PackageAs" = "3:1"
|
||||||
"Register" = "3:1"
|
"Register" = "3:1"
|
||||||
"Exclude" = "11:FALSE"
|
"Exclude" = "11:FALSE"
|
||||||
"IsDependency" = "11:TRUE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"IsolateTo" = "8:"
|
||||||
}
|
}
|
||||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B4265CBF352343D2867DBCCE67D9F493"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C239EFB1C3A646809AD2740ABDE747B0"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:..\\include\\c64\\joystick.c"
|
"SourcePath" = "8:..\\include\\c64\\types.h"
|
||||||
"TargetName" = "8:joystick.c"
|
"TargetName" = "8:types.h"
|
||||||
"Tag" = "8:"
|
"Tag" = "8:"
|
||||||
"Folder" = "8:_247D4CAD3CB843B3A8A4DC2D90F47C28"
|
"Folder" = "8:_247D4CAD3CB843B3A8A4DC2D90F47C28"
|
||||||
"Condition" = "8:"
|
"Condition" = "8:"
|
||||||
|
@ -693,46 +571,6 @@
|
||||||
"IsDependency" = "11:FALSE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"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}:_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}:_E218D776D9014F99BE2B046AEF2D6E8B"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E218D776D9014F99BE2B046AEF2D6E8B"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:..\\include\\stdlib.c"
|
"SourcePath" = "8:..\\include\\stdlib.c"
|
||||||
|
@ -853,26 +691,6 @@
|
||||||
"IsDependency" = "11:FALSE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"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}:_EDDED74E9AC24D9C8C7811F3A20ACA53"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EDDED74E9AC24D9C8C7811F3A20ACA53"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:..\\include\\stdio.c"
|
"SourcePath" = "8:..\\include\\stdio.c"
|
||||||
|
@ -1002,15 +820,15 @@
|
||||||
{
|
{
|
||||||
"Name" = "8:Microsoft Visual Studio"
|
"Name" = "8:Microsoft Visual Studio"
|
||||||
"ProductName" = "8:oscar64"
|
"ProductName" = "8:oscar64"
|
||||||
"ProductCode" = "8:{B454BC86-EF23-4C62-8A7B-812DC9099703}"
|
"ProductCode" = "8:{40AF707C-0E9B-4786-A353-C49A7288B8E5}"
|
||||||
"PackageCode" = "8:{7E765723-5387-4BC6-9543-542D3C759786}"
|
"PackageCode" = "8:{7C6E8F8C-262F-4230-92A2-4E3E95F7B70E}"
|
||||||
"UpgradeCode" = "8:{9AB61EFF-ACAC-4079-9950-8D96615CD4EF}"
|
"UpgradeCode" = "8:{9AB61EFF-ACAC-4079-9950-8D96615CD4EF}"
|
||||||
"AspNetVersion" = "8:2.0.50727.0"
|
"AspNetVersion" = "8:2.0.50727.0"
|
||||||
"RestartWWWService" = "11:FALSE"
|
"RestartWWWService" = "11:FALSE"
|
||||||
"RemovePreviousVersions" = "11:TRUE"
|
"RemovePreviousVersions" = "11:TRUE"
|
||||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||||
"InstallAllUsers" = "11:FALSE"
|
"InstallAllUsers" = "11:FALSE"
|
||||||
"ProductVersion" = "8:1.1.40"
|
"ProductVersion" = "8:1.1.41"
|
||||||
"Manufacturer" = "8:oscar64"
|
"Manufacturer" = "8:oscar64"
|
||||||
"ARPHELPTELEPHONE" = "8:"
|
"ARPHELPTELEPHONE" = "8:"
|
||||||
"ARPHELPLINK" = "8:"
|
"ARPHELPLINK" = "8:"
|
||||||
|
|
Loading…
Reference in New Issue