diff --git a/CHANGELOG.md b/CHANGELOG.md index e2f328f7..a286bc55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,70 +1,72 @@ # Changelog ## Unreleased -- Limit prompt line to screen width (#704) -- Upgrade smoltcp to 0.12.0 (#709) -- Upgrade Rust to nightly-2024-12-01 (#708) -- Update clipboard behavior in editor (#706) -- Update web commands (#703) -- Improve documentation (#697) -- Bump uart_16550 from 0.3.1 to 0.3.2 (#701) -- Update HTTP server (#702) -- Add network config devices (#700) -- Upgrade base64 module (#699) -- Bump libm from 0.2.8 to 0.2.11 (#695) -- Improve Lisp (#684) -- Fix clock API (#698) -- Use string instead of float as clock device output format (#696) -- Add speaker device (#693) -- List processors at boot (#692) -- Create clock module (#691) -- Create memory module (#690) -- Add mandelbrot program (#689) -- Refactor vga driver (#688) -- Add VGA graphics (#687) -- Free process memory on exit (#686) -- Bump raw-cpuid from 11.1.0 to 11.2.0 (#683) -- Bump object from 0.36.4 to 0.36.5 (#685) -- Ensure uninitialized data is zeroed when loading binary (#681) -- Update panic handler (#680) -- Add geocal program (#679) -- Fix shell autocomplete command path (#678) -- Add geodate program (#304) -- Copy memory on instruction fetch page fault (#677) -- Enable userspace memory deallocation (#676) -- Add more restrictive mapping on page fault (#675) -- Fix binary loading (#674) -- Add special alloc_error_handler for userspace (#673) -- Update Rust to nightly-2024-09-01 (#672) -- Use ptr::copy_nonoverlapping to load binaries (#670) -- Align cursor after scrolling in the editor (#671) -- Improve process code alloc (#669) -- Fix userspace heap address (#668) -- Fix usage of CSI sequences for scrolling the scrollback buffer (#667) -- Add search to viewer (#666) -- Add scrollback buffer support (#627) -- Improve option parsing (#665) -- Bump lazy_static from 1.4.0 to 1.5.0 (#643) -- Add pkg command (#663) -- Add write --parents option (#664) -- Add chess puzzle (#662) -- Add a line mode to the editor (#660) -- Add search to editor (#659) -- Add diff command (#657) -- Update hash command (#656) -- Add filetype syscall (#655) -- Replace base64 command with encode and decode (#654) -- Add VgaFont device (#653) -- Replace fetch by get (#652) -- Bump object from 0.36.3 to 0.36.4 (#651) -- Fix block bitmap area calculation (#638) -- Bump object from 0.36.2 to 0.36.3 (#650) -- Bump object from 0.36.1 to 0.36.2 (#649) -- Bump raw-cpuid from 11.0.2 to 11.1.0 (#648) -- Bump uart_16550 from 0.3.0 to 0.3.1 (#647) -- Bump num-bigint from 0.4.5 to 0.4.6 (#644) -- Update Rust to nightly-2024-06-01 (#646) -- Bump object from 0.36.0 to 0.36.1 (#645) + +## 0.11.0 (2024-12-21) +- Add VGA graphics ([#687](https://github.com/vinc/moros/pull/687)) +- Add VgaFont device ([#653](https://github.com/vinc/moros/pull/653)) +- Add a line mode to the editor ([#660](https://github.com/vinc/moros/pull/660)) +- Add chess puzzle ([#662](https://github.com/vinc/moros/pull/662)) +- Add diff command ([#657](https://github.com/vinc/moros/pull/657)) +- Add filetype syscall ([#655](https://github.com/vinc/moros/pull/655)) +- Add geocal program ([#679](https://github.com/vinc/moros/pull/679)) +- Add geodate program ([#304](https://github.com/vinc/moros/pull/304)) +- Add mandelbrot program ([#689](https://github.com/vinc/moros/pull/689)) +- Add more restrictive mapping on page fault ([#675](https://github.com/vinc/moros/pull/675)) +- Add network config devices ([#700](https://github.com/vinc/moros/pull/700)) +- Add pkg command ([#663](https://github.com/vinc/moros/pull/663)) +- Add scrollback buffer support ([#627](https://github.com/vinc/moros/pull/627)) +- Add search to editor ([#659](https://github.com/vinc/moros/pull/659)) +- Add search to viewer ([#666](https://github.com/vinc/moros/pull/666)) +- Add speaker device ([#693](https://github.com/vinc/moros/pull/693)) +- Add special alloc_error_handler for userspace ([#673](https://github.com/vinc/moros/pull/673)) +- Add write --parents option ([#664](https://github.com/vinc/moros/pull/664)) +- Align cursor after scrolling in the editor ([#671](https://github.com/vinc/moros/pull/671)) +- Copy memory on instruction fetch page fault ([#677](https://github.com/vinc/moros/pull/677)) +- Create clock module ([#691](https://github.com/vinc/moros/pull/691)) +- Create memory module ([#690](https://github.com/vinc/moros/pull/690)) +- Enable userspace memory deallocation ([#676](https://github.com/vinc/moros/pull/676)) +- Ensure uninitialized data is zeroed when loading binary ([#681](https://github.com/vinc/moros/pull/681)) +- Fix binary loading ([#674](https://github.com/vinc/moros/pull/674)) +- Fix block bitmap area calculation ([#638](https://github.com/vinc/moros/pull/638)) +- Fix clock API ([#698](https://github.com/vinc/moros/pull/698)) +- Fix shell autocomplete command path ([#678](https://github.com/vinc/moros/pull/678)) +- Fix usage of CSI sequences for scrolling the scrollback buffer ([#667](https://github.com/vinc/moros/pull/667)) +- Fix userspace heap address ([#668](https://github.com/vinc/moros/pull/668)) +- Free process memory on exit ([#686](https://github.com/vinc/moros/pull/686)) +- Improve Lisp ([#684](https://github.com/vinc/moros/pull/684)) +- Improve documentation ([#697](https://github.com/vinc/moros/pull/697)) +- Improve option parsing ([#665](https://github.com/vinc/moros/pull/665)) +- Improve process code alloc ([#669](https://github.com/vinc/moros/pull/669)) +- Limit prompt line to screen width ([#704](https://github.com/vinc/moros/pull/704)) +- List processors at boot ([#692](https://github.com/vinc/moros/pull/692)) +- Refactor vga driver ([#688](https://github.com/vinc/moros/pull/688)) +- Replace base64 command with encode and decode ([#654](https://github.com/vinc/moros/pull/654)) +- Replace fetch by get ([#652](https://github.com/vinc/moros/pull/652)) +- Update HTTP server ([#702](https://github.com/vinc/moros/pull/702)) +- Update Rust to nightly-2024-06-01 ([#646](https://github.com/vinc/moros/pull/646)) +- Update Rust to nightly-2024-09-01 ([#672](https://github.com/vinc/moros/pull/672)) +- Update clipboard behavior in editor ([#706](https://github.com/vinc/moros/pull/706)) +- Update hash command ([#656](https://github.com/vinc/moros/pull/656)) +- Update panic handler ([#680](https://github.com/vinc/moros/pull/680)) +- Update web commands ([#703](https://github.com/vinc/moros/pull/703)) +- Upgrade Rust to nightly-2024-12-01 ([#708](https://github.com/vinc/moros/pull/708)) +- Upgrade base64 module ([#699](https://github.com/vinc/moros/pull/699)) +- Upgrade smoltcp to 0.12.0 ([#709](https://github.com/vinc/moros/pull/709)) +- Use ptr::copy_nonoverlapping to load binaries ([#670](https://github.com/vinc/moros/pull/670)) +- Use string instead of float as clock device output format ([#696](https://github.com/vinc/moros/pull/696)) +- Bump lazy_static from 1.4.0 to 1.5.0 ([#643](https://github.com/vinc/moros/pull/643)) +- Bump libm from 0.2.8 to 0.2.11 ([#695](https://github.com/vinc/moros/pull/695)) +- Bump num-bigint from 0.4.5 to 0.4.6 ([#644](https://github.com/vinc/moros/pull/644)) +- Bump object from 0.36.0 to 0.36.1 ([#645](https://github.com/vinc/moros/pull/645)) +- Bump object from 0.36.1 to 0.36.2 ([#649](https://github.com/vinc/moros/pull/649)) +- Bump object from 0.36.2 to 0.36.3 ([#650](https://github.com/vinc/moros/pull/650)) +- Bump object from 0.36.3 to 0.36.4 ([#651](https://github.com/vinc/moros/pull/651)) +- Bump object from 0.36.4 to 0.36.5 ([#685](https://github.com/vinc/moros/pull/685)) +- Bump raw-cpuid from 11.0.2 to 11.1.0 ([#648](https://github.com/vinc/moros/pull/648)) +- Bump raw-cpuid from 11.1.0 to 11.2.0 ([#683](https://github.com/vinc/moros/pull/683)) +- Bump uart_16550 from 0.3.0 to 0.3.1 ([#647](https://github.com/vinc/moros/pull/647)) +- Bump uart_16550 from 0.3.1 to 0.3.2 ([#701](https://github.com/vinc/moros/pull/701)) ## 0.10.4 (2024-06-20) - Add Intel PRO/1000 PT ([#612](https://github.com/vinc/moros/pull/612)) diff --git a/Cargo.lock b/Cargo.lock index d471cf8c..294343fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -299,7 +299,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "moros" -version = "0.10.4" +version = "0.11.0" dependencies = [ "acpi", "aml", diff --git a/Cargo.toml b/Cargo.toml index 5f0c7490..702eb5c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "moros" description = "MOROS: Obscure Rust Operating System" -version = "0.10.4" +version = "0.11.0" authors = ["Vincent Ollivier "] edition = "2018" license = "MIT" diff --git a/doc/images/moros.png b/doc/images/moros.png index f27db880..6bbf6d56 100644 Binary files a/doc/images/moros.png and b/doc/images/moros.png differ diff --git a/doc/manual.md b/doc/manual.md index 4677c382..8cabe71c 100644 --- a/doc/manual.md +++ b/doc/manual.md @@ -5,7 +5,7 @@ During boot MOROS will display its version followed by the memory layout, memory size, processor, devices, network cards, disks, and the real time clock. - [0.250962] SYS MOROS v0.10.4-89-g6b3f825 + [0.250962] SYS MOROS v0.11.0 [0.254961] MEM [0x00000000000000-0x00000000000FFF] FrameZero [0.255961] MEM [0x00000000001000-0x00000000004FFF] PageTable [0.256961] MEM [0x00000000005000-0x00000000014FFF] Bootloader @@ -50,7 +50,7 @@ commands to test the system or `install` to setup the / > install - Welcome to MOROS v0.10.4 installation program! + Welcome to MOROS v0.11.0 installation program! Proceed? [y/N] y diff --git a/dsk/bin/beep b/dsk/bin/beep index 6ed3e33a..30979235 100644 Binary files a/dsk/bin/beep and b/dsk/bin/beep differ diff --git a/dsk/bin/blank b/dsk/bin/blank index f67191f9..d7c032fa 100644 Binary files a/dsk/bin/blank and b/dsk/bin/blank differ diff --git a/dsk/bin/clear b/dsk/bin/clear index 9131c877..ecbaebb3 100644 Binary files a/dsk/bin/clear and b/dsk/bin/clear differ diff --git a/dsk/bin/exec b/dsk/bin/exec index bda86dfe..e082e62b 100644 Binary files a/dsk/bin/exec and b/dsk/bin/exec differ diff --git a/dsk/bin/geocal b/dsk/bin/geocal index 11d656eb..35ea71ae 100644 Binary files a/dsk/bin/geocal and b/dsk/bin/geocal differ diff --git a/dsk/bin/geodate b/dsk/bin/geodate index fabf53fa..147cbaca 100644 Binary files a/dsk/bin/geodate and b/dsk/bin/geodate differ diff --git a/dsk/bin/halt b/dsk/bin/halt index 592b0e49..f9126780 100644 Binary files a/dsk/bin/halt and b/dsk/bin/halt differ diff --git a/dsk/bin/hello b/dsk/bin/hello index 450b7c2e..a3cbb950 100644 Binary files a/dsk/bin/hello and b/dsk/bin/hello differ diff --git a/dsk/bin/mandelbrot b/dsk/bin/mandelbrot index dc697c2f..0c24bcda 100644 Binary files a/dsk/bin/mandelbrot and b/dsk/bin/mandelbrot differ diff --git a/dsk/bin/print b/dsk/bin/print index dc34c289..00c43c9b 100644 Binary files a/dsk/bin/print and b/dsk/bin/print differ diff --git a/dsk/bin/reboot b/dsk/bin/reboot index 02ace307..613ab993 100644 Binary files a/dsk/bin/reboot and b/dsk/bin/reboot differ diff --git a/dsk/bin/sleep b/dsk/bin/sleep index 12914429..8d8a3526 100644 Binary files a/dsk/bin/sleep and b/dsk/bin/sleep differ diff --git a/dsk/tmp/roads.txt b/dsk/tmp/roads.txt new file mode 100644 index 00000000..caff145c --- /dev/null +++ b/dsk/tmp/roads.txt @@ -0,0 +1,27 @@ +THE ROAD NOT TAKEN + +Robert Frost (1915) + +Two roads diverged in a yellow wood, +And sorry I could not travel both +And be one traveler, long I stood +And looked down one as far as I could +To where it bent in the undergrowth; + +Then took the other, as just as fair, +And having perhaps the better claim, +Because it was grassy and wanted wear; +Though as for that the passing there +Had worn them really about the same, + +And both that morning equally lay +In leaves no step had trodden black. +Oh, I kept the first for another day! +Yet knowing how way leads on to way, +I doubted if I should ever come back. + +I shall be telling this with a sigh +Somewhere ages and ages hence: +Two roads diverged in a wood, and I, +I took the one less traveled by, +And that has made all the difference. diff --git a/dsk/var/pkg/index.html b/dsk/var/pkg/index.html index ace62855..82a1a536 100644 --- a/dsk/var/pkg/index.html +++ b/dsk/var/pkg/index.html @@ -11,3 +11,4 @@ life lisp mandelbrot +texts diff --git a/dsk/var/pkg/texts b/dsk/var/pkg/texts new file mode 100644 index 00000000..75791c4f --- /dev/null +++ b/dsk/var/pkg/texts @@ -0,0 +1,3 @@ +/tmp/alice.txt +/tmp/machine.txt +/tmp/roads.txt diff --git a/src/usr/install.rs b/src/usr/install.rs index 9916fc93..5225be1b 100644 --- a/src/usr/install.rs +++ b/src/usr/install.rs @@ -97,7 +97,8 @@ pub fn copy_files(verbose: bool) { copy_file!("/lib/lisp/math.lsp", verbose); copy_file!("/tmp/alice.txt", verbose); - copy_file!("/tmp/machines.txt", verbose); + //copy_file!("/tmp/machines.txt", verbose); + //copy_file!("/tmp/roads.txt", verbose); //create_dir("/tmp/chess", verbose); //copy_file!("/tmp/chess/mi2.epd", verbose); diff --git a/www/manual.html b/www/manual.html index 32399e63..f10d29b7 100644 --- a/www/manual.html +++ b/www/manual.html @@ -13,7 +13,7 @@

Boot

During boot MOROS will display its version followed by the memory layout, memory size, processor, devices, network cards, disks, and the real time clock.

-
[0.250962] SYS MOROS v0.10.4-89-g6b3f825
+    
[0.250962] SYS MOROS v0.11.0
 [0.254961] MEM [0x00000000000000-0x00000000000FFF] FrameZero
 [0.255961] MEM [0x00000000001000-0x00000000004FFF] PageTable
 [0.256961] MEM [0x00000000005000-0x00000000014FFF] Bootloader
@@ -59,7 +59,7 @@ 

Installation

/ > install -Welcome to MOROS v0.10.4 installation program! +Welcome to MOROS v0.11.0 installation program! Proceed? [y/N] y