mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2024-12-25 15:10:28 +00:00
Fork ZenithOS --> ZealOS.
This commit is contained in:
parent
e912217325
commit
2743cf6ace
338 changed files with 722 additions and 4226 deletions
24
README.md
24
README.md
|
@ -1,11 +1,11 @@
|
|||
![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)
|
||||
# ZenithOS
|
||||
# ZealOS
|
||||
|
||||
The Zenith Operating System is a modernized, professional fork of the 64-bit Temple Operating System. Guiding principles of development include transparency, full user control, and adherence to public-domain/open-source implementations.
|
||||
The Zeal Operating System is a modernized, professional fork of the 64-bit Temple Operating System. Guiding principles of development include transparency, full user control, and adherence to public-domain/open-source implementations.
|
||||
|
||||
![](/screenshots/screenshot2.png)
|
||||
|
||||
ZenithOS strives to be simple, documented, and require as little of a knowledge gap as possible. One person should be able to comprehend the entire system in at least a semi-detailed way within a few days of study.
|
||||
ZealOS strives to be simple, documented, and require as little of a knowledge gap as possible. One person should be able to comprehend the entire system in at least a semi-detailed way within a few days of study.
|
||||
Simplify, don't complicate; make accessible, don't obfuscate.
|
||||
|
||||
> The CIA encourages code obfuscation. They make it more complicated than necessary.\
|
||||
|
@ -13,11 +13,7 @@ Simplify, don't complicate; make accessible, don't obfuscate.
|
|||
|
||||
Features in development include:
|
||||
- Fully-functional AHCI support
|
||||
- ~~VBE support~~ 32-bit color VBE graphics
|
||||
- A new GUI framework in 32-bit color
|
||||
- CosmicGL renderer
|
||||
- Compiler optimizations for speed improvements
|
||||
- SSE2+ instruction support in compiler and assembler
|
||||
- 32-bit color VBE graphics
|
||||
- Network card drivers and a networking stack
|
||||
|
||||
|
||||
|
@ -38,19 +34,21 @@ Changes include:
|
|||
- 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.)
|
||||
- Working knowledge of the C programming language.
|
||||
|
||||
Every commit contains a "Zenith-latest-YYYY-MM-DD-HH_MM_SS.iso" in the root of master, which is a timestamped ISO build of that commit.
|
||||
Every commit contains a "ZealOS-YYYY-MM-DD-HH_MM_SS.iso" in the root of master, which is a timestamped ISO build of that commit.
|
||||
|
||||
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 as a DolDoc document or in the pull request later. 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; a pull request attachment with the zipped ISO would work fine.
|
||||
|
||||
## Background
|
||||
|
||||
In around November of 2019, [VoidNV](https://github.com/VoidNV) decided to continue Terry's work in a direction that would make it a viable operating system while still keeping the innovative and divine-intellect ideas and design strategies intact.
|
||||
In around November of 2019, [Z3N1THM4N](https://github.com/Z3N1THM4N) decided to create [ZenithOS](https://github.com/ZenithOS/ZenithOS) to continue Terry's work in a direction that would make it a viable operating system while still keeping the innovative and divine-intellect ideas and design strategies intact.
|
||||
|
||||
At first, development occurred exclusively inside a VM and ISOs were occasionally generated as official releases. This was not a good approach, as things broke and there was no way of telling which changes caused what, so it was scrapped and restarted from scratch.\
|
||||
Releases of the "old" Zenith are currently archived on the `mega.nz` website:
|
||||
At first, development occurred exclusively inside a VM and ISOs were occasionally generated as official releases. It was scrapped and restarted from scratch.\
|
||||
Releases of the "old" ZenithOS are currently archived on the `mega.nz` website:
|
||||
- [Previous Releases](https://mega.nz/#F!ZIEGmSRQ!qvL6Wk6THzE-dazkfT6N3Q)
|
||||
|
||||
The repository was removed in August of 2020, and is reuploaded here for preservation and future work. The latest archived [front page](https://web.archive.org/web/20200811190005/https://github.com/VoidNV/ZenithOS/), [master.zip](https://web.archive.org/web/20200811190054/https://codeload.github.com/VoidNV/ZenithOS/zip/master), and [related links](https://web.archive.org/web/*/https://github.com/VoidNV/ZenithOS/*) can be found on archive.org.
|
||||
The repository was removed in August of 2020, and reuploaded to [ZenithOS](https://github.com/ZenithOS/ZenithOS). The latest archived [front page](https://web.archive.org/web/20200811190005/https://github.com/VoidNV/ZenithOS/), [master.zip](https://web.archive.org/web/20200811190054/https://codeload.github.com/VoidNV/ZenithOS/zip/master), and [related links](https://web.archive.org/web/*/https://github.com/VoidNV/ZenithOS/*) can be found on archive.org.
|
||||
|
||||
In July of 2021, ZealOS was forked from ZenithOS.
|
||||
|
||||
## Screenshots
|
||||
|
||||
|
|
BIN
Zenith-latest-2021-07-01-06_22_17.iso → ZealOS-2021-07-01-19_45_21.iso
Normal file → Executable file
BIN
Zenith-latest-2021-07-01-06_22_17.iso → ZealOS-2021-07-01-19_45_21.iso
Normal file → Executable file
Binary file not shown.
8
just_mnt.sh
Executable file
8
just_mnt.sh
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
echo "mounting..."
|
||||
sudo modprobe nbd
|
||||
sudo qemu-nbd -c dev/nbd0 ~/VirtualBox\ VMs/ZealOS/ZealOS.vdi" #Replace with path to disk
|
||||
sudo partprobe /dev/nbd0
|
||||
sudo mount /dev/nbd0p1 /mnt
|
||||
echo "mounted .vdi"
|
||||
|
12
just_umnt.sh
Executable file
12
just_umnt.sh
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "unmounting..."
|
||||
sudo umount /mnt
|
||||
sudo qemu-nbd -d /dev/nbd0
|
||||
echo "unmounted .vdi"
|
||||
echo "not copying/updating ISO."
|
||||
#echo "set perms, update ISO."
|
||||
#sudo chown -R $USER:$USER src/*
|
||||
#rm ZealOS-*
|
||||
#mv src/Tmp/MyDistro.ISO.C ./ZealOS-$(date +%Y-%m-%d-%H_%M_%S).iso
|
||||
echo "finished."
|
17
mnt.sh
17
mnt.sh
|
@ -1,13 +1,24 @@
|
|||
#!/bin/bash
|
||||
echo "mounting..."
|
||||
sudo modprobe nbd
|
||||
sudo qemu-nbd -c dev/nbd0 "~/VirtualBox\ VMs/ZenithOS/ZenithOS.vmdk" #Replace with path to disk
|
||||
sudo qemu-nbd -c dev/nbd0 ~/VirtualBox\ VMs/ZealOS/ZealOS.vdi #Replace with path to disk
|
||||
sudo partprobe /dev/nbd0
|
||||
sudo mount /dev/nbd0p1 /mnt
|
||||
echo "mounted .vdi"
|
||||
|
||||
echo "removing src/ files"
|
||||
rm -rf src/*
|
||||
echo "copying src/ files from root of mounted .vdi"
|
||||
sudo cp -r /mnt/* src/
|
||||
echo "files copied"
|
||||
|
||||
echo "unmounting..."
|
||||
sudo umount /mnt
|
||||
sudo qemu-nbd -d /dev/nbd0
|
||||
echo "unmounted .vdi"
|
||||
echo "set perms, update ISO."
|
||||
sudo chown -R $USER:$USER src/*
|
||||
rm Zenith-latest*
|
||||
mv src/Tmp/MyDistro.ISO.C ./Zenith-latest-$(date +%Y-%m-%d-%H_%M_%S).iso
|
||||
rm ZealOS-*
|
||||
mv src/Tmp/MyDistro.ISO.C ./ZealOS-$(date +%Y-%m-%d-%H_%M_%S).iso
|
||||
echo "finished."
|
||||
git status
|
||||
|
|
|
@ -62,7 +62,7 @@ I64 AddTri(BallDefineStruct *, I64 c, I64 n0, I64 n1, I64 n2)
|
|||
|
||||
U8 *Ball2CSprite()
|
||||
{
|
||||
//See $LK,"::/Zenith/Gr/GrSpritePlot.CC",A="FL:::/Zenith/Gr/GrSpritePlot.CC,1"$ for how CSprite are stored.
|
||||
//See $LK,"::/System/Gr/GrSpritePlot.CC",A="FL:::/System/Gr/GrSpritePlot.CC,1"$ for how CSprite are stored.
|
||||
U8 *res = MAlloc(sizeof(CSpriteMeshU8s) +
|
||||
b->vertex_count * sizeof(CD3I32) +
|
||||
b->tri_count * sizeof(CMeshTri) + sprite_elem_base_sizes[SPT_END]),
|
||||
|
|
|
@ -187,7 +187,7 @@ U0 AddBox(ManDefineStruct *md, I64 c,
|
|||
|
||||
U8 *Man2CSprite()
|
||||
{
|
||||
//See $LK,"::/Zenith/Gr/GrSpritePlot.CC",A="FL:::/Zenith/Gr/GrSpritePlot.CC,1"$ for how CSprite are stored.
|
||||
//See $LK,"::/System/Gr/GrSpritePlot.CC",A="FL:::/System/Gr/GrSpritePlot.CC,1"$ for how CSprite are stored.
|
||||
U8 *res = MAlloc(sizeof(CSpriteMeshU8s) +
|
||||
m->vertex_count * sizeof(CD3I32) + m->tri_count * sizeof(CMeshTri) + sprite_elem_base_sizes[SPT_END]),
|
||||
*dst = res;
|
||||
|
|
|
@ -217,8 +217,8 @@ Frame imgs[LAST_STOPPED_DRIBBLING+1] = {
|
|||
{{$IB,"<22>",BI=22$, $IB,"<23>",BI=23$}, DRIBBLE_T / STOPPED_DRIBBLING_IMGS_NUM},
|
||||
};
|
||||
|
||||
RegDefault("ZenithOS/KeepAway", "I64 best_score0=0,best_score1=9999;\n");
|
||||
RegExe("ZenithOS/KeepAway");
|
||||
RegDefault("ZealOS/KeepAway", "I64 best_score0=0,best_score1=9999;\n");
|
||||
RegExe("ZealOS/KeepAway");
|
||||
|
||||
F64 game_t_end, foul_t_end;
|
||||
I64 score0, score1;
|
||||
|
@ -436,7 +436,7 @@ U0 Shoot(Obj *o)
|
|||
|
||||
U0 MyNoise(I64 mS, F64 min_ona, F64 max_ona)
|
||||
{//Make white noise for given number of mS.
|
||||
// See $LK+PU,"Noise",A="FF:::/Zenith/ZSound.CC,*Noise("$. On bare-metal, Spawn() hogs CPU.
|
||||
// See $LK+PU,"Noise",A="FF:::/System/ZSound.CC,*Noise("$. On bare-metal, Spawn() hogs CPU.
|
||||
CSoundEffectFrame *ns;
|
||||
|
||||
if (mS > 0)
|
||||
|
@ -798,7 +798,7 @@ ka_done: //Don't goto out of try
|
|||
PutExcept;
|
||||
SettingsPop;
|
||||
MenuPop;
|
||||
RegWrite("ZenithOS/KeepAway", "I64 best_score0=%d,best_score1=%d;\n", best_score0, best_score1);
|
||||
RegWrite("ZealOS/KeepAway", "I64 best_score0=%d,best_score1=%d;\n", best_score0, best_score1);
|
||||
}
|
||||
|