Changes

Jump to: navigation, search

FutureOS

2,531 bytes added, 8 February
/* File system */
== Introduction ==
'''FutureOS''' is an revolutionary operating system for the Amstrad [[CPC6128|CPC6128]], [[Plus|6128Plus6128plus]], [[C-ONE|C-One]] and [[CPC TREX|CPC TREX]]. The version for the CPCPlus 6128plus supports some of its special features. The CPC464 and , CPC664 and [[KC Compact]] 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 (20192023). Therefore FutureOS was already sold during the commercial era of the CPC6128 and 6128plus computers. Latest OS release was August 7took place at October 19th, 20192023. Planned next release: 2025.
On the Amstrad CPC many efforts to build a GUI were made, few to build an OS. 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 during the early commercial era. 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 similarbetter? So the FutureOS-Project was bornand FutureOS system 0.1 was released during the late commercial era of the CPC6128. With the release of the 6128plus a special version of the OS was released for this computer.
FutureOS allows the user to control the computer with a broad variety of HIDs. The surface provides an icon section, a file section and a status section. The OS can deal with files up 16 MB (24 bit file-length) and it can load/save files up to 4 MB in one piece. It has a dynamic memory management system, which divides RAM usually into 16 KB blocks - or in smaller pieces. Further it supports a broad variety of hardware expansions. FutureOS is delivered together with a variety of utilities in the same four ROMs. Additional expansion ROMs can be added.
FutureOS can be used with German, English, French and Spanish language interfaces.
The OS itself has about 63roughly 70.000 lines of code, the source code is about 630 808 KB in size.
=== How to start FutureOS ===
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 (PseudoFlash-)ROM or [[Dobbertin EPROM 224|EPROM]] (in four 16 KB blocks). It The support of the M4 SD card needs a fifth ROM of 16 KB though. The OS allows jumps between the ROMs with the help of a little common area. Therefore the numbers of the four (five) 16 KB ROMs are hardcoded and the jumps are very quick. But never mind, adapting ROM number is done by the installation software anyway. Applications like ROManager can change do also set all that ROM numbersautomatically right. Further parts of the OS can be loaded from media on demand if needed. Examples are the multitasking manager [[Caruh]] and the UI/menu framework CBM.
'''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 and functions to access and manage 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 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 at all (neither BASIC, DOS or , nor firmware) , except its . The only exception can be the character setof the lower ROM. If you replace the lower ROM by the [[CPC FutureOS lower ROM]] for example, then FutureOS will start directly. You In this case you can use your own set of characters, just put it between &3800 and &3FFF in the lower ROM.
There is a Cartridge version of '''FutureOS''' which supports some Plus 6128plus features.
== Limitations ==
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 ===
=== Auto-DIR mode ===
If the Auto-DIR option is switched on (like in recent releases) it's enough to you just click on an drive / partition icon to read, sort and show its DIRectory. Furthermore in this mode some 'AI' is activated f.e. when you click at the Copy icon and no files are tagged the Desktop will directly jump into Disc-copy mode instead the File-copy mode.If the Auto-DIR is off, then you need to do more things 'by hand', but you also have a bit more control over the system.The Auto-DIR mode can be activated by setting a bit in the configuration bytes, either by hand of . This is done by using the ''''Konfig OS'''' / ''''Config OS'''' utility (see system application discapplications).
=== Wallpaper ===
Like for most OS the background of the Desktop can be adapted. This is actually quite easy for FutureOS. Just use the application "-LoadHGB.64K" (English) / "-LadeHGB.64K" (German). HGB stands for "HinterGrundBild" and is German for Wallpaper. There are discs and ROMs full of wallpapers.
If you want to create your own wallpapers then you'll need a MODE 2 screen with 512 x 256 pixel. You can even use an application inside [[JavaCPC]] for this.
You also can load a wallpaper by hand: Place such a 16 KB (headerless) screen in one of the E-RAMs and set the right system variable of the OS (see file #DOS-VAR.ENG). Here are some Wallpapers:
http://futureos.cpc-live.com/files/Wallpaper_HGBs_Deu-Eng.zip
</gallery>
== CBM - the UI for Applications ==
[[Image:CBM.png|thumb|right]]
* Using [[CBM|CBM]] as the standard (G/T)UI for FutureOS programs helps making them looking similar and usable in an intuitive way.
* A part of the CBM is located in the FutureOS ROMs, the flexible part can be individually adapted to its target applications and will be integrated in the application itself.
 
[[Image:Caruh.png|thumb|192px|Example of Task Manager Caruh]]
== Caruh - the Task Manager for Applications ==
[[Caruh]] is the task manager for the cooperative preemptive multitasking under FutureOS.
It's available as RAM application (and planned for lower ROM - which offers limited memory protection).
 
Features of Tasks:
* Up to 255 different tasks
* Every task has its own RAM and stack
* Tasks have a priority
* Tasks can use a part of the main screen (background task) or an own complete screen (foreground task)
* Tasks use multiple screens, which can be swapped. No chaotic window structure.
* Tasks can be dynamically added and/or deleted
* Tasks can be saved and continued later or on other computers
* Tasks can use additional OS functions
* The regular Turbo Desktop of FutureOS can be used too
* Aside of screen MODEs 0-3 different screen formats are usable (80x25, 68x30, 64x32)
== File system ==
[[Image:HERO-HED.JPG|thumb|192px|Example of FutureOS file header]]
The file system of FutureOS can handle multiple simultaneous floppy disc drives and hard disc partitions. Also SD cards are supported up to 32 GB. After the selection of the devices FutureOS reads and buffers the directory entries of the devices. This speeds up the the data transfer significantly. 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), but expanded in many ways. FutureOS supports the Data, IBM, System, Vendor and Vortex (704 KB) disc formats.
==== XROMs ====
* Currently there are a few XROMs for FutureOS:
** ROManager 2.194.3 - to manage any kind of (Flash-)ROM expansion and the M4** System-Tools (English or German)- Control Panel, Configuration, System Information, and and and** Wallpapers I, II and III- enjoy a pretty background picture** FutureTex - text editor, character designer and keyboard manage** XROM for the M4 SD card mass storage (under development, request beta version from TFM) * The XROMs Applications from an XROM can be automatically started, flaunched when FutureOS starts up. F.e. you can have your favorite wallpaper when starting FutureOS. The tools to setup autostart are on the XROM disc.
== OS supported Hardware ==
==== Printer ports ====
*7 bit [[Printer Port|printer port]] (native)
*[[8bit Printer Ports|8 bit printer port]] 6128 Plus 6128plus using Amstrads CRTC solution
*[[Happy Computer 8bit Printer Mod|Happy Computer Mod]] using CAS_WRITE as Bit 7.
*[[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
==== Mass storage / Hard-disc discs ====*[[Dobbertin Harddisc|Dobbertin HD20]] (72 KB/s data transfer rate, four partitions of 5160 KB)*[[M4 Board]] (135 KB/s data transfer rate, SD card supported) ===== Hard-discs discontinued =====
*[[CPC-IDE]], [[SYMBiFACE II]] and [[X-MASS]] IDE support, but only low-level, FutureOS IDE-ROM needed
*[[Dobbertin Harddisc|Dobbertin HD20]] (72 KB/s data transfer rate)
*[[IDE8255]] IDE support, but only low-level, FutureOS IDE-ROM needed
*[[Campursoft ROM Board]] (DIY)
*[[CPC4MB|Jareks 4 MB RAM expansion]] provides 4 MB RAM
*[[D-ROM]]
*[[Dk'tronics memory expansion|Dk'tronics]] 64-512 KB and compatibles
*[[Dobbertin Memory Expansion|Dobbertin]]
==== Real-Time-Clocks ====
*[[Dobbertin Smart Watch]] and the version from dxs
*[[LambdaSpeak III]] and [[LambdaSpeak FS]]
*[[M4 Board]]
*[https://pulkomandy.github.io/shinra.github.io/nova.html Nova]
*[[SYMBiFACE II:Realtime clock|SYMBiFACE II]]
*[[SYMBiFACE III]]
*[[Dk'tronics Speech Synthesizer]]
*[[FuturePlayer]] for MP3 samples up to 128 kbps (max. 4 MB in size)
*[[LambdaSpeak]] (also the MP3 module is fully supported)
*[[Soundplayer]]
==== Mice ====
*[[Albireo|Albireo Mouse]]
*[[Atari-ST mouse adapter|Atari ST mouse adapter]] ([[CPC Magazin|Schneider Magazin]])
*[[AMX Mouse|AMX Mouse]], [[PS2Mouse|AMX PS/2 Mouse Adapter]]
*[[CPC-Mousepack 2.0|CPC-Mousepack]] (Reisware)
*[[GEOS mouse|GEOS mouse]] ([[Commodore 64]] device)
*[[Imperium Solo]]
*[[MultiPlay]] one or both mouses (ACME)
*[[SYMBiFACE II:PS/2 mouse|PS/2 mouse]] of [[SYMBiFACE II]]
*[[USB mouse]] of [[SYMBiFACE III]]
*[[Dk'tronics Mouse Interface]]limited
==== Lightpens ====
== Applications / Demos / Games ==
The following programs can be&nbsp;downloaded&nbsp;at the FutureOS homepage, see Weblinks below.
=== Games ===
*[[Burnin Wheels]] (Soft scrolling car racing game)
*[[Captain Future]] (4 MB movie that uses Jareks 4 MB expansion)
*[[Cyber Huhn|Cyber Chicken]] (3D space game)
*[[CBMGerelakos|CBMGerelakos]] (non resident OS [[RPG]] under construction) *[[H.E.R.O.]] by [[Flynn]]*[[Return of the Sisters|Return of the Sisters]] (a Giana Sisters Clone) WIP name "A tribute to the Sisters..." === Demos ===*[[Captain Future]] (4 MB movie that uses Jareks 4 MB expansion)
*[[Darth Vader]] (stand alone demo)
*[[FutureView|FutureView]] (disc mag)
*[[Gravitation Zero]]
*[[Meg Ryan sample]] demo
*[[NGC4650A]]
*[[Odiesofts Snow]]
*[[Rotating Fractal]] (stand alone demo)
*[[Star Trek sample demo]]
 
=== Applications ===
*[[Caruh]] (partial ROM resident OS expansion: Multi-Tasking Manager)
*[[CBM|CBM]] (partial ROM resident OS expansion: Common Application (G)UI)
*[[-CntrlPanel]] (control panel)
*[[FilmeMacher|FilmeMacher]] (movie player)
*[[FIOLIB|FIOLIB]] (C library)
*[[Flash ROManager|Flash ROManager]] (management of Jareks Flash ROM expansion)
*[[FuturePlayer|FuturePlayer]] (MP3 and WAV player) - Ask TFM for MP3 files on discs
*[[FutureView|FutureView]] (disc mag)
*[[FutureTex|FutureTex]] (text editor)
*[[Gerelakos|Gerelakos]] ([[RPG]] under construction)
*[[GMSK|GMSK]] (sprite converter)
*[[Gravitation Zero]]
*[[GSED]] (Graphic Playground Editor for 2D / 3D games)
*[[H.E.R.O.]] by [[Flynn]]
*Kane (sprite grabber)
*[[Meg Ryan sample]] demoHD20 BackUp / Compare / Restore Tool for the Dobbertin HD20 hard disc (20 MB) - also using M4 SD card!*HD20 Emulation Image Selector (Tool for the SF3 Dobbertin HD20 hard disc emulation)
*[[MegaFlashROManager]] (management of the MegaFlash Pseudo-ROMs for FutureOS and BASIC)
*[[MMcR Format]] (Ultrafast formatting tool for batches of discs)
*[[NGC4650A]]
*[[Odiesofts Snow]]
*[[Return of the Sisters|Return of the Sisters]] (a Giana Sisters Clone) WIP name "A tribute to the Sisters..."
*[[ROManager|ROManager]] (management of a variety of Flash- and Pseudo-ROM cards)
*[[Rotating Fractal]] (stand alone demo)
*[[Star Trek sample demo]]
== Conclusion ==
FutureOS is the longest running projects for the CPC6128 / 6128plus. It's development startet around 1989 and in 2023 we saw a new release.It's designed as an OS with fast system calls and support for nearly all CPC expansions. It has specialised file handling and memory management capabilities that support programs up to 4 MB and files up to 16 MB. SD cards are supported up to 32 GB. In addition FutureOS already contains lots of useful tools and utilities.The idea is that development of professional software, 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 do all this, like listen to MP3 files, work with graphic, use and create C programs, watch movies, demos and play games (see weblinks).
== Web links ==
=== General ===
*[http://www.FutureOS.de FutureOS.de]
*[http://groups.yahoo.com/group/FutureOS/ FutureOS Downloads & Mailing list]
*[http://cpc-live.com/javacpc.php?system=FutureOS&title=FutureOS&full=true&boot=|os&disc=FutureOS_Darth.dsk&discb=FutureOS_Fraktal.dsk&discc=FutureOS_FV-I.dsk&discd=FutureOS_FV-II.dsk&disce=FutureOS_FV-III.dsk&discf=FutureOS_FV-IVeng.dsk&discg=FutureOS_NGC4650A.dsk Try and use FutureOS online at JavaCPC]
*[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 ===
=== Youtube Videos ===
There is a special youtube channel for FutureOS, it provides different playlists for different topics related to this wonderful comprehensive OS.
Please have a look here:
*[https://www.youtube.com/user/realTFM/playlists FutureOS Playlists]
[[Category:4 MB RAM SoftwareSupport]]
[[Category:Cartridges]]
[[Category:CPC GUI]]
2,002
edits