Skip to content

Commit 17e8740

Browse files
author
informedcitizenry
committed
Version 2.4.3.5
1 parent a298e86 commit 17e8740

28 files changed

+224
-113
lines changed

Core6502DotNet.sln

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Global
3333
SolutionGuid = {9BE7575F-6E99-4243-AEAA-4D1E1064DA97}
3434
EndGlobalSection
3535
GlobalSection(MonoDevelopProperties) = preSolution
36-
version = 2.4.3.4
36+
version = 2.4.3.5
3737
Policies = $0
3838
$0.VersionControlPolicy = $1
3939
$1.CommitMessageStyle = $2

Core6502DotNet/Core6502DotNet.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<OutputType>Exe</OutputType>
55
<TargetFramework>netcoreapp3.1</TargetFramework>
66
<PackageId>6502.Net</PackageId>
7-
<Version>2.4.3.4</Version>
7+
<Version>2.4.3.5</Version>
88
<Authors>informedcitizenry</Authors>
99
<Company>informedcitizenry</Company>
1010
<Product>6502.Net</Product>
@@ -13,8 +13,8 @@
1313
<ReleaseVersion>2.4.1</ReleaseVersion>
1414
<StartupObject>Core6502DotNet.Program</StartupObject>
1515
<AssemblyName>6502.Net</AssemblyName>
16-
<AssemblyVersion>2.4.3.4</AssemblyVersion>
17-
<FileVersion>2.4.3.4</FileVersion>
16+
<AssemblyVersion>2.4.3.5</AssemblyVersion>
17+
<FileVersion>2.4.3.5</FileVersion>
1818
<SignAssembly>false</SignAssembly>
1919
</PropertyGroup>
2020

Core6502DotNet/Syntax Highlighters/Notepad++/Core6502DotNet.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<Keywords name="Keywords2">.assert .auto .bank .binclude .break .case .comment .continue .cpu .default .dp .dsection .echo .encoding .end .endrelocate .eor .error .errorif .equ .forcepass .format .goto .include .initmem .invoke .let .m8 .m16 .manual .map .mx8 .mx16 .org .proff .pron .relocate .return .section .format .target .unmap .warn .warnif .x8 .x16</Keywords>
2929
<Keywords name="Keywords3">.addr .align .binary .bstring .byte .cbmflt .cbmfltp .char .cstring .dint .dword .fill .hstring .lint .long .lstring .nstring .pstring .rta .sbyte .short .sint .string .word</Keywords>
3030
<Keywords name="Keywords4">.</Keywords>
31-
<Keywords name="Keywords5">abs acos atan byte cmbflt cbmfltp cbrt ceil cos cosh deg dword exp float floor format frac hypot len ln log log10 long peek poke pow rad random round section sgn sin sinh sqrt tan tanh word</Keywords>
31+
<Keywords name="Keywords5">abs acos atan byte cbmflt cbmfltp cbrt ceil char cos cosh deg dword exp float floor format frac hypot len ln log log10 long peek poke pow rad random round section sgn sin sinh sqrt tan tanh word</Keywords>
3232
<Keywords name="Keywords6">\</Keywords>
3333
<Keywords name="Keywords7">a s sp x y z false MATH_PI MATH_E INT8_MAX INT8_MIN INT16_MAX INT16_MIN INT32_MAX INT32_MIN true UINT8_MAX UINT8_MIN UINT16_MAX UINT16_MIN UINT32_MAX UINT32_MIN</Keywords>
3434
<Keywords name="Keywords8"></Keywords>

