Changes
FutureOS
,moved planned features to a new section and some minor changes
== Hardware ==
The OS supports many of the hardware available for the CPC. This is said to also be for new hardware like , including the CPC-Booster+ Vortex disc drives and the CPC-IDE-Interface/SymbifaceDobbertin HD20.
== Software ==
FutureOS is compatible with the CPCs native data-, file- and format structures (f. e. File-header, Disc-formats). But it is not compatible with native AmsDOS or CP/M programs. FutureOS and compatible applications can be downloaded at: [http://www.FutureOS.dewww.FutureOS.de].
== Requirements ==
The core of the OS needs 64 KB ROM. Compatible products are EPROM-cards, the ROM-RAM-BOX, Symbiface[[SYMBiFACE II]], RAMcard or similar products. If you don’t own such a card, you can take a look at FutureOS by using a very precise CPC Emulator (WinCPC, Caprice, WinApe).
The core of the OS itself is executed directly in (EP)ROM where it is divided in four 16 KB blocks. It jumps between the ROMs with the help of a little common area. So all the RAM of your CPC is saved for applications and data. Furthermore it contains memory management and file-handling. From AmsDOS/Basic you can start FutureOS 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 64KB have been preserved.
FutureOS only runs well on a CPC6128 or 6128plus, because they support the RAM configuration &C3 (which is essential for the mouse arrow of the GUI).
The idea of FutureOS was to develop an OS which is able to deal with big files and applications while being easy to program. Another idea was to support any hardware available. For example there are 3.5” B-drives, Vortex F1-D-drives, hard-discs, real-time-clocks, serial interfaces etc. Hardware expansion usually need their own drivers (DOS on Eprom). One of the future goals of FutureOS is to provide access to different expansions under one roof.
FutureOS is planned to work with all known hardware expansions for the CPC. It sould should be possible to use a 3.5” B-drive, external Vortex F1-S or F1-D, a serial interface (or two!), different RAM expansions and maybe a hard-disc (Dobbertin HD20 or CPC-IDE; CPC-IDE since system .9).
Most of the low level system resources can be accessed freely, e.g you can use interrupt mode 1 or 2 (standard under FutureOS). Using IM 2 is mandatory when designing expansion hardware.
A programmer can use almost all Z80-CPU registers. In contrast to the regular case, FutureOS allows to freely use both set of registers (the only exception is the I register, which is used when IM 2 is active). Further you can use the RST vectors and the Interrupt-Entry at &0038 (IM 1) for your own programs.
== Plug and Play? ==
If you connect a hardware expansion to a CPC, FutureOS will automatically detect that expansion, initialise it and make it accessible. The architecture of the OS allows you to add and remove hardware on purpose. An example: You add a trackball, you use it, then you connect and use a joystick and then you use a proportional mouse for example. You can turn external hardware in the configuration-bytes on or off.
== Drives, hard-discs and mass storage ==
FutureOS supports up to eight drives and up to four hard-disc partitions. Also you can work with IDE-hard-discs since system .9. FutureOS buffers the directories read from any mass storage device in the expansion RAM.
== Core Utilities ==
== Programming environment ==
''This section has to be re-written completely as the old content was not understandable.''
== How to program Developing for FutureOS ? ==
=== Z80 Assembler ===
You can use an assembler for AmsDOS or for CP/M. Switching between AmsDOS and FutureOS is fast and using |FDESK allows to come back to AmsDOS with the first 64 KB or RAM remaining untouched.
The Command Bar Menu (CBM) provides an user-interface for own programs. It is not part of the OS itself. The source code is available and it's possible to use CBM for FutureOS programs. An example is the MP3-Player for FutureOS which uses CBM.
== The End Plans for the next years ==It is planned to support the following hardware during the next years:* IDE interface ([[CPC IDE]] and [[SYMBiFACE II]])* [[CPC Booster]] == Conclusion ==
FutureOS was designed to be able to make free use of the resources of the machine. The OS has specialised file-handling and memory-management that support programs up to 512 KB. The idea is that development of word processors, scientific mathematics, graphics, sound (especially MP3), spreadsheet, management of big amounts of data, bigger games and programming languages should be possible in this environment, though, apart from a MP3 player, none of the examples were written so far.