Commit graph

3292 commits

Author SHA1 Message Date
José Pedro
a860b2373a Fixed Newobj for string with length parameter.
Minor changes in debugging and FAT test messages.
Removed useless "if" in FAT, previously added by me.
2016-09-29 19:48:59 +01:00
José Pedro
f7521dcd9a Merge branch 'master' of https://github.com/CosmosOS/Cosmos into KeyboardUpdate 2016-09-29 18:26:49 +01:00
Charles Betros
4b67c02f26 Fixed delegates and moved some assemblers. 2016-09-28 23:24:04 -05:00
Charles Betros
73ef14d551 Working on delegates. 2016-09-26 06:55:37 -05:00
José Pedro
594bf34fd6 Merge branch 'master' into KeyboardUpdate 2016-09-14 23:48:57 +01:00
Charles Betros
b3737d726c Fat fixes. 2016-09-11 16:35:43 -05:00
Charles Betros
c7fda235b2 Fix up solution 2016-09-11 15:31:53 -05:00
Charles Betros
0d645c53ba Solution version. 2016-09-11 08:03:52 -05:00
Charles Betros
95f4dbad77 More memory work. 2016-09-11 07:53:45 -05:00
Charles Betros
a9cb616f86 Merge from master. 2016-09-07 19:42:40 -05:00
fanoI
9610858423 Fixed Shr for long with count > 32 2016-09-08 00:27:01 +02:00
Charles Betros
1a63a35507 Fix for remainder op. 2016-09-07 17:03:15 -05:00
Charles Betros
c2b3094c57 Ongoing memory changes. 2016-09-07 14:49:22 -05:00
Charles Betros
4b5bc34445 Remove breakpoints. 2016-09-06 14:38:29 -05:00
Charles Betros
286d670276 Fix more tests 2016-09-06 14:34:19 -05:00
Charles Betros
87d964a602 More memory. 2016-09-05 01:01:54 -05:00
Charles Betros
1b18908a2b working on statics. 2016-09-04 09:57:47 -05:00
Charles Betros
4f13a49a85 Compiler changes for memory. 2016-09-03 00:40:33 -05:00
José Pedro
ba66f8b28d Merge branch 'master' of https://github.com/CosmosOS/Cosmos into KeyboardUpdate 2016-08-31 15:13:27 +01:00
fanoI
74534282bc Merge pull request #448 from jp2masa/TestsUpdate
Tests Update
2016-08-30 13:56:11 +02:00
fanoI
81402241c0 Fixed Template for Visual Basic kernel
- Visual Basict projects do not accept ';' as separator between the constant definitions they accept instead ','
- The example kernel was wrong as nothing was really echoed back!
2016-08-29 15:44:57 +02:00
José Pedro
479c5ed8ff Comment failing tests 2016-08-27 17:25:25 +01:00
Charles Betros
85103e9d9b RAT progress 2016-08-26 07:02:18 -05:00
fanoI
84f628614f Merge branch 'master' of https://github.com/CosmosOS/Cosmos 2016-08-25 15:47:54 +02:00
fanoI
0dbb621c5d Fixed DataMember to handle long / ulong values (that is the correct NASM type 'dq' is emitted) 2016-08-25 15:43:52 +02:00
Charles Betros
4ab093e732 Merge pull request #394 from MichaelTheShifter/fat-stuff
Adds plug for System.IO.File.Delete(), and adds deletion capabilities to FAT.
2016-08-24 20:17:55 -05:00
José Pedro
74ccda1ffc Finished merging 2016-08-24 20:04:07 +01:00
José Pedro
a3b055fa7c Merge branch master into KeyboardUpdate 2016-08-24 19:45:25 +01:00
José Pedro
3238ebce24 Small change 2016-08-24 19:39:04 +01:00
fanoI
4dbad9501d Merge pull request #435 from Unknown6656/date-time-functions
Added Stopwatch, Thread.Sleep and some CPUID implementation
2016-08-24 19:39:12 +02:00
José Pedro
92dad7b905 Merge branch 'master' of https://github.com/CosmosOS/Cosmos into TestsUpdate 2016-08-23 16:48:19 +01:00
fanoI
e2f363a200 Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	Tests/Cosmos.Compiler.Tests.Bcl/System/DoubleTest.cs
#	Tests/Cosmos.Compiler.Tests.Bcl/System/SingleTest.cs
2016-08-22 17:12:59 +02:00
fanoI
ad960c9a1a Continuation of Float work
- Fixed Single.ToString() on special cases (infinities, NaN and 0) and aumented the range of printable values
- Fixed Double.ToString(): it always printed "Double Overrange" for a bug in opcode ldarga
- Fixed opcode ldarga: the displacement of the argument variable was off of 4 bytes
- Fixed opcodes shr, shr_un and shl when the shift was more that 32 bytes, added to BCL relative tests
- Added BLC tests regarding BitConverter and unsafe code
- Moved the meat of the code of Single.ToString() and Double.ToString() to the class StringHelper together with the analogous methods for numer types
- Re-added _floatsignbit to CosmosAssembler.cs so the neg test should not fail anymore
- Removed all code relative to x87 that I had left under #if false
- Clean up
2016-08-22 16:31:22 +02:00
Unknown6656
bc8e7a7659 Reverted the changed XOR-call 2016-08-19 19:38:05 +02:00
Unknown6656
a7f72cc2e6 Fixed bool-bool-operations 2016-08-19 18:50:03 +02:00
Unknown6656
4030c1336b Changed XOR call, as it is not implemented for boolean 2016-08-19 18:20:37 +02:00
Unknown6656
f246908358 Added the german keyboard layout
* Added the German keyboard layout and made the keyboard implementation
more scalable and modular to permit future foreign keyboards.
* Added support for ALTGR-keypresses
* Added support for the OEM-102-key
* Cleaned up some code
2016-08-19 18:12:25 +02:00
Unknown6656
3ae267a1d5 Switched to expression-bodied methods
Used C#6's feature of expression-bodied methods due to readability and
code size reduction
2016-08-19 16:52:26 +02:00
Unknown6656
a0bfff9f37 Fixed time measurement 2016-08-19 09:59:14 +02:00
Charles Betros
045fe549fb Merge branch 'master' 2016-08-18 16:55:23 -05:00
Charles Betros
565053414d Merge pull request #369 from fanoI/master
- Initial work as for https://github.com/CosmosOS/Cosmos/issues/359
2016-08-18 16:32:23 -05:00
fanoI
ec6e231ac9 - Bugfix Shr_un does not really did a shift right unsigned
- Bugfix Shr does not really did a shift right signed
- Bigfix ShiftRighDouble was implemented as  ShiftLeftDouble
2016-08-18 20:10:10 +02:00
José Pedro
153cde7d5e - CosmosVFS.GetDirectoryListing(DirectoryEntry): "Argument is null or empty" error - Fixed
- File.Delete and Directory.Delete implementations - Fully Working

