The Amiga community is currently one of nostalgia. The Vampire adds speed and convenient features like better screen modes, more RAM, etc... But even with the Vampire we are still just a nostalgic community running nostalgic software.

Do we want the Amiga to advance into a modern and future capable system? If yes, i see memory protection as a required feature. As discussed in other threads the Amiga was never designed for it and adding it for existing software may not be possible.

I want to see the Amiga advance well into the future. So, how do we add memory protection?

68080 design additions - add a large block of addressing space. Say 100BG or 1TB. Enough to last well into the future - add an MMU. No need for 680x0 compatibility, design the best one possible

AmigaOS support - add support for the above block of addressing space - add Memory Protection for everything running within this new addressing space

New software that is aware of the new AmigaOS version and 68080 versions would run in the new addressing space with memory protection.

Existing software can continue to run in the older existing addressing space.

Moving the AmigaOS into this memory protected area while maintaining compatibility with old software might not be possible. Having two OS cores; one unprotected for old software and one protected for memory protected software might work, but seems wasteful and complicated to me.

I wonder if the current system could be sandboxed into the new space so if old software fails it only takes down the old system and not any memory protected software.

1. Do we want the Amiga to advance into the future?2. Do we have the resources to advance it?3. Am i completely wrong and memory protection isn't needed?

Thoughts everyone... especially from team Apollo (Gunnar) and whoever owns the Amiga OS rights as they would be making the largest commitments.

Daniel SevoPosts 29930 Jun 2019 00:27

The way I see it.. Amiga was a solution to a problem that existed in 1980's. Things have changed, modern people don't need a vintage platform to solve their problems. So the main reason for holding on to it is mainly fond memories of a great period of our lives. The golden era of home computing, even..

The Apollo CPU, good as it is, it's really just about taking the Amiga into the late 1990s, not 2020... Although I can miss the times where OS efficiency actually meant something, we are way past that IMO. Such are the econmomics these days that increasingly greater processing power, amount of memory, speed and size of storage devices all help to cover for the expensive to develop bloatware we are all happily(?) running these days to help us solve the problems and cater for our needs of today. Basically, software development is in a position where optimization and code elegance is not economically viable. People simply buy new hardware to run shit faster. We had our Amigas for many years, how long do people keep their mobile phones?

Amiga will hopefully live on but don't expect it to become a viable market for commercial software development any time soon. MMU will make no difference in that respect.

Steve FerrellPosts 39230 Jun 2019 02:19

Tim Trepanier wrote:

The Amiga community is currently one of nostalgia. The Vampire adds speed and convenient features like better screen modes, more RAM, etc... But even with the Vampire we are still just a nostalgic community running nostalgic software.

Do we want the Amiga to advance into a modern and future capable system? If yes, i see memory protection as a required feature. As discussed in other threads the Amiga was never designed for it and adding it for existing software may not be possible.

I want to see the Amiga advance well into the future. So, how do we add memory protection?

68080 design additions - add a large block of addressing space. Say 100BG or 1TB. Enough to last well into the future - add an MMU. No need for 680x0 compatibility, design the best one possible

AmigaOS support - add support for the above block of addressing space - add Memory Protection for everything running within this new addressing space

New software that is aware of the new AmigaOS version and 68080 versions would run in the new addressing space with memory protection.

Existing software can continue to run in the older existing addressing space.

Moving the AmigaOS into this memory protected area while maintaining compatibility with old software might not be possible. Having two OS cores; one unprotected for old software and one protected for memory protected software might work, but seems wasteful and complicated to me.

I wonder if the current system could be sandboxed into the new space so if old software fails it only takes down the old system and not any memory protected software.

1. Do we want the Amiga to advance into the future? 2. Do we have the resources to advance it? 3. Am i completely wrong and memory protection isn't needed?

Thoughts everyone... especially from team Apollo (Gunnar) and whoever owns the Amiga OS rights as they would be making the largest commitments.

