diff --git a/Preferences/EDASM Folding.tmPreferences b/Preferences/EDASM Folding.tmPreferences
new file mode 100644
index 0000000..199f904
--- /dev/null
+++ b/Preferences/EDASM Folding.tmPreferences
@@ -0,0 +1,19 @@
+
+
+
+
+ name
+ EDASM Folding
+ scope
+ source.asm.6502.edasm
+ settings
+
+ foldingStartMarker
+ \b(?i:DSECT|DO|IFNE|IFEQ|IFLT|IFLE|IFGT|IFGE)\b
+ foldingStopMarker
+ \b(?i:DEND|FIN)\b
+
+ uuid
+ 3B1A516B-A7C6-47A2-B7A4-C60D3E5CABAE
+
+
diff --git a/Preferences/MPW Folding.tmPreferences b/Preferences/MPW Folding.tmPreferences
new file mode 100644
index 0000000..6de555a
--- /dev/null
+++ b/Preferences/MPW Folding.tmPreferences
@@ -0,0 +1,19 @@
+
+
+
+
+ name
+ MPW Folding
+ scope
+ source.asm.65816.mpw
+ settings
+
+ foldingStartMarker
+ \b(?i:FUNC|INIT|PROC|RECORD|STACKDP|WITH|MACRO)\b
+ foldingStopMarker
+ \b(?i:ENDF|ENDFUNC|ENDI|ENDP|ENDPROC|ENDR|ENDSTACK|ENDWITH|ENDM|ENDMACRO|MEND)\b
+
+ uuid
+ 0336F07E-4801-40D6-8AB0-0D3F8DF88070
+
+
diff --git a/Syntaxes/65816.tmLanguage b/Syntaxes/65816.tmLanguage
index ec84123..68a0294 100644
--- a/Syntaxes/65816.tmLanguage
+++ b/Syntaxes/65816.tmLanguage
@@ -17,6 +17,27 @@
repository
+ M6502
+
+ match
+ \b(?i:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b
+ name
+ keyword.mnemonic.6502
+
+ M65816
+
+ match
+ \b(?i:BRL|COP|JML|JSL|MVN|MVP|PEA|PEI|PER|PHB|PHD|PHK|PLB|PLD|REP|RTL|SEP|TCD|TCS|TDC|TSC|TXY|TYX|WDM|XBA|XCE)\b
+ name
+ keyword.mnemonic.65816
+
+ M65C02
+
+ match
+ \b(?i:BRA|PHX|PHY|PLX|PLY|STP|STZ|TRB|TSB|WAI)\b
+ name
+ keyword.mnemonic.65c02
+
binary_number
match
@@ -45,6 +66,13 @@
name
keyword.mnemonic.65816.long
+ octal_number
+
+ match
+ @([0-7]+)\b
+ name
+ constant.numeric.octal
+
scopeName
source.asm.65816
diff --git a/Syntaxes/EDAsm.tmLanguage b/Syntaxes/EDAsm.tmLanguage
new file mode 100644
index 0000000..c0734f1
--- /dev/null
+++ b/Syntaxes/EDAsm.tmLanguage
@@ -0,0 +1,114 @@
+
+
+
+
+ fileTypes
+
+ name
+ EDASM
+ patterns
+
+
+ include
+ source.asm.65816#M6502
+
+
+ include
+ source.asm.65816#M65C02
+
+
+ include
+ source.asm.65816#hex_number
+
+
+ include
+ source.asm.65816#binary_number
+
+
+ include
+ source.asm.65816#decimal_number
+
+
+ include
+ source.asm.65816#octal_number
+
+
+ match
+ \b(?i:BLT|BGE|DEA|INA|LSL)\b
+ name
+ keyword.mnemonic.6502.alt
+
+
+ match
+ ^[A-Za-z][A-Za-z0-9@]*\b
+ name
+ entity.name.label
+
+
+ match
+ ^[*;].*
+ name
+ comment.line
+
+
+ match
+ ;.*
+ name
+ comment.line
+
+
+ captures
+
+ 1
+
+ name
+ keyword.directive.string
+
+ 2
+
+ name
+ string.delimited.begin
+
+ 3
+
+ name
+ string.delimited
+
+ 4
+
+ name
+ string.delimited.end
+
+
+ comment
+ delimited strings.
+ match
+ \b((?i)ASC|STR|DCI)\s+(\S)(.*?)(\2|$)
+ name
+ meta.string.delimited
+
+
+ match
+ \b(?i:ASC|CHN|CHR|DATE|DCI|DDB|DEF|DFB|DS|DSECT|DW|ENTRY|EQU|EXTRN|FAIL|FIN|IBUFSIZ|IDNUM|INCLUDE|INTERP|LST|MACLIB|MSB|OBJ|ORG|PAGE|REF|REL|REP|SBTL|SBUFSIZ|SKP|STR|SYS|TIME|ZDEF|ZREF)\b
+ name
+ keyword.directive
+
+
+ match
+ \b(?i:DO|ELSE|FIN|IFEQ|IFGE|IFGT|IFNE|IFLE|IFLT)\b
+ name
+ keyword.control.conditional
+
+
+ match
+ [-+/|^!<>*#()]
+ name
+ keyword.operator
+
+
+ scopeName
+ source.asm.6502.edasm
+ uuid
+ 3B702721-C1B1-4DB6-A163-0FD9D6A83F4C
+
+
diff --git a/Syntaxes/MPW Asm IIgs.tmLanguage b/Syntaxes/MPW Asm IIgs.tmLanguage
new file mode 100644
index 0000000..032f11f
--- /dev/null
+++ b/Syntaxes/MPW Asm IIgs.tmLanguage
@@ -0,0 +1,175 @@
+
+
+
+
+ fileTypes
+
+ aii
+
+ name
+ MPW Asm IIgs
+ patterns
+
+
+ include
+ source.asm.65816
+
+
+ include
+ source.asm.65816#hex_number
+
+
+ include
+ source.asm.65816#binary_number
+
+
+ include
+ source.asm.65816#decimal_number
+
+
+ match
+ \b(?i:BLT|BGE|CPA|DEA|INA|SWA|TAS|TSA)\b
+ name
+ keyword.mnemonic.65816.alt
+
+
+ comment
+ Rockwell/m740
+ match
+ \b(?:BBC|BBR|BBS|CLB|RMB|SEB|SMB)[0-9]\b
+ name
+ keyword.mnemonic.other
+
+
+ comment
+ Rockwell/m740
+ match
+ \b(?i:CLT|COM|LDM|RRF|SETT|TST)\b
+ name
+ keyword.mnemonic.other
+
+
+ match
+ ^[A-Za-z@_~][A-Za-z0-9@_~%$#]*\b
+ name
+ entity.name.label
+
+
+ match
+ (?<=,)([xXyYsS])\b
+ name
+ variable.language.register
+
+
+ match
+ \b(?i:NOT|DIV|MOD|AND|OR|XOR|EOR)\b
+ name
+ keyword.operator
+
+
+ begin
+ "
+ end
+ "
+ name
+ string.quoted.double
+
+
+ begin
+ '
+ end
+ '
+ name
+ string.quoted.single
+
+
+ match
+ ^[*;].*
+ name
+ comment.line
+
+
+ match
+ ;.*
+ name
+ comment.line
+
+
+ match
+ [=<>+-/|*#()^]|(<>|<=|>=)
+ name
+ keyword.operator
+
+
+ match
+ \b(?i:NOT|DIV|MOD|AND|OR|XOR|EOR)\b
+ name
+ keyword.operator
+
+
+ begin
+ \b((?i)MACRO)\b
+ captures
+
+ 1
+
+ name
+ keyword.directive
+
+ 2
+
+ name
+ keyword.directive
+
+
+ comment
+ enable &# macro parameters w/in a MAC ... ^^^ definition.
+ end
+ \b((?i)ENDMACRO|ENDM|MEND)\b
+ name
+ meta.macro
+ patterns
+
+
+ include
+ $self
+
+
+ match
+ &[A-Za-z][A-Za-z0-9]*
+ name
+ variable.parameter
+
+
+
+
+ match
+ \b(?i:ALIGN|BLANKS|CASE|CODE|CODECHK|DATACHK|DIRECT|DUMP|EJECT|END|ENDF|ENDFUNC|ENDI|ENDP|ENDPROC|END_PROC|ENDR|ENDSTACK|ENDWITH|ENTRY|EQU|EXPORT|FUNC|IMPORT|INCLUDE|INIT|LOAD|LONGA|LONGI|MACHINE|MSB|ORG|PAGESIZE|PRINT|PROC|RECORD|SEG|SEGATTR|SET|SPACE|STACKDP|STRING|TITLE|WITH)\b
+ name
+ keyword.directive
+
+
+ match
+ \b(?i:(DC|DCB|DS))([.].)?\b
+ name
+ keyword.directive.data
+
+
+ match
+ \b(?i:ACTR|AERROR|ANOP|CYCLE|ELSE|ELSEIF|ENDIF|ENDM|ENDMACRO|ENDWHILE|EXITM|GOTO|IF|LEAVE|MACRO|MEND|MEXIT|THEN|WHILE|WRITE|WRITELN|SET|SETA|SETC)\b
+ name
+ support.function.macro
+
+
+ match
+ &(?i:ABS|CHR|CONCAT|DEFAULT|DELSYMTBL|ENTERSYM|EVAL|FINDSYM|GETENV|INTTOSTR|I2S|ISINT|LEN|LEX|LIST|LOWCASE|LC|MAX|MIN|NBR|NEWSYMTBL|ORD|POS|SCANEQ|SCANNE|STRTOINT|S2I|SETTING|SUBSTR|SYSDATE|SYSINDEX|SYSLIST|SYSLST|SYSLOCAL|SYSGLOBAL|SYSMOD|SYSSEG|SYSTIME|SYSTOKEN|SYSTOKSTR|SYSVALUE|SYSFLAGS|TRIM|TYPE|UPCASE|UC)\b
+ name
+ support.function.macro
+
+
+ scopeName
+ source.asm.65816.mpw
+ uuid
+ 64362FB8-D779-440E-ABF7-5D238FF4A65D
+
+
diff --git a/Syntaxes/ORCA:M.tmLanguage b/Syntaxes/ORCA:M.tmLanguage
index bf64b50..f1c0cbc 100644
--- a/Syntaxes/ORCA:M.tmLanguage
+++ b/Syntaxes/ORCA:M.tmLanguage
@@ -27,6 +27,10 @@
include
source.asm.65816#decimal_number
+
+ include
+ source.asm.65816#octal_number
+
match
\b(?i:BLT|BGE|CPA)\b
@@ -72,33 +76,69 @@
name
entity.name.label
+
+ captures
+
+ 1
+
+ name
+ keyword.directive
+
+ 2
+
+ name
+ constant.language
+
+
+ comment
+ eg: LONGA ON
+ match
+ \b((?i)ABSADDR|CASE|CODECHK|DATACHECK|DYNCHK|ERR|EXPAND|IEEE|INSTIME|LIST|LONGA|LONGI|MSB|NUMSEX|OBJCASE|PRINTER|SYMBOL|65C02|65816)\s+((?i)ON|OFF)
+ name
+ meta.onoff.directive
+
+
+ captures
+
+ 1
+
+ name
+ keyword.directive
+
+ 2
+
+ name
+ string.quoted.other.path
+
+
+ comment
+ eg: KEEP pathname
+ match
+ \b((?i)APPEND|COPY|KEEP|MCOPY)\s+(\S*)
+ name
+ meta.path.directive
+
match
\b(?i:ABSADDR|ALIGN|ANOP|APPEND|CASE|CODECHK|COPY|DATA|DATACHK|DC|DIRECT|DS|DYNCHK|EJECT|END|ENTRY|EQU|ERR|EXPAND|GEQU|IEEE|INSTIME|KEEP|KIND|LIST|LONGA|LONGI|MCOPY|MEM|MERR|MSB|NUMSEX|OBJ|OBJCASE|OBJEND|ORG|PRINTER|PRIVATE|PRIVDATA|RENAME|SETCOM|START|SYMBOL|TITLE|USING|65C02|65816)\b
name
keyword.directive
-
- match
- @[0-7]+
- name
- constant.numeric.octal
-
match
\b[aA]\b
name
- variable.language
+ variable.language.register
match
- (?<=,)([xXyY])\b
+ (?<=,)([xXyYsS])\b
name
- variable.language
+ variable.language.register
match
- [=<>+-/|*#()^]|(<>|<=|>=)
+ [=<>+-/|*#()^\[\]]|(<>|<=|>=)
name
keyword.operator