- Change Guess demo references to Project References - Done
2016-08-18 15:32:29 +01:00
Charles Betros
73b81c7bcc Working on rat. 2016-08-18 07:32:45 -05:00
Unknown6656
593aefad6c sry ... forgot to rename one function occurence
well ... this is awkward ....
2016-08-18 13:18:40 +02:00
Unknown6656
743b6c9a6f Rewritten ASM code to use the XS-class
I have rewritten the code to use the `XSharp.Compiler.XS`-class inside
the plug-file and I have renamed the internal functions
2016-08-18 13:15:33 +02:00
Unknown6656
c950605c71 removed the PlugRequired-Property for the CPUID-functions 2016-08-14 19:46:18 +02:00
Unknown6656
037cfcf459 Implemented Thread::sleep(int) and StopWatch::GetTimestamp() 2016-08-14 19:05:23 +02:00
Unknown6656
d31ac91b97 Added CPUID functions 2016-08-14 18:19:31 +02:00
Unknown6656
19bc57bf7f Revert "Added Stopwatch and Thread.Sleep implementation + added some cpuid-functions"
This reverts commit 1d53deb45e.
2016-08-14 18:04:11 +02:00
Unknown6656
1d53deb45e Added Stopwatch and Thread.Sleep implementation + added some cpuid-functions 2016-08-14 17:54:03 +02:00
Unknown6656
1fd7a0367c Added ASM instructions and basic DateTime-implementation
Added the x86-instructions 'LEA', 'RDTSC' and 'RDMSR'.
Added a simplistic plug for 'system::datetime', which now contains the
method for fetching the current date/time
2016-08-14 06:06:30 +02:00
José Pedro
ed181c503c Added "Save Log" button to the Test Runner UI. Added tests for StreamReader, StreamWriter, BinaryReader and BinaryWriter for FAT. Added MemoryStream tests. 2016-08-11 17:02:23 +01:00
Charles Betros
b8f35da19c Merge branch 'master' into rat 2016-08-10 22:22:22 -05:00
Charles Betros
00ae14ab24 Fix newobj for char[] 2016-08-10 19:27:52 -05:00
Charles Betros
98528fabc2 Remove temp breakpoints and commented lines. 2016-08-10 19:27:28 -05:00
Charles Betros
c8dfbd8127 Fix array copy. 2016-08-10 18:06:18 -05:00
Kevin
23c7e4c01e Fixed (short-short) op bug 2016-08-10 13:15:12 -04:00
fanoI
e6143b75df Source lose some changes... forced them! 2016-07-31 19:55:12 +02:00
fanoI
e36aeefd1a Trying to enanche the constant variables declaration:
- Added a version of XS.SSE.MoveSS that accepts a String as source (to use the constant variable name)
- Added XS.SSE2.XorPd
- Neg opcode declares the constant inline and not uses XS.LiteralCode anymore

