Sirius DOS: Difference between revisions

From XionKB
Jump to navigationJump to search
m (mark as stub)
(commit this WIP rewrite)
Line 7: Line 7:
|lic=[[Artisan Software Licence#ASL 1.1|ASL 1.1]]
|lic=[[Artisan Software Licence#ASL 1.1|ASL 1.1]]
}}
}}
'''{{PAGENAME}}''' is a research software platform devised by American computer scientist [[User:Alexander|Alexander Nicholi]] based on MS-DOS 6.22 and running on IBM-PC compatibles. Specifically, it is composed of five concrete platforms: Sirius A, Sirius B, Sirius A′, Sirius B′, and Sirius V.
'''{{PAGENAME}}''' is a research software platform devised by American computer scientist [[User:Alexander|Alexander Nicholi]] based on MS-DOS 6.22 and running on IBM-PC compatibles.


==Platforms==
==Purpose==
[[File:Siriusdos icon.png|thumb|The 16-colour, 32×32 pixel icon for {{PAGENAME}}.]]
[[File:Siriusdos icon.png|thumb|The 16-colour, 32×32 pixel icon for {{PAGENAME}}.]]
===Sirius A===
TBW
Sirius A is a desktop build with the following specifications:
* Cyrix 5x86 CPU @ 100 MHz
* 1 MiB of 5 ns on-board SRAM cache
* 32 MiB of EDORAM
* Jetway J446A-V2.0
* PCI-based [[Cirrus]] [[Alpine series|Alpine]] CL-GD5480 with 64 MiB of SGRAM
* 19" Sony Trinitron running at 1280×1024 @ 60 Hz
* NEC FD1231H 3½" floppy drive (A:)
* NEC FD1157C 5¼" floppy drive (B:)
* 64 MiB industrial CF card with IDE adapter (C:)
* Creative Labs CD5233E CD-ROM drive (D:)
* Creative Labs CT1870 CD-ROM ISA controller card
* Greystone dual-slot PCMCIA reader with ISA controller card
* 3Com EtherLink III 3C509B-TP 100 Mbps Ethernet ISA controller card


Sirius A deigns to run 15-bit RGB555 "high colour" at its full 1280×1024@60Hz resolution, which is double the width and slightly more than double the height of Sirius B. In certain programs such as [[Quindle]] and [[Senusret's browser|Senusret's]] this will allow it to have a dual-column layout on a single display, which is not possible to accommodate at the lower 640×480 resolution.
==Hardware==
There are several categories of hardware that are considered for a support spread: CPUs, video cards, monitor resolutions, multimedia drives, and network stacks.


===Sirius B===
;CPUs
Sirius A is a laptop set up as a desktop, specifically the Compaq LTE Elite 4/75CX:
:Genuine Intel i286 @ 12MHz (GRiDCASE)
* Genuine Intel i486-DX @ 75 MHz
:Genuine Intel i486 @ 75MHz (Compaq LTE Elite)
* 32 KiB of on-chip cache
:Cyrix 5x86 @ 100MHz
* 24 MiB of RAM
:AMD i486-compatible chip (?)
* Western Digital SVGA-capable chip, probably the same one in the earliest IBM ThinkPads (WD90C24A2 with 1 MiB VRAM)
:Genuine Intel i686 (?)
** This still needs to be confirmed with real world testing
;Video cards
* 17" Compaq 151FS running at 640×480 @ 60 Hz
:IBM CGA mode 3 (80×25 text w/ colour)
** The monitor is capable of up to 1024×768
:S3 ViRGE VX with at least 4MiB VRAM
* 64 MiB industrial CF card with IDE adapter
:Cirrus Alpine CL-GD5480 with 4MiB SGRAM
* Built-in dual PCMCIA slot
;Displays
** This can be used to adapt CF cards as primitive "thumb drives", as well as attain Ethernet support
:CGA monitor (?)
 