Honestly, what would be the point of adding memory protection and virtual memory to AmigaOS 3.x? It would require the entire OS to re-written which would break most applications. It's the same problem as someone wanting to add virtual memory and memory protection to MS-DOS. MS-DOS apps write directly to the hardware just as does AmigaOS, and this would not be allowed if memory protection and virtual memory were implemented...breaking probably 99% of all apps. Almost every app would have to be re-written/re-compiled to be "system friendly". That won't happen with MS-DOS nor AmigaOS. Even Microsoft eventually cast off MS-DOS completely and it can only be run under virtualization so that it won't bring down your entire system if some app misbehaves.

One could argue that these "broken" applications could be run on a new 68K AmigaOS that supports memory protection and virtual memory by use of emulation or thru sand-boxing. This could be done under UAE if it were recompiled for this new OS, but that would be rather pointless as well since we can already emulate classic Amigas via Windows with WinUAE and plain UAE on other platforms. These other platforms also would perform significantly faster than a 68080 equipped Vampire.

Your premise that old software could continue to run in the older, existing address space is false. You have to either virtual-ize and protect all RAM or none of it. Even if you could virtual-ize and protect a portion of RAM and leave the rest for use by old apps, these old apps could still potentially bring down the entire OS which defeats the purpose of protecting memory in the first place.

The 68080, according to Gunnar, already has an MMU, but he hasn't released any details on how it's designed nor how to access it. And even if he did, AmigaOS 3.x has no use for it.

The 68080 is a 64-bit CPU so it can theoretically already address tera-bytes of RAM.

Ownership of AmigaOS 3.x is a legal quagmire at the moment and the situation won't be resolved anytime soon, if at all. As for the resources to write a new OS for the Vampire that implements virtual memory and memory protection, a better starting point would be to back-port AROS x86, AROS for ARM, or modify the AROS 68K branch to implement protection and virtual memory, just to avoid all of the legal issues, but not even the x86 nor ARM branches support memory protection at this point either...so implementation would be a huge effort. http://aros.sourceforge.net/documentation/developers/summaries/ideas.php#memory-protection

It would be more feasible to back-port some flavor of Linux to the Vampire and run old apps under UAE if you can't live without virtual memory and protected memory....or just use an x86 system running Windows, Linux or MacOS...or use some variant of Linux on ARM and a UAE emulator.

Sean SkPosts 35530 Jun 2019 03:19

@Daniel SevoWell said mate.

I'm kinda torn: On the one hand I want to see the Amiga platform progress, but I'm also heavily bound by nostalgia and I see the Vampire accelerator for my A600 (and eventually for my A1200) as a means to achieve a reasonable balance between the two.

The Vampire gives me an excuse to use my Amiga more and with the RTG resolutions it becomes more usable. For instance, I use Final Writer 97 (and sometimes Wordworth 7.01) to do much of my word processing work, which is a lot these days. I save the docs as RTF and they can surprisingly be used in Microsoft Word with much of the formatting retained. I can also wirelessly send those docs to my modern network laser printer. I web browse more with Netsurf. I'll play MP3's in the background when I have work to do around the house. These are just a few examples of the many things I do on my Vampire driven Amiga.

Now why would I do these things on an Amiga when I can do them much more efficiently on a PC? Because it takes menial and boring tasks and makes it fun and unique. Technology today has little individuality and uniqueness to it. I'm certainly not emotionally invested in my Windows PC like I am in my Amiga's. I'm not even emotionally invested in the first PC I ever built, that computer is long gone. PC hardware is just so disposable and is so easily replaced with something faster, to the point that I just simply don't care about it anymore. I certainly have no special emotional attachment to my Geforce GTX 590 graphics card that died about 3 years ago. I never setup a shrine to it. :)

Then there are the Amiga games. 3D based games are certainly made more playable by the Vampire. Heck, even Civilization benefits with faster map generation, don't have to wait nearly as long.

The V4 standalone offers the possibility of future advancement of the Amiga platform, but we have to understand that it will progress at it's own pace. It's up to software developers to take up the challenge that the Vampire offers.

Samuel CrowPosts 38730 Jun 2019 05:29

@Tim Trepanier

AROS supports 64-bit architecture which AmigaOS doesn't. ARM AROS will soon support SMP. The 68080 has a memory protection unit independent of the MMU. I like the 68080 but I hope the SAGA cores don't end up overbuilt.

Gunnar von Boehn(Apollo Team Member)Posts 476530 Jun 2019 05:46

Tim Trepanier wrote:

I want to see the Amiga advance well into the future. So, how do we add memory protection?

AMIGA OS is designed to be: - light - swift - flexible - and fast

The reason AMIGA OS has all these great speed is because its designed to not have memory protection.

You can be this wonderful animal:

Or you can be this animal

Believe me, you can not be both at the same time.If you try to be both at the same time you will loose the lightness and the swiftness of AMIGA OS.

Accept that AMIGA OS can fly because it has no heavy armor shell.See the feature to be so light that you fly like a bird as what is it: Its wonderful.

AMIGA OS by design can not support memory protection.The AMIGA features that many people like to much about AMIGA OS are incompatible with memory protection.You can't be at the same time a VIRGIN and PREGNANT.

OMG, that had me laughing and snickering for a good minute in RL.Perfect reply! :)

The lightweight, efficient and high performance OS and hardware platform is where I would like to go.I had a old, but still relatively beefed up i7 CPU. The motherboard was ok too, but Windows 10 was getting slow on it, and running programs had me waiting a second here, and 4 seconds there while waiting for stuff to happen.I upgraded to Ryzen 7 2700x, tons of ram and 1070 graphichs card, plus mk 2 pcie ssd. Now Windows runs along quite nicely.

Then I have my laptop that was starting to crawl with Windows 7. Its old, from the 2009, but I wasnt really running heavy tasks on it, but it was still taking a long time to load up, had stutters when doing stuff in Windows etc.Then I installed Linux Mint, and it got a new lease on life with regards to being enjoyable to use.

So I think Gunnars point about being lightweight and high performance is where Im leaning. As we upgrade hardware, the mainstream OSs keeps getting bogged down in abstract layers.I rather have a very transparent and small impact OS like AOS3 or AROS (AROS please!).

It IS a nostalgica platform, but when you think about it, you CAN use it for quite a few day to day tasks, if you configure it well.And the Standalone Vampire will be more helpful in that regard, with modern connection features.

Security is another problem area, but on that topic I kinda subscribe to Joanna Rutkowska point of view; assume everything is compromised, and handle your own data accordingly.

Nsklaus -Posts 6330 Jun 2019 07:06

without speaking about memory protection in itself, would there be another way to make amiga-like OSes really crashproof ? i mean, even if a bad app misbehave, the OS would kill the app rather than be killed by it.

i have memories about amigaos behind wonderfull, but crashing all the time. this was really annoying. people used to tell me: - it's the fault of bad powersupply, or, - it's bad memory sticks - or again: select the apps you uses carefully and it never crashes

truth was that i could not trust the amiga to stay up the night while i was sleeping to download a few movies for example. the next morning when i powerup the monitor and check the status of my downloads i was sure to see the amigaos all frozen dead, having to reset and restart the downloads all over again. and this is just one example. people were saying amiga is "rock stable" whereas, myself, i saw a beautiful, wonderful .. crash machine.

on the other hand linux could stay up for months. i made the experience once to leave my linux box up for 6months, while using it for everything .. it never failled me. maybe amigaos had bugs in his various tcp/ip stacks, or browsers, or i dunno the moment i powered it on, i knew it already was like a sinking ship, dying little by little until the freeze, guru, hard reset and so on.amigaos need some form of a mechanism to ensure stability.maybe some kind of enforcer/grim-reaper/watchdog on steroid. i dunno but something to guaranty stability no matter what.

Mr NidingPosts 44430 Jun 2019 07:12

Good point Nsklaus, altho I do wonder if that issue will be somewhat reduced with the higher transferspeeds with Standalone.

But finding stable programs to fullfill userneeds seems like a crowdeffort.In the past we had all kinds of hardware configs, and the OS and programs had more chances of crashing, due to all the memoryissues that surely arise from all these "frankenstein" setups.

With standalone, we will "all" have the same hardware standard, and we should be able to predict software behaviour better since we have the same baselines.

Mr NidingPosts 44430 Jun 2019 07:19

And I just noticed a tweet that makes me appriciate the "old";

"Rob Donoghue&#8207; @rdonoghueJun 26

Reminded that the Microsoft ebook store closes next week. The DRM'd books will stop working.

