diff --git a/CHANGELOG.md b/CHANGELOG.md index a5742f96..66a5da5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,52 +1,57 @@ # Changelog ## Unreleased -- Run clippy (502) -- Bump object from 0.30.3 to 0.31.1 (#497) -- Bump libm from 0.2.6 to 0.2.7 (#498) -- Bump raw-cpuid from 10.7.0 to 11.0.1 (#499) -- Bump vte from 0.11.0 to 0.11.1 (#496) -- Fix lisp cond expand (#501) -- Update rust version (#495) -- Fix lisp range params (#494) -- Fix lisp comments (#493) -- Add docstring to lisp (#490) -- Add full support for comments in lisp (#489) -- Add parenthesis matching to editor (#488) -- Upgrade smoltcp from 0.8.2 to 0.9.1 (#484) -- Update rust to nightly-2022-12-21 (#485) -- Fix RTL8139 driver issues (#483) -- Improve help system (#481) -- Refactor lisp functions (#478) -- Improve asm binaries (#482) -- Add light palette (#480) -- Fix invalid bytes from serial (#479) -- Use pbkdf2_hmac to fix compilation warnings (#477) -- Bump spin from 0.9.5 to 0.9.6 (#474) -- Bump pbkdf2 from 0.11.0 to 0.12.1 (#470) -- Bump aml from 0.16.2 to 0.16.3 (#471) -- Bump linked_list_allocator from 0.10.4 to 0.10.5 (#472) -- Bump pic8259 from 0.10.2 to 0.10.3 (#473) -- Bump spin from 0.9.4 to 0.9.5 (#465) -- Bump nom from 7.1.2 to 7.1.3 (#461) -- Bump object from 0.30.0 to 0.30.3 (#462) -- Bump bit_field from 0.10.1 to 0.10.2 (#468) -- Bump raw-cpuid from 10.6.0 to 10.7.0 (#469) -- Bump nom from 7.1.1 to 7.1.2 (#457) -- Refactor keyboard interrupt handler (#453) -- Add cut/copy/paste to editor (#456) -- Improve lisp (#455) -- Improve lisp (#449) -- Bump aml from 0.16.1 to 0.16.2 (#450) -- Improve help (#451) -- Improve shell autocompletion (#448) -- Remove allow other (#447) -- Replace some rust programs with lisp scripts (#445) -- Fix panic on commands containing only spaces (#442) -- Fix panic in chess move parser (#446) -- Add path to prompt (#444) -- Bump smoltcp from 0.8.1 to 0.8.2 (#443) -- Bump object from 0.29.0 to 0.30.0 (#441) + +## 0.10.0 (2023-06-21) +- Add cut/copy/paste to editor ([#456](https://github.com/vinc/moros/pull/456)) +- Add docstring to lisp ([#490](https://github.com/vinc/moros/pull/490)) +- Add full support for comments in lisp ([#489](https://github.com/vinc/moros/pull/489)) +- Add light palette ([#480](https://github.com/vinc/moros/pull/480)) +- Add parenthesis matching to editor ([#488](https://github.com/vinc/moros/pull/488)) +- Add path to prompt ([#444](https://github.com/vinc/moros/pull/444)) +- Fix RTL8139 driver issues ([#483](https://github.com/vinc/moros/pull/483)) +- Fix invalid bytes from serial ([#479](https://github.com/vinc/moros/pull/479)) +- Fix lisp comments ([#493](https://github.com/vinc/moros/pull/493)) +- Fix lisp cond expand ([#501](https://github.com/vinc/moros/pull/501)) +- Fix lisp range params ([#494](https://github.com/vinc/moros/pull/494)) +- Fix panic in chess move parser ([#446](https://github.com/vinc/moros/pull/446)) +- Fix panic on commands containing only spaces ([#442](https://github.com/vinc/moros/pull/442)) +- Fix setup instructions in readme ([#504](https://github.com/vinc/moros/pull/504)) +- Improve asm binaries ([#482](https://github.com/vinc/moros/pull/482)) +- Improve chess game ([#506](https://github.com/vinc/moros/pull/506)) +- Improve help ([#451](https://github.com/vinc/moros/pull/451)) +- Improve help system ([#481](https://github.com/vinc/moros/pull/481)) +- Improve lisp ([#449](https://github.com/vinc/moros/pull/449)) +- Improve lisp ([#455](https://github.com/vinc/moros/pull/455)) +- Improve shell autocompletion ([#448](https://github.com/vinc/moros/pull/448)) +- Refactor keyboard interrupt handler ([#453](https://github.com/vinc/moros/pull/453)) +- Refactor lisp functions ([#478](https://github.com/vinc/moros/pull/478)) +- Remove allow other ([#447](https://github.com/vinc/moros/pull/447)) +- Replace some rust programs with lisp scripts ([#445](https://github.com/vinc/moros/pull/445)) +- Run clippy ([#502](https://github.com/vinc/moros/pull/502)) +- Update rust to nightly-2022-12-21 ([#485](https://github.com/vinc/moros/pull/485)) +- Update rust version ([#495](https://github.com/vinc/moros/pull/495)) +- Upgrade smoltcp from 0.8.2 to 0.9.1 ([#484](https://github.com/vinc/moros/pull/484)) +- Use pbkdf2_hmac to fix compilation warnings ([#477](https://github.com/vinc/moros/pull/477)) +- Bump aml from 0.16.1 to 0.16.2 ([#450](https://github.com/vinc/moros/pull/450)) +- Bump aml from 0.16.2 to 0.16.3 ([#471](https://github.com/vinc/moros/pull/471)) +- Bump bit_field from 0.10.1 to 0.10.2 ([#468](https://github.com/vinc/moros/pull/468)) +- Bump libm from 0.2.6 to 0.2.7 ([#498](https://github.com/vinc/moros/pull/498)) +- Bump linked_list_allocator from 0.10.4 to 0.10.5 ([#472](https://github.com/vinc/moros/pull/472)) +- Bump nom from 7.1.1 to 7.1.2 ([#457](https://github.com/vinc/moros/pull/457)) +- Bump nom from 7.1.2 to 7.1.3 ([#461](https://github.com/vinc/moros/pull/461)) +- Bump object from 0.29.0 to 0.30.0 ([#441](https://github.com/vinc/moros/pull/441)) +- Bump object from 0.30.0 to 0.30.3 ([#462](https://github.com/vinc/moros/pull/462)) +- Bump object from 0.30.3 to 0.31.1 ([#497](https://github.com/vinc/moros/pull/497)) +- Bump pbkdf2 from 0.11.0 to 0.12.1 ([#470](https://github.com/vinc/moros/pull/470)) +- Bump pic8259 from 0.10.2 to 0.10.3 ([#473](https://github.com/vinc/moros/pull/473)) +- Bump raw-cpuid from 10.6.0 to 10.7.0 ([#469](https://github.com/vinc/moros/pull/469)) +- Bump raw-cpuid from 10.7.0 to 11.0.1 ([#499](https://github.com/vinc/moros/pull/499)) +- Bump sha2 from 0.10.6 to 0.10.7 ([#505](https://github.com/vinc/moros/pull/505)) +- Bump smoltcp from 0.8.1 to 0.8.2 ([#443](https://github.com/vinc/moros/pull/443)) +- Bump spin from 0.9.4 to 0.9.5 ([#465](https://github.com/vinc/moros/pull/465)) +- Bump spin from 0.9.5 to 0.9.6 ([#474](https://github.com/vinc/moros/pull/474)) +- Bump vte from 0.11.0 to 0.11.1 ([#496](https://github.com/vinc/moros/pull/496)) ## 0.9.0 (2022-11-11) - Add BigInt support to Lisp ([#415](https://github.com/vinc/moros/pull/415)) diff --git a/Cargo.lock b/Cargo.lock index f3dbde92..a6d0c2d8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -312,7 +312,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "moros" -version = "0.9.0" +version = "0.10.0" dependencies = [ "acpi", "aml", diff --git a/Cargo.toml b/Cargo.toml index d5d43b24..f6396f2c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "moros" description = "MOROS: Obscure Rust Operating System" -version = "0.9.0" +version = "0.10.0" authors = ["Vincent Ollivier "] edition = "2018" license = "MIT" diff --git a/doc/boot.png b/doc/boot.png deleted file mode 100644 index 054c313f..00000000 Binary files a/doc/boot.png and /dev/null differ diff --git a/doc/chess.png b/doc/chess.png index 2251fca5..b786bebb 100644 Binary files a/doc/chess.png and b/doc/chess.png differ diff --git a/doc/lisp.md b/doc/lisp.md index 4fff6176..32fb378b 100644 --- a/doc/lisp.md +++ b/doc/lisp.md @@ -82,7 +82,7 @@ The interpreter can be invoked from the shell: ``` > lisp -MOROS Lisp v0.4.0 +MOROS Lisp v0.5.0 > (+ 1 2 3) 6 @@ -172,24 +172,24 @@ The whole implementation was refactored and the parser was rewritten to use language and reading from the filesystem. ### 0.3.0 (2022-12-12) -Rewrite the evaluation code, add new functions and a core library. +- Rewrite the evaluation code +- Add new functions +- Add a core library ### 0.3.1 (2022-06-06) -Rewrite parts of the code and add new functions and examples. +- Rewrite parts of the code +- Add new functions and examples ### 0.3.2 (2022-07-02) - Add new functions -### 0.3.2 (2022-08-25) -- Add new functions - ### 0.4.0 (2022-08-25) - Rewrite a lot of the code - Add integer and big integer support - Add tail call optimization (TCO) - Add macro support -### 0.5.0 (unpublished) +### 0.5.0 (2023-06-21) - Rename or add aliases to many functions - Add full support for line and inline comments - Add params to function representations diff --git a/doc/lisp.png b/doc/lisp.png index b01513ce..630f25fb 100644 Binary files a/doc/lisp.png and b/doc/lisp.png differ diff --git a/doc/manual.md b/doc/manual.md index 03f4d483..494db62c 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] MOROS v0.9.0 + [0.250962] MOROS v0.10.0 [0.250962] MEM [0x00000000000000-0x00000000000FFF] FrameZero [0.250962] MEM [0x00000000001000-0x00000000004FFF] PageTable [0.250962] MEM [0x00000000005000-0x00000000015FFF] Bootloader @@ -47,7 +47,7 @@ commands to test the system or `install` to setup the / > install - Welcome to MOROS v0.9.0 installation program! + Welcome to MOROS v0.10.0 installation program! Proceed? [y/N] y diff --git a/doc/moros.png b/doc/moros.png index 8d7abc38..30682813 100644 Binary files a/doc/moros.png and b/doc/moros.png differ diff --git a/doc/network.md b/doc/network.md index 134d3a1b..a523a55b 100644 --- a/doc/network.md +++ b/doc/network.md @@ -144,7 +144,7 @@ Here's a connexion to a SMTP server to send a mail: 250-Ok EventMachine SMTP Server 250-NO-SOLICITING 250 SIZE 20000000 - > MAIL FROM: + > MAIL FROM: > RCPT TO: 250 Ok 250 Ok diff --git a/dsk/ini/banner.txt b/dsk/ini/banner.txt index ba61858c..6b2171f2 100644 --- a/dsk/ini/banner.txt +++ b/dsk/ini/banner.txt @@ -12,7 +12,7 @@ | | | MOROS: Obscure Rust Operating System | | | - | (v{x.x.x}) | + | (v{x.x.x}) | | | +--------------------------------------------------+ diff --git a/run/screenshot.sh b/run/screenshot.sh new file mode 100644 index 00000000..df2e029c --- /dev/null +++ b/run/screenshot.sh @@ -0,0 +1,8 @@ +if [ $# -eq 0 ]; then + echo "Usage: screenshot.sh " + exit 1 +fi +nc -N 127.0.0.1 7777 <<< "screendump $1.ppm" +convert "$1.ppm" "$1.png" +optipng "$1.png" +feh "$1.png" diff --git a/src/usr/chess.rs b/src/usr/chess.rs index c9f1540c..3ec05780 100644 --- a/src/usr/chess.rs +++ b/src/usr/chess.rs @@ -71,7 +71,7 @@ impl Chess { } fn run(&mut self) { - println!("MOROS Chess v0.1.0\n"); + println!("MOROS Chess v0.2.0\n"); let prompt_string = format!("{}>{} ", self.csi_color, self.csi_reset); let mut prompt = Prompt::new(); diff --git a/src/usr/lisp/mod.rs b/src/usr/lisp/mod.rs index c8ed40c2..b92aeac6 100644 --- a/src/usr/lisp/mod.rs +++ b/src/usr/lisp/mod.rs @@ -245,7 +245,7 @@ fn repl(env: &mut Rc>) -> Result<(), ExitCode> { let csi_reset = Style::reset(); let prompt_string = format!("{}>{} ", csi_color, csi_reset); - println!("MOROS Lisp v0.4.0\n"); + println!("MOROS Lisp v0.5.0\n"); let mut prompt = Prompt::new(); let history_file = "~/.lisp-history"; diff --git a/www/lisp.html b/www/lisp.html index 21cf7dc5..2e870de9 100644 --- a/www/lisp.html +++ b/www/lisp.html @@ -46,9 +46,10 @@

