Commit graph

16 commits

Author SHA1 Message Date
valentinbreiz
9db7fea272 use linear framebuffer offset got from VBE ModeInfo 2020-07-06 05:39:07 +02:00
valentinbreiz
5e8882057f Merge branch 'master' into dev/multibootvbe 2020-07-06 05:31:29 +02:00
valentinbreiz
f20d7f3930 move GetMBIAddress to Cosmos.Core_Asm + get pointers of VBE modeinfo and controllerinfo from multiboot 2020-07-06 04:10:20 +02:00
valentinbreiz
1d1e9d13bc VBE mode change fix for high resolutions
now hardcoded buffer size for video memory
(I really don't know why it didn't work)
2020-07-06 03:00:07 +02:00
valentinbreiz
57547fd245 double buffering working! 2020-07-03 23:46:38 +02:00
Elia Sulimanov
c58df4d6a2 Done VBE api docs 2020-07-03 14:48:07 +03:00
Kudzu
fa4c223452 Move again because of submodules being less than half baked in git. 2017-08-10 16:04:19 -04:00
Kudzu
fa00b78441 New Cosmos parent dir 2017-08-08 11:29:41 -04:00
Kudzu
1dfe69bc73 Namespace change in prep for project merge 2017-07-13 14:25:50 -04:00
José Pedro
5096e3cd90 Merge branch 'master'. 2017-05-04 01:18:50 +01:00
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
fanoI
73aa970508 CGS finally works!
Please note that this version works only with Bochs.

- To make it works was needed to renounce to all structures (a part for primitive types) so now Mode and Color are classes.
- Implemented methods of Canvas DrawPoint(), DrawLine() and DrawRect() for now only color depth of 32 bit and integer coordinates are supported
- Changed IoPort of Bochs / VBE to MemoryBlock and not MemoryBlock08 so I can write an 32 bit ARGB color in only an operation instead of 4, this will semplify the future
  work of RGB24 and RGB16 too. Changed the name to the correct one "LinearFrameBuffer".
- Made VBEDriver more object oriented (used enums instead of hardcoded values, created methods and so on...)
- Bugfix in the Pen class there was confusion in the setter / getter of the Color property
- In VBEScreen removed the old code that is not needed anymore, added check to method arguments (that throws in case of fatal errors)
2017-01-08 22:57:27 +01:00
Charles Betros
411ce3e872 Create projects and msbuild targets for dotnet core. 2016-12-13 22:39:41 -06:00
MyvarHD
e5ff48ef10 added Drawing code 2015-07-23 23:17:57 +02:00
MyvarHD
7d65f793eb Fixed up the vbe mode code 2015-07-23 22:02:23 +02:00
MyvarHD
c22c0d609c Started Vbe 2015-07-23 21:16:21 +02:00