Core6502DotNet/Syntax Highlighters/Notepad++/Core6502DotNetZ80.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<Keywords name="Keywords2">.assert .bank .binclude .break .case .comment .continue .cpu .default .dsection .echo .encoding .end .endrelocate .eor .error .errorif .equ .forcepass .format .goto .include .initmem .invoke .let .map .org .proff .pron .relocate .return .section .format .target .unmap .warn .warnif</Keywords>
2929
<Keywords name="Keywords3">.addr .align .binary .bstring .byte .cbmflt .cbmfltp .char .cstring .dint .dword .fill .hstring .lint .long .lstring .nstring .pstring .rta .sbyte .short .sint .string .word</Keywords>
3030
<Keywords name="Keywords4">.</Keywords>
31-
<Keywords name="Keywords5">abs acos atan byte cmbflt cbmfltp cbrt ceil cos cosh deg dword exp float floor format frac hypot len ln log log10 long peek poke pow rad random round section sgn sin sinh sqrt tan tanh word</Keywords>
31+
<Keywords name="Keywords5">abs acos atan byte cbmflt cbmfltp cbrt ceil char cos cosh deg dword exp float floor format frac hypot len ln log log10 long peek poke pow rad random round section sgn sin sinh sqrt tan tanh word</Keywords>
3232
<Keywords name="Keywords6">\</Keywords>
3333
<Keywords name="Keywords7">a af b bc c d de e h hl i ix ixh ixl iy iyh iyl l m nc nz p pe po r sp z false MATH_PI MATH_E INT8_MAX INT8_MIN INT16_MAX INT16_MIN INT32_MAX INT32_MIN true UINT8_MAX UINT8_MIN UINT16_MAX UINT16_MIN UINT32_MAX UINT32_MIN</Keywords>
3434
<Keywords name="Keywords8"></Keywords>

Core6502DotNet/Syntax Highlighters/Notepad++/Core6502DotNetm68.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<Keywords name="Keywords2">.assert .bank .binclude .break .case .comment .continue .cpu .default .dp .dsection .echo .encoding .end .endrelocate .eor .error .errorif .equ .forcepass .format .goto .include .initmem .invoke .let .map .org .proff .pron .relocate .return .section .format .target .tfradp .tfrbdp .unmap .warn .warnif</Keywords>
2929
<Keywords name="Keywords3">.addr .align .binary .bstring .byte .cbmflt .cbmfltp .char .cstring .dint .dword .fill .hstring .lint .long .lstring .nstring .pstring .rta .sbyte .short .sint .string .word</Keywords>
3030
<Keywords name="Keywords4">.</Keywords>
31-
<Keywords name="Keywords5">abs acos atan byte cmbflt cbmfltp cbrt ceil cos cosh deg dword exp float floor format frac hypot len ln log log10 long peek poke pow rad random round section sgn sin sinh sqrt tan tanh word</Keywords>
31+
<Keywords name="Keywords5">abs acos atan byte cbmflt cbmfltp cbrt ceil char cos cosh deg dword exp float floor format frac hypot len ln log log10 long peek poke pow rad random round section sgn sin sinh sqrt tan tanh word</Keywords>
3232
<Keywords name="Keywords6">\</Keywords>
3333
<Keywords name="Keywords7">a b cc d dp pc s u x y false MATH_PI MATH_E INT8_MAX INT8_MIN INT16_MAX INT16_MIN INT32_MAX INT32_MIN true UINT8_MAX UINT8_MIN UINT16_MAX UINT16_MIN UINT32_MAX UINT32_MIN</Keywords>
3434
<Keywords name="Keywords8"></Keywords>

