From 6dfce57c523c816a617f60a8698193a58e48c215 Mon Sep 17 00:00:00 2001 From: VoidNV Date: Tue, 21 Jul 2020 15:54:04 -0500 Subject: [PATCH] Flesh out README, add screenshot --- README.md | 55 +++++++++++++++++++++--------------- screenshots/screenshot3.png | Bin 0 -> 37724 bytes 2 files changed, 32 insertions(+), 23 deletions(-) create mode 100644 screenshots/screenshot3.png diff --git a/README.md b/README.md index 1dea5d36..2ac3c796 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,57 @@ -Discord -![Website](https://img.shields.io/website?down_color=lightgray&down_message=offline&style=flat-square&up_color=green&up_message=online&url=http%3A%2F%2Fzenithos.org) +![Website](https://img.shields.io/website?down_color=lightgray&down_message=offline&style=flat-square&up_color=green&up_message=online&url=https%3A%2F%2Fzenithos.org) ![goto counter](https://img.shields.io/github/search/VoidNV/ZenithOS/goto?style=flat-square) # ZenithOS -The Zenith Operating System is a modernized, professional fork of the 64-bit Temple Operating System. +The Zenith Operating System is a modernized, professional fork of the 64-bit Temple Operating System. It is a direct reaction against corporate technological subversion, their takeover of free and open source software, and the removal of complete user control over computers. + +Unlike the \*nix atheists who thrive on distinguishing themselves from "others" by making everything inaccessible, unintuitive, and require arcane knowledge to work with the system, we strive to be simple, documented, and require as little of a knowledge gap as possible. One person should be able to comprehend the entire OS in at least a semi-detailed way within a few days of study. We simplify, not complicate; make accessible, not obfuscate. Features in development include: - - Fully-functional AHCI support. - - ~~VBE support~~ 32-bit color VBE graphics. - - A new GUI framework in 32-bit color. - - Compiler optimizations for speed improvements. - - SSE2+ instruction support in compiler and assembler. - - Network card drivers and a networking stack. + - Fully-functional AHCI support + - ~~VBE support~~ 32-bit color VBE graphics + - A new GUI framework in 32-bit color + - Compiler optimizations for speed improvements + - SSE2+ instruction support in compiler and assembler + - Network card drivers and a networking stack ![](/screenshots/screenshot2.png) +Changes include: + - 60 FPS + - VBE graphics with variable resolutions + - 440Hz 'A' tuning changed to 432Hz + - HolyC -> CosmiC + - System-wide renaming for clarity + - No weird shift-space mechanism + - Caps Lock is reassigned as Backspace + - Reformatted code for readability + - Added comments and documentation + ## Getting started -Every commit contains a "Zenith-latest-XXXX-XX-XX-XX-XX_XX_XX.iso" in the root of master, which is a timestamped ISO build of that commit. It might not be stable. See the "Releases" page for the latest stable release. +### Prerequisites -### Contributing +- For running in a VM: Intel VT-x/AMD-V acceleration enabled in your BIOS settings (required to virtualize any 64-bit operating system properly). +- A brain capable of becoming un-"jedi-mind-tricked". -This basically a read-only repository. Everything happens inside the OS, as intended by Terry. After you've installed the latest release in a VM, you can make changes to the source. Once you've made your changes, you can make copies of the relevant files and put them into a folder, along with some kind of notes as to what you've done as a DolDoc document. You can then make a RedSea ISO file out of that folder by running `RedSeaISO("MyChanges.ISO", "/Home/Folder");`. Mount the VM hard drive in whatever OS-specific way you have to, grab the ISO, and send it my way; a pull request attachment would work fine. +Every commit contains a "Zenith-latest-YYYY-XX-XX-XX-XX_XX_XX.iso" in the root of master, which is a timestamped ISO build of that commit. It might not be stable. See the [Releases](https://github.com/VoidNV/ZenithOS/releases) for the latest stable release. As ZenithOS is in heavy development the last release may be quite behind from master. + +This is basically a read-only repository. Everything happens inside the OS, as intended by Terry. After you've installed the latest release in a VM, you can make changes to the source. Once you've made your changes, you can make copies of the relevant files and put them into a folder, along with some kind of notes as to what you've done either in the pull request later or as a DolDoc document. You can then make a RedSea ISO file out of that folder by running `RedSeaISO("MyChanges.ISO", "/Home/Folder");`. Export the contents of the VM hard drive in whatever OS-specific way you have to (there are scripts in the root of the repo), grab the ISO, and send it my way; a pull request attachment would work fine. ## Background -In around November of 2019, I decided I wanted to continue Terry's work in a direction that would make it a viable operating system while still keeping the innovative and, frankly, divine-intellect ideas and design strategies intact. +In around November of 2019, I decided I wanted to continue Terry's work in a direction that would make it a viable operating system while still keeping the innovative and frankly, divine-intellect ideas and design strategies intact. At first, I was developing exclusively inside a VM and occasionally generating ISOs as official releases. This was not a good approach, as things broke and I had no way of telling which changes caused what. So I decided to scrap that and restart from scratch.\ Releases of the "old" Zenith are currently archived on the `mega.nz` website: - [Previous Releases](https://mega.nz/#F!ZIEGmSRQ!qvL6Wk6THzE-dazkfT6N3Q) -Changes include: - - 60FPS. - - VBE graphics with variable resolutions. - - 440Hz 'A' tuning changed to 432Hz. - - HolyC -> CosmiC. - - System-wide renaming for clarity - - No weird shift-space mechanism - - Caps Lock is reassigned as Backspace - - Reformatted code for readability - ## Screenshots +System Report, Z Splash and AutoComplete, with Stars wallpaper + +![](/screenshots/screenshot3.png) + 32-bit color! ![](/screenshots/screenshot1.png) diff --git a/screenshots/screenshot3.png b/screenshots/screenshot3.png new file mode 100644 index 0000000000000000000000000000000000000000..0905e5d42b894561ec90f9c2601dc8091478c8cd GIT binary patch literal 37724 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