forked from CosmosOS/XSharp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ToDo 2017.txt
105 lines (68 loc) · 2.81 KB
/
ToDo 2017.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
XSharp.x86
"EAX" -> Reg
types then map to compile
Asm.Emit(Asm.Op.Mov, "EAX", 0);
inside use .tostring + $""
Kudzu ----------------------------------------------------
*** PrivateAssets to G3
Change XSC to use Clogger
Parser
-SyntaxMap - can be circular
-UI for map, read from file? and code?
-Multiline comments
-Feedback from line to tell it "more" - use /* for both ends
-Call() - integrate into pre process so all passed later must be tokens
-Call(Params, can be regs or memroy or labelws or const..)
-function(params)
-/! Cosmos.Plug - params?
-Direct plugs - ie in .xs to types
Plugins - Use XSharp.Build.Plugins
pre/post directives, separate api than normal pre/post
-as namespaces - process for - ie Cosmos.directive
pre/post as plugins
Publicity
Docs, Videos, website, Microsoft, C9
---
Change all namespace in .xs source files to:
/! namespace ....
EmitUserComments
-Take from property first
-Each .xs can turn on or off with directive, or use inherit. If no directive, then inherit
-Settings only apply for that .xs and reset to the master property when new .xs is processed
-Same for .EmitSourceCode
.EmitSourceCode comments - if on then above each section it should emit a comment in the .ASM file showing the X# source.
/! include <file ref>
Does an inline include of the reffed file.
X# plugs
X# still has that hard ref to INTs last known address
X# method arguments
X# local vars - Zed style? . .. ..
Asm debugging, modularize DS and then Cosmos expands it. Remote over serial too
X# can be in C# with variable use etc through stack or special area for single X# calls
Change IL2CPU to use X# instead of XSharp.Assembler
DebugStub�ReferenceHelper - Better way? Not needed if we merge probably, needed at all beyond?
Convert DebugStub as necessary
Move all X# code into Cosmos.CPU except that which is used as a plug to .NET Framework (that goes to CpuPlug, later)
CpuPlug
Redo parser (careful, need to work it out first).
Possibly can be done earlier as part of CXSC
To replace entirely current X# usage.
Remove old syntax and support after all ported
Separate out X# into separate repo when it can stand alone.
VS Code support (Jp2masa already has code, work with him and merge it in)
X64, ARM etc
UEFI integration
Charles -------------------------------------------------
VSIP
-Change VS items into X# / X Sharp
name/section
-X# Project Type
Make X# into a nuget pkg so users can find it easily
jp2masa ------------------------------------------
XSC
-append/output params (see program.cs)
-Expand program.cs etc in XSC to allow compiling from resources in .dll files
Can you modify our build process to to call XSC separately from IL2CPU? This will separate it out, and also let us handle plugins to XSC easier.
Arawn ------------------------------------------
UEFI
Move stuff to XSharp.Build