Aaron
b9e6c53be2
removed unused icons
2026-03-11 19:41:49 +00:00
Aaron
5628c1ddbf
feat: file dispatch system, file-type icons, multi-instance notepad
...
- Add extension-based dispatch to driver.storage.filedispatch with typed
union (variant record THandlerKind = hkMagic/hkExtension)
- Extract file-type icon constants and mapping to core.gfx.fileicons
- Add core.search utility (getFileExtension, fmtFileSize, sortStringArray)
- Generate PUA bitmap icon fonts (32/64/128px) from Font Awesome via
gen_file_icons.py + compile_icons.sh toolchain
- Integrate file dispatch into file browser (double-click triggers dispatch)
- Register notepad as handler for text file extensions
- Fix init order in app.mgr (filedispatch.init before app inits)
- Refactor notepad from singleton to multi-instance (up to 8 windows)
using instance array, findStateByWid, and LVGL user_data on msgboxes
2026-03-11 19:41:49 +00:00
Aaron
c8c7c2983d
vfs: symlink support in file picker, test cleanup, boot mount fix
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
- File picker (app.filepicker.pas): add otSYMLINK to directory case in
fp_collect_cb so symlinks like /sys appear as navigable directories
- VFS: add RemoveVirtualTree() to recursively free vdir/symlink trees
- VFS UnitTest: clean up /utest_vfs tree after all tests
- STORTEST: clean up /st_test tree after tests, fix listing leak in
cmd_stortest (GetDirectoryListingFrom result was never freed)
- Boot mount: auto-mount boot drive at /boot via mountVolume() instead
of symlink; remove /boot and /cfg from init() vdirs
- mount.asr: remove boot line (now only 'mnt {device}/sys /sys')
2026-03-08 19:00:47 +00:00
Aaron
2cf879c4b9
vfs: replace asr.mnt with mount.asr declarative boot mounts
...
- Add mount.asr parser in auto_mount_volumes: reads MOUNT.ASR from boot
volume root, parses 'mnt {device}<src> <target>' lines, expands {device}
to the boot volume's /disk/volN path, creates symlinks for each entry
- Remove old asr.mnt persistent mount logic from auto_mount_volumes
- Remove persistent mount write ([p] flag) from MOUNT shell command
- Remove hardcoded /boot mount for boot volumes (now driven by mount.asr)
- Add iso/mount.asr with default /boot and /sys symlinks
- Update doc/vfs.md with mount.asr documentation
2026-03-08 18:07:44 +00:00
Aaron
f0531ff861
Removed bad files
continuous-integration/drone/push Build is passing
2026-03-07 19:22:40 +00:00
Aaron
3a733b1559
feat: auto-mount boot drive to /boot; fix FAT32 deleted entry triple fault
...
continuous-integration/drone/push Build is passing
- Decode multiboot boot_device byte in storagemanager to identify boot device
- Add isBootDevice to TStorage_Device; propagate isBootDrive to volumes
- Create /boot VFS directory at init; mount boot volume there in auto_mount_volumes
- Fix getDirEntries skipping \-marked (deleted) FAT32 entries to prevent
triple fault when navigating into a deleted directory via file picker
2026-03-07 18:58:32 +00:00
Aaron
deb513c925
storage: fix VFS corruption, ISO9660 hang, OOM; add notepad, file picker, fdtable, GPT, async I/O
...
VFS fixes:
- GetDirectoryListing(otVDIRECTORY) now returns a heap-allocated snapshot
instead of a raw live-tree pointer; FreeDirectoryListing no longer
corrupts the VFS tree (fixes page fault on repeated navigation)
- volumeGetDirectories: guard LL_Size > 0 before loop to prevent uint32
underflow (0-1 = 0xFFFFFFFF) causing 4B kalloc iterations -> OOM
- Free entry^.fileName and dirList in all branches (memory leak fix)
iso9660:
- equalsIgnoreCase: guard la=0 before loop (same uint32 underflow bug)
- readDirectoryEntries/resolvePath: add 65536/256-iter safety caps
storagemanager:
- Strip debug syslog calls that were allocating 6+ strings per I/O
(hundreds of I/Os x 6 allocs exhausted the heap)
Process manager:
- Per-process FDTable and Cwd initialised on create, freed on reap
- proc_await: use pointer-indirection spin per lesson #6 (FPC caches
non-volatile reads; raw while flag=0 returns immediately)
- graphicsrefresh: move LVGL handler from timer ISR (IF=0) to a
dedicated process so LVGL callbacks can call blocking I/O
New units:
- fdtable.pas: per-process file descriptor table (fd_alloc/get/close)
- iorequest.pas: heap allocation helpers for TIORequest
- gpt.pas: GPT header/entry read + CRC validation
- filepicker.pas: reusable OS-level open/save file picker dialog
- notepad.pas: GUI text editor with selection, indent, save-as
Shell commands (diskcmd, partcmd, volcmd, diskutil):
- Route output to stdout_buf instead of syslog (lesson #4 )
- diskutil: async add/remove/format partition; cache-based device display
Add Apache 2.0 license headers to storagemanager.pas, iso9660.pas,
fat32.pas, storagetest.pas
Lessons learnt: #9 VFS listing must return snapshot (not live pointer)
2026-03-07 18:58:32 +00:00
Aaron
789fb7971a
getting ready
2026-03-07 18:57:38 +00:00
Aaron
4e3acd6af7
Storage system: AHCI, IDE rework, VFS, volume manager, flatfs, async IO, IOAPIC
2026-03-07 18:45:25 +00:00
t3hn3rd
c2a62e2006
Added VBE & VGA insmods to GRUB
...
Added insmod vbe + insmod vga to the grub.cfg.
2021-06-22 20:49:52 +01:00
t3hn3rd
c6b7ba510d
Cleanup and gitignore!
2020-10-29 15:23:40 +00:00
kieron
1f652a3a20
git-svn-id: https://spexeah.com:8443/svn/Asuro@921 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2020-07-09 21:35:08 +00:00
kieron
5d26e199aa
git-svn-id: https://spexeah.com:8443/svn/Asuro@918 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2020-07-09 21:06:52 +00:00
kieron
2118e498c1
git-svn-id: https://spexeah.com:8443/svn/Asuro@877 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2020-07-08 22:35:48 +00:00
kieron
21ef8c61fb
git-svn-id: https://spexeah.com:8443/svn/Asuro@870 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2020-07-08 21:56:28 +00:00
kieron
1dcfc4e7eb
Big commit thing.
...
git-svn-id: https://spexeah.com:8443/svn/Asuro@867 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2020-07-08 21:42:55 +00:00
kieron
c3fe1ca707
UDP Recieve now works.
...
git-svn-id: https://spexeah.com:8443/svn/Asuro@837 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2020-07-08 00:16:17 +00:00
kieron
4935fbc9aa
Tried fixes for IDE on VMWare Workbench - doesn't crash on start anymore, but does crash after format.
...
git-svn-id: https://spexeah.com:8443/svn/Asuro@796 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2019-03-12 11:12:12 +00:00
kieron
18e93ff39d
git-svn-id: https://spexeah.com:8443/svn/Asuro@792 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2019-03-12 09:25:19 +00:00
kieron
f41082bbea
Fixed bug in IDE causing undefined behaviour when reading from IDE status register using inw instead of inb.
...
git-svn-id: https://spexeah.com:8443/svn/Asuro@777 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2019-03-11 20:17:20 +00:00
kieron
f290436805
git-svn-id: https://spexeah.com:8443/svn/Asuro@774 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2019-03-11 19:49:43 +00:00
kieron
c8c28f549d
Changed Scripts
...
git-svn-id: https://spexeah.com:8443/svn/Asuro@765 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2019-03-09 14:25:11 +00:00
kieron
877ef01b80
git-svn-id: https://spexeah.com:8443/svn/Asuro@748 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-09-29 14:32:04 +00:00
kieron
8066634367
git-svn-id: https://spexeah.com:8443/svn/Asuro@746 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-22 03:33:51 +00:00
kieron
17f41d9794
git-svn-id: https://spexeah.com:8443/svn/Asuro@744 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 19:43:43 +00:00
kieron
a7c568b06a
git-svn-id: https://spexeah.com:8443/svn/Asuro@743 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 14:24:12 +00:00
kieron
beddcd303f
git-svn-id: https://spexeah.com:8443/svn/Asuro@742 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 14:02:10 +00:00
kieron
e71b72db8a
git-svn-id: https://spexeah.com:8443/svn/Asuro@741 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 13:57:06 +00:00
kieron
31af646bf4
git-svn-id: https://spexeah.com:8443/svn/Asuro@740 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 13:24:31 +00:00
kieron
efb41424dc
git-svn-id: https://spexeah.com:8443/svn/Asuro@739 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 11:33:06 +00:00
kieron
12b28f41c7
git-svn-id: https://spexeah.com:8443/svn/Asuro@738 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 11:08:40 +00:00
kieron
b372e85e16
git-svn-id: https://spexeah.com:8443/svn/Asuro@737 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 11:06:36 +00:00
kieron
ab96ce6efb
git-svn-id: https://spexeah.com:8443/svn/Asuro@736 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 10:54:24 +00:00
kieron
5193a9c122
git-svn-id: https://spexeah.com:8443/svn/Asuro@735 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 10:42:58 +00:00
kieron
66db2427c4
git-svn-id: https://spexeah.com:8443/svn/Asuro@734 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 10:39:42 +00:00
kieron
beb04a225a
git-svn-id: https://spexeah.com:8443/svn/Asuro@733 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-13 10:35:04 +00:00
kieron
7e293e683b
git-svn-id: https://spexeah.com:8443/svn/Asuro@731 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-12 20:25:42 +00:00
kieron
ec1c22ff0f
git-svn-id: https://spexeah.com:8443/svn/Asuro@730 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-12 15:47:28 +00:00
kieron
cb976d34dc
git-svn-id: https://spexeah.com:8443/svn/Asuro@729 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-12 15:25:22 +00:00
kieron
fd2364ecaf
git-svn-id: https://spexeah.com:8443/svn/Asuro@728 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-12 15:23:38 +00:00
kieron
1f56595625
git-svn-id: https://spexeah.com:8443/svn/Asuro@726 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-12 10:08:30 +00:00
kieron
49c16c09ce
git-svn-id: https://spexeah.com:8443/svn/Asuro@724 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-12 09:37:01 +00:00
kieron
59a2c7567f
git-svn-id: https://spexeah.com:8443/svn/Asuro@723 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-12 09:34:00 +00:00
kieron
5dee385248
git-svn-id: https://spexeah.com:8443/svn/Asuro@722 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-12 09:20:28 +00:00
kieron
b8ebad8d42
git-svn-id: https://spexeah.com:8443/svn/Asuro@721 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-11 09:15:33 +00:00
kieron
ad4894627c
git-svn-id: https://spexeah.com:8443/svn/Asuro@720 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-11 09:10:39 +00:00
kieron
da474b5573
git-svn-id: https://spexeah.com:8443/svn/Asuro@719 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-11 09:09:04 +00:00
kieron
79ef3385d8
git-svn-id: https://spexeah.com:8443/svn/Asuro@718 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-11 08:58:05 +00:00
kieron
24c6acc5ab
git-svn-id: https://spexeah.com:8443/svn/Asuro@717 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-11 08:53:47 +00:00
kieron
d7c5857760
git-svn-id: https://spexeah.com:8443/svn/Asuro@716 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-05-11 08:17:37 +00:00