Core6502DotNet/Syntax Highlighters/VSCode/informedcitizenry.core-6502-dot-net-1.0.1/syntaxes/core-6502-dot-net_65xx.tmLanguage.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
},
3434
{
3535
"name": "keyword.control.directive.core6502_net_65xx",
36-
"match": "(?i)(^|\\s)(\\.(assert|auto|bank|binclude|block|break|case|continue|comment|cpu|default|dp|dsection|echo|elseifndef|elseifdef|else|elseif|encoding|end|endblock|endfunction|endif|endmacro|endpage|endrepeat|endrelocate|endswitch|endwhile|eor|equ|error|errorif|for|forcepass|foreach|format|function|global|goto|if|ifdef|ifndef|include|initmem|invoke|let|m8|m16|macro|manual|map|mx8|mx16|next|org|page|proff|pron|pseudopc|realpc|relocate|repeat|return|section|switch|target|unmap|warn|warnif|while|x8|x16))\\b"
36+
"match": "(?i)(^|\\s)(\\.(assert|auto|bank|binclude|block|break|case|continue|comment|cpu|default|dp|dsection|echo|elseifndef|elseifdef|else|elseif|encoding|end|endblock|endfunction|endif|endmacro|endnamespace|endpage|endrepeat|endrelocate|endswitch|endwhile|eor|equ|error|errorif|for|forcepass|foreach|format|function|global|goto|if|ifdef|ifndef|include|initmem|invoke|let|m8|m16|macro|manual|map|mx8|mx16|namespace|next|org|page|proff|pron|pseudopc|realpc|relocate|repeat|return|section|switch|target|unmap|warn|warnif|while|x8|x16))\\b"
3737
},
3838
{
3939
"name": "keyword.other.mnemonic.core6502_net_65xx",
@@ -45,7 +45,7 @@
4545
},
4646
{
4747
"name": "keyword.function.core6502_net_65xx",
48-
"match": "(?i)\\b(abs|acos|atan|byte|cmbflt|cbmfltp|cbrt|ceil|cos|cosh|deg|dword|exp|float|floor|format|frac|hypot|len|ln|log|log10|long|peek|poke|pow|rad|random|round|section|sgn|sin|sinh|sqrt|tan|tanh|word)\\b"
48+
"match": "(?i)\\b(abs|acos|atan|byte|cbmflt|cbmfltp|cbrt|ceil|char|cos|cosh|deg|dword|exp|float|floor|format|frac|hypot|len|ln|log|log10|long|peek|poke|pow|rad|random|round|section|sgn|sin|sinh|sqrt|tan|tanh|word)\\b"
4949
},
5050
{
5151
"name": "keyword.define.core6502_net_65xx",

Core6502DotNet/Syntax Highlighters/VSCode/informedcitizenry.core-6502-dot-net-1.0.1/syntaxes/core-6502-dot-net_m680x.tmLanguage.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
},
3434
{
3535
"name": "keyword.control.directive.core6502_net_m680x",
36-
"match": "(?i)(^|\\s)(\\.(assert|bank|binclude|block|break|case|continue|comment|cpu|default|dp|dsection|echo|elseifndef|elseifdef|else|elseif|encoding|end|endblock|endfunction|endif|endmacro|endpage|endrepeat|endrelocate|endswitch|endwhile|eor|equ|error|errorif|for|forcepass|foreach|format|function|global|goto|if|ifdef|ifndef|include|initmem|invoke|let|macro|map|next|org|page|pseudopc|proff|pron|realpc|relocate|repeat|return|section|switch|target|tfradp|tfrbdp|unmap|warn|warnif|while))\\b"
36+
"match": "(?i)(^|\\s)(\\.(assert|bank|binclude|block|break|case|continue|comment|cpu|default|dp|dsection|echo|elseifndef|elseifdef|else|elseif|encoding|end|endblock|endfunction|endif|endmacro|endnamespace|endpage|endrepeat|endrelocate|endswitch|endwhile|eor|equ|error|errorif|for|forcepass|foreach|format|function|global|goto|if|ifdef|ifndef|include|initmem|invoke|let|macro|map|namespace|next|org|page|pseudopc|proff|pron|realpc|relocate|repeat|return|section|switch|target|tfradp|tfrbdp|unmap|warn|warnif|while))\\b"
3737
},
3838
{
3939
"name": "keyword.other.mnemonic.core6502_net_m680x",
@@ -45,7 +45,7 @@
4545
},
4646
{
4747
"name": "keyword.function.core6502_net_m680x",
48-
"match": "(?i)\\b(abs|acos|atan|byte|cmbflt|cbmfltp|cbrt|ceil|cos|cosh|deg|dword|exp|float|floor|format|frac|hypot|len|ln|log|log10|long|peek|poke|pow|rad|random|round|section|sgn|sin|sinh|sqrt|tan|tanh|word)\\b"
48+
"match": "(?i)\\b(abs|acos|atan|byte|cbmflt|cbmfltp|cbrt|ceil|char|cos|cosh|deg|dword|exp|float|floor|format|frac|hypot|len|ln|log|log10|long|peek|poke|pow|rad|random|round|section|sgn|sin|sinh|sqrt|tan|tanh|word)\\b"
4949
},
5050
{
5151
"name": "keyword.define",

Core6502DotNet/Syntax Highlighters/VSCode/informedcitizenry.core-6502-dot-net-1.0.1/syntaxes/core-6502-dot-net_z80.tmLanguage.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
},
3434
{
3535
"name": "keyword.control.directive.core6502_net_z80",
36-
"match": "(?i)(^|\\s)(\\.(assert|bank|binclude|block|break|case|continue|comment|cpu|default|dsection|echo|elseifndef|elseifdef|else|elseif|encoding|end|endblock|endfunction|endif|endmacro|endpage|endrepeat|endrelocate|endswitch|endwhile|eor|equ|error|errorif|for|forcepass|foreach|format|function|global|goto|if|ifdef|ifndef|include|initmem|invoke|let|macro|map|next|org|page|proff|pron|pseudopc|realpc|relocate|repeat|return|section|switch|target|unmap|warn|warnif|while))\\b"
36+
"match": "(?i)(^|\\s)(\\.(assert|bank|binclude|block|break|case|continue|comment|cpu|default|dsection|echo|elseifndef|elseifdef|else|elseif|encoding|end|endblock|endfunction|endif|endmacro|endnamespace|endpage|endrepeat|endrelocate|endswitch|endwhile|eor|equ|error|errorif|for|forcepass|foreach|format|function|global|goto|if|ifdef|ifndef|include|initmem|invoke|let|macro|map|namespace|next|org|page|proff|pron|pseudopc|realpc|relocate|repeat|return|section|switch|target|unmap|warn|warnif|while))\\b"
3737
},
3838
{
3939
"name": "keyword.other.mnemonic.core6502_net_z80",
@@ -45,7 +45,7 @@
4545
},
4646
{
4747
"name": "keyword.function.core6502_net_z80",
48-
"match": "(?i)\\b(abs|acos|atan|byte|cmbflt|cbmfltp|cbrt|ceil|cos|cosh|deg|dword|exp|float|floor|format|frac|hypot|len|ln|log|log10|long|peek|poke|pow|rad|random|round|section|sgn|sin|sinh|sqrt|tan|tanh|word)\\b"
48+
"match": "(?i)\\b(abs|acos|atan|byte|cbmflt|cbmfltp|cbrt|ceil|char|cos|cosh|deg|dword|exp|float|floor|format|frac|hypot|len|ln|log|log10|long|peek|poke|pow|rad|random|round|section|sgn|sin|sinh|sqrt|tan|tanh|word)\\b"
4949
},
5050
{
5151
"name": "keyword.define",

Core6502DotNet/Syntax Highlighters/VSCode/informedcitizenry.core-6502-dot-net-1.0.1/themes/dark-color-theme.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"name": "Block Comment",
1414
"scope": "comment.block",
1515
"settings": {
16-
"foreground": "#d1c6c6",
16+
"foreground": "#e3bcbc",
1717
"fontStyle": "italic"
1818
}
1919
},

