Dawn - the SUBLEQ operating system by Geri

Dawn - the SUBLEQ operating system by Geri

Public Chat
Similar projects worth following
Other operating systems are designed to run on extremely complex hardware environments, but Dawn operating system is designed for the SUBLEQ architecture, which have no traditional instruction set. This allows a Dawn compatible processor and computer to be designed from a millionth costs than a traditional CPU.

Dawn is a modern graphics operating system, it supports the folowing features:
- Big-endian 64-bit SUBLEQ CPU
- Virtual keyboard
- Touchscreen
- Multitouch
- 64-bit sound input and output on 8 channels
- 4 force-feedback joysticks
- 16 RGB cameras
- up to 32-bit RGBA graphics output, transparent screens are also supported
- An own p2p wireless networking protocol based on geolocation and requiring no external network provider cormprations
- CPU hotplug
- Basic tools like document reader, paint, wave player, process explorer, etc
- Some simple games like chess, amoeba
- C/C99 compiler

Please donate if you like this project!

Bitcoin Cash: 1F8SHictsw6h7WqWnoAagiCnS5p7Ssvca2
BTC clones: 1F8SHictsw6h7WqWnoAagiCnS5p7Ssvca2
Monacoin: MNV8u6y2MhV9d4etZG7R3eEAjDhwd8cvFz 
Dogecoin: DNNJJT7fmTcYHcpT4HAMLo6UyBdiusEUvi 
Reddcoin: RttRMvcsXr2NgvtYXmh1EV7JbhUcxU52Tn 
Litecoin: Leyt5DPYdcZPJiVWm2WwfqmgZWuXF44TSz 
Vertcoin: 396DcncKLgXjrSgNtdnRMiSmrzoR2pjhYu 

  • 2020, july 07. - Small bugfix in the compiler

    Geri10/12/2020 at 14:49 0 comments

    2020, july 07. - Small bugfix in the compiler
    -Compiler generated broken code, if there was no inline format string with snprintf-type functions.

  • C / C99 to SUBLEQ Cross compiler

    Geri03/30/2020 at 21:48 0 comments

    2020, mar 31. - SUBLEQ Cross-compiler
    -New compiler backend and cross-compiler is available.
    -Windows and Linux version of Dawn compiler is available.
    -Rendering now wakes up less CPU cores, when doing only minor redraws.
    -Some small bugfix in the compiler.

    2019, oct 31. - Refactoring the compiler
    -Major upgrades took place in the compiler, to allow faster compilation times.
    -The compiler now eats 25% less RAM.
    -The generated code by the compiler is now 2-3% faster.
    -5% faster compilation.
    -5% smaller output file.

  • 2019, june 19. - Compiler patch

    Geri06/18/2019 at 20:13 0 comments

    -Added support for hexadecimal numbers in compiler (0xABCDEF format).
    -Added support for binary numbers in compiler (0b101010 format).
    -Fixed a bug when multiplying numbers as a*=16, 32 or 64.
    -Small optimization, when multiplying numbers as a=b*16, 32 or 64.
    -Fixed some mistranslations. 

  • 2019, april 2. - Font patch

    Geri04/23/2019 at 10:23 0 comments

    2019, april 2. - Font patch
    -The most popular hiragana set were missing from the character table.

  • 2019, feb 13. - Compiler optimizations

    Geri03/08/2019 at 16:14 0 comments

    2019, feb 13. - Compiler optimizations
    -5% speed-up in the compiler.
    -Dead code is removed from the compiler.

  • Dawn video on Youtube by Druaga1

    Geri01/21/2019 at 23:56 0 comments

  • Recent updates

    Geri01/21/2019 at 23:53 0 comments

    2019, jan 07. - Search software

    -A new built-in search software called Find is added into the operating system.
    -The process explorer now rolls around if moving upwards with the UP key.

    2018, dec 08. - Minor bugfix
    -Drawing the rotated text in the resolution settings is too slow, so most of
    the text is removed from there to keep the panel a bit more responsive.

    2018, oct 26. - Fixing some strange bugs
    -Marking text in Open/Save dialog was bugous.
    -Compiler sometimes silently generated garbage code for too complex formula.
    -Fixed a bug with copying and pasting texts in the system (reported by Mintsuki).
    -Fixed a typo in the hardware documentation (reported by Mintsuki).
    -A bug allowed a hidden window to receive mouse button events through window borders in some cases (reported by Mintsuki).
    -Fixed a bug in malloc implementation (reported by Mintsuki).

    2018, sep 28. - Editor hotfix
    -Backspace button caused memory corruption the editor in some cases.

    2018, sep 16. - Compiler update
    -New function calling convention is added, which results in smaller code size and a tiny speed-up.

  • Recent updates on Dawn operating system

    Geri08/30/2018 at 02:10 0 comments

    2018, aug 31. - Critical bugfix
    -Fixed a scheduler malfunction that sometimes illegally scheduled processes to the 0th
    core on SMP systems, causing stall. Every user must update to this release.

    2018, aug 30. - Smaller load time, and bugfix
    -Operating system initialization time is optimized by 10-20%.
    -Fixed a bug in chess with enpassant.
    -Fixed a performance glitch in chess.
    -Fixed a bug with GUI when opening new app.

    2018, july 30. - Optimizations and bugfix
    -Fixed a selection length bug in the text editor.
    -Renderer was updated, 5% speed up overall
    -Fixed a bug in the compiler with unsigned int * declarations and casting.

    2018, july 10. - Chess bugfix
    -A bug was fixed in the chess.

    2018, june 30. - Minor update
    -5-10% speed-up in the user interface in some cases.

  • Bugfix history

    Geri05/15/2018 at 19:51 0 comments

    2018, may 15. - Bugfix release
    -Alarm clock caused crash on activation.
    -Alarm clock settings was not saved in system.
    -System info panels mistakenly displayed Petabyte, when they should have calculated Gigabyte.
    -Fixed a floating GUI glitch with bold texts.

    2018, april 14. - AVI player
    -Added video player, it can play uncompressed BGR24 and YUV420 AVI files.

    -Fixed some minor bugs in the wave player.
    -Fixed a rendering bug
    -5-10% speed-up on low-end systems.
    -5-10% speed-up in the linux version of the 64-bit emulator itself (rewritten in assembly - again).
    -5-10% speed-up on multicore systems when re-rendering small graphics elements.
    -Fixed system volume panel, when virtual keyboard is open.
    -Added hwrite_lock function in C to act as lock/semaphore functionality for better thread synchronization.
    -Fixed a bug causing kernel crash when deleting a single-lined selected text in the editor.
    -Displaying the memory corruption warning itself caused memory corruption.

    2018, march 18. - Image viewer hotfix
    Fixed ratio bugs in image viewer.

    2018, march 04. - Small optimizations
    Less clock cycle is wasted when navigating with absolute mouse pointer.
    If the frame per second rate is high, the OS will show the resizing-shape of mouse cursor when its above borders, even in absolute mouse mode.
    Various bugs are fixed with the scroll bars when nagivating in the file browser.
    Font rendering is now 5%-10% faster.

    2018, march 01. - Better font rendering
    Better fixed-width font rendering in some textboxes and in the text editor.
    The 5-th unused mouse parameter index is now also erased by the mouse handler to help indicating when it was reading out the params.
    A minor glitch was fixed on the virtual keyboard.
    Boot time on some SMP systems decreased by 5-10%.

    2018, jan 24. - Better interface
    -Fixed a bug causing memory corruption, when pressing a key in system exit menu.
    -Fixed various bugs causing memory corruption, when typing larger texts into some text boxes.
    -Added a text box to disk browser 
    -Better coloring, and keyboard handling in file browser
    -Fixed a potential file system corruption bug, when a disk is removed, now the system tries to eventually close down all file descriptor with write or append privilige.
    -Added ramdrive support.
    -Fixed a keyboard glitch in new directory/file menu.
    -Fixed scale bugs in file browser for open/save.
    -Fixed some misleading informations in the hardware manual.

    2018, jan 07. - Small footsteps
    Now the file info menu exits on escape key.
    Added Mill game (Nine Mans Morris).
    Fixed a bug that disabled manual display resolution settings in the OS.
    On slow configurations, the built-in tools are opening faster, when they are opened from the start menu, or from the taskbar.
    Lock screen now display date and time.

    2017, dec 18. - Important update
    Better tolerance of cache incoherency in PCB.
    Added CPU speed measure in About menu.
    Save/SaveAs menu recolored a bit, and now its less CPU demanding.
    Added getch and _getch to C compiler for better compatibility with sloth programmers (warning - it will destroy pending mouse packages too).
    Fixed broken chdir("..") call in the operating system.
    Due to a bug, the OS was unable to run executables when only one core was present in the system.

    Better performance on unicore systems.
    Fixed a glitch in process control when suddenly a lot of new cpu cores appear.
    Fixed more problems with CPU hotplug.
    Fixed broken home directory management for executables.
    Fixed some broken text alignation in compiler help, and added some missing backslashes.
    Disk explorer now dont makes a blank cycle before displaying the drives.

    2017, dec 09. - Small bugfix
    Dawn now works on GPU-s: with a new OpenCL capable emulator, Dawn now boots and works on Graphics Cards, GPU-s and IGP-s (with OpenCL 1.0). 
    Dawn is the first and only operating system to boot and work fully on a graphics chip. 
    Fixed bugs on systems without timer.
    Fixed a bug when cpu core sync is slow in the renderer.

    2017, dec 07....

    Read more »

View all 9 project logs

Enjoy this project?



Stefano wrote 08/05/2020 at 08:31 point

The O.S. seems interesting, but in general single instructions computers are very inefficient.

It is coded directly in SubLeq or compiled from an HLL? In case the latter, have you considered the possiblity to cross compile it also for other architectures?

  Are you sure? yes | no

Geri wrote 10/12/2020 at 14:54 point

Thankyou for your reply. I wrote the OS and the compiler in C, in theory i could compile the system for various architectures. But i dont think i will do it - there are already dozens of great operating systems for other architectures. I think to write a good, capable, and efficient operating system for more complex architectures, the developer must have to follow a different strategy, a Dawn compilation for different systems would not result in a great software, architecturally it would not be able to utilize the potential to a more complex hardware compared to other OS. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates