== Introduction ==
'''FutureOS''' is an operating system for the Amstrad [[CPC6128|CPC6128]], [[Plus|6128Plus]], [[C-ONE|C-One]] and [[CPC TREX|T-Rex1]]. The version for the CPCPlus supports some of its special features. FutureOS is developed by [[TFM|TFM]] of [[FutureSoft|FutureSoft]] in [[Z80|Z80]] assembler. Its development continues from 1989 up to now (2008). FutureOS allows the user to control the computer with with an icon section and a file section; it can deal with files up to 4 MB big in one piece. It has a dynamic memory management system, which divides RAM into 16 KB blocks. Further it supports a variety of hardware expansions. FutureOS is delivered together with basic utilities in the same ROMs.
== Requirements ==
'''FutureOS''' can be launched from AmsDOS with the RSX commands |OS or |FDESK. If you use |FDESK you can leave '''FutureOS''' and get back to BASIC where you have stopped before - the first 48 KB (not the screen) have been preserved.
'''FutureOS''' only runs well on a [[CPC6128|CPC6128]] or 6128plus (not CPC464 or 664), because of their support for RAM configuration C3 (essential for the mouse pointer). FutureOS is not compatible with native [[AMSDOS|AMSDOS]] or [[CP/M|CP/M]] programs.
== User Interface ==
The file system of FutureOS can handle multiple simultaneous floppy disc drives and hard disc partitions. After the selection of a device FutureOS reads and buffers the directory entries of the medium. Integrated utilities like the multi file copy can copy files from physical sources to different physical destinations in one run.
The file system is compatible with the CPCs native data-, file- and format structures (f. e. File header, Disc formats). It is not compatible with native [[AMSDOS|AMSDOS]] or [[CP/M|CP/M]] programsFutureOS supports the Data, IBM, System, Vendor and Vortex disc formats.
Filenames can use all 256 different characters and user areas from 0 to 254 (except for &E5, which is reserved for deleted files). Unlike Amsdos, a file that is erased under FutureOS is not shifted to user &E5, but is physically removed from the directory. File headers are displayed as AmsDOS files or the icon-like file-header of a FutureOS program. An AmsDOS file header has 128 bytes of which 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 OS supports many of the hardware available for the CPC. One of the ambitions of FutureOS is to support all hardware available. Hardware expansions usually need drivers that can be flexibly added to an OS. Contrary to this approach, a goal of FutureOS is to provide a monolithic 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.
== Supported Hardware ==
'''8 bit printer ports<br>'''
*8 bit printer port 6128 Plus
*8 bit printer port patch ([[8255|PIO]])
'''Drives<br>'''
*3" A, B, C and D drives (C, D need hardware patch)
*[[F1|Vortex disc drives FI-D, F1-S, F1-X, M1-D, M1-S, M1-X]]
'''Expansion cards<br>'''
*[[SYMBiFACE II|SYMBiFACE II]]
'''Floppy discs, formats:<br>'''
*Data
*IBM
*System
*Vendor
*Vortex
'''Graphic Tablet'''
*Hegetron [[Grafpad II|Grafpad II]]
'''Hard-disc<br>'''
*[[Dobbertin Harddisc|Dobbertin HD20]] (72 KB/s data transfer rate)
'''Joysticks<br>'''
*Analog Joystick (6128 Plus)
*Digital Joystick 2
'''Light-Pens<br>'''
*[[Dk'tronics Lightpen|Dk'tronics]]
*Lindy
'''Memory expansions<br>'''
*[[Dk'tronics memory expansion|Dk'tronics]] 64-512 KB and compatibles ([[Dobbertin Memory Expansion|Dobbertin]], [[Inicron RAM-Box|Inicron]], [[SYMBiFACE II|SYMBiFACE II]])