Commit graph

423 commits

Author SHA1 Message Date
TomAwezome
f000c2fbdb Implement 3 operand support in assembler.
Add support for opcodes up to 8 bytes long.
Fix 0x66 prefixed opcode instruction unassembly, at the cost of losing higher-register access on prefixed instructions.
Add almost every SSE instruction.
2021-10-18 01:52:41 -04:00
TomAwezome
dc581ddad2 Add SSE opcodes MOVQ, PMOVMSKB, MINPS, MAXPS, XORPS, CVTSI2SD, and CVTSD2SI to OpCodes.DD.
Add some comments in OptPass789A.CC.
2021-10-09 05:00:13 -04:00
TomAwezome
9aa9e44ea6 Add SSE instruction support to assembler.
(Only 2-arg instructions implemented. CosmiC assembler needs expanding to allow 3+ arg instructions.)
(Only <= 4 byte instructions implemented. CosmiC assembler needs expanding to allow instructions larger than 4 bytes.)
(Bugs: Unassembler incorrectly reports 0x66 prefixed opcodes, non-128-bit instruction arguments report as U128. CosmiC does not yet have support for U128.)
Fix Std Font characters.
Add links to ZealOS-specific apps in Personal Menu.
Remove all files in /Downloads.
2021-10-08 02:06:11 -04:00
TomAwezome
6b3fd2fecb Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-06 21:35:32 -04:00
TomAwezome
9139a360f6 Fix spacing in Ui, DriveRep, MemBIOSRep.
Fix PCIRep graphics hang on bare-metal.
Fix XTalk buffer formatting in StartUpTasks, PopUpFile, PopUpRunFile, and EdCodeTools2.
Add CBGR32 to Kernel headers.
2021-09-26 01:15:46 -04:00
TomAwezome
1d8b9d2a59 Fix Demo/AcctExample some. 2021-09-25 04:09:28 -04:00
TomAwezome
ff46cd0df2 Fix GrZoomInScreen. 2021-09-21 23:45:45 -04:00
TomAwezome
033e169511 Port Erythros virtio-net driver.
https://git.checksum.fail/alec/erythros/src/branch/master/Boot/Drivers/Virtio-net.HC
https://git.checksum.fail/alec/erythros/src/branch/master/Boot/Drivers/Virtio.HC
https://git.checksum.fail/alec/erythros/src/branch/master/Boot/Init.HC#L55
2021-09-21 02:55:53 -04:00
TomAwezome
3c3e7977a7 Fix TimeClock Demo syntax error.
Fix misaligned WallPaper task report.
Fix Chess deprecated function names.
2021-09-19 01:58:38 -04:00
TomAwezome
f6b9268b52 Fix GrDir crash. 2021-09-17 03:32:51 -04:00
TomAwezome
43a64c897d Add WinMax to EdPullDown menu. 2021-09-15 21:07:38 -04:00
TomAwezome
1c438fdcde Add recognition of Linux ext2/3/4 and swap MBR PT. 2021-08-23 03:14:22 -04:00
TomAwezome
dd959b40c5 Add progress bar to DVDImageRead. 2021-08-17 02:47:37 -04:00
TomAwezome
377a761146 Clean up DVDImageWrite. 2021-08-17 02:07:34 -04:00
TomAwezome
5503ae0596 Fix DVDImageRead block count.
Change left window border text to use inverted color attribute.
Fix ISOInit to account for non-ZealOS legacy CISOPriDesc.
2021-08-16 20:46:17 -04:00
TomAwezome
eb2de4f057 Add try-catch to SATARep and AHCIBootDVDProbeAll.
Add CAtapiCloseCmd to clean up AHCIAtapiClose.
Improve comments at AHCIAtapiModeWriteSelect.
2021-08-16 00:52:03 -04:00
TomAwezome
923b700822 Change DVDImageWrite to use single buffer.
Add CAtapiWriteCmd for AHCIAtapiBlksWrite.
Remove AHCIAtapiSeek and AHCIAtapiFormat.
2021-08-15 02:23:46 -04:00
TomAwezome
84946b3b33 Clean up ATAPI write and mode set functions. 2021-08-14 01:36:19 -04:00
TomAwezome
a80b4fe451 Fix CISOPriDesc padding, add preparer_id member, set in RedSeaISO9660.
Remove some deprecated IDE functions.
Delete Kernel/BlkDev/DiskATA.CC.
Update colors on OSUpgrade.
2021-08-13 18:46:15 -04:00
TomAwezome
99094f1e31 Change colors & text of Merge2, DiffSel, and PopUpDiffMenu. 2021-08-13 17:04:00 -04:00
TomAwezome
b804e25f45 Fix DVDImageWrite bare-metal AHCI CD burning. 2021-08-13 13:30:44 -04:00
TomAwezome
b005bdcb24 Update AHCI ATAPI mode set and write functions. 2021-08-12 22:27:41 -04:00
TomAwezome
a0f20b1dba Implement AHCIAtapiModeWriteSet. 2021-08-09 02:04:03 -04:00
TomAwezome
0120ec2cb7 Implement AHCIAtapiBlank. 2021-08-08 20:33:41 -04:00
TomAwezome
2b03787cc8 Fix OSUpgrade not updating master boot record.
Fix Mount2 AHCI Port value not being cleared on loop.
Change ordering of PersonalMenu links.
Increase Raw mode screen scroll from 1 line to 8 to improve bare-metal performance.
2021-08-06 01:07:27 -04:00
TomAwezome
a01aa006cd Fix raw-mode printing in MemBIOSRep, TaskRep, PCIRep, VideoRep, and MemPageRep.
Fix DriveRep reporting SATA port on non-AHCI drives.
Remove CONFIG_DONT_PROBE.
Remove lingering references to compression from documentation.
Fix Talons incorrect millisecond variable name.
2021-08-04 23:05:19 -04:00
TomAwezome
67479705de Add SATA port number reporting to DriveRep.
Improve Lex assert failure warning to give exact line number.
Remove some deprecated IDE functions.
Add default arg to Drive.
Fix raw-mode printing in StackRep, DriveRep, SATARep, Mount2, and CharGet.
Change LongLines cols default arg from 80 to 128.
2021-08-04 15:25:55 -04:00
TomAwezome
c529b6d7ca Add MountAHCIAuto kernel option.
Remove CATARep, ATARep, ATARepEntry, ATARepFind, ATARepExitAllApplications, and ATAIDDrives.
2021-08-03 22:35:43 -04:00
TomAwezome
1b75d91002 Fix Mount AHCI Port selection.
Add arg to SATARep to specify drive types to show.
Add checks in AHCIPortInit to verify port signatures, add helper method to get signatures from port.
2021-08-02 16:40:05 -04:00
TomAwezome
768c2003e2 Fix DefineLoad variables AutoComplete src_link.
Fix SATARep missing AHCI controller info.
Add PCIDevFind to System/Externs.CC.
Add screen clearing with DocClear or Cls when in raw text mode.
Optimize RawPutChar.
Fix EdLite RAWF_SCROLL bug.
Update screenshots and README.
2021-08-02 02:26:59 -04:00
TomAwezome
35ab2c024a Optimize RawPutChar bare-metal performance.
Add ATAPI Format Unit structs, partially implement.
2021-07-29 14:43:33 -04:00
TomAwezome
22e3d8f06e Clean up E1000 Driver.
Remove some palettes.
Add PaletteSetSlate.
Change all gr_palette_std to gr32_palette_std.
Change all CBGR48 to CBGR24.
2021-07-28 22:20:15 -04:00
TomAwezome
c290cda8f0 Add AHCI Debug methods.
Fix HTML URL.
Begin implementing AHCI ATAPI Sync, Close, Format, and Write methods.
2021-07-26 15:29:49 -04:00
TomAwezome
d3c21658f1 Unify HDD & CD/DVD Kernel binary locations. 2021-07-25 04:07:40 -04:00
TomAwezome
d639cdcdf6 Rename /0000Boot to /Boot.
Rename 0000Kernel.BIN.C to Kernel.BIN.C.
2021-07-24 00:48:21 -04:00
TomAwezome
b1a9e0785d Fix some broken DolDoc links.
Change Who() symbol link width from 20 to 40.
2021-07-23 19:21:07 -04:00
TomAwezome
6262a58c44 Fix ParensWarning file link line number. 2021-07-23 17:05:46 -04:00
TomAwezome
42dc3a16f6 Add eyedropper tool to 32BitPaint app. 2021-07-15 20:46:58 -04:00
TomAwezome
584b5899d3 Add save/load to 32BitPaint app. 2021-07-15 18:25:02 -04:00
TomAwezome
dbf8647d59 Fixed non-writable drive throw on F5 and Ctrl-S.
Added top & right borders to RawDr.
Improved spacing in some debug and compiler reporting.
Fixed RawPutChar and EdLite tab width.
Fixed Ui missing '0x' prefix syntax highlighter bug.
Added 32BitPaint demo.
2021-07-14 18:38:02 -04:00
TomAwezome
5f923300e2 Optimize HTML doc generation.
Change repeated #include and PopUps during HTML generation into one slave task.
2021-07-12 03:26:39 -04:00
TomAwezome
2ea6956433 Implement IntEntryAlloc, IntEntryFree for dynamic user IRQ acquisition.
Restructure network stack to use new Interrupt methods instead of hard-coded IRQ numbers.
Add line count update into build process.
Add progress bars to HTML generation and DoDistro.
Clear Network Log border_doc.
Fix font chars.
Clean up some lingering unconverted variable and directory names.
Remove word-wrap DolDoc tag from Clementine bible because of CPU spikes.
2021-07-11 17:47:19 -04:00
TomAwezome
afdc25f9b8 Begin implementing E1000 RX/TX. 2021-07-09 16:56:43 -04:00
TomAwezome
1003d78140 Added drive changing macros to PersonalMenu from AcctExample. 2021-07-09 04:17:56 -04:00
TomAwezome
35b12f59b3 Implement E1000 RX TX initialization. 2021-07-09 01:35:05 -04:00
TomAwezome
084c65a69a Update .HC to .CC script. 2021-07-08 01:08:03 -04:00
TomAwezome
60b7ff3d27 Implement E1000 SLU, MTA zero-out, interrupt-enable. 2021-07-07 22:36:01 -04:00
TomAwezome
db2f950e79 Implement E1000 MMIO R/W and EEPROM read. 2021-07-07 02:22:37 -04:00
TomAwezome
8a5e9328ca Restructure UDP and TCP #include process.
Add newlines to OS Upgrade questions.
Move PCNet interrupt #defines.
Improve E1000 PCI device loading.
Add comments in E1000 driver to sketch out dev process.
2021-07-06 23:31:06 -04:00
TomAwezome
72e706962a Rename function prefixes 'Z' to 'Sys'.
Begin skeleton of E1000 networking driver.
2021-07-06 16:15:26 -04:00
TomAwezome
30e483bf7d Fix box drawing characters. 2021-07-06 02:44:17 -04:00
TomAwezome
01e5d408fd Add PopUp with OS Upgrade explanation.
Fix unused var warning in OSUpgrade.
Add Who() output to main generated HTML index file.
Rename all 'inst' to 'instruction'.
Change NetLog behaviour, remove window tiling.
Change network stack to throw if no applicable driver can be loaded.
Update line counts.
2021-07-05 22:57:17 -04:00
TomAwezome
d0cafb0198 Allow OS Upgrade feature on VMs.
Update and fix more documentation.
Alter Splash messages and logo color.
2021-07-05 15:23:13 -04:00
TomAwezome
fcd9844a35 Update documentation, fix DD_TEMPLEOS_AGE, add DD_ZEALOS_AGE.
Move custom HtmlGen.CC to /Home, restore original in Demo/.
Fix broken MN: links.
Change default AutoComplete window position.
2021-07-05 14:34:54 -04:00
TomAwezome
2695917b38 Refactor Network driver loading, automatically pick driver based on hardware.
Remove duplicate PCI define, move PCNet PCI defines to Drivers/Run.CC.
2021-07-05 12:19:55 -04:00
TomAwezome
dc2f09abfa Fix HTML generation on files with duplicate names but different extensions. 2021-07-04 20:57:09 -04:00
TomAwezome
8df131d461 Fix HTML generation on files with duplicate names but different extensions. 2021-07-04 20:24:34 -04:00
TomAwezome
ef424e0d94 Fix HTML generation on files with duplicate names but different extensions. 2021-07-04 20:12:38 -04:00
TomAwezome
5002ed5880 Fix HTML index file generation.
Fix HTML generation tab width.
2021-07-04 18:11:43 -04:00
TomAwezome
74a570db70 Implement OS Upgrade wizard.
Make HTML doc generation force index files to make links from subdirectories.
Added Sixto-Clementine Vulgate Bible to Misc/.
Fix User window height, patch font chars.
2021-07-04 01:19:15 -04:00
TomAwezome
2657cff8d0 Restore GodSong.
Merge 4ea8b13361 .
2021-07-03 14:35:04 -04:00
TomAwezome
e29a8d9a46 Fix codebase HTML generation. 2021-07-03 02:51:43 -04:00
TomAwezome
01e13ff62d Fix codebase HTML generation. 2021-07-03 02:47:45 -04:00
TomAwezome
69607fc0f5 Implement codebase HTML generation. 2021-07-03 00:07:57 -04:00
TomAwezome
eb8735b872 Fix HTML Demo. 2021-07-02 22:24:43 -04:00
TomAwezome
ef85d8d6bf Fix AutoComplete standby formatting.
Remove some unneeded IDE functions.
Clean up Mount2().
Alter window border chars in Std Font, patch Aux Font.
Alter window scroll bar drawing routine.
Make System Task window smaller by default.
Implement default args for Ed and PopUpEd.
Add color to '[X]' and 'MENU' in window border top, remove both from System task and remove 'MENU' from AutoComplete task.
2021-07-02 19:38:56 -04:00
TomAwezome
76ee6ec6a2 Update documentation. 2021-07-02 04:24:53 -04:00
TomAwezome
0cb2d21007 Fix formatting in AHCI reporting, installer Upgrade question.
Rename Seth --> Executive.
2021-07-02 01:04:42 -04:00
TomAwezome
2743cf6ace Fork ZenithOS --> ZealOS. 2021-07-01 19:53:42 -04:00
TempleProgramming
e912217325 Start of SSE vector math library. Fixed compiler warnings. Removed rasterizer and Doom map loader from CosmicGL. 2021-07-01 06:27:22 -04:00
TomAwezome
e5596ee2bf Fix DoDistro hanging at AHCIPortIdentify.
Fix hardcoded screen resolution in K.CC.
Begin implementing OS system upgrade feature.
2021-06-30 02:58:43 -04:00
TomAwezome
0778e2dd16 Remove WallPaper time offset undo.
Fix lingering 'HC' to 'CC'.
Fix EdLiteUpdate incorrect tab width.
Move PCNet driver into Drivers/ folder.
Add graphics demos.
Add JSON lexer to Net/ folder.
Increase entropy of Splash screen mottos.
2021-06-29 18:10:26 -04:00
TempleProgramming
cbb5272ccd CosmicGL cleanup, minor optimizations. 2021-06-28 11:07:47 -04:00
Z3N1THM4N
cce6b73cf3 Restore Bible, GodWord, GodBiblePassage, BF: links 2021-06-28 07:05:07 -05:00
TomAwezome
733feab1f5 Improve bare-metal performance of games.
Fix Splash screen hanging keyboard input on bare-metal.
2021-06-27 03:36:11 -04:00
TomAwezome
7989d5fcaa Fix K.CC and DoDistro, automatically find ATA drive SATA port.
Fix illegal forward reference compiler error in DiskAddDev.CC.
Change 32BitDemo.CC to use a #define for the square draw delay.
Fixed Span game bottom mass location and cost report.
Fix CastleFrankenstein slowdown on bare-metal when turning.
Fix TreeCheckers move radius.
Implement palette swapping for some games.
2021-06-26 20:36:19 -04:00
TempleProgramming
1cbc72e57b Added CosmicGL. 2021-06-26 04:10:21 -04:00
TomAwezome
9461667bb0 Show drive model & serial number in SATARep.
Fix mounting bugs.
Change AHCI buffer allocation location from Fs to zenith_task code heap.
Implement DiscEject, DiscLoad.
Change installer to eject disc after installation.
2021-06-25 23:06:56 -04:00
TomAwezome
907b136cc1 Fix drive initialization type report.
Fix drive probe not halting boot process when no ATAPI drives are found. #7
2021-06-24 21:16:45 -04:00
TomAwezome
2d83a110c3 Implement PCI fall-back routines for when PCIBIOS is unsupported.
Abstract PCI functions out from PCIBIOS.CC into their own file, add calls to PCIBIOS from PCI functions.
Fix AHCI BIOS handoff bug.
Raise version number.
2021-06-24 01:19:46 -04:00
TomAwezome
59eba5a7de Fix AHCIBufferAlign causing crashes on bare-metal.
Update 32-bit color graphics demo.
Add global Boolean to toggle window manager framebuffer writes.
2021-06-22 14:44:19 -04:00
TomAwezome
413b73db76 Fix missing BlkDev locks in AHCI read/write methods. 2021-06-17 03:43:29 -04:00
TomAwezome
138e503ccd Fix DVDImageRead.
Implement functions for AHCI ATAPI Seek and Start/Stop.
2021-06-16 20:47:21 -04:00
TomAwezome
2bf3d229bc Fix bare-metal installer invalid port string. 2021-06-15 21:41:22 -04:00
TomAwezome
674ef844b8 Fix AHCI initialization on bare-metal. 2021-06-15 01:09:35 -04:00
TomAwezome
baa862b268 Remove redundancies in AHCI RBlks and WBlks functions.
Clean up and reformat AHCI code.
2021-06-06 01:11:36 -04:00
TomAwezome
9a0c955bea Implement bare-metal AHCI install wizard.
Fix InstallDrive DriveCheck bug.
2021-06-04 04:28:05 -04:00
TomAwezome
fad8608b87 Improve AHCI performance by removing checks for blkdev max_reads and max_writes limits.
Fix AHCI port and command waits hanging entire OS by using Yield.
Fix DVD boot hardcoded AHCI port number, correctly search ports for ATAPI drive.
Fix compiler unused variable warnings in Mount2.
2021-06-02 17:18:26 -04:00
TomAwezome
0f9d6b43f8 Integrate AHCI into entire OS. Remove IDE support. 2021-06-01 16:35:27 -04:00
VoidNV
b974147dbf Add DiskAHCI.CC to Kernel, add ATAPI capacity read
Export read/write and reset AHCI functions
Create SATARep()
2021-05-26 21:27:49 -05:00
VoidNV
1d1c564760 Prototype AHCI ATAPI reading 2021-05-26 03:19:03 -05:00
TomAwezome
24853fa765 Improve logs on AHCI boot prototyping, update IDE DVD boot function order documentation. 2021-05-25 16:20:40 -04:00
TomAwezome
6dbaae46f5 Fix Chess crashing when run on one CPU core. 2021-05-24 05:16:29 -04:00
TomAwezome
e54dd6544a Fix Titanium crashing. 2021-05-24 04:34:51 -04:00
TomAwezome
3fa559706f Implement TCPSocketSendAll and TCPSocketSendString.
Update TCP Chat client and server programs to use new methods.
2021-05-24 01:03:16 -04:00
TomAwezome
239a5cdf87 Implement TCPRep for reporting bound/connected TCP Sockets.
Fix ARP not updating cached entries on ARPCachePut calls.
Fix DNS not updating cached entries on DNSCachePut calls.
Clean up repeated gross syntax in DHCPOfferParse.
Fix Host() and DNSRep IPV4 kludge, use proper switch case block based on result address family type.
Change CNetQueueEntry member variable length to packet_length.
Remove Debug statements when sockets use AF_INET6 or AF_UNSPEC, change to NetErr.
Change UDP message queues to be allocated and initialized when UDPSocket is called, instead of when binding.
Standardize filenames in Tests/ folder.
Remove old test files.
Remove outdated TODO comments.
2021-05-18 02:09:59 -04:00
TomAwezome
cf7ad1a5a7 Implement TCP Chat application.
Fix TCP Socket receive buffer read and write position miscalculations.
Fix TCP Socket send window endianness.
Implement non-blocking TCP Sockets, alter timeout logic.
Move network applications to Programs folder.
Fix TCP Socket Accept using wrong timeout value.
Fix TCP Socket Accept not removing and freeing pending connection requests upon connect failure.
2021-05-14 04:08:38 -04:00
TomAwezome
6f6c8df2e9 Fix TCP Socket Send/Receive not returning upon timeout. 2021-05-12 19:47:16 -04:00
TomAwezome
9f0e880fab Fix TCP Socket Connect not setting receive window class member. 2021-05-12 17:32:07 -04:00
TomAwezome
b99dd94db9 Change TomLight palette to Light, brighten colors, improve system responsiveness by lowering double-click wait time. 2021-05-12 15:57:59 -04:00