t3hn3rd
201cda4c29
fix: Pipeline fixes for temporary lvgl directory
...
continuous-integration/drone/push Build is passing
- Fixed missing lvgl artefacts for build pipeline causing drone failures.
2026-02-28 16:48:41 +00:00
t3hn3rd
e54b34aa93
fix: gate AVX enable on XSAVE support and set CR4.OSXSAVE first
...
continuous-integration/drone/push Build is failing
XGETBV/XSETBV require CR4 bit 18 (OSXSAVE) to be set before execution,
otherwise the CPU raises #UD (invalid opcode). Hyper-V enforces this
strictly; VirtualBox was silently tolerating it.
- Check both AVX and XSAVE CPUID flags before attempting AVX enable
- Set CR4.OSXSAVE (bit 18) before issuing XGETBV/XSETBV
- If XSAVE is not exposed by the hypervisor, AVX enable is skipped
gracefully instead of faulting
2026-02-28 16:31:57 +00:00
t3hn3rd
fcfe7c3204
fix: Mouse driver Hyper-V compatibility + resolution-independent bounds clamping
...
- Add mouse_wait_long() with 100,000 iteration timeout for init-time
i8042 controller commands (mouse_write/mouse_read/load). The original
mouse_wait() stays at 100 iterations for ISR-safe use in main().
- In load(): use mouse_wait_long() for all direct port I/O ($64/$60)
and clear CCB bit 5 (AND NOT $20) to ensure the mouse clock is not
disabled — required for Hyper-V which enforces this strictly.
- Replace Console.getConsoleProperties^.Width/Height with
video.frontBufferWidth/Height for mouse bounds clamping. The old
console properties are zero when console.init() is not called,
which locked the cursor to (0,0). Add 'video' to uses clause.
2026-02-28 16:31:26 +00:00
t3hn3rd
be4b482bde
fix: LVGL rendering for 16bpp framebuffers (HyperV compatibility)
...
continuous-integration/drone/push Build is failing
The LVGL flush callback assumed 32bpp (4-byte stride, direct pixel
copy), causing corrupted output on hypervisors that fall back to
16bpp modes (e.g. HyperV at 1600x1200x16).
- lvgl.pas: Make lvgl_flush_cb BPP-aware; add ARGB8888->RGB565
conversion path for 16bpp, keep direct copy for 32bpp. Replace
static lv_buf1 array (hardcoded 1600px wide) with kalloc'd buffer
sized to actual screen width.
- doublebuffer.pas: Fix allocateBackBuffer size from (W*H*BPP) to
(W*H*BPP) div 8 to get correct byte count.
- vesa.pas: Account for BPP in allocateVESAFrameBuffer page range
calculation to avoid under-mapping at higher BPP/resolutions.
- Removed the initialization of console in kernel.pas as this will
cause issues on some systems that don't expect to need to allocate the
textmode buffer.
2026-02-28 15:38:11 +00:00
t3hn3rd
6f50b053b7
Full LVGL binding & Cursor fix
...
- Full(ish) LVGL bindings implemented.
- Cursor replaced with an actual cursor.
2026-02-28 00:06:10 +00:00
t3hn3rd
ece376660c
Removed old lv_conf
continuous-integration/drone/push Build is failing
2026-02-27 22:43:53 +00:00
t3hn3rd
98a14bc7dc
More work towards LVGL implementation
continuous-integration/drone/push Build is failing
2026-02-27 22:43:02 +00:00
t3hn3rd
989e36ffe2
Initial LVGL modifications
...
Basic LVGL wrapper with an example desktop & windowing system.
2026-02-27 16:30:31 +00:00
t3hn3rd
ceb03a9d7e
Merge branch 'feature/fpc-3.2.2' into feature/lvgl
...
# Conflicts:
# .drone.yml
# virtualbox-wrapper.ps1
2026-02-26 15:51:37 +00:00
admin
924305a1ab
Merge pull request 'Migration from FPC 2.6.4 to FPC 3.2.2' ( #9 ) from feature/fpc-3.2.2 into develop
...
continuous-integration/drone/push Build is passing
Reviewed-on: #9
2026-02-26 12:51:09 +00:00
t3hn3rd
4ef61b0d3b
Drone failing due to webhook stage
...
- Added ignore failure to discord webhook stage.
2026-02-26 12:23:42 +00:00
t3hn3rd
2b071a58c7
feature: Upgrade FPC from 2.6.4 to 3.2.2
...
continuous-integration/drone Build was killed
Migrate the build toolchain from Free Pascal Compiler 2.6.4 to 3.2.2.
FPC 3.2.2 requires a significantly expanded custom system unit and
several syntactic adjustments across the codebase.
Dockerfile:
- Bump FPC_VERSION from 2.6.4 to 3.2.2
compile_sources.sh:
- Replace obsolete -Op3 flag with -OpPENTIUM3
linker.script:
- Add /DISCARD/ section for .init_array, .fini_array, .ctors, .dtors,
.eh_frame, .gcc_except_table, and .note.GNU-stack sections emitted
by FPC 3.2.2
system.pas:
- Fix hresult to 'type longint' (was cardinal, incompatible with 3.2.2)
- Add required types: SizeInt, SizeUInt, PtrInt, PtrUInt, NativeInt,
NativeUInt, CodePointer, TTypeKind, jmp_buf, TExceptAddr, TGuid,
FileRec, TextRec
- Add required globals: ExceptAddrStack, ExitCode, ErrorAddr, ErrorCode,
ExitProc, StackBottom, StackLength, RandSeed
- Implement compilerprocs: fpc_initializeunits, fpc_do_exit,
fpc_handleerror, fpc_rangeerror, fpc_overflow, fpc_divbyzero,
fpc_objecterror, fpc_abstracterror, fpc_stackcheck, fpc_iocheck,
fpc_pushexceptaddr, fpc_popaddrstack, fpc_setjmp (asm),
fpc_longjmp (asm), fpc_shortstr_assign, fpc_mul_int64 (asm),
fpc_getmem, fpc_freemem, fpc_reraise, fpc_raiseexception,
fpc_catches, fpc_doneexception
- Add move() procedure with FPC_MOVE alias
util.pas, serial.pas:
- Fix inline asm functions (getESP, inl, inw, inb, sinb) to use temp
variables instead of function-name result — FPC 3.2.2 no longer
allows 'MOV funcname, reg' syntax in inline asm blocks
lmemorymanager.pas:
- Export kalloc/kfree with public aliases (kernel_kalloc, kernel_kfree)
so system.pas fpc_getmem/fpc_freemem can link to them
2026-02-26 00:01:40 +00:00
t3hn3rd
1145b900e4
Merge pull request 'Virtualbox-Wrapper - Bugfix' ( #8 ) from feature/Virtualbox-Wrapper-Fix into develop
...
continuous-integration/drone/push Build is passing
Reviewed-on: #8
Reviewed-by: Aaron Hance <[email protected] >
2025-03-23 19:01:28 +00:00
t3hn3rd
436cd86d8c
Updated virtualbox wrapper as it was causing stale powershell processes to build up over time
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
- Updated `Virtualbox-Wrapper.ps1` to include `Get-Job | Stop-Job | Remove-Job -Force` at the end of execution, as the spawning of jobs was causing stale PowerShell processes to build up over time.
2025-03-23 17:54:55 +00:00
t3hn3rd
540444dfbf
Merge pull request 'feature/drone-discord-webhooks' ( #7 ) from feature/drone-discord-webhooks into develop
...
continuous-integration/drone/push Build is passing
Reviewed-on: #7
2025-03-23 15:21:58 +00:00
t3hn3rd
2d7c51ed15
Further formatting cleanups
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
- Attempted to remove automatic discord embeds by surrounding any markdown links with `<` `>`.
- Corrected some spacing.
2025-03-23 01:14:28 +00:00
t3hn3rd
c842d9774f
Formatting Fixed - Enchancing
...
continuous-integration/drone/push Build is passing
- Formatting is now fixed & newlines are working correctly, shame the YAML looks w?*! 🤣
- Added sections to the message for links to Gitea & Drone.
2025-03-23 00:59:36 +00:00
t3hn3rd
5963504f6b
More attempts at format fixes
...
continuous-integration/drone/push Build is passing
Formatting still off, condensing to one line to see if the escaped newlines will work. YAML is wild.
2025-03-23 00:48:31 +00:00
t3hn3rd
e64a59714a
Formatting Fixes
...
continuous-integration/drone/push Build is passing
Formatting was off for the message posted to Discord, it also triggered at the start of the pipeline.
- Fixed formatting with an attempt to use newlines.
- Added a depends_on `compile`.
2025-03-23 00:41:22 +00:00
t3hn3rd
dd5d908e43
DroneCI config updated to push to discord webhook
...
continuous-integration/drone/push Build is passing
- `.drone.yml` updated to push notifications to the discord webhook.
2025-03-23 00:31:20 +00:00
Aaron
28846af43c
Merge pull request 'feature/dynamic-lists' ( #6 ) from feature/dynamic-lists into develop
...
continuous-integration/drone/push Build is passing
Reviewed-on: #6
Reviewed-by: t3hn3rd <[email protected] >
2025-03-22 19:24:52 +00:00
t3hn3rd
b1e3953960
Merge pull request 'Fixed a DHCP bug' ( #5 ) from feature/DHCP-BugFix into develop
...
continuous-integration/drone/push Build is passing
Reviewed-on: #5
2025-03-22 19:13:25 +00:00
Aaron
7e00e23801
Fixed and expanded dynamic lists, commented whole file
2025-03-22 19:02:43 +00:00
t3hn3rd
bd12bbe862
DevOps Workflow Improvements
2025-03-22 18:42:44 +00:00
t3hn3rd
48c203f028
Fixed a DHCP bug
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
- Fixed a bug within `dhcp.pas` - `processPacket_OFFER` in which the client was responding with the client IP value within the DHCP header was incorrectly being filled out with the IP being requested & this value was then being used within the REQUESTED_IP_ADDRESS option. Corrected this to fill out the client IP with the currently configured IP, which will be NULL (0.0.0.0) on boot, and whatever is issued thereafter.
- Cascaded the change to use the currently configured IP as opposed to a NULL IP to any other functions that were calling `copyIPv4(@NULL_IP[0], @packetCtx^.IP.Source[0])`.
- Allowed `processPacket_OFFER` to process packets addressed to the BROADCAST MAC (WHY COULDN'T IT DO THIS ALREADY?!).
2025-03-17 00:00:21 +00:00
Aaron
d859e40e4a
Added mail map
continuous-integration/drone/push Build is passing
2025-03-15 10:52:08 +00:00
t3hn3rd
8be364c990
Merge pull request 'feature/ci-cd-drone-migration' ( #3 ) from feature/ci-cd-drone-migration into develop
...
continuous-integration/drone/push Build is passing
Reviewed-on: #3
2025-03-10 20:08:38 +00:00
t3hn3rd
0e2c6b2936
Final commit to merge through develop & master
...
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is failing
- CI/CD Pipeline now working & tested.
- Commits to all branches will trigger the pipeline in DroneCI.
- Commits to master will trigger the resulting ISO artefact to be uploaded to Gitea as a Package.
# Conflicts:
# .drone.yml
2025-03-10 12:48:21 +00:00
t3hn3rd
8c3649f691
Merge pull request 'feature/ci-cd-drone-migration' ( #3 ) from feature/ci-cd-drone-migration into develop
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
Reviewed-on: #3
2025-03-09 22:32:16 +00:00
t3hn3rd
b47194ed99
Final commit to merge through develop & master
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
- CI/CD Pipeline now working & tested.
- Commits to all branches will trigger the pipeline in DroneCI.
- Commits to master will trigger the resulting ISO artefact to be uploaded to Gitea as a Package.
2025-03-09 22:25:08 +00:00
t3hn3rd
6bca42f2a5
Final Test before finalizing
...
continuous-integration/drone/push Build is passing
- Single quotes were causing the first CURL to fail.
- This should be the penultimate commit before ready to progress through dev to master.
2025-03-09 22:18:19 +00:00
t3hn3rd
f1211f3cca
Slowly making progress
...
continuous-integration/drone/push Build is passing
- YAML is now valid - however, the attempt to temp store the revision number failed. Doing it inline instead.
2025-03-09 22:08:18 +00:00
t3hn3rd
0913daebc6
Still experiencing YAML errors, for some reason.
continuous-integration/drone/push Build is passing
2025-03-09 22:01:55 +00:00
t3hn3rd
d1a4b4d42f
Another attempt - issues with YAML layout for some reason
continuous-integration/drone/push Build encountered an error
2025-03-09 21:57:19 +00:00
t3hn3rd
2906b8724b
Exports don't persist between commands
...
continuous-integration/drone/push Build encountered an error
- Exports don't persist between commands in Drone commands - removed these exports and made more verbose commands.
2025-03-09 21:45:29 +00:00
t3hn3rd
5e6e6c394a
Debugging & Testing
...
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
- Mistakes made in the curl methods used & the curl upload-file flag - rectified.
2025-03-09 21:18:49 +00:00
t3hn3rd
315050f095
Further permission issues
...
continuous-integration/drone/push Build is failing
- Further attempts to fix permission issues within Drone when exporting the Asuro.iso artefact
- Switched to `alpine/git` instead of `curl` image, as git didn't exist under the `curl` image.
2025-03-09 20:42:40 +00:00
t3hn3rd
f795ba24f8
Further tweaks to artefact upload step
...
continuous-integration/drone/push Build is failing
DroneCI wasn't happy with the mv of `Asuro.iso` - changed to a cp.
2025-03-09 20:36:19 +00:00
t3hn3rd
738307d070
Testing artefact upload
...
continuous-integration/drone/push Build is failing
- Testing the upload of the resulting `Asuro.iso` to Gitea fromt the Drone pipeline.
2025-03-09 20:30:45 +00:00
t3hn3rd
04cff2e2c3
Testing Succeeded - Refinement & removal of debugging code
...
continuous-integration/drone/push Build is passing
- Removed the debug `exit 1` from `compile_stub.sh`
- Improved `compile.sh` to use runOrFail in a more suitable way, correctly passing through failure messages.
2025-03-09 19:58:24 +00:00
t3hn3rd
0b5981242b
Intentional edit to cause build failure
...
continuous-integration/drone/push Build is failing
- Intentional edit to `compile_stub.sh` in order to cause a build failure.
2025-03-09 19:44:19 +00:00
t3hn3rd
f0dc598f44
Cleaning up compile scripts
...
continuous-integration/drone/push Build is passing
- Debugging removed from `compile_vergen.sh`
- `compile.sh` modified to use a for loop for each command & only continue if previous steps succeeded.
2025-03-09 19:39:25 +00:00
t3hn3rd
d4236f455e
DroneCI doesn't fetch tags by default
...
continuous-integration/drone/push Build is passing
- Added `git fetch --tags` as the first command
- Changes to compile_vergen.sh in order to debug.
2025-03-09 19:16:23 +00:00
t3hn3rd
96fcf19c14
Further updates to .drone.yml
...
continuous-integration/drone/push Build is passing
Still experiencing issues with not being able to find the .sh files due to missing /code directory.
2025-03-09 18:59:32 +00:00
t3hn3rd
8c51bd8690
Attempts to resolve issues with missing /code directory
...
continuous-integration/drone/push Build is failing
Dockerfile expects `/code` attempting to resolve this in the .drone.yml
2025-03-09 18:54:38 +00:00
t3hn3rd
43464bb550
Still not working
...
continuous-integration/drone/push Build is failing
Testing whether mount paths are the problem
2025-03-09 18:08:28 +00:00
t3hn3rd
6a1b87e250
.drone.yml modifications
...
continuous-integration/drone/push Build is passing
Modified drone.yml to copy source from the /drone/src directory to the /code directory.
2025-03-09 17:49:04 +00:00
t3hn3rd
9473e26b50
Dockerfile corrections
...
continuous-integration/drone/push Build is passing
- /code already exists, don't create it in Dockerfile
2025-03-09 17:42:06 +00:00
t3hn3rd
f19444201d
Updated registry to the registry server, as opposed to my username
...
continuous-integration/drone/push Build is failing
Oops.
2025-03-09 17:36:45 +00:00
t3hn3rd
f907b7e072
First attempt at drone cicd migration
...
continuous-integration/drone/push Build is failing
- Created a new `.drone.yml` that will compile the Dockerfile, upload this to the Docker Registry & then use this for building.
2025-03-09 17:32:35 +00:00