Changes

Jump to: navigation, search

FutureOS

1,820 bytes added, 17:42, 21 October 2020
Reverted edits by [[Special:Contributions/Tfm|Tfm]] ([[User talk:Tfm|talk]]) to last revision by [[User:Villain|Villain]]
== 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 (20152019). Latest OS release was August 7, 2019.
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. == 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(neither BASIC, DOS or firmware) , except its character set. If you replace the lower ROM by the [[CPC FutureOS lower ROM]] for example, then FutureOS will start directly. You can use your own set of characters.
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 ===
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.
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. During this process the directory get sorted. File headers can be displayed as small text files or as graphic icons (f. e. a FutureOS applikationapplication). An AmsDOS file header has 128 bytes of which most are unused. FutureOS makes use of those unused bytes so that files have a length definition of 24 bit (16 MB file length) and can have a physical RAM select. Therefore a file can be defined to be loaded everywhere in the external RAM. Also a [[FutureOS Header|FutureOS file-header ]] can contain a graphical icon, a textual icon or a short description of the file.
FutureOS includes the fastest FDC-based disc- and file-reading and writing routines 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. In addition the DIRectory is buffered in RAM, the head of the floppy must not step back to look for the next block. The track step rate is increased and can be adjusted for every drive. It's even faster than optimized copy programs like Crowns' [[Crime|Crime]].
=== ROM ===
* The core OS uses 64 KB ROM
* By using fixed ROM number 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 ==
'''==== Printer ports<br>''' ====
*7 bit [[Printer Port|printer port]] (native)
*[[8bit Printer Ports|8 bit printer port]] 6128 Plus using Amstrads CRTC solution
*[[Happy Computer 8bit Printer Mod|Happy Computer Mod]] using CAS_WRITE as Bit 7.
'''==== Drives<br>''' ====
*3" A, B, C and D drives (C, D need hardware patch)
*3.5" and 5.25" drive
*Atari ST 80 Track DS double-sided B-drive *[[Dobbertin|Dobbertin]] D-DOS Double drive. Up to four drives 80 track, doublesideddouble-sided.&nbsp;
*[[Dobbertin|Dobbertin]] [[XD-DOS]] X-drive 80 tracks, DS
*[[F1|Vortex disc drives FI-D, F1-S, M1-D, M1-S]]. Own FDC, up to four drives 80 track, doublesideddouble-sided.*[[F1|Vortex disc drives F1-X, M1-X]]. Up to 80 track, doublesideddouble-sided.
and ...
*[[HxC Floppy Emulator]] (firmware updated!On message "Disc is write protected" put a HFE in HxC or adjust its configuration)
'''==== Expansion cards<br>''' ====
*[[Albireo]] (partial)
*[[AMRAM2]] (combined EPROM and S-RAM card)
*[[C4CPC]] 6128 Plus version
*[[CPC Booster]](+) and MiniBooster
*[[M4 Board]] (RTC, 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
'''==== Hard-disc''' ====
*[[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
'''==== Joysticks<br>''' ====
*[[Analog Joysticks|Analog Joystick]] (6128 Plus)
*[[Digital Joysticks]] 1 and 2
'''==== Memory expansions<br>''' ====* 4 MB expansion from Zaxon
*[[c't 512 KB internal RAM expansion]] (DIY) (c't magazine)
*[[Campursoft ROM Board]] (DIY)*[[CPC4MB|Jareks 4 MB RAM expansion]] provides 4 MB RAM*[[Dk'tronics memory expansion|Dk'tronics]] 64-512 KB and compatibles (*[[Dobbertin Memory Expansion|Dobbertin]], [[Inicron RAM-Box|Inicron]], [[SYMBiFACE II|SYMBiFACE II]], [[RAM BOX]])
*[[FlashGordon]]
*[[Inicron RAM-Box|Inicron]]*[[Inicron ROM-RAM-Box]]*[[M4 Board]]
*[[MegaFlash]]
*[[RAM7 2MB memory expansion|RAM7's RAM expansion]]&nbsp;(up to 2 MB)
*[[Inicron ROM-RAM-BoxBOX]]*[[CPC4MBSYMBiFACE II|Jareks 4 MB RAM expansionSYMBiFACE II]] up to 4 MB
*[[X-MEM]]
*[[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<br>''' ====*[[Amstrad SSA-1 Speech Synthesizer]]
*[[CTC-AY SDK main fr|CTC-AY]] aka [[PlayCity]]
*[[Digiblaster]]
*[[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]]
'''==== Networking'''====*[[Amstrad Serial Interface]]
*[[CPC Booster]]+ and TotO's MiniBooster
*[[Schneider RS232 Interface]]
*[[USIfAC]]
*[[Virtual Net 96]]
*Amstrad / Pace Z80-SIO Interface
*Schneider Z80-STI Interface
There is limited support at the moment
The following pointer-based input devices are supported by FutureOS. Applications can use them by calling the appropriate OS function in OS-ROMs A, C or D.
'''==== Mice'''<br>====
*[[Atari-ST mouse adapter|Atari ST mouse adapter]] ([[CPC Magazin|Schneider Magazin]])
*[[AMX Mouse|AMX Mouse]], [[PS2Mouse|AMX PS/2 Mouse Adapter]]
*[[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]]
'''==== Lightpens'''<br>====
*[[Dk'tronics Lightpen|Dk'tronics lightpen]]
*[[Happy Computer Light Pen]] (DIY from German magazine)
*[[Lindy Light Pen]]
'''==== Graphic Tablets'''<br>====
*[[Grafpad II|Hegotron Grafpad II]]
'''==== Trackballs'''<br>====
*[[Atari-ST mouse adapter|Atari ST trackball adapter]] (Schneider Magazin)
*[[Marconi|Marconi trackball]]
== 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 ===
*[[CBM|CBM]] (non resident OS expansion)
*[[-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
*[[FutureViewFutureTex|FutureViewFutureTex]] (disc mag) *[[Gerelakos|Gerelakos]] ([[RPG]] under constructiontext editor)
*[[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]] demo
*[[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 the [[SYMBiFACE II|SYMBiFACE II]] a variety of Flash- and Pseudo-ROMsROM cards)*[[Rotating Fractal]] (stand alone demo)*[[Star Trek sample demo]]
== Conclusion ==
== 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 ===
*[http://www.There is a special youtube.com/watch?v=v5pELSnmnDM Installing channel for FutureOS on a [[MegaFlash]]]*[http://www.youtube.com/watch?v=OQfZsoN4wrU A Tribute , it provides different playlists for different topics related to the Sisters Level 1]*[http://wwwthis OS.youtube.com/watch?v=g5TTf68VDPk A Tribute to the Sisters Level 2]*[http://www.youtube.com/watch?v=srl5KJJpHJQ&feature=related Filmemacher / Moviemaker Demo 1]*[http://www.youtube.com/watch?v=BegY8i07iqA&feature=related Filmemacher / Moviemaker Demo 2]*[http://www.youtube.com/watch?v=XIeUEqPZ-04&feature=related Filmemacher / Moviemaker Demo 3]*[http://www.youtube.com/watch?v=RPyCKAttjEo Some fun with MacDeath's R-Type GFX]*[http://www.youtube.com/watch?v=VtVYaQuDw5c Let it snow... let it snow... let it snow...]*[http://www.youtube.com/watch?v=LPYBy-F-8s4&feature=related Playing an 8 bit Star Trek Sample on Digiblaster]*[http://www.youtube.com/watch?v=wBK2_LBDl6Y Showing Please have a 4 MB video on an Amstrad CPC using Jareks 4 MB expansion]*[httplook here://www.youtube.com/watch?v=MjllfqKZjyY Forth issue of FutureView IV]*[httphttps://www.youtube.com/watch?v=wF0SbEJEO0A Display the keyboard matrix of the CPC]*[http:user/realTFM/www.youtube.com/watch?v=pVPStMg5keU Showing the file-headers / icons of files on disc]*[http://www.youtube.com/watch?v=RGkiMJbWfpk How to install a Wallpaper?]*[http://www.youtube.com/watch?v=kc1a_56lJgA Formatting batches of discs ultrafast using MMcR]*[http://www.youtube.com/watch?v=6vWZeZpNYjg Using RUNC framework to run Small C programs under playlists FutureOSPlaylists]
[[Category:4 MB RAM Software]]
[[Category:CPC GUI]]
[[Category:CPC_Plus]]
[[Category:Digiblaster]]
[[Category:Expansion ROM]]
[[Category:Extended RAM Software]]
[[Category:FutureOS]]
[[Category:Operating_System]]
1,963
edits