Changes
FutureOS
,You asked here the first time. I don't read other ML. The answer is easy: Manage / Get Grafpad X,Y from routines T_GP2 / G_GP2 in ROM D. Don't steal my code!
== Introduction ==
'''FutureOS''' is an operating system for the Amstrad [[CPC6128|CPC6128]], [[Plus|6128Plus]], [[C-ONE|C-One]] and [[CPC TREX|CPC TREX]]. 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''' 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.
== File Management Module ==
The file management module (also called Main Screen) of FutureOS presents the user with three fixed sections: an icon section (upper half of screen), a file-name display and selection section (lower half of screen) and a message line (bottom). It appears directly after booting FutureOS, but can also be used from applications for selecting or managing files. The user can browse through directories of discs and hard-disc partitions. A cursor arrow is used to select devices, functions or files; this cursor arrow can be controlled with nearly all of the pointer based HID devices (joystick, mouse, trackball, light-pen, grafpad) available for the CPC.
Applications do call the UI as a subroutine, and the user can return to the application via the OK button. The icons are fixed, so the layout remains stable throughout its use.
Files can be viewed on-screen (scroll up and down) or printed. File headers can also be viewed. When typing a text file it is possible to set the number of columns and lines of the window the text is displayed in.
== [[Image:CBM.png|thumb|right]]CBM ==
The "command bar menu" ([[CBM|CBM]]) is an optional UI for FutureOS, which can be easily linked into applications. It consists of several flexible pull down menus and file selectors. Using [[CBM|CBM]] as the standard UI for FutureOS programs helps making them looking similar and useable in an intuitive way.
== File system ==
The file system is compatible with the CPCs native data-, file- and format structures (f. e. File header, Disc formats). FutureOS 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.
FutureOS includes one of the fastest FDC-based disc- and file-reading and writing routines ever written for the CPC. This is possible by ignoring the interleave factor, reading one physical sector directly after each other to the correct position in memory but also by just starting with the first appearing sector of every new track. With an increased track step rate it's even faster than optimized copy programs like Crowns' [[Crime|Crime]].
== Hardware ==
== OS 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]]
'''Hard-disc<br>'''
*[[Dobbertin Harddisc|Dobbertin HD20]] (72 KB/s data transfer rate)
'''Joysticks<br>'''
*Analog Joystick (6128 Plus)
*Digital Joystick 2
'''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]])
*[[SYMBiFACE II:Realtime clock|SYMBiFACE II]]
== Additional HIDs in the File Management Module ==
The following pointer-based input devices are supported by the file management module. It's currently not possible to Applications can use them by calling the appropriate function in applications with the help of the operating systemOS-ROMs A, C or D.
*[[Atari-ST mouse adapter|Atari ST mouse and trackball adapter]] (Schneider Magazin)
The FutureOS roms already include several utilities as an addition to the operating system. Tools like copy, format, verify or directory refreshing are available without the need to load them from an external medium. Multiple files can be copied between different physical media in one go.
A small machine monitor is also provided. This monitor provides features like CPU register editing, I/O ports, memory editing and display and manipulation of the ASIC contents (6128 Plus). Memory blocks can be copied or initialised. It is possible to call a routine with defined CPU registers and memory.
== Developing for FutureOS ==
== Conclusion ==
FutureOS is designed as an OS with fast routines. It has specialised file handling and memory management capabilities that support programs up to 4 MB. The idea is that development of games, graphic tools, word processors, sound, management of big amounts of data, and programming languages are possible in this environment. At this point, the user can listen to MP3 files, work with graphic, use C programs, watch movies & demos and play games.
== Web links ==
*[http://www.FutureOS.de FutureOS homepage]
*[http://groups.yahoo.com/group/FutureOS/ FutureOS Downloads & Mailing list]
*[http://cpc-live.com/javacpc.php?system=FutureOS&title=FutureOS&full=true&boot=|os Try and use FutureOS online at JavaCPC]
[[Category:Operating_System]] [[Category:CPC_Plus]] [[Category:FutureOS]]