From a350141d45763a888e6a64bd77acdf41a3f8a5e5 Mon Sep 17 00:00:00 2001 From: slendi Date: Thu, 2 Mar 2023 12:07:12 +0200 Subject: [PATCH 01/30] Modify build script for automatic feature detection This commit modified the build script so that it does not require the user to edit it. It automatically detects sudo or doas and whether virrualization is available or not. Signed-off-by: slendi --- build/build-iso.sh | 71 ++++++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 31 deletions(-) diff --git a/build/build-iso.sh b/build/build-iso.sh index e97d8874..7aedcda1 100755 --- a/build/build-iso.sh +++ b/build/build-iso.sh @@ -13,8 +13,17 @@ then exit fi -# Uncomment if you use doas instead of sudo -#alias sudo=doas +[ "$1" = "--headless" ] && QEMU_HEADLESS='-display none' +SUDO='none' +command -v doas && $SUDO=doas +command -v sudo&& $SUDO=sudo +if [ "$SUDO" = "none" ] ; then + echo 'No sudo or doas installed. Cannot proceed.' + exit 1 +fi + +KVM='' +(lsmod | grep -q kvm) && KVM=',accel=kvm' # Set this true if you want to test ISOs in QEMU after building. TESTING=false @@ -28,16 +37,16 @@ TMPMOUNT="$TMPDIR/mnt" QEMU_BIN_PATH=$(dirname "$(which qemu-system-x86_64)") mount_tempdisk() { - sudo modprobe nbd - sudo $QEMU_BIN_PATH/qemu-nbd -c /dev/nbd0 -f raw $TMPDISK - sudo partprobe /dev/nbd0 - sudo mount /dev/nbd0p1 $TMPMOUNT + $SUDO modprobe nbd + $SUDO $QEMU_BIN_PATH/qemu-nbd -c /dev/nbd0 -f raw $TMPDISK + $SUDO partprobe /dev/nbd0 + $SUDO mount /dev/nbd0p1 $TMPMOUNT } umount_tempdisk() { sync - sudo umount $TMPMOUNT - sudo $QEMU_BIN_PATH/qemu-nbd -d /dev/nbd0 + $SUDO umount $TMPMOUNT + $SUDO $QEMU_BIN_PATH/qemu-nbd -d /dev/nbd0 } [ ! -d $TMPMOUNT ] && mkdir -p $TMPMOUNT @@ -50,19 +59,19 @@ set +e echo "Making temp vdisk, running auto-install ..." $QEMU_BIN_PATH/qemu-img create -f raw $TMPDISK 1024M -$QEMU_BIN_PATH/qemu-system-x86_64 -machine q35,accel=kvm -drive format=raw,file=$TMPDISK -m 1G -rtc base=localtime -smp 4 -cdrom AUTO.ISO -device isa-debug-exit +$QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -drive format=raw,file=$TMPDISK -m 1G -rtc base=localtime -smp 4 -cdrom AUTO.ISO -device isa-debug-exit $QEMU_HEADLESS echo "Copying all src/ code into vdisk Tmp/OSBuild/ ..." rm ../src/Home/Registry.ZC 2> /dev/null rm ../src/Home/MakeHome.ZC 2> /dev/null rm ../src/Boot/Kernel.ZXE 2> /dev/null mount_tempdisk -sudo mkdir $TMPMOUNT/Tmp/OSBuild/ -sudo cp -r ../src/* $TMPMOUNT/Tmp/OSBuild +$SUDO mkdir $TMPMOUNT/Tmp/OSBuild/ +$SUDO cp -r ../src/* $TMPMOUNT/Tmp/OSBuild umount_tempdisk echo "Rebuilding kernel headers, kernel, OS, and building Distro ISO ..." -$QEMU_BIN_PATH/qemu-system-x86_64 -machine q35,accel=kvm -drive format=raw,file=$TMPDISK -m 1G -rtc base=localtime -smp 4 -device isa-debug-exit +$QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -drive format=raw,file=$TMPDISK -m 1G -rtc base=localtime -smp 4 -device isa-debug-exit $QEMU_HEADLESS LIMINE_BINARY_BRANCH="v4.x-branch-binary" @@ -95,22 +104,22 @@ sed -i "s/\[\]/\[$(grep -o "0x" ./limine/limine-hdd.h | wc -l)\]/g" limine/Limin mount_tempdisk echo "Extracting MyDistro ISO from vdisk ..." cp $TMPMOUNT/Tmp/MyDistro.ISO.C ./ZealOS-MyDistro.iso -sudo rm $TMPMOUNT/Tmp/MyDistro.ISO.C 2> /dev/null +$SUDO rm $TMPMOUNT/Tmp/MyDistro.ISO.C 2> /dev/null echo "Setting up temp ISO directory contents for use with limine xorriso command ..." -sudo cp -rf $TMPMOUNT/* $TMPISODIR -sudo rm $TMPISODIR/Boot/OldMBR.BIN 2> /dev/null -sudo rm $TMPISODIR/Boot/BootMHD2.BIN 2> /dev/null -sudo mkdir -p $TMPISODIR/EFI/BOOT -sudo cp limine/Limine-HDD.HH $TMPISODIR/Boot/Limine-HDD.HH -sudo cp limine/BOOTX64.EFI $TMPISODIR/EFI/BOOT/BOOTX64.EFI -sudo cp limine/limine-cd-efi.bin $TMPISODIR/Boot/Limine-CD-EFI.BIN -sudo cp limine/limine-cd.bin $TMPISODIR/Boot/Limine-CD.BIN -sudo cp limine/limine.sys $TMPISODIR/Boot/Limine.SYS -sudo cp ../zealbooter/zealbooter.elf $TMPISODIR/Boot/ZealBooter.ELF -sudo cp ../zealbooter/Limine.CFG $TMPISODIR/Boot/Limine.CFG +$SUDO cp -rf $TMPMOUNT/* $TMPISODIR +$SUDO rm $TMPISODIR/Boot/OldMBR.BIN 2> /dev/null +$SUDO rm $TMPISODIR/Boot/BootMHD2.BIN 2> /dev/null +$SUDO mkdir -p $TMPISODIR/EFI/BOOT +$SUDO cp limine/Limine-HDD.HH $TMPISODIR/Boot/Limine-HDD.HH +$SUDO cp limine/BOOTX64.EFI $TMPISODIR/EFI/BOOT/BOOTX64.EFI +$SUDO cp limine/limine-cd-efi.bin $TMPISODIR/Boot/Limine-CD-EFI.BIN +$SUDO cp limine/limine-cd.bin $TMPISODIR/Boot/Limine-CD.BIN +$SUDO cp limine/limine.sys $TMPISODIR/Boot/Limine.SYS +$SUDO cp ../zealbooter/zealbooter.elf $TMPISODIR/Boot/ZealBooter.ELF +$SUDO cp ../zealbooter/Limine.CFG $TMPISODIR/Boot/Limine.CFG echo "Copying DVDKernel.ZXE over ISO Boot/Kernel.ZXE ..." -sudo mv $TMPMOUNT/Tmp/DVDKernel.ZXE $TMPISODIR/Boot/Kernel.ZXE -sudo rm $TMPISODIR/Tmp/DVDKernel.ZXE 2> /dev/null +$SUDO mv $TMPMOUNT/Tmp/DVDKernel.ZXE $TMPISODIR/Boot/Kernel.ZXE +$SUDO rm $TMPISODIR/Tmp/DVDKernel.ZXE 2> /dev/null umount_tempdisk xorriso -joliet "on" -rockridge "on" -as mkisofs -b Boot/Limine-CD.BIN \ @@ -131,11 +140,11 @@ if [ "$TESTING" = true ]; then cd .. fi echo "Testing limine-zealbooter-xorriso isohybrid boot in UEFI mode ..." - $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35,accel=kvm -m 1G -rtc base=localtime -bios ovmf/OVMF.fd -smp 4 -cdrom ZealOS-limine.iso + $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -m 1G -rtc base=localtime -bios ovmf/OVMF.fd -smp 4 -cdrom ZealOS-limine.iso $QEMU_HEADLESS echo "Testing limine-zealbooter-xorriso isohybrid boot in BIOS mode ..." - $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35,accel=kvm -m 1G -rtc base=localtime -smp 4 -cdrom ZealOS-limine.iso + $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -m 1G -rtc base=localtime -smp 4 -cdrom ZealOS-limine.iso $QEMU_HEADLESS echo "Testing native ZealC MyDistro legacy ISO in BIOS mode ..." - $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35,accel=kvm -m 1G -rtc base=localtime -smp 4 -cdrom ZealOS-MyDistro.iso + $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -m 1G -rtc base=localtime -smp 4 -cdrom ZealOS-MyDistro.iso $QEMU_HEADLESS fi # comment these 2 lines if you want lingering old Distro ISOs @@ -146,8 +155,8 @@ mv ./ZealOS-MyDistro.iso ./ZealOS-PublicDomain-BIOS-$(date +%Y-%m-%d-%H_%M_%S).i mv ./ZealOS-limine.iso ./ZealOS-BSD2-UEFI-$(date +%Y-%m-%d-%H_%M_%S).iso echo "Deleting temp folder ..." -sudo rm -rf $TMPDIR -sudo rm -rf $TMPISODIR +$SUDO rm -rf $TMPDIR +$SUDO rm -rf $TMPISODIR echo "Finished." echo echo "ISOs built:" From 9a64496c97125e24194894d40602ffec3e321c89 Mon Sep 17 00:00:00 2001 From: slendi Date: Thu, 2 Mar 2023 12:08:43 +0200 Subject: [PATCH 02/30] Add GitHub actions build script This patch adds a way to build on pull requests and pushes ISOs each time. This js really convinient for people that do not wish to go through the build process which may be because they cannkt do it for some reason or another. Signed-off-by: slendi --- .github/workflows/build.yml | 47 +++++++++++++++++++++++++++++++++++++ build/build-iso.sh | 4 ++-- 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..eeda77ce --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,47 @@ +name: Build Application + +on: + push: + branches-ignore: + - 'stable' + paths-ignore: + - '**.md' + - 'screenshots/**' + - '**/LICENSE' + pull_request: + paths-ignore: + - '**.md' + - 'screenshots/**' + - '**/LICENSE' + workflow_dispatch: + +jobs: + build: + name: Build + runs-on: self-hosted + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: 'true' + + - name: Install Dependencies + run: | + sudo apt-get -y update + sudo apt-get -y install build-essential git xorriso qemu-system-x86 + + - name: Build ISOs + run: | + cd build + ./build-iso.sh --headless + cd .. + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: ISOs + path: | + build/*.iso + if-no-files-found: error + diff --git a/build/build-iso.sh b/build/build-iso.sh index 7aedcda1..9e477698 100755 --- a/build/build-iso.sh +++ b/build/build-iso.sh @@ -15,8 +15,8 @@ fi [ "$1" = "--headless" ] && QEMU_HEADLESS='-display none' SUDO='none' -command -v doas && $SUDO=doas -command -v sudo&& $SUDO=sudo +command -v doas && SUDO=doas +command -v sudo && SUDO=sudo if [ "$SUDO" = "none" ] ; then echo 'No sudo or doas installed. Cannot proceed.' exit 1 From cd3fd49758c9980141539bf9cfd8a31d4423f032 Mon Sep 17 00:00:00 2001 From: y4my4my4m <8145020+y4my4my4m@users.noreply.github.com> Date: Fri, 25 Aug 2023 14:54:17 +0900 Subject: [PATCH 03/30] init --- src/Home/Yuugure.ZC | 29 +++++++++++++++++++++++++++++ src/HomeKeyPlugIns.ZC | 10 ++++++++++ src/MakeHome.ZC | 1 + 3 files changed, 40 insertions(+) create mode 100755 src/Home/Yuugure.ZC diff --git a/src/Home/Yuugure.ZC b/src/Home/Yuugure.ZC new file mode 100755 index 00000000..e449e4c5 --- /dev/null +++ b/src/Home/Yuugure.ZC @@ -0,0 +1,29 @@ +I64 initialWinBottom = sys_task->win_bottom; +CDoc *initialDisplayDoc = sys_task->display_doc; + +U0 Yuugure() +{ + // Hide SysLog + if (sys_task->win_bottom != 0) { + while(sys_task->win_bottom > -1){ + sys_task->win_bottom--; + Sleep(20); + } + + sys_task->display_doc = NULL; + WinBorder(OFF, sys_task); + } + // Show SysLog + else { + WinBorder(ON, sys_task); + sys_task->display_doc = initialDisplayDoc; + + while(sys_task->win_bottom != initialWinBottom){ + sys_task->win_bottom++; + Sleep(20); + } + + } + + WinZBufUpdate; +} diff --git a/src/HomeKeyPlugIns.ZC b/src/HomeKeyPlugIns.ZC index fdc3bda9..0b949635 100755 --- a/src/HomeKeyPlugIns.ZC +++ b/src/HomeKeyPlugIns.ZC @@ -110,6 +110,16 @@ Bool MyPutKey(I64 ch, I64 sc) } return TRUE; + case SC_F12: + if (!(sc & SCF_SHIFT)) + { + if (sc & SCF_KEY_DESC) + KeyDescSet("Cmd /Yuugure"); + else + Yuugure; + } + return TRUE; + case SC_DELETE: if (sc & SCF_SHIFT) { diff --git a/src/MakeHome.ZC b/src/MakeHome.ZC index 39f77698..9b650e41 100755 --- a/src/MakeHome.ZC +++ b/src/MakeHome.ZC @@ -8,6 +8,7 @@ Cd(__DIR__);; #include "~/HomeWrappers" MapFileLoad("::/Kernel/Kernel"); MapFileLoad("::/Compiler/Compiler"); +#include "~/Yuugure" #include "~/HomeKeyPlugIns" #include "~/HomeSys" Cd("..");; From 524bddec6cd554d703e56d27470ffa867bd5d0f4 Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Mon, 8 Jan 2024 23:40:39 -0500 Subject: [PATCH 04/30] Move DocClear tex.raw_col zeroing out of if cond --- src/Kernel/KGlobals.ZC | 2 +- src/System/DolDoc/DocRecalcLib.ZC | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index bc646ec1..e87446d1 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 108; +U64 sys_os_version_sub = 109; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice; diff --git a/src/System/DolDoc/DocRecalcLib.ZC b/src/System/DolDoc/DocRecalcLib.ZC index 175da6a2..136ea281 100755 --- a/src/System/DolDoc/DocRecalcLib.ZC +++ b/src/System/DolDoc/DocRecalcLib.ZC @@ -137,11 +137,11 @@ public U0 DocClear(CDoc *doc=NULL, Bool clear_holds=FALSE) {//Clear all doc entries, except +H, hold entries. Bool unlock; + text.raw_col = 0; if (!doc && !(doc = DocPut)) { if (IsRaw) { - text.raw_col = 0; MemSet(text.fb_alias, BLACK32, text.buffer_size); } return; From 828b2493a4127f5cc76bdb08ad0232c29ce9000b Mon Sep 17 00:00:00 2001 From: Michael Mikonos Date: Tue, 30 Jan 2024 20:40:37 +0800 Subject: [PATCH 05/30] for newline, RawPutChar() is called at least once, so convert loop to do-while --- src/Kernel/Display.ZC | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Kernel/Display.ZC b/src/Kernel/Display.ZC index f8cadcb9..5c0ce6f7 100755 --- a/src/Kernel/Display.ZC +++ b/src/Kernel/Display.ZC @@ -47,9 +47,8 @@ See also $LK,"GrUpdateScreen",A="MN:GrUpdateScreen"$(). } else if (ch == '\n') { - RawPutChar(CH_SPACE); - while (text.raw_col % text.cols) - RawPutChar(CH_SPACE); + do RawPutChar(CH_SPACE); + while (text.raw_col % text.cols); } else if (Bt(char_bmp_displayable, ch)) { From 8e5f169218c2518b6458def89d50e18658383b0c Mon Sep 17 00:00:00 2001 From: Michael Mikonos Date: Tue, 30 Jan 2024 21:48:54 +0800 Subject: [PATCH 06/30] StrScan(): Copy into new buffer with MemCopy() instead of a loop --- src/Kernel/StrScan.ZC | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Kernel/StrScan.ZC b/src/Kernel/StrScan.ZC index 457a04d5..9e634725 100755 --- a/src/Kernel/StrScan.ZC +++ b/src/Kernel/StrScan.ZC @@ -242,7 +242,7 @@ and take address. */ U8 *buf, *ptr, **pptr; Bool left_justify = FALSE; - I64 ch, cur_arg = 0, i, len, *i_ptr, dec_len; + I64 ch, cur_arg = 0, len, *i_ptr, dec_len; F64 *d_ptr; if (!format) @@ -301,9 +301,9 @@ and take address. } } buf = MAlloc(len + 1); - for (i = 0; i < len; i++) - buf[i] = *src++; - buf[i] = 0; + MemCopy(buf, src, len); + buf[len] = 0; + src += len; switch (ch) { case 's': From 362cfb407043cb3716cb99ec6b5ae65aa30f3208 Mon Sep 17 00:00:00 2001 From: mintsuki Date: Sat, 17 Feb 2024 08:42:44 +0100 Subject: [PATCH 07/30] Fix SATA issue described in issue #139. Fixes #139 Co-authored-by: mineo333 --- build/AUTO.ISO | Bin 3543040 -> 3575808 bytes src/Kernel/BlkDev/DiskAHCI.ZC | 1 + src/System/Define.ZC | 2 +- 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build/AUTO.ISO b/build/AUTO.ISO index eeb24e6e700e3b6316289897f94ffe3c9cb78b6c..c523bff2fa8a07c5ef9189acfd30b3db651e2926 100755 GIT binary patch delta 203295 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 delta 178510 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 av`&OM_type = FISt_H2D; PCIBts(&cmd_fis->desc, AHCI_CF_DESCf_C); //Set Command bit in H2D FIS. cmd_fis->command = ATA_PACKET; + cmd_fis->lba1 = 8; cmd_table->acmd[0] = ATAPI_READ_CAPACITY >> 8; AHCIPortWait(bd->port_num, tS + 2); diff --git a/src/System/Define.ZC b/src/System/Define.ZC index d9411781..1a7e87c4 100755 --- a/src/System/Define.ZC +++ b/src/System/Define.ZC @@ -15,7 +15,7 @@ U0 LoadDocDefines() //$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/System/Boot/BootDVD.ZC,DD_BOOT_HIGH_LOC_DVD"$ $TR,"LineRep"$ -$ID,2$DefinePrint("DD_ZEALOS_LOC","99,737"); +$ID,2$DefinePrint("DD_ZEALOS_LOC","99,241"); $ID,-2$ DefinePrint("DD_MP_VECT", "%08X", MP_VECT_ADDR); DefinePrint("DD_MP_VECT_END", "%08X", MP_VECT_ADDR + COREAP_16BIT_INIT_END - COREAP_16BIT_INIT - 1); From f50f6b23fbd389dddbcff87161d87ace6181b16e Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Mon, 19 Feb 2024 11:51:00 -0500 Subject: [PATCH 08/30] fix(sata-fix): review + test #147, #139. Fix build script limine git pull divergent branch error message issue. Revert Define.ZC --- build/build-iso.sh | 2 ++ src/System/Define.ZC | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build/build-iso.sh b/build/build-iso.sh index 3535c830..d72aa87f 100755 --- a/build/build-iso.sh +++ b/build/build-iso.sh @@ -73,6 +73,8 @@ then git fetch git remote set-head origin $LIMINE_BINARY_BRANCH git switch $LIMINE_BINARY_BRANCH + git config --local pull.ff true + git config --local pull.rebase true git pull rm limine diff --git a/src/System/Define.ZC b/src/System/Define.ZC index 1a7e87c4..d9411781 100755 --- a/src/System/Define.ZC +++ b/src/System/Define.ZC @@ -15,7 +15,7 @@ U0 LoadDocDefines() //$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/System/Boot/BootDVD.ZC,DD_BOOT_HIGH_LOC_DVD"$ $TR,"LineRep"$ -$ID,2$DefinePrint("DD_ZEALOS_LOC","99,241"); +$ID,2$DefinePrint("DD_ZEALOS_LOC","99,737"); $ID,-2$ DefinePrint("DD_MP_VECT", "%08X", MP_VECT_ADDR); DefinePrint("DD_MP_VECT_END", "%08X", MP_VECT_ADDR + COREAP_16BIT_INIT_END - COREAP_16BIT_INIT - 1); From 451fddb9eb967c51c53d5f5a2f063e07ad76518e Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Mon, 19 Feb 2024 12:09:32 -0500 Subject: [PATCH 09/30] Increment minor version number for 12b2c37 --- src/Kernel/KGlobals.ZC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index e87446d1..e603223e 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 109; +U64 sys_os_version_sub = 110; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice; From d26f67edf1b51ecdb2972853a5bcc82610bef233 Mon Sep 17 00:00:00 2001 From: retu2libc Date: Wed, 21 Feb 2024 01:20:20 -0500 Subject: [PATCH 10/30] Two kings ends game --- src/Demo/Games/Chess.ZC | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Demo/Games/Chess.ZC b/src/Demo/Games/Chess.ZC index 9d5a5360..6af8908e 100755 --- a/src/Demo/Games/Chess.ZC +++ b/src/Demo/Games/Chess.ZC @@ -584,9 +584,9 @@ Bool MoveDo(GameState *state, I64 piece_num, I64 x2, I64 y2, Bool final) game_over = TRUE; } GameSnapShot; - } + } - return ToBool(score_adjust); + return ToBool(score_adjust); } I64 MoveFind(I64 x, I64 y, Move *mvs, I64 mv_cnt) @@ -664,18 +664,25 @@ I64 MoveCnt(GameState *state) { I64 i, res = 0, mv_cnt; Move mvs[32]; + Bool king_stalemate = TRUE; for (i = 0; i < 32; i++) + { if (state->pieces[i].player == state->cur_player) { mv_cnt = PieceMoves(state, i, mvs); mv_cnt = ChkPieceMoves(state, i, mvs,mv_cnt); res += mv_cnt; } - return res; + if (state->pieces[i].type != P_KING && state->pieces[i].player >= 0) + king_stalemate = FALSE; + } + if (king_stalemate) + return 0; + else + return res; } - U0 DrawIt(CTask *task, CDC *dc) { I64 i, x, y, z, k0, k1; From c3dfe78cebe316d11d93155b61929cdfd48cd0d8 Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Wed, 21 Feb 2024 06:00:06 -0500 Subject: [PATCH 11/30] fix: review+test #148, inc sub-version num, close #42 --- src/Kernel/KGlobals.ZC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index e603223e..8518f8fd 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 110; +U64 sys_os_version_sub = 111; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice; From 1fc9a7062c7e66bd0fd7a817a84bcbe2bb1e4940 Mon Sep 17 00:00:00 2001 From: retu2libc Date: Sun, 25 Feb 2024 16:13:41 -0500 Subject: [PATCH 12/30] Drop ethernet frames not destined for us or broadcast --- src/Home/Net/Utilities/NetHandler.ZC | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Home/Net/Utilities/NetHandler.ZC b/src/Home/Net/Utilities/NetHandler.ZC index fad866ad..f7dc2061 100755 --- a/src/Home/Net/Utilities/NetHandler.ZC +++ b/src/Home/Net/Utilities/NetHandler.ZC @@ -37,6 +37,16 @@ U0 NetQueueEntryHandle(CNetQueueEntry *entry) EthernetFrameParse(ðernet_frame, entry->frame, entry->packet_length); + U8 *mac = EthernetMACGet(); + Bool is_our_mac = !MemCompare(mac, ethernet_frame.destination_address, MAC_ADDRESS_LENGTH); // check the RX packet MAC against local MAC + Bool is_broadcast = !MemCompare(ethernet_globals.ethernet_broadcast, ethernet_frame.destination_address, MAC_ADDRESS_LENGTH); // check the RX packet MAC against broadcast MAC + + if (!is_our_mac && !is_broadcast) + { + NetLog("HANDLE NETQUEUE ENTRY: Not for us, discarding."); + return; + } + switch (ethernet_frame.ethertype) { case ETHERTYPE_ARP: From 7b9eb3b2935f97f4aa79fbd623f32f8365c1bab6 Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Tue, 5 Mar 2024 02:02:33 -0500 Subject: [PATCH 13/30] inc version number for 91fff8c --- src/Kernel/KGlobals.ZC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index 8518f8fd..965137cd 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 111; +U64 sys_os_version_sub = 112; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice; From bf1115f2178c4dac04720a47f7306c2b37b830b2 Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Tue, 5 Mar 2024 02:06:04 -0500 Subject: [PATCH 14/30] feat: build scripts updates --- build/git-pr-switch.sh | 2 +- build/sync.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build/git-pr-switch.sh b/build/git-pr-switch.sh index d5b3585b..44dec00b 100755 --- a/build/git-pr-switch.sh +++ b/build/git-pr-switch.sh @@ -15,7 +15,7 @@ read -p "Enter fork branch name: " FORK_BRANCH echo $FORK_BRANCH FORK_LOCAL=$FORK_BRANCH"-testing" echo "Creating new local branch for testing: "$FORK_LOCAL" ..." -git checkout -b $FORK_LOCAL +git checkout -B $FORK_LOCAL echo "Pulling changes from user's branch into new local branch..." git pull https://github.com/$FORK_USERNAME/ZealOS.git $FORK_BRANCH diff --git a/build/sync.sh b/build/sync.sh index 152cb605..bc10401f 100755 --- a/build/sync.sh +++ b/build/sync.sh @@ -90,6 +90,7 @@ else umount_vdisk [ -f ../src/Tmp/AUTO.ISO.C ] && mv ../src/Tmp/AUTO.ISO.C ./AUTO.ISO echo "Finished." + cd ../ git status ;; vm) From cd019bb3efb83676406c733458f1549843bec1ed Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Tue, 5 Mar 2024 05:12:24 -0500 Subject: [PATCH 15/30] feat: CI build scripts #99 merge and updates --- .github/workflows/build.yml | 21 ++++++++++------- build/build-iso.sh | 45 ++++++++++++++++--------------------- 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eeda77ce..8bcf1203 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,13 +2,15 @@ name: Build Application on: push: - branches-ignore: - - 'stable' + branches: + - 'master' paths-ignore: - '**.md' - 'screenshots/**' - '**/LICENSE' pull_request: + branches: + - 'master' paths-ignore: - '**.md' - 'screenshots/**' @@ -18,7 +20,7 @@ on: jobs: build: name: Build - runs-on: self-hosted + runs-on: ubuntu-latest steps: - name: Checkout @@ -37,11 +39,14 @@ jobs: ./build-iso.sh --headless cd .. - - name: Upload artifacts - uses: actions/upload-artifact@v3 + - name: Releasing latest + if: ${{ success() }} + uses: "GutPuncher/action-automatic-releases@latest" with: - name: ISOs - path: | - build/*.iso + repo_token: "${{ secrets.GITHUB_TOKEN }}" + automatic_release_tag: "latest" + prerelease: false + title: "Pre-Built ISOs [${{ github.sha }}]" + files: ./build/*.iso if-no-files-found: error diff --git a/build/build-iso.sh b/build/build-iso.sh index 8aa755f2..80bf3d97 100755 --- a/build/build-iso.sh +++ b/build/build-iso.sh @@ -14,16 +14,9 @@ then fi [ "$1" = "--headless" ] && QEMU_HEADLESS='-display none' -SUDO='none' -command -v doas && SUDO=doas -command -v sudo && SUDO=sudo -if [ "$SUDO" = "none" ] ; then - echo 'No sudo or doas installed. Cannot proceed.' - exit 1 -fi KVM='' -(lsmod | grep -q kvm) && KVM=',accel=kvm' +(lsmod | grep -q kvm) && KVM=' -accel kvm' # Set this true if you want to test ISOs in QEMU after building. TESTING=false @@ -37,16 +30,16 @@ TMPMOUNT="$TMPDIR/mnt" QEMU_BIN_PATH=$(dirname "$(which qemu-system-x86_64)") mount_tempdisk() { - $SUDO modprobe nbd - $SUDO $QEMU_BIN_PATH/qemu-nbd -c /dev/nbd0 -f raw $TMPDISK - $SUDO partprobe /dev/nbd0 - $SUDO mount /dev/nbd0p1 $TMPMOUNT + sudo modprobe nbd + sudo $QEMU_BIN_PATH/qemu-nbd -c /dev/nbd0 -f raw $TMPDISK + sudo partprobe /dev/nbd0 + sudo mount /dev/nbd0p1 $TMPMOUNT } umount_tempdisk() { sync - $SUDO umount $TMPMOUNT - $SUDO $QEMU_BIN_PATH/qemu-nbd -d /dev/nbd0 + sudo umount $TMPMOUNT + sudo $QEMU_BIN_PATH/qemu-nbd -d /dev/nbd0 } [ ! -d $TMPMOUNT ] && mkdir -p $TMPMOUNT @@ -59,19 +52,19 @@ set +e echo "Making temp vdisk, running auto-install ..." $QEMU_BIN_PATH/qemu-img create -f raw $TMPDISK 1024M -$QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -drive format=raw,file=$TMPDISK -m 1G -rtc base=localtime -smp 4 -cdrom AUTO.ISO -device isa-debug-exit $QEMU_HEADLESS +$QEMU_BIN_PATH/qemu-system-x86_64 -machine q35 $KVM -drive format=raw,file=$TMPDISK -m 1G -rtc base=localtime -smp 4 -cdrom AUTO.ISO -device isa-debug-exit $QEMU_HEADLESS echo "Copying all src/ code into vdisk Tmp/OSBuild/ ..." rm ../src/Home/Registry.ZC 2> /dev/null rm ../src/Home/MakeHome.ZC 2> /dev/null rm ../src/Boot/Kernel.ZXE 2> /dev/null mount_tempdisk -$SUDO mkdir $TMPMOUNT/Tmp/OSBuild/ -$SUDO cp -r ../src/* $TMPMOUNT/Tmp/OSBuild +sudo mkdir $TMPMOUNT/Tmp/OSBuild/ +sudo cp -r ../src/* $TMPMOUNT/Tmp/OSBuild umount_tempdisk echo "Rebuilding kernel headers, kernel, OS, and building Distro ISO ..." -$QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -drive format=raw,file=$TMPDISK -m 1G -rtc base=localtime -smp 4 -device isa-debug-exit $QEMU_HEADLESS +$QEMU_BIN_PATH/qemu-system-x86_64 -machine q35 $KVM -drive format=raw,file=$TMPDISK -m 1G -rtc base=localtime -smp 4 -device isa-debug-exit $QEMU_HEADLESS LIMINE_BINARY_BRANCH="v6.x-branch-binary" @@ -105,7 +98,7 @@ sed -i "s/\[\]/\[$(grep -o "0x" ./limine/limine-bios-hdd.h | wc -l)\]/g" limine/ mount_tempdisk echo "Extracting MyDistro ISO from vdisk ..." cp $TMPMOUNT/Tmp/MyDistro.ISO.C ./ZealOS-MyDistro.iso -$SUDO rm $TMPMOUNT/Tmp/MyDistro.ISO.C 2> /dev/null +sudo rm $TMPMOUNT/Tmp/MyDistro.ISO.C 2> /dev/null echo "Setting up temp ISO directory contents for use with limine xorriso command ..." sudo cp -rf $TMPMOUNT/* $TMPISODIR sudo rm $TMPISODIR/Boot/OldMBR.BIN 2> /dev/null @@ -119,8 +112,8 @@ sudo cp limine/limine-bios.sys $TMPISODIR/Boot/Limine-BIOS.SYS sudo cp ../zealbooter/bin/kernel $TMPISODIR/Boot/ZealBooter.ELF sudo cp ../zealbooter/Limine.CFG $TMPISODIR/Boot/Limine.CFG echo "Copying DVDKernel.ZXE over ISO Boot/Kernel.ZXE ..." -$SUDO mv $TMPMOUNT/Tmp/DVDKernel.ZXE $TMPISODIR/Boot/Kernel.ZXE -$SUDO rm $TMPISODIR/Tmp/DVDKernel.ZXE 2> /dev/null +sudo mv $TMPMOUNT/Tmp/DVDKernel.ZXE $TMPISODIR/Boot/Kernel.ZXE +sudo rm $TMPISODIR/Tmp/DVDKernel.ZXE 2> /dev/null umount_tempdisk xorriso -joliet "on" -rockridge "on" -as mkisofs -b Boot/Limine-BIOS-CD.BIN \ @@ -141,11 +134,11 @@ if [ "$TESTING" = true ]; then cd .. fi echo "Testing limine-zealbooter-xorriso isohybrid boot in UEFI mode ..." - $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -m 1G -rtc base=localtime -bios ovmf/OVMF.fd -smp 4 -cdrom ZealOS-limine.iso $QEMU_HEADLESS + $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35 $KVM -m 1G -rtc base=localtime -bios ovmf/OVMF.fd -smp 4 -cdrom ZealOS-limine.iso $QEMU_HEADLESS echo "Testing limine-zealbooter-xorriso isohybrid boot in BIOS mode ..." - $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -m 1G -rtc base=localtime -smp 4 -cdrom ZealOS-limine.iso $QEMU_HEADLESS + $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35 $KVM -m 1G -rtc base=localtime -smp 4 -cdrom ZealOS-limine.iso $QEMU_HEADLESS echo "Testing native ZealC MyDistro legacy ISO in BIOS mode ..." - $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35$KVM -m 1G -rtc base=localtime -smp 4 -cdrom ZealOS-MyDistro.iso $QEMU_HEADLESS + $QEMU_BIN_PATH/qemu-system-x86_64 -machine q35 $KVM -m 1G -rtc base=localtime -smp 4 -cdrom ZealOS-MyDistro.iso $QEMU_HEADLESS fi # comment these 2 lines if you want lingering old Distro ISOs @@ -156,8 +149,8 @@ mv ./ZealOS-MyDistro.iso ./ZealOS-PublicDomain-BIOS-$(date +%Y-%m-%d-%H_%M_%S).i mv ./ZealOS-limine.iso ./ZealOS-BSD2-UEFI-$(date +%Y-%m-%d-%H_%M_%S).iso echo "Deleting temp folder ..." -$SUDO rm -rf $TMPDIR -$SUDO rm -rf $TMPISODIR +sudo rm -rf $TMPDIR +sudo rm -rf $TMPISODIR echo "Finished." echo echo "ISOs built:" From bb6c4642c208748f3757eeaf4dc349ef8df4070c Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Tue, 5 Mar 2024 05:21:29 -0500 Subject: [PATCH 16/30] feat: CI scripts updates --- .github/workflows/build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8bcf1203..335d4b2c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,14 @@ jobs: sudo apt-get -y update sudo apt-get -y install build-essential git xorriso qemu-system-x86 + - name: Enable KVM group perms + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + - name: Build ISOs + if: ${{ success() }} run: | cd build ./build-iso.sh --headless From f870158a0c5d704d04e3b4591ae30662f1c0c040 Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Wed, 6 Mar 2024 22:52:08 -0500 Subject: [PATCH 17/30] Update build.yml --- .github/workflows/build.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 335d4b2c..838cc814 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -name: Build Application +name: Build ZealOS ISOs on: push: @@ -33,21 +33,21 @@ jobs: sudo apt-get -y update sudo apt-get -y install build-essential git xorriso qemu-system-x86 - - name: Enable KVM group perms + - name: Enable KVM Group Perms run: | echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - - name: Build ISOs + - name: Run ISOs Build Script if: ${{ success() }} run: | cd build ./build-iso.sh --headless cd .. - - name: Releasing latest - if: ${{ success() }} + - name: Releasing Latest ISOs + if: ${{ success() && github.event_name = 'push'}} uses: "GutPuncher/action-automatic-releases@latest" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" @@ -55,5 +55,8 @@ jobs: prerelease: false title: "Pre-Built ISOs [${{ github.sha }}]" files: ./build/*.iso - if-no-files-found: error + - name: OK + if: ${{ success() }} + run: | + echo "Build OK" From a308c6955c91c135a08cb8525fa25be3c74d2329 Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Wed, 6 Mar 2024 22:52:53 -0500 Subject: [PATCH 18/30] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 838cc814..3f539841 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -47,7 +47,7 @@ jobs: cd .. - name: Releasing Latest ISOs - if: ${{ success() && github.event_name = 'push'}} + if: ${{ success() && github.event_name == 'push'}} uses: "GutPuncher/action-automatic-releases@latest" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" From 80ce5320721c745d2e8e261496906031933030ec Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Wed, 6 Mar 2024 22:56:09 -0500 Subject: [PATCH 19/30] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 08c6cae6..d9a27101 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ZealOS -[![Discord](https://img.shields.io/discord/934200098144022609?color=7289DA&label=Discord&logo=discord&logoColor=white)](https://discord.gg/rK6U3xdr7D) [![](https://img.shields.io/badge/wiki-documentation-forestgreen)](https://zeal-operating-system.github.io/ZealOS-wiki/) +[![Discord](https://img.shields.io/discord/934200098144022609?color=7289DA&label=Discord&logo=discord&logoColor=white)](https://discord.gg/rK6U3xdr7D) [![](https://img.shields.io/badge/wiki-documentation-forestgreen)](https://zeal-operating-system.github.io/ZealOS-wiki/) [![Build ZealOS ISOs](https://github.com/Zeal-Operating-System/ZealOS/actions/workflows/build.yml/badge.svg)](https://github.com/Zeal-Operating-System/ZealOS/actions/workflows/build.yml) The Zeal Operating System is a modernized 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. From 3809e158494049764872a2464e5dd7f942d458f2 Mon Sep 17 00:00:00 2001 From: retu2libc Date: Wed, 6 Mar 2024 02:47:04 -0500 Subject: [PATCH 20/30] On PCNet nics enable FCS check and strip via ASTRP_RCV --- src/Home/Net/Drivers/PCNet.ZC | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Home/Net/Drivers/PCNet.ZC b/src/Home/Net/Drivers/PCNet.ZC index 7ca8b800..bf84da61 100755 --- a/src/Home/Net/Drivers/PCNet.ZC +++ b/src/Home/Net/Drivers/PCNet.ZC @@ -59,6 +59,7 @@ #define PCNET_INT_TINTM 9 // Transmit Interrupt Mask #define PCNET_INT_RINTM 10 // Receive Interrupt Mask +#define PCNET_FEATURE_ASTRPRCV 10 #define PCNET_FEATURE_APADXMT 11 #define PCNET_BCR_MISC_CONFIG_ASEL 1 @@ -455,7 +456,7 @@ U0 PCNetInterruptCSRSet() U0 PCNetTXAutoPadEnable() {/* AMD PCNet datasheet p.1-958 Setting bit 11 (Auto Pad Transmit) allows - shoft transmit frames to be automatically + short transmit frames to be automatically extended to 64 bytes. */ U32 csr = PCNetCSRRead(PCNET_CSR_FEATURECTRL); @@ -465,6 +466,19 @@ U0 PCNetTXAutoPadEnable() PCNetCSRWrite(PCNET_CSR_FEATURECTRL, csr); } +U0 PCNetRXAutoStripEnable() +{/* AMD PCNet datasheet p.1-958 + Setting bit 10 (Auto Strip Receive) allows + pad and FCS fields to be automatically + stripped. ONLY WORKS ON 802.3!!! */ + + U32 csr = PCNetCSRRead(PCNET_CSR_FEATURECTRL); + + Bts(&csr, PCNET_FEATURE_ASTRPRCV); + + PCNetCSRWrite(PCNET_CSR_FEATURECTRL, csr); +} + U0 PCNetConfigModeExit() {/* AMD PCNet datasheet p.1-954 PCNet controller can be started @@ -749,6 +763,8 @@ U0 PCNetInit() PCNetTXAutoPadEnable; + PCNetRXAutoStripEnable; + PCNetAutoLinkSelect; PCNetEnableFullDuplex; @@ -845,4 +861,4 @@ U0 NetStart() PCNetCSRWrite(PCNET_CSR_CTRLSTATUS, csr); } -PCNetInit; \ No newline at end of file +PCNetInit; From f709dc872ab0c41514ba13c2761a3539ec05c2c8 Mon Sep 17 00:00:00 2001 From: retu2libc Date: Wed, 6 Mar 2024 02:48:46 -0500 Subject: [PATCH 21/30] Deduce when ethertype field is actually data length --- src/Home/Net/Protocols/Ethernet.ZC | 19 +++++++++---------- src/Home/Net/Utilities/Net.HH | 3 +++ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Home/Net/Protocols/Ethernet.ZC b/src/Home/Net/Protocols/Ethernet.ZC index 3a4de9f0..611b3b34 100755 --- a/src/Home/Net/Protocols/Ethernet.ZC +++ b/src/Home/Net/Protocols/Ethernet.ZC @@ -27,17 +27,13 @@ U0 EthernetGlobalsInit() } } -//TODO: check length , figure out the length+4 U0 EthernetFrameParse(CEthernetFrame *frame_out, U8 *frame, U16 length) { - //TODO: Check length ! We need to figure out what - //lengths are appropriate - - //Shrine also says MemCopy has a - //high overhead. Almost tempted to say that means that a lot - //of the current system should be done with less extra allocation - //altogether, more passing. - //In practice, MemCopy causes the most slowdown on bare-metal. + // Shrine says MemCopy has a high overhead. + // Almost tempted to say that means that a lot + // of the current system should be done with + // less extra allocation altogether, more passing. + // In practice, MemCopy causes the most slowdown on bare-metal. NetLog("ETHERNET FRAME PARSE: Parsing frame, copying out to frame_out param."); @@ -49,7 +45,10 @@ U0 EthernetFrameParse(CEthernetFrame *frame_out, U8 *frame, U16 length) frame_out->data = frame + ETHERNET_DATA_OFFSET; - frame_out->length = length - ETHERNET_MAC_HEADER_LENGTH - 4; // He has a comment literally just saying "??". + or - 4? + if (frame_out->ethertype <= ETHERNET_v2_MTU) // check if the field is a length or an ethertype + frame_out->length = frame_out->ethertype; + else + frame_out->length = length - ETHERNET_MAC_HEADER_LENGTH - FCS_LENGTH; } U0 EthernetFrameFinish(I64 de_index) diff --git a/src/Home/Net/Utilities/Net.HH b/src/Home/Net/Utilities/Net.HH index 677f37ac..0953fd61 100755 --- a/src/Home/Net/Utilities/Net.HH +++ b/src/Home/Net/Utilities/Net.HH @@ -5,11 +5,14 @@ #define ETHERNET_ETHERTYPE_OFFSET 12 #define ETHERNET_DATA_OFFSET 14 #define MAC_ADDRESS_LENGTH 6 +#define FCS_LENGTH 4 /* Ethernet Frame Size. Linux uses 1544, OSDev and Shrine use 1548. Based on IEEE 802.3as, max frame size was agreed upon as 2000 bytes. */ #define ETHERNET_FRAME_SIZE 2000 +#define ETHERNET_v2_MTU 1500 + #define HTYPE_ETHERNET 1 #define HLEN_ETHERNET 6 #define PLEN_IPV4 4 From 8662e5ca5e703c9528120e7ca03aed3be98e5496 Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Wed, 6 Mar 2024 23:14:57 -0500 Subject: [PATCH 22/30] chore: inc os version patch num --- src/Kernel/KGlobals.ZC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index 965137cd..c794b0eb 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 112; +U64 sys_os_version_sub = 113; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice; From 6c976d8b561fe50de34c5453213861b1fdf8584f Mon Sep 17 00:00:00 2001 From: retu2libc Date: Thu, 7 Mar 2024 00:05:39 -0500 Subject: [PATCH 23/30] Offload FCS to driver specific code --- src/Home/Net/Drivers/PCNet.ZC | 8 +++++++- src/Home/Net/Protocols/Ethernet.ZC | 7 +++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Home/Net/Drivers/PCNet.ZC b/src/Home/Net/Drivers/PCNet.ZC index bf84da61..637956de 100755 --- a/src/Home/Net/Drivers/PCNet.ZC +++ b/src/Home/Net/Drivers/PCNet.ZC @@ -635,7 +635,13 @@ I64 PCNetPacketReceive(U8 **packet_buffer_out, U16 *packet_length_out) NetDebug("PCNET RECEIVE PACKET: de_index incremented = 0x%0X", pcnet.current_rx_de_index); *packet_buffer_out = pcnet.rx_buffer_addr_phys + de_index * ETHERNET_FRAME_SIZE; - *packet_length_out = packet_length; + + // ASTRPRCV causes 802.3 packets to be stripped and FCS to be checked + U16 ethertype = (*packet_buffer_out)[ETHERNET_ETHERTYPE_OFFSET + 1] | (*packet_buffer_out)[ETHERNET_ETHERTYPE_OFFSET] << 8; + if (ethertype < ETHERNET_v2_MTU) + *packet_length_out = ethertype; + else + *packet_length_out = packet_length - FCS_LENGTH; // ethertype ii TODO: Validate FCS return de_index; } diff --git a/src/Home/Net/Protocols/Ethernet.ZC b/src/Home/Net/Protocols/Ethernet.ZC index 611b3b34..cdd54b33 100755 --- a/src/Home/Net/Protocols/Ethernet.ZC +++ b/src/Home/Net/Protocols/Ethernet.ZC @@ -29,6 +29,8 @@ U0 EthernetGlobalsInit() U0 EthernetFrameParse(CEthernetFrame *frame_out, U8 *frame, U16 length) { + // length is assumed to NOT include the FCS. + // Shrine says MemCopy has a high overhead. // Almost tempted to say that means that a lot // of the current system should be done with @@ -45,10 +47,7 @@ U0 EthernetFrameParse(CEthernetFrame *frame_out, U8 *frame, U16 length) frame_out->data = frame + ETHERNET_DATA_OFFSET; - if (frame_out->ethertype <= ETHERNET_v2_MTU) // check if the field is a length or an ethertype - frame_out->length = frame_out->ethertype; - else - frame_out->length = length - ETHERNET_MAC_HEADER_LENGTH - FCS_LENGTH; + frame_out->length = length - ETHERNET_MAC_HEADER_LENGTH; } U0 EthernetFrameFinish(I64 de_index) From 7edf953c2465cb0c7fee16662976e801f58567de Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Thu, 7 Mar 2024 00:22:13 -0500 Subject: [PATCH 24/30] chore: inc os version patch num --- src/Kernel/KGlobals.ZC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index c794b0eb..783ea116 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 113; +U64 sys_os_version_sub = 114; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice; From d63cfd809975600aa2af8a2928a9e6530f3c3170 Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Mon, 11 Mar 2024 02:05:24 -0400 Subject: [PATCH 25/30] feat: CI build check for ISOs and fail if missing --- .github/workflows/build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3f539841..f07d2553 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,12 +40,19 @@ jobs: sudo udevadm trigger --name-match=kvm - name: Run ISOs Build Script + timeout-minutes: 10 if: ${{ success() }} run: | cd build ./build-iso.sh --headless cd .. + - name: ISO Check + if: ${{ success() && hashFiles('./build/*.iso') == '' }} + run: | + echo "ISOs not built!" + exit 1 + - name: Releasing Latest ISOs if: ${{ success() && github.event_name == 'push'}} uses: "GutPuncher/action-automatic-releases@latest" From fca34d8b3d34555faaec60fdf31122331585fa34 Mon Sep 17 00:00:00 2001 From: GutPuncher Date: Mon, 11 Mar 2024 02:52:35 -0400 Subject: [PATCH 26/30] feat: revise/refactor #124 , inc patch num --- src/Home/Yuugure.ZC | 29 ----------------------------- src/HomeKeyPlugIns.ZC | 4 ++-- src/Kernel/Job.ZC | 8 ++++++++ src/Kernel/KGlobals.ZC | 2 +- src/Kernel/KernelC.HH | 1 + 5 files changed, 12 insertions(+), 32 deletions(-) delete mode 100755 src/Home/Yuugure.ZC diff --git a/src/Home/Yuugure.ZC b/src/Home/Yuugure.ZC deleted file mode 100755 index e449e4c5..00000000 --- a/src/Home/Yuugure.ZC +++ /dev/null @@ -1,29 +0,0 @@ -I64 initialWinBottom = sys_task->win_bottom; -CDoc *initialDisplayDoc = sys_task->display_doc; - -U0 Yuugure() -{ - // Hide SysLog - if (sys_task->win_bottom != 0) { - while(sys_task->win_bottom > -1){ - sys_task->win_bottom--; - Sleep(20); - } - - sys_task->display_doc = NULL; - WinBorder(OFF, sys_task); - } - // Show SysLog - else { - WinBorder(ON, sys_task); - sys_task->display_doc = initialDisplayDoc; - - while(sys_task->win_bottom != initialWinBottom){ - sys_task->win_bottom++; - Sleep(20); - } - - } - - WinZBufUpdate; -} diff --git a/src/HomeKeyPlugIns.ZC b/src/HomeKeyPlugIns.ZC index 22e3f497..0563468d 100755 --- a/src/HomeKeyPlugIns.ZC +++ b/src/HomeKeyPlugIns.ZC @@ -114,9 +114,9 @@ Bool MyPutKey(I64 ch, I64 sc) if (!(sc & SCF_SHIFT)) { if (sc & SCF_KEY_DESC) - KeyDescSet("Cmd /Yuugure"); + KeyDescSet("Cmd /SysLogToggle"); else - Yuugure; + SysLogToggle; } return TRUE; diff --git a/src/Kernel/Job.ZC b/src/Kernel/Job.ZC index 983a40da..a27489ed 100755 --- a/src/Kernel/Job.ZC +++ b/src/Kernel/Job.ZC @@ -504,6 +504,14 @@ I64 Sys(U8 *format, ...) return res; } +U0 SysLogToggle() +{ + if (Bt(&sys_task->display_flags, DISPLAYf_SHOW)) + LBtr(&sys_task->display_flags, DISPLAYf_SHOW); + else + LBts(&sys_task->display_flags, DISPLAYf_SHOW); +} + U0 SysLog(U8 *format, ...) {//Display text in sys_task. U8 *buf = StrPrintJoin(NULL, format, argc, argv); diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index 783ea116..31b9bdac 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 114; +U64 sys_os_version_sub = 115; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice; diff --git a/src/Kernel/KernelC.HH b/src/Kernel/KernelC.HH index 3c984c9a..18c28999 100755 --- a/src/Kernel/KernelC.HH +++ b/src/Kernel/KernelC.HH @@ -437,6 +437,7 @@ public extern I64 Scale2Mem(I64 min, I64 max, I64 limit=2*1024*1024*1024); public extern U0 SysErr( U8 *format, ...); public extern U0 SysWarn(U8 *format, ...); public extern U0 SysLog( U8 *format, ...); +public extern U0 SysLogToggle(); public extern I64 ExeCmdLine(CCompCtrl *cc); public extern U0 JobDel(CJob *tmpc); public extern I64 JobsHandler(I64 run_flags, CTask *task=NULL); From 314b4630640b615bc7fc414d5f98f0ff5ac21a27 Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Mon, 11 Mar 2024 02:54:46 -0400 Subject: [PATCH 27/30] Update MakeHome.ZC --- src/MakeHome.ZC | 1 - 1 file changed, 1 deletion(-) diff --git a/src/MakeHome.ZC b/src/MakeHome.ZC index 9b650e41..39f77698 100755 --- a/src/MakeHome.ZC +++ b/src/MakeHome.ZC @@ -8,7 +8,6 @@ Cd(__DIR__);; #include "~/HomeWrappers" MapFileLoad("::/Kernel/Kernel"); MapFileLoad("::/Compiler/Compiler"); -#include "~/Yuugure" #include "~/HomeKeyPlugIns" #include "~/HomeSys" Cd("..");; From cf4d34c8b2d3eec8d18b3c097226c018b73f96a5 Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Mon, 11 Mar 2024 02:59:45 -0400 Subject: [PATCH 28/30] Update Display.ZC --- src/Kernel/Display.ZC | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Kernel/Display.ZC b/src/Kernel/Display.ZC index 5c0ce6f7..ef89e85f 100755 --- a/src/Kernel/Display.ZC +++ b/src/Kernel/Display.ZC @@ -47,7 +47,8 @@ See also $LK,"GrUpdateScreen",A="MN:GrUpdateScreen"$(). } else if (ch == '\n') { - do RawPutChar(CH_SPACE); + do + RawPutChar(CH_SPACE); while (text.raw_col % text.cols); } else if (Bt(char_bmp_displayable, ch)) From d77e52698ff32109591208d05c477039bb12a0b2 Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Mon, 11 Mar 2024 03:02:10 -0400 Subject: [PATCH 29/30] Update KGlobals.ZC --- src/Kernel/KGlobals.ZC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index 31b9bdac..f5f71ef3 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 115; +U64 sys_os_version_sub = 116; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice; From 8f9d48bb13eb012462bcae4125f7207add52df97 Mon Sep 17 00:00:00 2001 From: Arsenic Blood <127725014+GutPuncher@users.noreply.github.com> Date: Mon, 11 Mar 2024 03:04:39 -0400 Subject: [PATCH 30/30] Update KGlobals.ZC --- src/Kernel/KGlobals.ZC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kernel/KGlobals.ZC b/src/Kernel/KGlobals.ZC index f5f71ef3..4b26ecab 100755 --- a/src/Kernel/KGlobals.ZC +++ b/src/Kernel/KGlobals.ZC @@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, sys_os_version = 2.03; -U64 sys_os_version_sub = 116; +U64 sys_os_version_sub = 117; U8 *sys_os_version_str; U8 *sys_os_version_full; U8 *sys_os_version_nice;