Commit graph

3147 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
Matthijs ter Woord
a6afa5b785 Enable magic breakpoints in bochs debugger. 2016-06-23 16:34:20 -04:00
fanoI
49192ffa24 - Conv.r.un is now partially implemented: an uint can be converted to double, not working code for ulong to double conversion
- Added (not working) test for ulong to double conversion
- Added to Assembler.cs costants needed for floating point conversions
2016-06-21 23:03:37 +02:00
Charles Betros
a194f1dd73 Disable Frotz build. 2016-06-19 12:35:03 -05:00
Charles Betros
1e55f613d8 Build config changes. 2016-06-19 09:18:22 -05:00
Charles Betros
8f57c22fc8 Minor build changes 2016-06-19 02:20:51 -05:00
MichaelTheShifter
db31f1bbfe Added some new Console keys. 2016-06-18 15:26:01 -04:00
Matthijs ter Woord
ae1b309426 Works now. 2016-06-18 11:40:17 -04:00
Matthijs ter Woord
fa59b923b4 Weird build fix. 2016-06-18 10:41:55 -04:00
Matthijs ter Woord
4e426591d5 Merge branch 'crypto' of git://github.com/MichaelTheShifter/Cosmos into MichaelTheShifter-crypto 2016-06-18 10:34:53 -04:00
Kudzu
b7d03b4312 Heap 2016-06-17 18:54:13 -04:00
Matthijs ter Woord
870a73daa8 Disable default building of frotz kernel. 2016-06-17 18:36:31 -04:00
Matthijs ter Woord
ba808f2bc6 . 2016-06-17 18:35:22 -04:00
Matthijs ter Woord
efb7823d9f . 2016-06-17 16:40:46 -04:00
Matthijs ter Woord
5d66d12d69 . 2016-06-17 15:18:29 -04:00
Matthijs ter Woord
17dcca9a91 . 2016-06-17 15:01:56 -04:00
Matthijs ter Woord
cf4025b697 . 2016-06-17 14:34:35 -04:00