Core6502DotNet/src/Block Processors/BlockProcessorBase.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ public BlockClosureException(string blockType)
3333
/// </summary>
3434
public abstract class BlockProcessorBase : AssemblerBase
3535
{
36+
#region Members
37+
38+
bool _createScope;
39+
40+
#endregion
41+
3642
#region Constructors
3743

3844
/// <summary>
@@ -56,7 +62,8 @@ protected BlockProcessorBase(AssemblyServices services, int index, bool createSc
5662
: base(services)
5763
{
5864
Index = index;
59-
if (createScope)
65+
_createScope = createScope;
66+
if (_createScope)
6067
services.SymbolManager.PushScope(Index.ToString());
6168
}
6269

@@ -68,16 +75,18 @@ protected BlockProcessorBase(AssemblyServices services, int index, bool createSc
6875
/// Executes the block directive. This method must be inherited.
6976
/// </summary>
7077
/// <param name="iterator">The source line iterator.</param>
78+
/// <exception cref="SyntaxException"></exception>
7179
public abstract void ExecuteDirective(RandomAccessIterator<SourceLine> iterator);
7280

7381
/// <summary>
7482
/// Cleanup the current block's scope.
7583
/// </summary>
7684
/// <param name="iterator">The source line iterator.</param>
77-
public virtual void PopScope(RandomAccessIterator<SourceLine> iterator)
85+
public void PopScope(RandomAccessIterator<SourceLine> iterator)
7886
{
7987
SeekBlockEnd(iterator);
80-
Services.SymbolManager.PopScope();
88+
if (_createScope)
89+
Services.SymbolManager.PopScope();
8190
}
8291

8392
/// <summary>
@@ -89,7 +98,7 @@ public virtual void PopScope(RandomAccessIterator<SourceLine> iterator)
8998
protected void SeekBlockDirectives(RandomAccessIterator<SourceLine> iterator, StringView[] directives)
9099
{
91100
var line = iterator.Current;
92-
if (!directives.Contains(line.Instruction.Name, Services.StringViewComparer))
101+
if (!line.Instruction.Name.Equals(BlockClosure, Services.StringComparison))
93102
{
94103
var blockClose = BlockClosure;
95104

0 commit comments

Comments
 (0)