Commit graph

61 commits

Author SHA1 Message Date
fanoI
db5b713090 CGS is finally ready to be used! Let's merge it...
- To solve the slowness of the MemoryBlock Fill() method when the block has a big size I've created a new class for this MemoryOperations that for now contains only the method Fill() with a part implemented in ASM and with some overloads to semplify its usage from managed code. In future in this class will be added other methods to operate fast on memory for example Cmp() and Copy().
- Adding (not passing) test of the Color struct to the BoxingTest kernel
- Removed BoxingTest kernel inside BCL test: it was a duplicate of the BoxingTest kernel
- Restored correct TestKernelSets
- In the CGS Test kernel the last rectangle is now LimeGreen instead of another type of red (more clear that is working correctly)
- Added to X# the generation of the instruction Shuftps
- Added to X# the generation of the instruction MoveUPS
- Modified Guess Demo to wait for a key press to terminate (it closed suddenly in case the number was guessed)
- The VBE IOMemoryBlock has again size of 1920x1200 (the max usable)
- Added CGS Demo
- Code clean up
2017-03-05 20:32:55 +01: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
Charles Betros
85103e9d9b RAT progress 2016-08-26 07:02:18 -05: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
Charles Betros
045fe549fb Merge branch 'master' 2016-08-18 16:55: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
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
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
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
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
Matthijs ter Woord
6be879d25a Progress on heap. 2016-06-20 13:10:34 -04:00
Matthijs ter Woord
6ea1ca7255 Object pointer size is bumped up to 8. First the actual data pointer, then the pointer to the next object pointer 2016-06-18 15:06:30 -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
Matthijs ter Woord
adb9d3b988 . 2016-06-17 14:30:54 -04:00
Matthijs ter Woord
cc44dc021e . 2016-06-17 13:16:01 -04:00
Matthijs ter Woord
ac1f59034d . 2016-06-17 12:58:26 -04:00
Matthijs ter Woord
4cfc7aabe7 . 2016-06-17 08:23:48 -04:00
Matthijs ter Woord
9d203f141e . 2016-06-16 20:08:41 -04:00
Matthijs ter Woord
990591c9ff . 2016-06-16 18:47:08 -04:00
Matthijs ter Woord
a1d0215d86 . 2016-06-16 17:53:08 -04:00
Matthijs ter Woord
335ed4c0b2 . 2016-06-16 17:25:26 -04:00
Matthijs ter Woord
78771994f8 . 2016-06-16 17:24:46 -04:00
Matthijs ter Woord
7657070e1e . 2016-06-16 14:33:38 -04:00
Matthijs ter Woord
dd1710d742 . 2016-06-16 12:59:00 -04:00
Matthijs ter Woord
5979ad032e . 2016-06-15 15:04:50 -04:00
Matthijs ter Woord
bbb8265166 . 2016-06-15 09:55:11 -04:00
Matthijs ter Woord
f5e3ea6da9 . 2016-06-15 08:39:19 -04:00
Matthijs ter Woord
456772f88f . 2016-06-14 21:25:40 -04:00
Matthijs ter Woord
9a2f6714b5 . 2016-06-14 20:58:19 -04:00
Matthijs ter Woord
ee36382c27 . 2016-06-14 20:39:18 -04:00
Matthijs ter Woord
336020b418 . 2016-06-14 20:36:14 -04:00
Matthijs ter Woord
1b42377138 . 2016-06-14 17:53:14 -04:00
Matthijs ter Woord
d5dc2328b0 More refactoring. 2016-06-14 16:46:11 -04:00
Matthijs ter Woord
1d7fd7fd8a Fix the boot screen. 2016-06-14 12:37:56 -04:00
Matthijs ter Woord
3702de977b . 2016-06-13 12:06:37 -04:00
Matthijs ter Woord
4ed9d246ae First compiler refactoring. 2016-06-13 08:27:59 -04:00
Matthijs ter Woord
1d90e04ad5 . 2016-06-12 15:34:31 -04:00
Matthijs ter Woord
ba9d2929cd Compare moved to newer x# stuff. 2016-06-12 15:25:48 -04:00
Matthijs ter Woord
ed4c39c238 . 2016-06-12 12:28:23 -04:00
Matthijs ter Woord
88332a04be . 2016-06-12 12:09:11 -04:00
Matthijs ter Woord
200923c859 . 2016-06-12 10:35:03 -04:00
Matthijs ter Woord
64ada17c2d . 2016-06-12 10:17:06 -04:00
Matthijs ter Woord
e4a89f11bc . 2016-06-12 09:56:49 -04:00
Matthijs ter Woord
8a2d8a1403 . 2016-06-12 09:46:11 -04:00
Matthijs ter Woord
91d891244c . 2016-06-12 09:25:09 -04:00
Matthijs ter Woord
6e7a942987 Move x# improvements. 2016-06-12 09:07:47 -04:00