Commit graph

734 commits

Author SHA1 Message Date
TomAwezome
7b15c0bee5 Update KeyDev.ZC Ctrl-Alt-V callback name to replace 'VGA' with 'Video Framebuffer'. 2022-10-28 23:10:45 -04:00
TomAwezome
3db0badd5d Change Customize.DD and Tips.DD font toggle to mention auxiliary font instead of deprecated VGA ROM font. 2022-10-28 23:09:30 -04:00
TomAwezome
05f92128db Fix minor ChangeLog grammar issue. 2022-10-28 23:08:04 -04:00
TomAwezome
422414aa87 Fix CheckPtr and CheckCodePtr missing else and return. 2022-10-26 19:26:54 -04:00
TomAwezome
1d74c8116e Remove text.vga_alias and VGAM_GRAPHICS. 2022-10-26 18:35:52 -04:00
TomAwezome
d8444770b2 Update Boot.DD 2022-10-26 18:33:38 -04:00
TomAwezome
e605c8c98e Update WhyNotMore.DD 2022-10-26 18:32:36 -04:00
TomAwezome
df00b3d115 Update Welcome.DD 2022-10-26 13:22:48 -04:00
TomAwezome
6e28f6e42c Begin updating ChangeLog with all V2.00 changes. 2022-10-25 18:00:17 -04:00
TomAwezome
b82ac37220 Remove newline from KernelB.HH that previously held a debug comment. 2022-10-25 17:59:50 -04:00
TomAwezome
fbbc5dacbf Fix PCI bit-test function unnecessary parens warnings. 2022-10-25 14:52:30 -04:00
TomAwezome
11601ccb32 Lower PTR_STARS_NUM from 4 to 3. 2022-10-24 17:01:18 -04:00
TomAwezome
0f88890169 Make GrDir move cursor to top of document after printing all sprites. 2022-10-24 16:37:39 -04:00
TomAwezome
ad9df373ed Remove unneeded comment from VideoRep. 2022-10-24 16:36:57 -04:00
TomAwezome
e400adb577 Move PCIRep from System/DevInfo.ZC to new file System/Utils/PCIRep.ZC. 2022-10-24 16:04:52 -04:00
TomAwezome
725cde1fb8 Fix AHCI function documentation about blk counts. 2022-10-24 15:15:43 -04:00
TomAwezome
758bea22f9 Refactor redundant OSInstall print lines. 2022-10-24 04:11:29 -04:00
TomAwezome
82ad5d29ac Improve printed report of success in BootMHDIns and LimineMHDIns. 2022-10-24 03:46:16 -04:00
TomAwezome
ce6c9c29ad Make CopySingle progress indicator only update every 2 seconds. 2022-10-24 02:05:24 -04:00
TomAwezome
5a8a1ab528 Reimplement Auto/Manual OSUpgrade choice and functionality. 2022-10-24 01:41:53 -04:00
TomAwezome
f43001300e Fix OSFilesMergeInner not using CopyTree for directories. 2022-10-23 19:04:40 -04:00
TomAwezome
e2c6bd060e Make OSInstall use new DF_KEEP_FLAGS Diff Flag. 2022-10-23 18:36:12 -04:00
TomAwezome
d95f3b285b Make new Diff Flag DF_KEEP_FLAGS, use in Diff.
Diff will now check the passed df_flags for the DF_KEEP_FLAGS bit, and if found it will NOT and-equals the flags with DF_ABORT_ALL_FILES, which means that automated Diff utilities can be more easily written, without breaking the manual pop-up window Diff Merge workflow functionality.
2022-10-23 18:35:41 -04:00
TomAwezome
4a4e7a20fb Add DiffSub debug check and Diff debug comment. 2022-10-23 02:09:10 -04:00
TomAwezome
fc6960b8f7 Begin reimplementing OSUpgrade functionality. 2022-10-23 02:08:06 -04:00
TomAwezome
6baab750b4 Make OSInstall run LimineCFGMake on UEFI installs. 2022-10-23 02:05:57 -04:00
TomAwezome
ff06fa23a3 Fix AHCI bit test accesses in various files to use PCIBt/PCIBts/PCIBtr. 2022-10-23 02:03:47 -04:00
TomAwezome
b07c1385f7 Update Charter. 2022-10-22 18:44:18 -04:00
TomAwezome
876ea98c18 Fix FileSysFAT.ZC code formatting. 2022-10-22 18:43:18 -04:00
TomAwezome
a92ca05746 Implement PCIBt, PCIBtr, PCIBts; use in PCI drivers. 2022-10-22 14:15:24 -04:00
TomAwezome
f362d5a97c Make gr.continuous_scroll default TRUE. 2022-10-22 14:12:54 -04:00
TomAwezome
ee991a4aab Update Commander Palette. 2022-10-21 20:43:47 -04:00
TomAwezome
2775301617 Update KernelB.HH file mode. 2022-10-21 20:43:30 -04:00
TomAwezome
97bc6d7908 Update Amicus Palette file mode. 2022-10-21 20:42:25 -04:00
TomAwezome
13e6342699 Update Amicus Palette 2022-10-20 16:41:17 -04:00
TomAwezome
2cb7e9f7a0 Improve CopySingle 'progress' indicator. 2022-10-20 14:35:27 -04:00
TomAwezome
da01da14eb Add 'progress' indicator to CopySingle function. 2022-10-20 13:46:07 -04:00
TomAwezome
a8751b020f Update Amicus Palette 2022-10-20 13:29:35 -04:00
TomAwezome
adb8c4dd33 Optimize Bt temporary replacement. 2022-10-20 02:54:27 -04:00
TomAwezome
88e7430bc3 Optimize Bt,Btr,Bts temporary replacements. 2022-10-20 01:41:19 -04:00
TomAwezome
b09de5aa14 Change Charter and update OS documentation.
The ZealOS Charter now permits bootloaders to be excluded from the fully open-source public-domain source code requirement, but adds that the 'legacy' ZealOS ZealC public-domain HDD/DVD BIOS-mode bootloaders must always be provided, functional, and offered as a bootloader option during BIOS-mode installation.
2022-10-17 20:08:36 -04:00
TomAwezome
ac8c1754da Make LimineMHDIns copy autogenerated Limine.CFG to all Zeal partitions. 2022-10-16 20:25:01 -04:00
TomAwezome
16427dfe0b Move Limine.CFG from src/ to zealbooter/.
Since Zeal now has Limine.CFG autogenerate capability for install, it doesn't need it in the source tree. However, it can't be outright deleted from the project since the isohybrid needs it, so instead it will stay in zealbooter directory, and in the next commit it will be copied into the isohybrid temp directory from zealbooter/ during the build process.
2022-10-16 19:49:06 -04:00
TomAwezome
41e5901934 Update DiskAHCI.ZC debug fixme comment. 2022-10-16 19:35:23 -04:00
TomAwezome
5b6b84202f Update KernelB.HH debug fixme comment. 2022-10-16 19:33:14 -04:00
TomAwezome
e3c13b2baf Remove debug comment on SYS_FRAMEBUFFER_LIST. 2022-10-16 19:32:28 -04:00
TomAwezome
a0fa1ac559 Make OSInstall delete /boot.catalog from install drive. 2022-10-16 17:32:41 -04:00
TomAwezome
2590420586 Add Limine.CFG auto-generate ability to LimineMHDIns. 2022-10-16 17:26:42 -04:00
TomAwezome
42234bdef1 Make OSInstall delete copied Limine-CD.BIN and Limine-CD-EFI.BIN from install Boot/ folder. 2022-10-16 17:26:00 -04:00
TomAwezome
7902298747 Comment out OSUpgrade prompt lines temporarily, add note to refactor functionality into basic pre-install Diff. 2022-10-16 17:25:15 -04:00
TomAwezome
fc2e17e756 Delete Home/LimineCFGMake.ZC 2022-10-16 17:22:52 -04:00
TomAwezome
5ec66b9dad Replace Bt, Btr, Bts compiler _interns temporarily with function implementations. 2022-10-16 01:57:30 -04:00
TomAwezome
fa73da4be1 Remove debug lines from Kernel/BlkDev/DiskAHCI.ZC 2022-10-15 23:40:09 -04:00
TomAwezome
0119d4cb15 Delete Home/BruteBt.ZC 2022-10-15 23:39:31 -04:00
TomAwezome
7ac0ce5285 Move VideoRep var declarations to top of function. 2022-10-15 01:26:23 -04:00
TomAwezome
dde5566910 Remove mention of VBE from MemBIOSRep framebuffer report. 2022-10-15 01:02:33 -04:00
TomAwezome
ae7de7b8da Implement VideoRep aspect ratio reporting. 2022-10-15 00:15:37 -04:00
TomAwezome
40c0ac2ae2
Update VideoRep.ZC 2022-10-14 22:05:22 -04:00
TomAwezome
2c2dc1141d Begin integrating Limine framebuffer mode info list into ZealBooter to pass abstracted mode information to CKernel header. 2022-10-14 22:01:34 -04:00
TomAwezome
a2be44fa28 Begin reimplementing framebuffer mode list storage and VideoRep funtionality. 2022-10-14 19:41:46 -04:00
TomAwezome
4d6f3f380c Begin researching Bit Test functions machine code and performance in test BruteBt file in Home directory.
TODO: remove this file after deciding what route to take to squash AHCI bare metal bit test and set functions divergent erroring behaviour.
2022-10-14 19:38:58 -04:00
TomAwezome
7b834610c6 Begin creating Limine.CFG generate script.
TODO: use this script, once finished and integrated into OS, to generate Limine.CFG on-the-fly rather than providing it in the source tree
2022-10-14 01:08:16 -04:00
TomAwezome
537a650523 Remove video resolution In() strings and char input in OSInstall bare metal install and OSUpgrade code.
TODO: test OSUpgrade, and/or completely remove it in favor of an install-time optional Diff to gracefully report differences and confirm if wanting to install.
2022-10-13 18:59:44 -04:00
TomAwezome
6ff44d06cb Merge branch 'limine-ahci-doodguy-debug' into limine 2022-10-13 02:29:14 -04:00
TomAwezome
dfcd7608f8 Add .CFG to FILEMASK_TXT supported text file extensions, for making editing Limine.CFG easier. 2022-10-12 21:58:07 -04:00
TomAwezome
5169661ef5 Remove BootHDIns In() input strings for resolution setting since compile-time screen resolution setting has been removed.
TODO: Install scripts still have some remaining code that asks for screen resolution and grabs input, such as bare metal install code section. These sections need to also be updated!
2022-10-12 20:06:33 -04:00
TomAwezome
c5f3102558
Move variable declarations in LimineMHDIns to top of function. 2022-10-11 22:09:57 -04:00
TomAwezome
6ba555ee8f Refactor Limine install prompt in OSInstall.ZC 2022-10-11 22:00:48 -04:00
TomAwezome
ff380f4b32 Make OSInstall.ZC MBR install prompt to choose public domain ZealOS Boot Loader or BSD-2 licensed Limine. 2022-10-11 21:22:46 -04:00
TomAwezome
b0d2cd6767 Make LimineMHDIns.ZC from script to file with defined LimineMHDIns() function with drv_let arg.
File now uses an #ifndef to check whether or not the limine binary bytes have been included.
2022-10-11 21:20:09 -04:00
TomAwezome
6e5a75243b Move /Home/LimineHDD.ZC to /System/Boot/LimineMHDIns.ZC 2022-10-11 21:17:20 -04:00
TomAwezome
361833f42a Make OSInstall.ZC skip MBR install if UEFI-booted. 2022-10-11 18:23:38 -04:00
TomAwezome
dac6f9efe1 Add UEFI/BIOS boot detection in ZealBooter, pass to Zeal CKernel as new field. 2022-10-11 16:12:45 -04:00
TomAwezome
df419bc641 Make LimineHDD install script functional by fixing bad block count argument passed to AHCI write function. 2022-10-10 21:04:27 -04:00
TomAwezome
7486ab0b0d Attempt to implement old MBR partition record copying in prototype LimineHDD install script. 2022-10-10 20:56:32 -04:00
TomAwezome
7e8ed65677 Implement half-functional prototype Limine bootloader MBR install script. 2022-10-10 19:49:06 -04:00
TomAwezome
2bb8ef846e Remove non-functional limine MBR install scripts. 2022-10-10 19:48:36 -04:00
TomAwezome
41d32c699e Fix dup var type compiler warn in AHCIPortInit. 2022-10-09 20:37:24 -04:00
TomAwezome
ff5a901185 Remove debug check lines from AHCIPortIdentify. 2022-10-09 20:37:09 -04:00
TomAwezome
eaea4915a1 Begin removing debug lines from AHCI code, document bugs identified and current workarounds. 2022-10-09 20:29:28 -04:00
TomAwezome
8f93766df7 Change AHCIAtaInit cmd_header_base cast to proper declared variable. 2022-10-07 20:22:13 -04:00
TomAwezome
7dac5c3019 Change ACHI HBA ports_implemented check to debug AND with bitshift. 2022-10-07 18:55:44 -04:00
TomAwezome
27193fe5e0 Add AHCI GHC.AE debug check with both & and Bt. 2022-10-07 18:54:56 -04:00
TomAwezome
004f762b26 Add AHCI debug Bt/Bts values and checks. 2022-10-07 18:54:16 -04:00
TomAwezome
c4e5fbe2da Change AHCI ATAPI cmd_issue sets to debug OR-equals with bit shift. 2022-10-07 18:53:32 -04:00
TomAwezome
276e58e43f Replace AHCIPortCmdWait processed-check with debug bit shift AND comparison. 2022-10-07 18:52:27 -04:00
TomAwezome
56107409db Alter AHCIPortIdentify last debug var check. 2022-10-06 18:20:31 -04:00
TomAwezome
0d517f15bb Change AHCIPortIdentify port cmd_issue set to debug approach with or-equals. 2022-10-06 18:19:51 -04:00
TomAwezome
7c6f6117d2 Change AHCIPortIdentify cmd_fis desc set to debug approach, add another var check. 2022-10-06 18:19:08 -04:00
TomAwezome
f813da6107 Add debug AHCIPortIdentify PxCMD.ICC set to 1. 2022-10-06 18:18:13 -04:00
TomAwezome
1145ab3b9b Remove debug known-good vals from check in AHCIPortIdentify. 2022-10-06 18:17:45 -04:00
TomAwezome
0cbbe5a74b Add debug AHCIPortIdentify device_sleep clear and another var check. 2022-10-06 18:16:56 -04:00
TomAwezome
896239cd77 Fix kernel compile warn on debug var dup type. 2022-10-06 18:15:38 -04:00
TomAwezome
52db1e115c Fix KernelA typo on AHCI_CF_DESCF_C value. 2022-10-06 18:14:23 -04:00
TomAwezome
6624bba48e Replace magic number in AHCIPortIdentify cmd header desc fix attempt. 2022-10-03 21:19:14 -04:00
TomAwezome
008e68cc29 Try setting CFL bits in AHCIPortIdentify. 2022-10-03 05:12:43 -04:00
TomAwezome
415294c209 Make another non-functional limine hdd install test file.
:^)
2022-09-30 03:44:26 -04:00
TomAwezome
7a109d8162 Remove endian lines from broken LimineHDD file 2022-09-21 17:50:33 -04:00
TomAwezome
1a130d39ec Add currently non-functional Limine HDD 'install' test file in /Home. 2022-09-21 17:32:41 -04:00
TomAwezome
af27249c43 Update debug reporting. 2022-09-15 10:51:32 -04:00
TomAwezome
0561a21eaa Add debug variable report and timeout count to AHCI methods that doodguy's computer is hanging at. 2022-09-14 18:17:36 -04:00
TomAwezome
8c132e2536 Replace AHCIPortInit CPortCmdHeader pointer cast(s) with declared variable. 2022-09-13 01:45:25 -04:00
TomAwezome
e35d49f6df Change Limine boot related filenames.
limine.cfg --> Limine.CFG
limine.sys --> Limine.SYS
limine-cd-efi.bin --> Limine-CD-EFI.BIN
limine-cd.bin --> Limine-CD.BIN
2022-09-12 23:07:09 -04:00
TomAwezome
fa380a3024 Update System/Define.ZC 2022-09-12 22:48:41 -04:00
TomAwezome
1329e5b2da Move limine.cfg to /Boot, remove /Boot from .gitignore. 2022-09-12 21:38:21 -04:00
TomAwezome
ee52a7ee12 Remove /Home/K.ZC. 2022-09-12 21:30:14 -04:00
TomAwezome
95ee43d4a1 Put debug prints and HLT in AHCIPortInit to diagnose bare-metal AHCIPortInit Page Fault bug on doodguy's UEFI machine. 2022-09-12 16:23:54 -04:00
TomAwezome
111e3475e3 Raise MEM_E820_ENTRIES_NUM to 256, remove memmap entry count max check in zealbooter at suggestion of mintsuki. 2022-09-12 04:26:10 -04:00
TomAwezome
8297c769e6 Fix zealbooter memmap kernel header buffer-overflow.
Previously the zealbooter memmap e820 assignment loop used the entry count value passed via limine, without checking if it was over MEM_E820_ENTRIES_NUM, the #define constant value limit of entries that are stored in the kernel header's e820 region. This commit bumps up the constant entry count to 64 from 48, and also adds a small check in zealbooter to ensure that the entry count value used in the memmap loop caps off at the constant value.
2022-09-12 00:41:09 -04:00
TomAwezome
67fda6d081 Set aux font to a verifiably Public Domain font bitmap set.
Fonts used to make aux font:
Public Pixel Font by GGBotNet ( https://www.fontspace.com/public-pixel-font-f72305 )
Marediv Font by Pixel Kitchen ( https://www.fontspace.com/marediv-font-f32318 )

Both fonts used are licensed under the Public Domain.
2022-09-01 01:28:46 -04:00
TomAwezome
8fa30a396f Unhardcode BOOT_RAM_LIMIT, patch via kernel headers. 2022-08-29 00:24:45 -04:00
mintsuki
7a0c9a710c Fix KStart32-related issues and improvements to build script 2022-08-28 09:30:17 +02:00
TomAwezome
14515d7a19 Fix sys_framebuffer_bpp size and assignment in KStart16. 2022-08-28 02:10:37 -04:00
TomAwezome
5a4351d10c Raise OS version to 2.0 2022-08-28 00:50:43 -04:00
TomAwezome
94eea62a5c Fix major ISO9660 ISOFileRead bug and typo caused by hasty reformatting. 2022-08-27 16:09:53 -04:00
TomAwezome
c2b4a4a1a0 Remove debug KMain Compiler load testing. 2022-08-27 16:08:29 -04:00
TomAwezome
d3a298c9fd Fix minor formatting error. 2022-08-27 16:07:45 -04:00
TomAwezome
07d4bbc20c Remove ASCII 0x5 cursor from files. 2022-08-27 16:07:26 -04:00
TomAwezome
22c1839971 Update VideoRep to VBE kernel header symbol removals. 2022-08-27 13:13:12 -04:00
TomAwezome
751684f8ac Set xorriso to generate Joliet ISO data. 2022-08-27 08:15:06 -04:00
TomAwezome
41a033fe8a Implement prekernel disk GPT UUID pass to kernel, add to headers, check in AHCIBootDVDProbeAll. 2022-08-27 05:11:55 -04:00
TomAwezome
ce84d5532f Merge all dev build scripts into build-iso.sh 2022-08-27 01:14:42 -04:00
TomAwezome
33bf00ea5c Revise KStart16 framebuffer acquire logic. 2022-08-26 20:55:55 -04:00
TomAwezome
3a296bc368 Update Auto scripts for recent VBE removal changes. 2022-08-26 18:51:49 -04:00
TomAwezome
f74e3d6b20 Remove VBE from kernel headers. 2022-08-25 07:15:24 -04:00
TomAwezome
2bd8e2ab0b Remove SYS_FONT_PTR and related code. 2022-08-25 04:33:39 -04:00
TomAwezome
0bf82fb057 Implement limine zealbooter prekernel SMBIOS entry patching to kernel. 2022-08-23 21:04:27 -04:00
TomAwezome
dbbf751a44 Remove commented old code lines from KMain. 2022-08-23 18:24:50 -04:00
TomAwezome
628848c79d Change limine.cfg mode 100644 to 100755. 2022-08-23 18:23:46 -04:00
TomAwezome
f86a0ed978 Remove ASCII 0x5 cursor character from files. 2022-08-23 18:00:55 -04:00
TomAwezome
7d31064b6a Abstract out VBE vars from most of OS, revise dev uefi temp vm build system.
Misc UEFI build scripts have been removed/revised/condensed into one script with multiple rebuild steps. The order of the steps is as follows: Auto-install into temp VM with custom AUTO-VM iso, merge kernel headers into VM, rebuild kernel, merge Kernel/ code, rebuild kernel, merge all src/ code, deploy limine and zealbooter, rebuild kernel (as well as test), then test UEFI and BIOS mode.
2022-08-23 04:48:04 -04:00
TomAwezome
3b1e0af20b Implement uefi build script with distinct only-kernel-header recompile step. 2022-08-23 01:50:31 -04:00
TomAwezome
e6ca68c2e2 Begin prototyping limine UEFI ISO generation. 2022-08-22 05:42:13 -04:00
TomAwezome
1d4d8dc86e Fix limine uefi missing SYS_FONT_PTR by hardcoding a new aux font dedicated file.
Since Zeal used a 16-bit mode BIOS INT to get an 8x8 VGA ROM font, this is incompatible if Zeal is loaded to a patched 32-bit mode by the zealbooter prekernel. To circumvent SYS_FONT_PTR never being set and fix access to the 'thick' font with Ctrl-Alt-F, I loaded Zeal bare-metal on my Thinkpad T420 and saved the VGA ROM font file with FontEd, then transferred the file to my VM.
2022-08-22 03:18:54 -04:00
TomAwezome
644a73711e Merge branch 'limine2' into limine 2022-08-22 02:46:53 -04:00
mintsuki
375a487087 ZealBooter: De-hardcode kernel load address and boot stack 2022-08-21 22:21:01 +02:00
mintsuki
1510f65468 ZealBooter: Further cleanup and fix BIOS boot 2022-08-21 20:47:26 +02:00
mintsuki
ee265c8767 ZealBooter: Move sys_pci_buses assignment to zealbooter.c 2022-08-21 19:13:48 +02:00
mintsuki
d7f72e3aa9 ZealBooter: Misc cleanup, SMP working 2022-08-21 19:03:17 +02:00
mintsuki
fa4ded924f ZealBooter: Misc cleanup 2022-08-21 17:42:32 +02:00
TomAwezome
f2f7fa953f Merge branch 'limine2' into limine 2022-08-21 06:41:47 -04:00
mintsuki
5f3bdc637b Set sys_pci_buses to 256 by default 2022-08-21 10:36:14 +02:00
mintsuki
bcb830e880 ZealBooter: Misc progress 2022-08-21 10:27:19 +02:00
TomAwezome
402fa603a6 Put framebuffer members in SYS_KERNEL to match previous commit adding them to CKernel. 2022-08-20 12:29:04 -04:00
TomAwezome
ddccc7d7ff Begin attempt to get limine framebuffer and combine it into kernel data members. TODO: update SYS_KERNEL DU members. 2022-08-20 11:46:30 -04:00
mintsuki
344de80dab ZealBooter: Misc progress 2022-08-20 16:13:06 +02:00
mintsuki
69f0f37b9b Initial work on ZealBooter 2022-08-20 01:54:34 +02:00
TomAwezome
12201e46b6 Implement build-temp-vm-uefi-1 script that performs an additional BIOS mode reboot to allow for automatic kernel recompile before booting into UEFI mode with Limine. 2022-08-19 00:56:11 -04:00
TomAwezome
87de096d19 Implement rebuild script and AUTO-VM.ISO for rebuilding and testing code during development.
The build-temp-vm script will perform the same logic as the build-iso script, the only difference being it will not perform ISO extraction logic whenever the VM is closed. Changes made inside the temporary VM will NOT be preserved. The AUTO-VM bootstrap ISO (which similarly has the system and kernel rebuilding logic on boot but has the ISO generation steps removed) is created by slightly modifying the standard AutoFullDistro0.ZC script file, then using sync.sh to sync the repo contents and update the AUTO iso. Since this setup exists separate from the ISO process, the modified AUTO iso can simply be renamed to AUTO-VM.ISO and the default one re-checked out via git to restore it.
2022-08-18 22:06:50 -04:00
TomAwezome
90a43d9a85 Make Varoom sky fix work correctly on all resolutions. 2022-06-28 22:33:15 -04:00