mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2025-06-07 08:14:48 +00:00
Fork ZenithOS --> ZealOS.
This commit is contained in:
parent
e912217325
commit
2743cf6ace
24
README.md
24
README.md
@ -1,11 +1,11 @@
|
|||||||

|

|
||||||
# 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.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
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.
|
Simplify, don't complicate; make accessible, don't obfuscate.
|
||||||
|
|
||||||
> The CIA encourages code obfuscation. They make it more complicated than necessary.\
|
> 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:
|
Features in development include:
|
||||||
- Fully-functional AHCI support
|
- Fully-functional AHCI support
|
||||||
- ~~VBE support~~ 32-bit color VBE graphics
|
- 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
|
|
||||||
- Network card drivers and a networking stack
|
- 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.)
|
- 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.
|
- 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.
|
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
|
## 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.\
|
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" Zenith are currently archived on the `mega.nz` website:
|
Releases of the "old" ZenithOS are currently archived on the `mega.nz` website:
|
||||||
- [Previous Releases](https://mega.nz/#F!ZIEGmSRQ!qvL6Wk6THzE-dazkfT6N3Q)
|
- [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
|
## 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
|
#!/bin/bash
|
||||||
|
echo "mounting..."
|
||||||
sudo modprobe nbd
|
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
|
sudo mount /dev/nbd0p1 /mnt
|
||||||
|
echo "mounted .vdi"
|
||||||
|
|
||||||
|
echo "removing src/ files"
|
||||||
rm -rf src/*
|
rm -rf src/*
|
||||||
|
echo "copying src/ files from root of mounted .vdi"
|
||||||
sudo cp -r /mnt/* src/
|
sudo cp -r /mnt/* src/
|
||||||
|
echo "files copied"
|
||||||
|
|
||||||
|
echo "unmounting..."
|
||||||
sudo umount /mnt
|
sudo umount /mnt
|
||||||
sudo qemu-nbd -d /dev/nbd0
|
sudo qemu-nbd -d /dev/nbd0
|
||||||
|
echo "unmounted .vdi"
|
||||||
|
echo "set perms, update ISO."
|
||||||
sudo chown -R $USER:$USER src/*
|
sudo chown -R $USER:$USER src/*
|
||||||
rm Zenith-latest*
|
rm ZealOS-*
|
||||||
mv src/Tmp/MyDistro.ISO.C ./Zenith-latest-$(date +%Y-%m-%d-%H_%M_%S).iso
|
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()
|
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) +
|
U8 *res = MAlloc(sizeof(CSpriteMeshU8s) +
|
||||||
b->vertex_count * sizeof(CD3I32) +
|
b->vertex_count * sizeof(CD3I32) +
|
||||||
b->tri_count * sizeof(CMeshTri) + sprite_elem_base_sizes[SPT_END]),
|
b->tri_count * sizeof(CMeshTri) + sprite_elem_base_sizes[SPT_END]),
|
||||||
|
@ -187,7 +187,7 @@ U0 AddBox(ManDefineStruct *md, I64 c,
|
|||||||
|
|
||||||
U8 *Man2CSprite()
|
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) +
|
U8 *res = MAlloc(sizeof(CSpriteMeshU8s) +
|
||||||
m->vertex_count * sizeof(CD3I32) + m->tri_count * sizeof(CMeshTri) + sprite_elem_base_sizes[SPT_END]),
|
m->vertex_count * sizeof(CD3I32) + m->tri_count * sizeof(CMeshTri) + sprite_elem_base_sizes[SPT_END]),
|
||||||
*dst = res;
|
*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},
|
{{$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");
|
RegDefault("ZealOS/KeepAway", "I64 best_score0=0,best_score1=9999;\n");
|
||||||
RegExe("ZenithOS/KeepAway");
|
RegExe("ZealOS/KeepAway");
|
||||||
|
|
||||||
F64 game_t_end, foul_t_end;
|
F64 game_t_end, foul_t_end;
|
||||||
I64 score0, score1;
|
I64 score0, score1;
|
||||||
@ -436,7 +436,7 @@ U0 Shoot(Obj *o)
|
|||||||
|
|
||||||
U0 MyNoise(I64 mS, F64 min_ona, F64 max_ona)
|
U0 MyNoise(I64 mS, F64 min_ona, F64 max_ona)
|
||||||
{//Make white noise for given number of mS.
|
{//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;
|
CSoundEffectFrame *ns;
|
||||||
|
|
||||||
if (mS > 0)
|
if (mS > 0)
|
||||||
@ -798,7 +798,7 @@ ka_done: //Don't goto out of try
|
|||||||
PutExcept;
|
PutExcept;
|
||||||
SettingsPop;
|
SettingsPop;
|
||||||
MenuPop;
|
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);
|
||||||
}
|
}
|
||||||
|