Built-in Operators

  • define-function (aliased to def-fun)
  • define-macro (aliased to def-mac)
  • apply
  • +
  • do
  • +
  • doc
  • eval
  • expand
  • -
  • do
  • load
  • @@ -102,7 +103,7 @@

    Usage

    The interpreter can be invoked from the shell:

    > lisp
    -MOROS Lisp v0.4.0
    +MOROS Lisp v0.5.0
     
     > (+ 1 2 3)
     6
    @@ -153,11 +154,14 @@ 

    Examples

    (= i 10) # => true (def (map f ls) + "Apply function to list" (if (nil? ls) nil (cons (f (first ls)) (map f (rest ls))))) +(doc map) # => "Apply function to list" + (var bar (quote (1 2 3))) (var bar '(1 2 3)) # Shortcut @@ -189,19 +193,20 @@

    0.2.0 (2021-12-04)

    0.3.0 (2022-12-12)

    -

    Rewrite the evaluation code, add new functions and a core library.

    +
      +
    • Rewrite the evaluation code
    • +
    • Add new functions
    • +
    • Add a core library
    • +

    0.3.1 (2022-06-06)

    -

    Rewrite parts of the code and add new functions and examples.

    - -

    0.3.2 (2022-07-02)

    -
      -
    • Add new functions
    • +
    • Rewrite parts of the code
    • +
    • Add new functions and examples
    -

    0.3.2 (2022-08-25)

    +

    0.3.2 (2022-07-02)

    • Add new functions
    • @@ -216,11 +221,13 @@

      0.4.0 (2022-08-25)

    • Add macro support
    -

    0.5.0 (unpublished)

    +

    0.5.0 (2023-06-21)

    • Rename or add aliases to many functions
    • Add full support for line and inline comments
    • +
    • Add params to function representations
    • +
    • Add docstring to functions
    diff --git a/www/manual.html b/www/manual.html index f0161fe0..6e3404da 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] MOROS v0.9.0
    +    
    [0.250962] MOROS v0.10.0
     [0.250962] MEM [0x00000000000000-0x00000000000FFF] FrameZero
     [0.250962] MEM [0x00000000001000-0x00000000004FFF] PageTable
     [0.250962] MEM [0x00000000005000-0x00000000015FFF] Bootloader
    @@ -56,7 +56,7 @@ 

    Installation

    / > install -Welcome to MOROS v0.9.0 installation program! +Welcome to MOROS v0.10.0 installation program! Proceed? [y/N] y diff --git a/www/network.html b/www/network.html index d3c94fdb..584fc4a8 100644 --- a/www/network.html +++ b/www/network.html @@ -164,7 +164,7 @@

    SOCKET

    250-Ok EventMachine SMTP Server 250-NO-SOLICITING 250 SIZE 20000000 -> MAIL FROM:<v@moros.cc> +> MAIL FROM:<vinc@moros.cc> > RCPT TO:<alice@example.com> 250 Ok 250 Ok