I cannot believe that sentence.

"The books will stop working."

I keep saying it and it sounds worse each time."

Nsklaus -Posts 6330 Jun 2019 07:33

i tested aros, morphos and os4 too, they all had the same problem. random crashes and lockups. people will tell it's not true their setup could stay up "rock stable" for weeks without problems. my experience is different. maybe they don't use their machines like i do mine. maybe a part of the problem was in the various network apps as i used to use amirc, miamidx and ibrowse all the time. it was part of my base workflow. i don't know but one thing is for sure i really disliked the crash and reset as much as i liked the amiga OSes overall user experience. it's a joy to use until it crash and burns, and it did a lot, very often.

so maybe the solution is not "memory protection" in itself, but surely, something, have to be done to address this trust problem. i mean, something like a _really efficient_ OS guardian, protecting the OS from bad apps 99% of the time.

Gunnar von Boehn(Apollo Team Member)Posts 476530 Jun 2019 07:38

nsklaus - wrote:

would there be another way to make amiga-like OSes really crashproof ?

AMIGA OS is designed around the feature that the OS is patchable by programs.

You recall programs like MCP, Scout, SnoopDos?You recall programs like CyberGFX or PICASSO96?You recall programs like FastBlit, like Birdie?

AMIGA OS and its programs depend on this feature.And this feature prevents memory protection.

Also the Blitter can write around in memory.A wrong value setting up the Blitter will shoot all memory protection down. Same goes for Floppy-DMA, or HD-DMA.

Nsklaus -Posts 6330 Jun 2019 07:47

@gunnar

here's a little idea maybe.would it be possible to have a toggle to enable/disable 'patch-ability' ?

for example: i use picasso, birdie, mcp, my system is patched, i like what i have done, and i want to flip the toggle to prevent anymore patching. to keep thing like that. anymore attempt to patch and the system will answer: "the patch protection is on, i cannot comply with what you're trying to do / to run, right now .."

so if i want to run snoopdos or scout, i have to de-activate my toggle, in order to enable 'patch-ability' of the OS again.

it's just an idea i don't know if it's feasible or not, but it would be a great way to keep all the good of a patch-able OS, while letting the users choose between: "patch-again" versus "stay-stable"

so basicaly the idea is: a user set 'flip switch.

Gunnar von Boehn(Apollo Team Member)Posts 476530 Jun 2019 07:50

nsklaus - wrote:

@gunnar

here's a little idea maybe.would it be possible to have a toggle to enable/disable 'patch-ability' ?.

I see what you want but remember thatif you type a letter in CLI then the Blitter will draw it.

How do you solve this?One requester to approve per printed Char?

Or how do you want to do DMA harddrive access?One requester per loaded file?

AMIGA OS can run stable for weeks non stop.As long you run good software.A simple approach is to be very strict and delete all bad programs.

Nsklaus -Posts 6330 Jun 2019 08:00

typing in cli is patching the OS ? i think not ?

would there be a function to 'patch' the OS ? i dunno something like "patch()" .. if yes, then make the switch/toggle to prevent using that function while it is active.

if there is not such a function, then just prevent all writing in certain memory locations (when the switch is active) completely forbiding writing to all the OS vital memory areas ?

i'm just throwing ideas. i don't know how the OS work internaly, but surely there must be an entry point somewhere to allow/disallow that patching feature. if not, then just make certain memory location read-only. would that work ?

beside, i already tried the "delete and filter out bad programs" approach. i think there was some bug in core apps, like network apps, maybe miami/genesis tcp/ip stacks, amirc or ibrowse.i tried to use only thos apps and the result was still the same, the OS didn't survive the "night test".

Mr NidingPosts 44430 Jun 2019 08:02

I dont know the OS either, but wont putting writing protection potentially break many of the current programs?

Gunnar von Boehn(Apollo Team Member)Posts 476530 Jun 2019 08:03

nsklaus - wrote:

typing in cli is patching the OS ?i think not ?

Patching the OS is done by WRITING to memory.Also every pixel on the screen is drawn by WRITING to memory.Moving the mouse around is done by WRITING to memory.Loading a file from Floppy is done by WRITING to memory.The physical operation behind all this is the same.