Changes

Jump to: navigation, search

FutureOS

2,311 bytes added, 13:16, 18 June 2019
/* Real-Time-Clocks */
== Introduction ==
'''FutureOS''' is an revolutionary 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. The CPC464 and CPC664 can run FutureOS with a [http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/open-source-diy-512kb-ram-expansion/msg163566/#msg163566 revaldinho's] 512 KB RAM expansion only.FutureOS is being developed by [[TFM|TFM]] of [[FutureSoft|FutureSoft]] in [[Z80|Z80]] assembler. The development of FutureOS and its applications continues from 1989 up to now (20182019). Latest OS release was February 5January 21, 20182019.
On the Amstrad CPC many efforts to build a GUI were made. In other cases they were just extensions to realize some kind of a WIMP environment but weren't true operating systems with their own kernel, memory-management, BIOS, BDOS and so on. Therefore, the CPC's own OS (in combination with AmsDOS) and CP/M (Plus) were the only two known OSes for the series, but the question remained: since most CPCs have 128 KB (most C64 only have 64 KB), a screen-resolution of 640x200 (C64 only has 320x200) and some more advantages, why not have something similar? So the FutureOS-Project was born.
If you want to use FutureOS temporary then use the RSX command '''|FDESK''', this will save your first 48 KB RAM and you can leave FutureOS later and return to previous work.
The RSX commands '''|FVER''' and '''|FHELP''' display the current version number of the FutureOS as well as the in general supported hardware. == Requirements ==
It runs on 'off the shelf' hardware when using the Cartridge for the 6128 Plus.
The core of the OS needs 64 KB ROM. On the CPC6128 it needs a ROM expansion or similar. Compatible products are EPROM-cards, the [[X-MEM]], [[MegaFlash]], [[Inicron ROM-RAM-Box|ROM-RAM-BOX]], [[SYMBiFACE II|SYMBiFACE II]], [[Ramcard 128|RAMcard]], Jareks [[CPC.Flash|Flash-ROM]], [[MegaROM]] or similar products. If you don't own such a card, you can take a look at '''FutureOS''' by using a compatible CPC Emulator ([[JavaCPC|JavaCPC]], [[WinCPC|WinCPC]], [[CaPriCe|Caprice]], [[WinApe|WinApe]], [[!CPCemu|CPCEmu]], [[Arnold]], [[Sugarbox]]) or others.
The core of the OS itself is executed directly in (Pseudo-)ROM or [[Dobbertin EPROM 224|EPROM]] (in four 16 KB blocks). It jumps between the ROMs with the help of a little common area. Therefore the numbers of the four 16 KB ROMs are hardcoded and the jumps are very quick. Applications like ROManager can change all that numbers.
'''FutureOS''' uses 2 KB (&B800...&BFFF) of the first 64 KB; the remaining RAM is available to applications. Additional RAM can be reserved for DIRectory buffering. Furthermore the OS uses memory management (up to 4 MB), file-handling and specialized Low/Mid/High-level routines to access the hardware.
'''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 6128 Plus (not CPC464 or 664, except you have a RAM expansion with full RAM mode &C3 support like the one from Revaldhino), because of their support for RAM configuration C3 (essential for the mouse pointer). FutureOS is not compatible with [[Firmware]] or [[CP/M|CP/M]] programs, but supports their data structure. It needs a [[Class]] 2 CPC, it runs best with a [[Class]] 4 CPC or higher.
'''FutureOS''' does not require the native CPC-OS, except its character set. If you replace the lower ROM by the [[CPC FutureOS lower ROM]] for example, then FutureOS will start directly.
There is a Cartridge version of '''FutureOS''' which supports some Plus features.
 
== Limitations ==
For CPCs with 128 KB there may be some limitations. The command |FDESK uses 48 KB E-RAM, a wallpaper uses 16 KB E-RAM. So in this case for example the E-RAM would be used up and this will inhibit some OS functionality (f.e. copy data). A RAM expansion is strongly suggested.
In case the OS requires more RAM you can always switch the wallpaper off to gain 16 KB and use the |OS command to start FutureOS.
== Graphic User Interface ==
Further there is the [[FutureOS Monitor]], which provides access to RAM, ROM, Z80 registes, I/O ports and allows the testing of routines.
 
=== Auto-DIR ===
If Auto-DIR is enabled, then it's enough to click at a drive Icon to read its DIRectory. You can select this feature using the 'Config OS' utility, either from disc or Tool-XROM.
=== Hot keys ===
The '''SPARtan''' mode reduces the number of displayed icons to a icon set which can be immediately used. Using the Desktop will be easier and you see more of your wallpaper.
It When the Spartan mode is off, all icons will be shown all the time.The Spartan mode can be activated by setting a bit in the configuration bytes, either by hand of by using the ''''Konfig OS'''' / ''''Config OS'''' utility (see system application disc). === Auto-DIR mode ===If the Auto-DIR option is switched on (like in recent releases) it's enough to click on an drive / partition icon to read, sort and show its DIRectory. Furthermore in this mode some 'AI' is activated f.e. when click at the Copy icon and no files are tagged the Desktop will directly jump into Disc-copy mode.If the Auto-DIR is off, then you need to do more things 'by hand', but you also have more control over the system.The Auto-DIR mode can be activated by setting a bit in the configuration bytes, either by hand of by using the ''''Konfig OS'''' / ''''Config OS'''' utility (see system application disc).
=== Wallpaper ===
* By using fixed ROM numbers quick jumps can be made from one ROM to another ROM without the need of using RAM. This is also true for additional ROMs which want to use the API in the care ROMs A-D.
* FutureOS provides an expansion ROM (XROM) architecture which allows to add programs as expansion ROMs. For the native OS these ROMs are declared as "extension" and will NOT be initialized.
 ==== XROMs ====* Currently there are three a few XROMs for FutureOS:** ROManager 2.1419
** System-Tools (English or German)
** WallpapersI, II and III* The XROMs can be automatically started, f.e. you can have your favorite wallpaper when starting FutureOS. The tools to setup autostart are on the XROM disc.
== OS supported Hardware ==
*[[C4CPC]] 6128 Plus version
*[[CPC Booster]](+) and MiniBooster
*[[M4 Board]] (few functions onlyRTC, ROM management)*[[SYMBiFACE II|SYMBiFACE II]](partial)*[[SYMBiFACE III|SYMBiFACE III]] (partial)
*HD64180 Coprocessor card
*[[EPROM]] cards or EPROM simulator cards like the [[Britannia ROM Board]], [[Dobbertin]] EPROM card, [[Honeysoft ROM Board]], [[Inicron ROM-RAM-Box]], [[KDS Sideways ROM Board]], [[MegaFlash]], [[MegaROM]], [[SuperPower ROM Box]], [[SYMBiFACE II]], SuperROM Plus and others
*[[Inicron RAM-Box|Inicron]]
*[[Inicron ROM-RAM-Box]]
*[[M4 Board]]
*[[MegaFlash]]
*[[RAM7 2MB memory expansion|RAM7's RAM expansion]] (up to 2 MB)
*[[Y-MEM]]
*[[Z-MEM]]
 
CPC464 and CPC664 users can run FutureOS when using this RAM expansion:
http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/open-source-diy-512kb-ram-expansion/msg163566/#msg163566
==== Real-Time-Clocks ====
*[[Dk'tronics Real Time ClockDobbertin Smart Watch]]and the version from dxs*[[Dobbertin Smart WatchLambdaSpeak III]]*[[M4 Board]]
*[[SYMBiFACE II:Realtime clock|SYMBiFACE II]]
*[[SYMBiFACE III]]
*[[Dk'tronics Real Time Clock]]
==== Sound and Music ====
*[[Amstrad SSA-1 speech SynthesiserSpeech Synthesizer]]
*[[CTC-AY SDK main fr|CTC-AY]] aka [[PlayCity]]
*[[Digiblaster]]
*[[dkDk'tronics Speech SynthesiserSynthesizer]]
*[[FuturePlayer]] for MP3 samples up to 128 kbps (max. 4 MB in size)
*[[LambdaSpeak]]
*[[CPC Booster]]+ and TotO's MiniBooster
*[[Virtual Net 96]]
*[[Amstrad / Pace Z80-SIO Serial Interface]]*[[Schneider Z80-STI RS232 Interface]]
There is limited support at the moment
*[[GEOS mouse|GEOS mouse]] ([[Commodore 64]] device)
*[[SYMBiFACE II:PS/2 mouse|PS/2 mouse]] of [[SYMBiFACE II]]
*[[USB mouse]] of [[SYMBiFACE III]]
*[[Dk'tronics Mouse Interface]]
== Web links ==
=== General ===
*[http://www.FutureOS.de FutureOS.de]
*[http://groups.yahoo.com/group/FutureOS/ FutureOS Downloads & Mailing list]
*[http://koaks.amstrad.free.fr/amstrad/documents/article_futureos.html FutureOS, le supersonique du CPC]
*[http://www.phenixinformatique.com/modules/smartsection/item.php?itemid=15 Interview de TFM]
 
=== Discussion Forum ===
*[http://www.cpcwiki.eu/forum/programming/futureos-corner/ Discussions in English]
*[http://cpc-live.com/forum/index.php/board,5.0.html Diskussionen auf Deutsch]
=== Youtube Videos ===
1,988
edits