Difference between revisions of "FutureOS/Suggestion1"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(improved futureos article)
(No difference)

Revision as of 14:04, 5 September 2006

FutureOS-Logo
FutureOS main screen

Introduction

FutureOS is a library for the Amstrad CPC6128 and 6128plus. It has been developed from 1990 to 1994 by TFM. Also after this time some updates have been released. The focus of the FututeOS library is the speed of the disc routines. The library can't be used for executing AMSDOS or CP/M programs.

Requirements

The complete bunch of routines needs 64 KB ROM. The routines are executed directly in the ROM where they are distributed in four different 16 KB blocks. Up to 48KB of Ram is used for variables and directory buffering, the rest can be used for applications. From AmsDOS/Basic it is possible to start FutureOS with the RSX commands |OS or |FDESK. If |FDESK is used, the user can leave FutureOS and get back to BASIC where he has stopped before - the first 48 KB (not the screen) have been preserved. A 6128 (normal or plus) is required to run the FutureOS library.

File selection

The library contains a File selection function, which opens a screen with two sections. First an icon-section, where the user can choose the functions. Second there is a section below, where the user can browse through discs and hard-disc partitions. The user has to use a joystick, mouse, trackball or light-pen, as there are no keyboard-shortcuts available. The user interface is graphical, the user clicks on icons and files to select them for subsequent actions. The icons are not changeable.

Disc routines

The disc routines are not as powerful as these from VDOS or CP/M, but they are the fastest available for the CPC and can load 512 KB files in one piece. They can access CPCs native data-, file- and format structures (f. e. File-header, Disc-formats).

Filenames can use all 256 different characters and user numbers from 0 to 254 (except for &E5, which marks a deleted file). Different to Amsdos, a file that is erased will not be shifted to user &E5, but it will be physically removed from the directory, so it is impossible to unerase files. Files can be viewed on-screen (scroll up and down) or printed. The user can also view the file-header. When typing a text-file it is possible to set the number of columns and lines of the window the text is displayed in. File-headers are displayed as AmsDOS file or the icon-like file-header of a FutureOS program. An AmsDOS file-header has 128 bytes of which some bytes are unused. FutureOS makes use of those unused bytes so that files have a length definition of 24bit and can have a physical RAM select. Therefore a file can be defined to be loaded everywhere in the external RAM. Also a FutureOS file-header can contain a graphical icon, a textual icon or a short description of the file.

Hardware

The library supports some of the peripherals for the CPC. These are real-time-clocks, the Vortex disc drives, several mices & trackballs and the Dobbertin HD20 hard disc. Also two components of the SYMBiFACE II (RTC and PS/2 mouse) are supported. Mouse support can't be used in own applications, but only inside the file selection menu.

There is a memory management table, which divides RAM into 16 KB blocks and has to be updated by the applications itself.

FutureOS abandons a flexible structure but provides a monolithik architecture, where all drivers are implemented in a hardcoded way.

  • Disc drives and hard discs: FutureOS supports up to eight drives and up to four hard-disc partitions. It buffers the directories read from any mass storage device in the expansion RAM, which requires a lot of memory.
  • Configuration: FutureOS has to be rewritten into the rom again, if the hardware configuration changed. The reason is, that there are configuration-bytes, which have to be updated in the ROM, when the user updates his peripherals.

Utilities

Tools like copy, format, verify or refresh a disc exist. The user can copy files from different discs and partitions to other discs and partitions.

From the File selection screen the user can call a little machine monitor. This monitor provides features like editing of CPU registers and I/O ports, display and edit memory or the content of the ASIC of the 6128plus. Memory blocks can be copied or initialised. It is possible to call a routine with defined CPU registers and memory.

Developing for FutureOS

The developer has to take care about the interrupts himself. Usually he has to use assembler to acces the routines of the library.

  • Programming in C for FutureOS: With FIOLIB it also possible to use C as a programming language.

Applications

Conclusion

FutureOS is a library with some fast routines. Beside some demos there are no applications available yet, but is is expected, that after 15 years people will start developing something.

Web links