Dawn - operating system for SUBLEQ
Page 1 of 1

Author:  Geri [ Fri May 11, 2018 5:48 pm ]
Post subject:  Dawn - operating system for SUBLEQ

Helo, i decided to post Dawn OS here too, i am sure some of the users here alreday aware of this system, any question is welcome, if i have time, i will answer them.

Dawn operating system is the first high-level operating system built for URISC computers.


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
- Mouse
- Keyboard
- 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
- Disk drive hotplug
- Up to 100 individual disk-drive
- Basic tools like document reader, paint, wave player, process explorer, etc
- Some simple games like chess, amoeba
- C/C99 compiler that is capable of compiling codes written for the C programming language
- SMP support, up to basically unlimited CPU cores
- Very simple IO system that will stay constant for all future versions
- Memory and disk size support up to 2^63 bytes
- Battery, and power-saving features
- UTF8, unicode, ASCII
- Fast boot and shutdown

Dawn currently has precompiled emulator for x86 (windows and linux) and arm (android) platforms.
Dawn is also capable to run on the GPU (with opencl).
The package contains several opensource emulators as well, to guide others to write they own emulator if interested.


Author:  BigEd [ Sat May 12, 2018 7:20 am ]
Post subject:  Re: Dawn - operating system for SUBLEQ

Welcome Geri!

That's an interesting project: to clarify, it is an OS in the full sense, as well as a GUI, running on a 64-bit SUBLEQ (one-instruction) CPU with at least 512MByte of RAM and preferably at least some 100MHz of clock speed.

"Dawn operating system is a traditional, classical, content creational operating system with multi-windowing, multiprocess, and multithread support. While other mainstream operating systems are content consuming operating systems designed only for communication and content consume, Dawn operating system was designed to supply a computing platform, where the user have full control over the hardware."

I see you include some emulators including source - but it seems you don't provide source for the Dawn OS itself? Is it written in C, and so do you have a C compiler for SUBLEQ?

Author:  Geri [ Sat May 12, 2018 1:09 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

hi BigEd, thankyou for showing interest,

yes, this is an os in full sense, with gui, running on 64 bit subleq cpu, with at least 384 mbyte ram, and around approx 500 mhz for responsible operation.

(i continously worked to decrease the machine demand to have a nice user experience below the 100 mhz range as well, in fact it will even work on some 10 mhz-ish environment, but its sloooooow)

yes, i provide c compiler for subleq (its selfhosting, so it also compiles the os and itself). it can be accessed in the os (start menu / tools / coder).
the codes compiled with it can also be runned on bare hardware, if you dont use operating system calls like fopen or malloc, etc.

dawn itself is not opensource, but its available freely, and license not restricts private or even commercial usage (start / help / license.txt)

Author:  robfinch [ Sat May 19, 2018 4:04 am ]
Post subject:  Re: Dawn - operating system for SUBLEQ

Hi Geri,
I find the choice to build an operating system around a SUBLEQ processor interesting. I would think the operating system for a SUBLEQ processor would be built around some sort of virtual machine running on the SUBLEQ.
Is Dawn component based or monolithic ?

Author:  Geri [ Mon May 21, 2018 6:00 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

robfinch: thankyou for the questions, Dawn is a monolithic kernel.
and it is compiled natively for subleq for performance reasons (running a virtual machine on top of subleq would not give satisfactory performance to run an os).

Author:  BigEd [ Mon May 21, 2018 6:06 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

There must be some interesting things to say about your C compiler, I think - even a subroutine call must take quite a number of instructions. Please tell all!

Author:  Geri [ Mon May 21, 2018 10:37 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

subroutine call: yes, as the architecture have no registers or hardware stack handling, and it would be too much clock to compute addresses for local variables every time, so the compiler generates a ,,function-call-heavy'' code for function calls which creates and syncs a fake stack to avoid local variable access overhead. most of the higher level language elements (such as bitshifts with variable or so) are implemented in runtime, to keep the development time low (as i had a planned time peroid which i was able to spend on this project, which i of course exceeded at the end). the compiler is of course self hosting, as it compiles itself and the OS as well, its basically the soul of the project. meanwhile it generates suprisingly optimal code, from an engineering standpoint its not a great work, it lacks some features (like switches and structs) and its very slow and unscientifical (it uses 70 or 80 pass to morph the code to turn into subleq binary into the end in a giant monolithic code snippet).

Author:  BigEd [ Tue May 22, 2018 12:34 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

There's good precedent for that approach, as you might know: "FORTRAN was provided for the IBM 1401 by an innovative 63-pass compiler that ran in only 8k of core. It kept the program in memory and loaded overlays that gradually transformed it, in place, into executable form"

Author:  Geri [ Tue May 22, 2018 8:48 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

i dont know fortran, but isnt it designed for writing banking software?

i did C only as thats the ultimate programming language of this (and the previous 3) decade and i know it well enough. i was thinking on adding BASIC (actually, converting basic to C in an extra pass), i didnt yet convienced myself to do it, but beginners would probably like it.

C compilers however are usually made with a method that analizes the code, and makes graphs from it, but i know nothing about that field (i am not expert in compiler writing), so i made it from multiple pass.

Author:  BigEd [ Tue May 22, 2018 8:52 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

C's a fine choice, I was just noting that the tactic of multiple passes has been used before. Fortran is more of a scientific language - you might be thinking of Cobol for business. I think they are similar vintages, as it happens. I think with Algol it was at least possible to tackle single-pass compilation, and similarly in the related language Pascal. But C isn't quite so well-behaved as those, it's a bit harder to parse.

Author:  BigEd [ Tue May 22, 2018 8:53 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

I think you're right that if you can find a way to offer Basic, or something very like it, that would be welcome.

Author:  Geri [ Tue May 22, 2018 8:57 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

it would be a strategic move forward if it would have one extra language to offer

however, i will probably do works on the emulation, i want to come up with a dynarec-like solution to have decent speed on 32 bit ARM systems

Author:  MichaelM [ Tue Nov 06, 2018 8:33 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ

Curious about the SUBLEQ instruction sequences used to create other basic operations. Is there a document describing these sequences? Wikipedia lists a number of them, but I can seem to find a single consolidated document containing the sequences that are used to implement the OS and application programs.

Author:  Geri [ Sun Nov 11, 2018 10:54 am ]
Post subject:  Re: Dawn - operating system for SUBLEQ

MichaelM: i have wrote a C compiler to generate subleq binary code, which basically builds up the end result with short ,,sequences'' like adding, branching, addressing memory locations, jumping, returning. There is basically no magic snippets, the system is written in C, i offload every problem to the compiler, there are no ,,inline subleq assembly'' in the code.

Author:  MichaelM [ Sun Nov 11, 2018 12:52 pm ]
Post subject:  Re: Dawn - operating system for SUBLEQ


Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group