Please note that this code actually fails the second float neg test for no valid reason!
2016-07-31 17:01:50 +02:00
José Pedro
47222a3a96 Keyboard update: KeyboardManager static class to manage different keyboards. 2016-07-18 21:26:35 +01:00
José Pedro
eede1e6675 Better keyboard implementation 2016-07-18 02:42:33 +01:00
fanoI
6e1bfb8d92 - Implemented Neg Opcode for floating point
- Added test for Neg OpCode for float and double
- Conv.U8 wrongly changed the sign of double before converting it to ulong
- Div_Un, Add_Ovf and Add_Ovf_Un had code for floating point but they should not have that for ECMA specs
2016-07-17 17:05:00 +02:00
José Pedro
2408319b41 Keyboard Update: now it's possible to change keyboard layout(it wasn't due to Rings); Fix typo in Cosmos.System.Plugs.RuntimeTypeImpl.cs; Implement op_Inequality(implemented as op_Equality and not sure if it's needed with the changes but needed it's needed by many system methods) 2016-07-12 22:38:37 +01:00
fanoI
0af7c5b78f - Finally the conversion of an ulong to a double works (IL opcode conv.r.un is completed)
- TestRunner should not be Run in process!
- Removed all unused 'variables' in CosmosAssembler.cs
- Fixed X#: FloatStoreAndPop() ignored the RegisterSize value
2016-07-03 15:00:04 +02:00
Charles Betros
37a4e71deb Merge some compiler changes from master. 2016-06-29 23:18:04 -05:00
Charles Betros
b7cd470c33 Merge 2016-06-28 23:36:03 -05:00
Charles Betros
607db8f5ff Merge missing stuff from plug manager. 2016-06-28 23:32:53 -05:00
Matthijs ter Woord
c74800a073 Merge branch 'master' into rat 2016-06-28 10:29:07 -04:00
Charles Betros
1bb7d6335f Merge from master. 2016-06-26 13:44:56 -05:00
Matthijs ter Woord
218f3ef03a Merge pull request #395 from jp2masa/ConsoleUpdate
Implemented some console methods and fixed a bug in the console, copying the behaviour of background color in windows console applications.
2016-06-26 20:27:26 +02:00
Matthijs ter Woord
5ba4fa9913 Merge pull request #391 from jp2masa/master
Replace PXE interface textbox with a combobox, filled with local machine interfaces
2016-06-26 19:27:15 +02:00
Matthijs ter Woord
8cfa0b89ca Merge pull request #389 from MichaelTheShifter/console
Added more keys to the ConsoleKeyEx -> ConsoleKey converter.
2016-06-26 19:09:01 +02:00
fanoI
56beccb8af Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	source/Cosmos.sln
2016-06-26 15:09:13 +02:00
fanoI
4e1c505e52 Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	Tests/Cosmos.Compiler.Tests.SingleEchoTest/Kernel.cs
#	source/Cosmos.Assembler/Assembler.cs
#	source/Cosmos.IL2CPU/IL/Add.cs
#	source/Cosmos.IL2CPU/IL/Ceq.cs
#	source/Cosmos.IL2CPU/IL/Cgt.cs
#	source/Cosmos.IL2CPU/IL/Cgt_Un.cs
#	source/Cosmos.IL2CPU/IL/Clt.cs
#	source/Cosmos.IL2CPU/IL/Clt_Un.cs
#	source/Cosmos.IL2CPU/IL/Conv_I2.cs
#	source/Cosmos.IL2CPU/IL/Conv_I4.cs
#	source/Cosmos.IL2CPU/IL/Conv_I8.cs
#	source/Cosmos.IL2CPU/IL/Conv_R4.cs
#	source/Cosmos.IL2CPU/IL/Conv_R_Un.cs
#	source/Cosmos.IL2CPU/IL/Conv_U1.cs
#	source/Cosmos.IL2CPU/IL/Conv_U2.cs
#	source/Cosmos.IL2CPU/IL/Div.cs
#	source/Cosmos.IL2CPU/IL/Mul.cs
#	source/Cosmos.IL2CPU/IL/Sub.cs
2016-06-26 15:02:38 +02:00
jp2masa
9b6bd665be Fix String.EndsWith and add reference to PlugsInspector project (#393)
* Fix String.EndsWith

* Add Cosmos.Core.Plugs as Reference to PlugsInspector so the list includes every plug.
2016-06-26 01:49:23 -05:00
Matthijs ter Woord
c083c8f35f Add kernel panic method to debugstub. 2016-06-25 19:33:26 -04:00
Matthijs ter Woord
6e5d7620a9 Little progress. 2016-06-25 17:37:45 -04:00
Matthijs ter Woord
38e897543b Ongoing progress integrating new memory model. 2016-06-25 15:30:58 -04:00
Matthijs ter Woord
3bfaf7f670 Make plugmanager not throw exceptions when plug targets are not found. 2016-06-25 12:16:51 -04:00
Matthijs ter Woord
c4330ffcc2 Remove fat kernel from msbuild build. 2016-06-25 11:50:31 -04:00
Matthijs ter Woord
16e57658f0 Fix project settings. 2016-06-25 11:30:33 -04:00
Matthijs ter Woord
626c96eb40 Merge branch 'master' of https://github.com/CosmosOS/Cosmos 2016-06-25 10:52:56 -04:00
Matthijs ter Woord
1433340ba5 Generic plugs work now. 2016-06-25 10:52:50 -04:00
Matthijs ter Woord
0af938b0b8 Disable boot projects of the tests, so they don't get built on normal builds. 2016-06-25 09:18:10 -04:00
Charles Betros
1550c86a05 Merge branch 'master' of https://github.com/CosmosOS/Cosmos.git 2016-06-24 23:59:58 -05:00
Charles Betros
4bd3c44060 Fix call stack in the core dump. 2016-06-24 23:59:51 -05:00
Charles Betros
222426bfa2 Merge branch 'rat' of https://github.com/CosmosOS/Cosmos.git 2016-06-24 21:39:02 -05:00
Charles Betros
f3bb974712 Progress on memory. Fix ldelem_ref. 2016-06-24 21:38:55 -05:00
Kudzu
39cdcad275 Heap 2016-06-24 15:56:58 -04:00
Matthijs ter Woord
19160c30d4 Now plugs which aren't being used aren't being compiled anymore. 2016-06-24 15:26:31 -04:00
José Pedro
8788205719 Replace PXE interface textbox with a combobox, filled with local machine interfaces 2016-06-24 20:01:18 +01:00
Charles Betros
bae772237f Added missing debugstub plug. 2016-06-24 10:27:00 -05:00
Matthijs ter Woord
9c3a2dd6d5 Merge branch 'master' of https://github.com/CosmosOS/Cosmos 2016-06-24 10:12:48 -04:00
Matthijs ter Woord
bcf4b08719 Ongoing progress to get z-machine going. 2016-06-24 09:22:43 -04:00
Charles Betros
a18c034163 Merge branch 'master' of https://github.com/CosmosOS/Cosmos.git 2016-06-24 01:47:32 -05:00
Charles Betros
117a4b9053 Created a simple core dump 2016-06-24 01:47:18 -05:00
José Pedro
fbac0cabcf Implemented some console methods and fixed a bug in the console, copying the behaviour of background color in
windows console applications.
2016-06-24 00:41:30 +01:00
Matthijs ter Woord
610f2b652a Geting closer on zork. 2016-06-23 18:12:28 -04:00
Matthijs ter Woord
3bc4ea78dd Some basic improvements. 2016-06-23 16:36:08 -04:00