X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=fifth.git;a=blobdiff_plain;f=doc%2Findex.html;h=ab17bf99fd6463e42e07e7c0e4aa714609e26fe2;hp=cadd753a94c9a80d3f960e015999c8a2787aff4f;hb=HEAD;hpb=0df562d446afbd2094012c8e57fb4144c510c434 diff --git a/doc/index.html b/doc/index.html index cadd753..174e5ec 100644 --- a/doc/index.html +++ b/doc/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Fifth - virtual machine, operating system, programming language @@ -194,27 +194,6 @@ .org-svg { } - -
@@ -223,50 +202,49 @@

Table of Contents

-
-

1. General

+
+

1. General

  • This program is free software: released under Creative Commons Zero @@ -293,8 +271,8 @@
-
-

1.1. Source code

+
+

1.1. Source code

-
-

2. !Project deprecated!

+
+

2. !Project deprecated!

Current implementation does not support object oriented @@ -332,8 +310,8 @@ operating system.

-
-

3. Introduction

+
+

3. Introduction

Fifth is a combination of: @@ -342,14 +320,14 @@ Fifth is a combination of:

  • Programming language (inspired by Forth).
  • Operating system.
  • Virtual machine with custom instruction set.
  • -
  • Example Fifth source file - text editor
  • -
    -

    3.1. screenshots

    + +
    +

    3.1. Screenshots

    -
    +

    start.png

    @@ -359,20 +337,20 @@ Startup screen diplaying Fifth logo and full file list.

    -
    +

    dictionary.png

    Sample words defined. Most of the words are commands that can be -executed interactively from command line or from file. When executed -they can be selectively compiled or interpreted. +executed interactively from the command line or from a file. When +executed, they can be selectively compiled or interpreted.

    -
    +

    text editor.png

    @@ -384,24 +362,36 @@ Built in text editor.
    -
    -

    4. Installation

    +
    +

    4. Installation

    Just unpack all files, witout altering original directory structure, -somewhere in your hard disk. For example: C:\MISC\FIFTH\…. To run -fifth you need minimally just 2 files. emulator itself ( EMULATOR.EXE -or EMULATOR.COM ), and virtual disk file ( DISK.RAW ). +somewhere in your hard disk. For example:

    +
    +C:\MISC\FIFTH\
    +
    + +

    -Read more about Fifth distribution directory tree description. +To run fifth you need minimally just 2 files: +

    +
    +
    EMULATOR.COM
    Virtual CPU emulator
    +
    DISK.RAW
    Virtual disk file
    +
    + +

    +For more information, please refer to Fifth distribution directory +tree description.

    -
    -

    5. Fifth distribution directory tree description

    +
    +

    5. Fifth distribution directory tree description

    After downloading and unpacking the ZIP file you shoud get directory @@ -426,46 +416,39 @@ tree similar to this:

    -
    -

    6. Requirements

    +
    +

    6. Requirements

    -
    -

    6.1. Software

    +
    +

    6.1. Software

      -
    • MS-DOS 6.22, with HIMEM.SYS loaded.
    • -
    • Mouse driver if you have a mouse.
    • -
    • Does work only when CPU is in real mode.
    • -
    • To recompile ASM sources I used FASM (Flat Assembler).
    • -
    • I ran QBasic utilities on QB 4.5 .
    • -
    • VESA support by BIOS, or external driver (UNIVBE).
    • +
    • MS-DOS 6.22 with HIMEM.SYS loaded.
    • +
    • Mouse driver (optional, if you have a mouse).
    • +
    • CPU is initialized into Unreal Mode during operation.
    • +
    • To recompile ASM sources, you can use FASM (Flat Assembler).
    • +
    • To run Quick Basic utilities, use Microsoft Quick Basic 4.5.
    • +
    • VESA support through BIOS or external driver (UNIVBE).
    -
    -

    6.2. Hardware

    + +
    +

    6.2. Hardware

      -
    • Minimum CPU 386.
    • -
    • 64 KB free RAM below 640KB,
    • -
    • 2 MB of free XMS.
    • -
    • VESA compatible video card.
    • +
    • A minimum of a i386 CPU.
    • +
    • 64 KB of free RAM below 640KB.
    • +
    • 2 MB of free extended memory.
    • +
    • A VESA-compatible video card.
    -
    -

    6.3. Human

    -
    -
      -
    • Beginner level Forth knowledge is recommended.
    • -
    • Lots of enthusiasm.
    • -
    -
    -
    -
    -

    7. Numbers representation within Fifth

    + +
    +

    7. Numbers representation within Fifth

    Because we are in full experimentation mode here (no regard for @@ -478,7 +461,7 @@ Here alternative hexadecimal number representation format is devised:

    -
    +

    numbers.png

    @@ -499,8 +482,8 @@ See also: Bibi-binary.
    -
    -

    8. Disk file map, and it's data structures

    +
    +

    8. Disk file map, and it's data structures

    Core and high-level boot code is stored outside of the filesystem to @@ -508,8 +491,8 @@ allow easy access to it, at early booting time, when filesystem is not yet initialized.

    -
    -

    8.1. Disk allocation

    +
    +

    8.1. Disk allocation

    @@ -556,8 +539,8 @@ yet initialized.
    -
    -

    8.2. FAT entry format:

    +
    +

    8.2. FAT entry format:

    @@ -592,8 +575,8 @@ yet initialized.
    -
    -

    8.3. File entry format

    +
    +

    8.3. File entry format

    @@ -647,8 +630,8 @@ yet initialized. -
    -

    9. Core architecture

    +
    +

    9. Core architecture

    Fifth core is simply some amount of already compiled into machine code @@ -661,8 +644,8 @@ dictionary space only. Random word can be removed from dictionary at any time. Currently dictionary can contain at most 1000 entries.

    -
    -

    9.1. Dictionary entry format

    +
    +

    9.1. Dictionary entry format

    @@ -730,8 +713,8 @@ run through headers backwards and find needed entry.

    -
    -

    9.2. Possible module types

    +
    +

    9.2. Possible module types

    @@ -786,8 +769,8 @@ run through headers backwards and find needed entry.
    -
    -

    9.3. Memory map

    +
    +

    9.3. Memory map

    @@ -835,12 +818,12 @@ run through headers backwards and find needed entry. -
    -

    10. Dynamically loadable modules

    +
    +

    10. Dynamically loadable modules

    -
    -

    10.1. Keyboard driver

    +
    +

    10.1. Keyboard driver


    @@ -878,8 +861,8 @@ FF space

    -
    -

    10.2. Mouse driver

    +
    +

    10.2. Mouse driver

    mousex var Mouse x coordinate.
    @@ -899,8 +882,8 @@ mousedo ( – ) Updates mouse coordinates and keys. Parse mouse

    -
    -

    10.3. 2D graphic library

    +
    +

    10.3. 2D graphic library

    lineh ( color len x y imgbuf – )
    draws horisontal line from X,Y @@ -914,7 +897,7 @@ draws rectangular box. x2 bust be >= x1, y2 must be >= y1.

    -
    +
     x1,y1-----------+
       |             |
       |             |
    @@ -932,12 +915,12 @@ location X & Y with specified color.
    -
    -

    10.4. Trigonometry functions

    +
    +

    10.4. Trigonometry functions

    -
    -

    10.4.1. sin ( a – result )

    +
    +

    10.4.1. sin ( a – result )

    Return sinus from given angle "a", 360ø is 2000. So 1000 represents @@ -945,11 +928,11 @@ Return sinus from given angle "a", 360ø is 2000. So 1000 represents

    -
    -

    10.4.2. cos ( a – result )

    +
    +

    10.4.2. cos ( a – result )

    -Return cosinus from given angle. Parameters are like in sin function. +Return cosinus from given angle. Parameters are like in sin function.

    @@ -958,7 +941,7 @@ Return cosinus from given angle. Parameters are like in s