:19" Sony Trinitron running at 1280×1024 @ 60Hz
Sirius B is set up alongside Sirius A and deigns to run 15-bit RGB555 "high colour" at 640×480@60 Hz resolution.
:18" Compaq 151FS running at 640×480 @ 75Hz
 
;Multimedia
===Sirius A′===
:NEC FD1231H 3½" floppy drive (A:)
Sirius A′ is a GRiDCASE 1520 sporting 1 MiB of RAM and a genuine Intel i286 with i287 running at 10 MHz. It has a built-in monochrome screen, but this is optionally supplanted by a 9-pin EGA-compatible monitor. Like Sirius A and B′, it has a functioning 3½" floppy diskette drive.
:NEC FD1157C 5¼" floppy drive (B:)
 
:64 MiB industrial CF card with IDE adapter (C:)
===Sirius B′===
:Creative Labs CD5233E CD-ROM drive (D:)
Sirius B′ is a Compaq SLT/286 sporting 2 MiB of RAM and a genuine Intel 80C286 running at 12 MHz. It has a built-in monochrome screen that supports up to 8 shades, but it looks quite terrible compared to Sirius A′ and any CRT. Interestingly, it supports a 15-pin VGA-style external monitor plug-out. It has a functioning 3½" floppy drive.
:Creative Labs CT1870 CD-ROM ISA controller card
 
:Greystone dual-slot PCMCIA reader with ISA controller card
===Sirius V and V′===
:Osprey Video 22-02028-03 PCI VGA + ⅛" audio capture card
Sirius V is not a physical computer build, but rather a virtual computer that leverages Bochs for accurate emulation of an IBM-PC that is specced similarly to the other four Sirius computer builds. It can provide x86 CPU emulation, and, crucially, emulation of a somewhat generic Cirrus Alpine series 2D accelerator graphics card. Sirius V is indispensable for both mobilising software development on {{PAGENAME}} as well as debugging at low levels close to the hardware.
;Network stacks
:RS-232 Serial based protocol (TCP?)
:3Com EtherLink III 3C509B-TP 100 Mbps Ethernet ISA controller card


==ABIs==
==ABIs==

Revision as of 16:53, 16 November 2023

This article is a stub. You can help by expanding it.
Sirius DOS
Created by Alexander Nicholi
Written in C, C*, x86 assembly
ISAs i286, i486, and more[1]
Licence ASL 1.1

Sirius DOS is a research software platform devised by American computer scientist Alexander Nicholi based on MS-DOS 6.22 and running on IBM-PC compatibles.

Purpose

The 16-colour, 32×32 pixel icon for Sirius DOS.

TBW

Hardware

There are several categories of hardware that are considered for a support spread: CPUs, video cards, monitor resolutions, multimedia drives, and network stacks.

CPUs
Genuine Intel i286 @ 12MHz (GRiDCASE)
Genuine Intel i486 @ 75MHz (Compaq LTE Elite)
Cyrix 5x86 @ 100MHz
AMD i486-compatible chip (?)
Genuine Intel i686 (?)
Video cards
IBM CGA mode 3 (80×25 text w/ colour)
S3 ViRGE VX with at least 4MiB VRAM
Cirrus Alpine CL-GD5480 with 4MiB SGRAM
Displays
CGA monitor (?)
19" Sony Trinitron running at 1280×1024 @ 60Hz
18" Compaq 151FS running at 640×480 @ 75Hz
Multimedia
NEC FD1231H 3½" floppy drive (A:)
NEC FD1157C 5¼" floppy drive (B:)
64 MiB industrial CF card with IDE adapter (C:)
Creative Labs CD5233E CD-ROM drive (D:)
Creative Labs CT1870 CD-ROM ISA controller card
Greystone dual-slot PCMCIA reader with ISA controller card
Osprey Video 22-02028-03 PCI VGA + ⅛" audio capture card
Network stacks
RS-232 Serial based protocol (TCP?)
3Com EtherLink III 3C509B-TP 100 Mbps Ethernet ISA controller card

