System Overview1.1 ComputerThe Sirius 1 computer is based upon the Intel 8088 16-bit microprocessor. This processor chip is directly related to the Intel 8086 16-bit microprocessor, but with two subtle differences:
The major difference, the 8-bit data bus, has some effect on the relative abilities of the two chips; the main difference is that while the 8086 can load an entire 16-bit word of data directly, the 8088 has to load two 8-bit bytes to achieve the same result - the outcome of which being that the 8088 processor is a little slower than the 8086. The loss of speed, however, is balanced by the fact that the cost of the main circuit board and add-on boards are lower than for the wider 8086 requirement. This means that the end-user will have the best cost/performance ratio for a 16-bit computer. 1.2 MemoryThe Sirius 1 has a maximum memory capacity of 896 kilobytes of Random Access Memory or "RAM" (a measure of a computer's internal storage capacity; a "kilobyte" is 1,024 bytes). A byte is able to store one character of data - thus the Sirius 1, with full 896K memory capacity is able to hold, internally, nearly 1 million characters - compare this figure with the older Z80 or 6502 computers that have a maximum memory capacity of less than 70,000 characters or 64k bytes of RAM. 1.3 Disk SystemThe Sirius 1 has several integral disc configurations available; these are:
Future disc systems will include an external 10Mbyte hard disc (Winchester) that will allow expansion of any of the above systems by a further 10,000K bytes. Although the Sirius 1 uses 5¼ inch (130mm) minifloppies of a similar type to those used in other computers, the floppy discs themselves are not readable on other machines, nor can the Sirius 1 read a disc from another manufacturers machine. The Sirius 1 uses a unique recording method to allow the data to be packed as densely as 600Kbytes on a single-sided single-density minifloppy; this recording method involves the regulation of the speed at which the floppy rotates, explaining the fact that the noise from the drive sometimes changes frequency. 1.4 Display SystemThe display unit swivels and tilts to permit optimum adjustment of the viewing angle, and the unit incorporates a 300mm antiglare screen to prevent eye strain. The display, in normal mode, is 25 lines, each line having 80 columns. Characters are formed, in normal mode, in a 10-x-16 font cell, providing a highly-readable display. The screen may be used in high-resolution mode, providing a bit-mapped screen with 800-x-400 dot matrix resolution. The high-resolution mode is available only under software control, there is no means of simply "switching" in to high-resolution. Software to allow full use of the screen in high-resolution mode is provided in the Graphics Tool Kit. Character sets are "soft" - that is they may be substituted for alternative character sets of the users choice, or creation. Only one 256-character character set may be displayed on the screen at one time - multiple character sets cannot, currently, be displayed simultaneously - but this feature may well become available in the future. Character set manipulation software is available in both the Graphics and Programmers Tool Kits. 1.5 KeyboardEvery key is programmable, permitting the offering of a National keyboard in each country in which it is marketed. As a result, the keyboard can be customised to satisfy the requirements of foreign languages and so that striking a key enters a character or predetermined set of commands. Keyboards are as soft as the character sets - this allows a keyboard to be generated to match a newly created or special character set. Each key on the keyboard has three potential states; the unshifted, shifted and alternate. The unshifted mode is accessed when the desired key is depressed; the shifted mode is accessed when the shift key is depressed along with the desired key; and the alternate mode is accessed when the ALT key is depressed along with the desired key. Keyboard manipulation software is available in both the Graphics and Programmers Tool Kits. 1.6 Memory MapThe Sirius 1 was supplied with two major disc operating systems; CP/M-86 from Digital Research, and MS-DOS from Microsoft. Athough these two operating systems appear superficially similar, they are quite different in their operation, program interfacing techniques, and their memory structure. The following diagrams are the memory maps for CP/M-86 and MS-DOS; you will notice that some aspects of the machine never change, such as the screen RAM and interrupt vector locations, these areas are hardware defined, and as such never alter. The memory maps for MS-DOS and CP/M-86 are not fixed in the Sirius 1, thus some of the elements of the map will not be specific; this is not to be deliberately vague, but improvements to the performance aspects of the software do take place forcing the diagrams to be unspecific to some degree. Note that in CP/M-86 user programs load in the Transient Program Area (TPA) from the top down, whereas in MS-DOS, they load from the bottom up. 1.6.1 Memory Map -- MS-DOS Operating System ___________________________________
FFFFF | |
| Boot Proms |
FC000 |-----------------------------------|
| Reserved for Future Expansion |
F4000 |-----------------------------------|
| Screen High-Speed Static RAM |
F0000 |-----------------------------------|
| Memory-Mapped I/O Space |
| |
E0000 |-----------------------------------|
| |
~ ~
~ ~
| |
|-----------------------------------|
etc. | BIOS |
256k=3FFF0 | Operating System ----------- |
128k=1FFF0 | MS-DOS |
|-----------------------------------|
| Command - Resident Portion |
|-----------------------------------|
| Command - Transient Portion |
|-----------------------------------|
| |
| |
| Transient Program Area (TPA) |
| |
| |
02C00 |-----------------------------------|
| |
| Alternate Character Set |4k bytes
01C00 |-----------------------------------|
| 128 Character Set |4k bytes
00C00 |-----------------------------------|
| Logo |2k bytes
00480 |-----------------------------------|
| "Stub" - Jump Vectors |128 bytes
00400 |-----------------------------------|
| Interrupt Vector Table |1k bytes
00000 |___________________________________|
Programs load from the bottom of TPA
1.6.2 Memory Map -- CP/M-86 Operating System
___________________________________
FFFFF | |
| Boot Proms |
FC000 |-----------------------------------|
| Reserved for Future Expansion |
F4000 |-----------------------------------|
| Screen High-Speed Static RAM |
F0000 |-----------------------------------|
| Memory-Mapped I/O Space |
| |
E0000 |-----------------------------------|
| |
~ ~
~ ~
| |
1FFFF(128K) |-----------------------------------|
3FFFF(256K) | |
| BIOS |
| Operating System ----------- |30k bytes
| BDOS |
| |
|-----------------------------------|
| |
| |
| Transient Program Area (TPA) |
| |
| |
| |
02C00 |-----------------------------------|
| Alternate Character Set |4k bytes
01C00 |-----------------------------------|
| 128 Character Set |4k bytes
00C00 |-----------------------------------|
| Logo |2k bytes
00480 |-----------------------------------|
| "Stub" - Jump Vectors |128 bytes
00400 |-----------------------------------|
| Interrupt Vector Table |1k bytes
00000 |___________________________________|
Programs load from the top of TPA
1.7 Memory Expansion and Memory Requirements
1.7.1 Memory Organisation The total address space of the Sirius 1 is 1Mbyte (or 64K paragraphs; a paragraph being 16 bytes). For convenience this can be considered as 8 blocks of 128K, as follows: Address
(paragraphs)
FFFF |----------| Memory mapped I/O,
| 7 | } screen RAM, ROM, etc.
E000 |----------|
| 6 | \
C000 |----------| |
| 5 | |
A000 |----------| |
| 4 | |
8000 |----------| > Expansion
| 3 | |
6000 |----------| |
| 2 | |
4000 |----------| |
| 1 | |
2000 |----------| /
| 0 | } RAM supplied with standard
0000 |----------| 128K machine
RAM expansion boards are 128K, 256K and 384K (3 x 128K) capacity. The 128K and 256K boards can be addressed at any 128K boundary in the area of memory reserved for expansion (ie. addresses starting at blocks 1 to 6 in the diagram). The 384K boards can currently) only be addressed at blocks 1 or 4. Later versions will allow the 384K board to be addressed similarly to the other two boards. RAM must be contiguous, thus if two 128K RAM cards are used in a standard 128K machine, for example, they must be addressed at blocks 1 and 2. If a 384K RAM card and a 128K RAM card are used, the 384K RAM card must be addressed at blocks 1-3 and the 128K RAM card must be addressed at block 4. 1.7.2 InstallationA RAM card may occupy any of the four expansion slots on the motherboard. A plastic retainer is supplied to hold the top of the board in place. When installed, the component side of the board should face away from the disc drives. 1.7.3 Address Selection128K and 256K RAM card: The group of DIP switches on the card is used to select which blocks the RAM should address. Switches 1 to 6 select blocks 1 to 6 respectively. If a 256K board is to address blocks 3 and 4 then switches 3 and 4 should be on. If a 128K board is to address block 1, switch 1 should be on.Switches 7 and 8 are used to select refresh rates. These should be left as set. 384K RAM card: Older versions of this board are addressed by two jumpers. They are supplied with jumpers E2-E3 and E4-E6 soldered in. This configuration addresses blocks 1to 3. The jumpers should be changed to E1-E2 and E5-E6 to address blocks 4 to 6. Later versions have a single jumper which can be used to select 'upper' or 'lower' banks of 384K. Yet-to-be-released versions of the 384K RAM card will use similar addressing methods to the 128K and 256K RAM cards. Note: A possible problem exists when using current or older builds of the 384K RAM card with a 256K CPU board. It is necessary to modify the RAM card so that the first 128K bank of RAM is relocated to reside in the range 40000-5FFFFh. This is done by modifying the address decoding on the 384K RAM card. There are at present two 384K RAM cards supported. They have the part numbers "101070-01 C 10663" and "101070-01 B D 10870". The modifications for the two boards are shown below:- For board number 101070-01 B D 10870
For board number 101070-01 C 10663
Testing: Install the RAM card in the machine and turn on. If all is well, the machine will display "A000" paragraphs of memory when booting from a drive instead of thenormal "4000" paragraphs message. The machine now has 640K of RAM from 00000h to 9FFFFh. Note: 1 paragraph=16 bytes and Sirius displays the number of paragraphs in hexadecimal. 1.7.4 TestingWhen installed, the board should be tested by booting the system. During boot, RAM is tested and the amount of RAM (in paragraphs) is displayed at the bottom of the screen. For example, the standard 128K machine displays M 2000, a 256K machine displays M 4000. If an error is found in RAM, Sirius will not boot. Machines with extra RAM take longer to boot. (See also, Appendix O). The latest 'Universal' boot ROMs (see Appendix O) display memory in kilobytes rather than paragraphs. Thus the display on a 256K machine will be M 256K. 1.7.5 Memory RequirementsThe operating system always relocates itself to take account of all available memory. At this moment, Microsoft Fortran, Pascal and Cobol compilers require 256K to compile, although the compiled programs may run in 128K. The graphics package requires 256K minimum and will use up to 512K. Microsoft Basic interpreter will not allow the user more than about 62K of free space. Supercalc, Autocad and Scientex use all available memory. Last update: 02/03/2007 |