How to make an OS
I originally built this page a long time ago. I no longer agree with some of the concepts in here - and there are some incredible new ideas I don't have listed here. I'll leave this here for historical reasons - and as a placeholder until I get the "new nifty" future Amiga OS page up. This section will grow considerably!
But for a teaser, read the Rumor Mill Articles and see some of my more recent ideas for OS modernization.
A list of features it should have:
- Support for RISC processors.
- Legacy Amiga application support through 68LC040 emulation modes.
- Memory management
- Resource tracking - if a program crashes or otherwise needs shut down, this way all the things it allocated go with it.
- Graphical abstraction layer - full retargetability, possibly the use of an MMU to emulate Amiga custom chipsets on systems lacking the hardware.
- Enhanced 3D look
- Virtually EVERY gadget "moves" - the title bar "pushes in" when you click to drag it, just like a regular button.
- Font antialiasing.
- Drag and drop support natively in the system.
- Resizable frames and virtual groups, the things MUI makes popular, but native Intuition components so you don't have that MUI resource overhead.
- Support for a "soft cursor" instead of the Amiga sprite cursor - would look better in certain 15KHz modes and with software that doesn't support hi-res cursors.
- Multiple monitor support - the ability to have screens open on different monitors.
- Meta-screens. A single application using public screens could open itself "across" two or more screens - and you could drag that application's windows from screen to screen, monitor to monitor.
- Meta-screen-enabled Workbench. See above.
- HAM "truecolor" modes in the screen mode list. The graphics RTG system thinks it's using a 12-bit or 18-bit truecolor card, writing to an offscreen fast RAM buffer, while this driver, much like certain Shapeshifter drivers, converts the offscreen buffer into HAM or HAM8.
- Right-clicking the depth gadget on a window brings up a list of all windows open on that screen - and possibly submenus with windows on other screens.
- Right-clicking on the zoom gadget brings up a menu of window operations - to front, to back, zoom, maximize, minimize, iconify, menufy, etc.
- Object embedding.
- An SQL-like directory query language - wouldn't you just love to find files by saying "select [name],[size],[date] from hd1:anims/frames/* where name like [pic????] and date since [12-oct-96] as 'virtdir:'" - and it finds all files in any subdirectory of hd1:anims/frames whose name matches the pattern and was modified since Saturday, creates a "virtual directory" then which allows you to say something like "ilbmtoham8 virtdir:*" and convert several directories at once?
- The ability to drag pieces of a window off to become new windows.
- The ability to rearrange an application's window - move the buttons on an ASL requestor to the side like a Mac, for instance.
- Window snapshotting.
- Configurable scrollbars.
- A modular Preferences system - any Preferences editor that applies to the Workbench, let's say, can open on a special public screen that has a mockup Workbench on it, so you can see all your changes immediately.
- The ability to run Macintosh applications in a "five-sided cube" - a Mac emulation in which all the Mac hardware is abstracted and emulated, but the user interface calls are redirected to Intuition so your Mac applications look like Amiga applications and run preemptively.
- NFS. Drag files back and forth between Amigas and other platforms across the Internet.
- Better printer handling. Jaggies on a laser printer when using Compugraphic fonts - whose brilliant idea was this?
- The ability to turn off the "thick bar" on an Intuition window - in any window with a size gadget, Intuition insists on adding an "empty scrollbar" on the right or bottom to keep the main area rectangular. How about an option by which an application can have a size gadget but still have the ENTIRE window space to draw in - and either keep the existing size gadget image or overwrite it with their own?
- Window border scrollbars shouldn't have to go all the way to the top, as they do in programs like AWeb and Voodoo. How about making this an option?
- Would it kill us to allow dithering in 256-color modes?
- Datatypes that only use Fast RAM. Come on, folks - I have 16MB of Fast RAM, but IBrowse fills up my Chip almost immediately, leaving 13MB of Fast untouched!
- Better "resident code" support. An ID code of an already running application is checked against the ID of an application you just tried to run - if they match, and the application is PURE, you get a second task running the same code as if it were another application.
- Following the resident code idea, how about a way to "pack" several programs into a loadable file? All your favorite Shell commands in a single file, you just resident it and all the contained commands become resident. (Has anyone else used OS9?)
- Separate the UI from the OS. Think about it - you could do the aforementioned Mac emulator trick, literally having the Mac operating system running in a virtual machine "targeting" the Amiga UI, or you could replace the Amiga UI with another interface altogether, much like Copland's Appearance Manager.
- An option to run Amiga software as a virtual machine. This would be cool for games and demos.
[Articles]
[Links]
[Buyout Watch]
[Personalities]
[Workbench]
[Unsolved Mysteries]
[Ideas]
[About Squid]
[John's Homepage]
[Sarah McLachlan Stuff]
[Donna Lewis]
[Cabinet of Curiosities]
[Squidprojects]
[About John]
[John's Art]
[Email John]
[Guestbook]
[Message Board]