ABIs

Sirius DOS has two ABIs that it strives to target: the Optic ABI, serviced by Sirius A and B, and the Prime ABI, serviced by Sirius A′ and B′. Sirius V also adaptively services both ABIs (V being Optic and V′ being Prime).

Optic ABI

The Optic ABI is the more fully-featured ABI which provides unencumbered pel-exact video access in 15-bit RGB555 colour, specifically at two resolutions: 640×480 and 1280×1024. The Optic ABI is key for Quindle, which leverages it to provide a great editor experience. Other products that service the end user may also come to depend on this ABI.

Despite running only on i486s in hardware, the Optic ABI is tied to the i286 for its machine code compatibility, just like the Prime ABI.

Prime ABI

The Prime ABI only supports text mode interfacing, albeit at arbitrary vertical resolutions (80 characters is always assumed). It is provided for the sake of many utility programs that are designed to be highly automation-friendly or UNIX-principled, especially on older versions of DOS and on older machines, even back into the mid-1980s.

Virtual Prime

The Prime ABI is also available to be run in the Optic ABI using a "virtual console" type approach, where it may be possible to leverage other fonts and sizes.

Hybridism

Hybrid programs are a central feature of Sirius DOS where programs can have graphical output and text console I/O together with a unified interface. In its most basic form, the kernel monopolises a special key (or keys) for use in toggling the view of the output between the graphics and the console, so no matter what the program, the same method can be used by the user to switch.

Quindle also provides a more flexible built-in system of running hybrid programs.

ISA levels

There are several feature levels that Sirius DOS and other platforms such as A* and MILOTIX provide for targeting by application code on the x86:

  • Level 1
    • i286 and earlier instructions
    • no x87 floating point
    • real mode
  • Level 2
    • i486 and earlier instructions
    • x87 floating point
    • real mode
  • Level 3
    • i686 and earlier instructions
    • x87 floating point
    • MMX SIMD instructions
    • real mode
  • Level 4
    • earliest 64-bit support
    • SSE3 and earlier
    • pegged to Nocona and Silverthorne µarches
      • more precisely, the exact feature set is the intersection of Nocona and Silverthorne feature sets
    • long mode
  • Level 5
    • more recent 64-bit ISA
    • SSE4.2 and earlier
    • pegged to the Silvermont and Nehalem µarches
      • more precisely, the exact feature set is the intersection of Silvermont and Nehalem feature sets
      • unfortunately this means no RDRAND, CLMUL, POPCNT or AES-NI
    • long mode
  • Level 6
    • more recent 64-bit ISA
    • SSE4.2 and earlier
    • AVX and AVX2
    • pegged to the Knights Corner and Haswell µarches
      • more precisely, the exact feature set is the intersection of Haswell and Knights Corner feature sets
    • long mode
  • Level 6a
    • Variant of level 6 that permits Knights Corner's Intel Many Core Instructions, the ancestor of modern AVX-512 SIMD extensions
    • long mode
    • It is otherwise limited entirely the same as level 6 is
  • Level 7
    • (currently as of this writing) most recent 64-bit ISA
    • SSE4.2 and earlier
    • AVX and AVX2
    • AVX-512, specifically:
      • AVX-512F
      • AVX-512CD
      • AVX-512DQ
      • AVX-512IFMA
      • AVX-512BW
      • AVX-512VL
      • AVX-512BF16
      • AVX-512VBMI and AVX-512VBMI2
      • AVX-512VNNI
      • AVX-512BITALG
      • AVX-512VPOPCNTDQ
    • pegged to the Zen 4 and Sapphire Rapids µarches
      • more precisely, the exact feature set is the intersection of Zen 4 and Sapphire Rapids feature sets
    • long mode
  • Level 7a
    • Variant of level 7 that is devolved to better support Knights Landing µarch
    • The exact feature set is that of level 6, plus AVX-512F and AVX-512CD
    • long mode

References