English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 29 December 2020, 18:45   #181
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by meynaf View Post
There exists ciab.resource. Nothing insecure in here, you just have to ask for the resource before using it.
I’ve never used resources, but...
Quote:

Not the same, these interrupts are not exposed to the programming model.
I think we are now back where we started. The application programmer should not have access to the Interrupts. Doing so breaks even the simple Supervisor/User model implemented on the 68k.

If a program, malicious or otherwise, can install an interrupt handler then the OS can no longer guarantee CPU time to other tasks on the system, and you can no longer rely on the system, you are at the mercy of whoever wrote that Interrupt handler.

Quote:
But it's easy to code for and you can do it without the OS interfering.
Just because something is easy doesn’t make it good, it makes it a toy.

Quote:
It is not virtual memory but logical memory (as opposed to physical). Nothing against it, again, it's about giving the choice.



That's not a big problem. The gigabyte datasets don't have to fit in memory, all the other software does not need more than 4G per process...
And yes 640k is actually enough for many programs.
You are just being silly now.
Quote:
Same has been said about horses, but there are still horse races nowadays.
But a horse race is just a game, and what do you often use when playing games?

And horse haven’t been a generally useful mode of transport for maybe a hundred years. The horse is very much obsolete, the only people I know with horses keep them for fun.
bloodline is offline  
Old 29 December 2020, 19:03   #182
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,762
Quote:
Originally Posted by bloodline View Post
Just because something is easy doesn’t make it good, it makes it a toy.
Guess my shower is a toy then
Thorham is offline  
Old 29 December 2020, 19:06   #183
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by Thorham View Post
Guess my shower is a toy then
Depends upon how much fun you have with it!

I worry we are just arguing semantics here. I have no negative connotation with my use of the word toy. I’m just using it to describe something for which the only useful purpose is to have fun with.
bloodline is offline  
Old 29 December 2020, 19:36   #184
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by bloodline View Post
I think we are now back where we started. The application programmer should not have access to the Interrupts. Doing so breaks even the simple Supervisor/User model implemented on the 68k.

If a program, malicious or otherwise, can install an interrupt handler then the OS can no longer guarantee CPU time to other tasks on the system, and you can no longer rely on the system, you are at the mercy of whoever wrote that Interrupt handler.
Except that the OS has the possibility to "fake" an interrupt handler. Calling AddIntHandler would then register not to the true interrupt, but to some list called in another context. It's a simple callback after all.


Quote:
Originally Posted by bloodline View Post
Just because something is easy doesn’t make it good, it makes it a toy.
Nothing bad with toys. Life shouldn't be taken too serious.
If all weapons in the worlds were just toys, we would be a lot safer.


Quote:
Originally Posted by bloodline View Post
You are just being silly now.
Silly maybe, but still right.


Quote:
Originally Posted by bloodline View Post
But a horse race is just a game, and what do you often use when playing games?

And horse haven’t been a generally useful mode of transport for maybe a hundred years. The horse is very much obsolete, the only people I know with horses keep them for fun.
And we also keep our Amigas for fun.
meynaf is offline  
Old 29 December 2020, 19:47   #185
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,762
Quote:
Originally Posted by bloodline View Post
I worry we are just arguing semantics here. I have no negative connotation with my use of the word toy. I’m just using it to describe something for which the only useful purpose is to have fun with.
That's a difference in interpretation then.
Thorham is offline  
Old 29 December 2020, 21:13   #186
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,231
Quote:
Originally Posted by meynaf View Post
And yes the timer device busy waits for very low wait values - but i tried it down to 1ms and it still didn't busy wait.
It's just becoming unreliable, that's the problem. Depending on system load, a delay on the timer device for 1ms may and will delay longer than the 1ms you gave it, which is exactly the reason why certain system critical timing is done without it. The trackdisk.device does not use the timer device for certaining timings, and the keyboard device neither.


Run a busy task, move a screen for example, and listen how the disk "grunts" when moving from track to track.


Quote:
Originally Posted by meynaf View Post
Yes but Amiga has 4 independent channels so you can just load samples in memory at startup and then you don't need to fill any buffer anymore. The PC still can't do that.
Huh? First of all, I believe you miscompute the number of voices. My SB Live! has probably 32 voices, I do not even know. But who cares... Audio mix-down doesn't take much CPU time nowadays either, so I can also just fill the buffer with samples I compute in real time, and fire off the sample.

Quote:
Originally Posted by meynaf View Post

Not exactly. The Amiga has flat address space, 64bit machines use paged address space.
Errr.. what? The 64bit machines have an address space that is as flat as the one of the Amiga. You hold a direct 64 bit pointer to point to your data. Underneath you have a MMU with 4K pages, same as on the Amiga. Well, make that 1K pages by default for the 68030 and 68851, but that's pretty much the same, just 32 more bits. Paged memory and real mode... that's all history.



Quote:
Originally Posted by meynaf View Post
Yes but this does not make older systems, that don't have it, totally useless. This is the point.
No, but it limits its use.
Thomas Richter is offline  
Old 29 December 2020, 21:17   #187
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,231
Quote:
Originally Posted by meynaf View Post
There exists ciab.resource. Nothing insecure in here, you just have to ask for the resource before using it.
No, not unsecure, but wasteful. In the sense that every other program trying to get the resource will not be able to get it. Multitasking has different goals. That's why we have abstractions such as the timer device, but it has other limitations of course. Such as "no guaranteed timing" if the machine is busy and loaded.



Quote:
Originally Posted by meynaf View Post
Get an expansion board.
Which is hard to with the outdated Zorro specs.
Thomas Richter is offline  
Old 29 December 2020, 21:23   #188
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,231
Quote:
Originally Posted by Thorham View Post
I suppose you think that MSDos is a toy OS too
It's not an Os at all. It's just a slim command line interface on top of the Bios. It was supposed to be used for serious applications, though. Unlike the Amiga, which was designed as a games system for hobbyists. That makes the result, on the Amiga side, of course even more impressive given the resources they had for developing it.


But, if one had wished to design a serious productive Os at this time, it could have been done, and the result would have looked differently, and considerably more robust. Of course, the machine would have been less successful, and it would have been another niche product.


The Amiga is what it is. Please get over it - AmigaOs was never supposed to be a productive, serious operating system. That doesn't make it worse, it was quite good at its time, but its design is just utterly outdated, not only by today's perspective.
Thomas Richter is offline  
Old 29 December 2020, 21:33   #189
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,231
Quote:
Originally Posted by meynaf View Post
Except that the OS has the possibility to "fake" an interrupt handler. Calling AddIntHandler would then register not to the true interrupt, but to some list called in another context. It's a simple callback after all.
That would be how you would "register" interrupts in an Os offering a security layer and protection levels. The interrupt would trigger off an activity of the application that registered it, without escalated priviledges an interrupt handler has.


Quote:
Originally Posted by meynaf View Post

Nothing bad with toys. Life shouldn't be taken too serious.
If all weapons in the worlds were just toys, we would be a lot safer.
No, nothing bad with them. I wasn't trying to imply that there was something bad about them. But there is a difference whether I design an Os for productivity, or whether I - short of time - create something quickly that should become a system for hobbyists.


Quote:
Originally Posted by meynaf View Post


And we also keep our Amigas for fun.
Obviously, and there is neither anything bad about that.


It's just that you don't design systems this way nowadays anymore, and there are many reasons why you don't. A system like the Amiga couldn't be exposed to the internet, and if CBM would have been successful, they would have had to replace AmigaOs with something better sooner or later, same as Apple did and same as Microsoft did.


A "modern successful" AmigaOs would have the same "bloat" as any other modern operating system, for good reason. It would probably have some other characteristics they might have been able to keep, such as the nice abstraction of libraries, devices, and the virtual file system of Tripos, and probably better support for removable media than Linux. But it would also have other idiocracies such as BPTRs, and needless duplication of system structures through its "dual headed" operating system. Who knows?


But take for granted that CBM couldn't get away with the flat, unprotected, non-isolated system AmigaOs was designed with for much longer.
Thomas Richter is offline  
Old 29 December 2020, 22:49   #190
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,762
Quote:
Originally Posted by Thomas Richter View Post
It's not an Os at all.
Yeah, sure, MSDos isn't an operating system What a total, complete and utter nonsense
Thorham is offline  
Old 30 December 2020, 00:17   #191
malko
Ex nihilo nihil
 
malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 4,884
Quote:
Originally Posted by Thomas Richter View Post
So do you seriously believe that you could satisfy an average user with an Amiga nowadays?
Do you really believe average users (to reuse your wording) care that much about the OS ? Bloated features are a concern in the other hand.
Take wind@ws or any Linux flavour or even AmigaOS or whatever OS that exist(ed) and that has a GUI : all allow(ed) to easily create folders, drag and drop (copy, move, delete, rename, etc.), so manage files in the same way.
Average users care about the application they want to run. It can be a game, an emulator , a word processor, a database, a spreadsheet, a browser, etc. The OS is only a support for the applications users want to run. Nothing more, nothing less. And if the OS they use at home is the same as the one they use in their office, it's the cherry on the cake, as they can "sell" this home use as a competence.

Quote:
Originally Posted by Thomas Richter View Post
It's not an Os at all. It's just a slim command line interface on top of the Bios. [...]
Do you consider all command line OS as toys ? For you then OS400 is also a toy with his green screen ?

Quote:
Originally Posted by Thomas Richter View Post
[...] AmigaOs was never supposed to be a productive, serious operating system. [...]
Except if you were part of the team who initially developed AmigaOS, this is only your opinion.
Yes there are a lot of games on the Amiga, but applications as well that you always forget to mention : word processor, spreadsheet, PAO, paint programs, 3D, database, etc.
In fact for a 7Mhz computer of it's time, the Amiga was really a serious computer with an excellent design and an OS that fitted it perfectly...
malko is offline  
Old 30 December 2020, 03:45   #192
Bruce Abbott
Registered User
 
Bruce Abbott's Avatar
 
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,578
Quote:
Originally Posted by Thomas Richter View Post
It's not an Os at all. It's just a slim command line interface on top of the Bios.
So Microsoft Disk Operating System is not an operating system. Riight.

Quote:
It was supposed to be used for serious applications, though.
True. Yet ironically it wasn't until PCs got better games that people dropped their Amigas for them.

Quote:
Unlike the Amiga, which was designed as a games system for hobbyists.
That's what was originally intended, but...

History of the Amiga
Quote:
An August 1986 Compute! editorial expressed amazement that Commodore, insisting that the Amiga was a business computer, did not show it at the summer CES... Electronic Arts had expected Commodore to sell it as a $600 high-end home computer instead of an $1800 business computer.

Byte August 1994: commentary by Tom R. Halfhill
Quote:
The Amiga was so far ahead of its time that almost nobody--including Commodore's marketing department--could fully articulate what it was all about. Today, it's obvious the Amiga was the first multimedia computer...

Even more amazing was the Amiga's operating system, which was designed by Carl Sassenrath. From the outset, it had preemptive multitasking, messaging, scripting, a GUI, and multitasking command-line consoles. Today's Windows and Mac users are still waiting for some of those features. On top of that, it ran on a $1200 machine with only 256 KB of RAM.

We may never see another breakthrough computer like the Amiga.
Quote:
Originally Posted by Thomas Richter View Post
That makes the result, on the Amiga side, of course even more impressive given the resources they had for developing it.
So true. People talk about the Amiga's video and sound capabilities being what made it amazing, but it was the operating system that made it so much more advanced.

Quote:
But, if one had wished to design a serious productive Os at this time, it could have been done, and the result would have looked differently, and considerably more robust. Of course, the machine would have been less successful, and it would have been another niche product.
Other 'serious' OS's of the time had the same problem, but transitioned into becoming 'modern' because they needed to. Amiga OS didn't need to because by that time Commodore was already gone, and only hobbyists were using it.

And today it is still the same - we don't need or want the features of a 'modern' operating system for our Amigas. What we do want is to take advantage of hardware and content that was not available 'back in the day'. If we can do that without having to run a 'modern' OS (and the 'modern' hardware needed to support it) then we are happy.

Quote:
The Amiga is what it is. Please get over it - AmigaOs was never supposed to be a productive, serious operating system. That doesn't make it worse, it was quite good at its time, but its design is just utterly outdated, not only by today's perspective.
Haven't you heard, retro isn't outdated anymore - it's the latest thing!

The Amiga hewed a different path in 1985, and it's still doing it today. We are proving that you don't need a 'modern' OS and hardware to do a lot of the stuff we want from a 'personal' computer. But we have no illusions of Amiga taking over the World, nor do we want it to.

This thread may not amount to anything but entertainment, but people here don't deserve the scorn you are heaping on them for daring to go against conventional wisdom. Even if 'utterly outdated' AmigaOS can still serve as inspiration for something that might just become another 'breakthrough'. But if it doesn't so what? It's still more interesting than all the crap in a 'modern' OS.
Bruce Abbott is offline  
Old 30 December 2020, 12:59   #193
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Thomas Richter View Post
It's just becoming unreliable, that's the problem. Depending on system load, a delay on the timer device for 1ms may and will delay longer than the 1ms you gave it, which is exactly the reason why certain system critical timing is done without it. The trackdisk.device does not use the timer device for certaining timings, and the keyboard device neither.
The key point is that it depends on system load, which is usually very small. If this is considered unacceptable though, as you mention it's possible to do something else.


Quote:
Originally Posted by Thomas Richter View Post
Run a busy task, move a screen for example, and listen how the disk "grunts" when moving from track to track.
It grunts. But it still works.
Now try to put Windows in a low memory situation, jut to see what happens.


Quote:
Originally Posted by Thomas Richter View Post
Huh? First of all, I believe you miscompute the number of voices. My SB Live! has probably 32 voices, I do not even know. But who cares... Audio mix-down doesn't take much CPU time nowadays either, so I can also just fill the buffer with samples I compute in real time, and fire off the sample.
The Amiga has 4 independent audio channels, each with its own DMA. I didn't miscompute that.
And for your SB live, you just don't know. The machine is supposed to belong to you but you don't know what's inside...
Now yes, audio mix doesn't take much cpu time, but you have to do it yourself and it's not necessarily good for replay quality.


Quote:
Originally Posted by Thomas Richter View Post
Errr.. what? The 64bit machines have an address space that is as flat as the one of the Amiga. You hold a direct 64 bit pointer to point to your data. Underneath you have a MMU with 4K pages, same as on the Amiga. Well, make that 1K pages by default for the 68030 and 68851, but that's pretty much the same, just 32 more bits. Paged memory and real mode... that's all history.
What ? If the address space is flat, then memory fragmentation returns.
Or, worse, you confused paged with segmented.


Quote:
Originally Posted by Thomas Richter View Post
No, but it limits its use.
I haven't said it didn't.


Quote:
Originally Posted by Thomas Richter View Post
No, not unsecure, but wasteful. In the sense that every other program trying to get the resource will not be able to get it. Multitasking has different goals. That's why we have abstractions such as the timer device, but it has other limitations of course. Such as "no guaranteed timing" if the machine is busy and loaded.
Timing is never truly guaranteed if you ask too much from the machine, regardless of what it is. It will fail in one way or another.


Quote:
Originally Posted by Thomas Richter View Post
Which is hard to with the outdated Zorro specs.
This is just a hardware problem. Besides, there are a few fpga projects attempting to get around this.


Quote:
Originally Posted by Thomas Richter View Post
That would be how you would "register" interrupts in an Os offering a security layer and protection levels. The interrupt would trigger off an activity of the application that registered it, without escalated priviledges an interrupt handler has.
Exactly. This is how i could have done it. It's not "broken by design".
But "modern" OSes don't have this.


Quote:
Originally Posted by Thomas Richter View Post
No, nothing bad with them. I wasn't trying to imply that there was something bad about them. But there is a difference whether I design an Os for productivity, or whether I - short of time - create something quickly that should become a system for hobbyists.
It may happen that a system for hobbyists gets some success. Linux has been made this way.


Quote:
Originally Posted by Thomas Richter View Post
It's just that you don't design systems this way nowadays anymore, and there are many reasons why you don't. A system like the Amiga couldn't be exposed to the internet, and if CBM would have been successful, they would have had to replace AmigaOs with something better sooner or later, same as Apple did and same as Microsoft did.

A "modern successful" AmigaOs would have the same "bloat" as any other modern operating system, for good reason. It would probably have some other characteristics they might have been able to keep, such as the nice abstraction of libraries, devices, and the virtual file system of Tripos, and probably better support for removable media than Linux. But it would also have other idiocracies such as BPTRs, and needless duplication of system structures through its "dual headed" operating system. Who knows?

But take for granted that CBM couldn't get away with the flat, unprotected, non-isolated system AmigaOs was designed with for much longer.
If CBM had done the same as Apple and Microsoft, they would have lost their user base because the machine would then have become just a clone of what others did - i.e. uninteresting.
meynaf is offline  
Old 30 December 2020, 18:30   #194
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,231
Quote:
Originally Posted by Bruce Abbott View Post
So Microsoft Disk Operating System is not an operating system. Riight.
No, it's not. MS-DOS is is something that operates the disk, but not the system. Don't trust the label. Trust what it does - which isn't much.


Quote:
Originally Posted by Bruce Abbott View Post

So true. People talk about the Amiga's video and sound capabilities being what made it amazing, but it was the operating system that made it so much more advanced.
Not really. That's not the reason why people bought it. In fact, most people only used the boot loader of the Os.


Quote:
Originally Posted by Bruce Abbott View Post

Other 'serious' OS's of the time had the same problem, but transitioned into becoming 'modern' because they needed to. Amiga OS didn't need to because by that time Commodore was already gone, and only hobbyists were using it.
AmigaOs also "needed to", but there was no business left and no customers left, so CBM went bust.



Quote:
Originally Posted by Bruce Abbott View Post


And today it is still the same - we don't need or want the features of a 'modern' operating system for our Amigas.
You are using the word "we" a little bit uncareful here.


Quote:
Originally Posted by Bruce Abbott View Post



What we do want is to take advantage of hardware and content that was not available 'back in the day'.
So, which modern hardware is available for the Amiga today? I beg your pardon.


Quote:
Originally Posted by Bruce Abbott View Post





Haven't you heard, retro isn't outdated anymore - it's the latest thing!
That's the difference between a toy and a professional application. The word "retro" already puts it - this is not about computing at all, but about memories. Nothing bad about that, but don't pretend the Amiga is anything modern or competative.



Quote:
Originally Posted by Bruce Abbott View Post




The Amiga hewed a different path in 1985, and it's still doing it today.
There is no "path". The system is defined by how it was defined in 1990, essentially. If you want a "path", get a smartphone. There we have "paths" in front of us.



Quote:
Originally Posted by Bruce Abbott View Post
Even if 'utterly outdated' AmigaOS can still serve as inspiration for something that might just become another 'breakthrough'.
Rather not. This ship sailed away a long time ago.


Quote:
Originally Posted by Bruce Abbott View Post


But if it doesn't so what? It's still more interesting than all the crap in a 'modern' OS.





That depends on "to whom" it is interesting. There are also people that ride horses, and to them horses are interesting. Yet, nobody seriously considers them as an appropriate replacement for cars, yet that's exactly by what they have been replaced. I don't deny that one can be interested in Amiga (so I am), but not because it is an appropriate computer by any modern definition.
Thomas Richter is offline  
Old 30 December 2020, 18:43   #195
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by meynaf View Post

The Amiga has 4 independent audio channels, each with its own DMA. I didn't miscompute that.
And for your SB live, you just don't know. The machine is supposed to belong to you but you don't know what's inside...
Now yes, audio mix doesn't take much cpu time, but you have to do it yourself and it's not necessarily good for replay quality.
I’m really not sure where you are getting your information from. Audio mixing is a relatively simple and well understood process, where the mathematical model of adding waveforms matches the physical process exactly. Also, with modern 32bit floating point samples (which all modern hardware and software uses), it’s a process where the electronic mixing is superior in fidelity than actual physical resistive mixing which old analog hardware (like mixing desks) use... It’s so good that companies sell DSP plugins to introduce the distortion/colour back in to the audio signal path!

Honestly there really isn’t anything special about the way the Amiga produces audio! The Amiga produced a very “low quality” sound (which I and many others like). I have a collection of old synths and samplers which I use not because they produce “good quality” audio, but because they are distinctive!

The Amiga actually has two audio channels, where each audio channel takes two 8bit samples, which are scaled by a 6bit value and then summed. Don’t get hung up on the use of DMA channels to feed the DACs, this was just the best way to minimise load on a relatively slow CPU in 1985.
bloodline is offline  
Old 30 December 2020, 18:53   #196
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,231
Quote:
Originally Posted by meynaf View Post
The key point is that it depends on system load, which is usually very small. If this is considered unacceptable though, as you mention it's possible to do something else.
Why should the system load any higher on a modern machine? It surely isn't on mine. Actually, it's lower as more computing power is available.



Quote:
Originally Posted by meynaf View Post
It grunts. But it still works.
Now try to put Windows in a low memory situation, jut to see what happens.
Apples - oranges. See what Amiga does in low memory situations? It crashes. Windows starts swapping, but it works.


Quote:
Originally Posted by meynaf View Post

The Amiga has 4 independent audio channels, each with its own DMA. I didn't miscompute that.
And for your SB live, you just don't know.
I haven't run out of voices ever. It does DMA over PCI for the channel data. Why am I supposed to be worried about that? Do I need to know this detail as long as I can allocate channels and play the music I want to play?


Wikipedia says it has 32 voices. So I suppose that's correct, but it's simply an irrelevant technical detail I don't need to care about.


Quote:
Originally Posted by meynaf View Post


The machine is supposed to belong to you but you don't know what's inside...
Because that's not relevant as long as I can do what I want to do.


Quote:
Originally Posted by meynaf View Post



Now yes, audio mix doesn't take much cpu time, but you have to do it yourself and it's not necessarily good for replay quality.
You surely must be kidding. Paula has a maximal frequency of 16Khz, with aliasing that puts a stop at 8Khz. With 8 bit sample precision. You are telling me the max 48Khz of my SB Live at 16 bit precision is "bad for replay quality"?


Quote:
Originally Posted by meynaf View Post




What ?If the address space is flat, then memory fragmentation returns.
You don't have a clue, apparently. The 68K MMU uses pages same as the x86 MMU does. No difference. There is no problem with them or the model. Actually, AmigaOs doesn't take much advantage of them, though it could.
For the actual application, the memory model is "all flat". We don't have "near pointers" and "far pointers" and all that junk anymore.



Quote:
Originally Posted by meynaf View Post





Timing is never truly guaranteed if you ask too much from the machine, regardless of what it is. It will fail in one way or another.
No, really? So why deny that? It's better to have more CPU cores to push the limit, and more capable ones, too. With only a single core at the <100Mhz regime, one cannot guarantee much.



Quote:
Originally Posted by meynaf View Post






This is just a hardware problem.
No, it's a market problem, not a hardware problem, because nobody will create the hardware. For whom, even? A market with customers that deny modernization?



Quote:
Originally Posted by meynaf View Post







Exactly. This is how i could have done it. It's not "broken by design".
But "modern" OSes don't have this.
I beg your pardon? Linux certainly has soft interrupts, and also uses them to defer activity and get them out of priviledged space, into the corresponding driver interface.


Quote:
Originally Posted by meynaf View Post








It may happen that a system for hobbyists gets some success. Linux has been made this way.
Except that Linux has a sane design that is scalable to modern hardware and modern needs. AmigaOs doesn't. Do I need to say "Forbid()" again? Unprotected shared memory?


Quote:
Originally Posted by meynaf View Post








If CBM had done the same as Apple and Microsoft, they would have lost their user base because the machine would then have become just a clone of what others did - i.e. uninteresting.
No, uninteresting to die-hards, but probably interesting to some user bases with more financial capabilities, or with expectations different from the die-hards. CBM failed to get a foot into the professional market, and more or less lived from the legacy of game and home computer system. As soon as this user base moved to the PC, the business model broke down. That was a clear management failure, made very early on.



Just because an operating system has a solid design does not make it "uninteresting" - it only makes it different. You cannot modernize the Os without breaking with this tradition, but it's long too late to attempt that, now that Amiga is defined by "what was done in the past". But that's something different than "done the right way".



If this modernization had been done correctly, back 30 years ago, the average user wouldn't even notice the difference, same as MacOs didn't look much different to the user when Apple moved to PPC, then to x86, and now to arm. Looked all the same, behaves the same. Just the software changed slowly over the years and grew with the expectations of its user base.



AmigaOs is now unable to change because its user base expects a retro system, for toying around, so the whole point is that it doesn't change. But please understand that "done correctly" and "done the old way" do not mean the same thing. In this case, it's quite the contrary.
Thomas Richter is offline  
Old 30 December 2020, 19:44   #197
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by bloodline View Post
I’m really not sure where you are getting your information from. Audio mixing is a relatively simple and well understood process, where the mathematical model of adding waveforms matches the physical process exactly. Also, with modern 32bit floating point samples (which all modern hardware and software uses), it’s a process where the electronic mixing is superior in fidelity than actual physical resistive mixing which old analog hardware (like mixing desks) use... It’s so good that companies sell DSP plugins to introduce the distortion/colour back in to the audio signal path!
But not everyone knows this so if the OS does not provide mixing using a good model, guess what happens.


Quote:
Originally Posted by bloodline View Post
Honestly there really isn’t anything special about the way the Amiga produces audio! The Amiga produced a very “low quality” sound (which I and many others like). I have a collection of old synths and samplers which I use not because they produce “good quality” audio, but because they are distinctive!

The Amiga actually has two audio channels, where each audio channel takes two 8bit samples, which are scaled by a 6bit value and then summed. Don’t get hung up on the use of DMA channels to feed the DACs, this was just the best way to minimise load on a relatively slow CPU in 1985.
Of course there is something special, not from hardware point of view maybe, but from software. It provides (relatively) easy to use interface to do audio, and that's something i haven't found elsewhere.



Quote:
Originally Posted by Thomas Richter View Post
Why should the system load any higher on a modern machine? It surely isn't on mine. Actually, it's lower as more computing power is available.
System load is a lot higher on "modern" machine, simply because it does a lot more.
And don't take yours as example, it uses a "light" version.


Quote:
Originally Posted by Thomas Richter View Post
Apples - oranges. See what Amiga does in low memory situations? It crashes. Windows starts swapping, but it works.
This is plain wrong. Amiga does NOT crash in low memory situations. I've seen it numerous times. It just refuses to do things. Windows, on the other hand, starts crawling so much it becomes nearly frozen - or even crashes, i haven't tried as it becomes unusable long before memory is really exhausted.


Quote:
Originally Posted by Thomas Richter View Post
I haven't run out of voices ever. It does DMA over PCI for the channel data. Why am I supposed to be worried about that? Do I need to know this detail as long as I can allocate channels and play the music I want to play?
There are no channels to allocate on peecees. Or name the OS call you use for that.


Quote:
Originally Posted by Thomas Richter View Post
Wikipedia says it has 32 voices. So I suppose that's correct, but it's simply an irrelevant technical detail I don't need to care about.
It doesn't have 32 truly independent voices, it just mixes that in software on a chip present on the board.
But guess what, on my A1200 i could play 32 channels musics too.


Quote:
Originally Posted by Thomas Richter View Post
Because that's not relevant as long as I can do what I want to do.
Seen this way, of course...


Quote:
Originally Posted by Thomas Richter View Post
You surely must be kidding. Paula has a maximal frequency of 16Khz, with aliasing that puts a stop at 8Khz. With 8 bit sample precision. You are telling me the max 48Khz of my SB Live at 16 bit precision is "bad for replay quality"?
16khz
Paula can go up to 56khz and even more if you feed it with cpu.
With 14bit sample precision if using proper replay code.
And yes fixed sample rate of 48khz may be bad for replay quality. Amiga doesn't have fixed sample rate.


Quote:
Originally Posted by Thomas Richter View Post
You don't have a clue, apparently. The 68K MMU uses pages same as the x86 MMU does. No difference. There is no problem with them or the model. Actually, AmigaOs doesn't take much advantage of them, though it could.
For the actual application, the memory model is "all flat". We don't have "near pointers" and "far pointers" and all that junk anymore.
It's you who don't have a clue. Again, I wasn't speaking about segmentation.


Quote:
Originally Posted by Thomas Richter View Post
No, really? So why deny that? It's better to have more CPU cores to push the limit, and more capable ones, too. With only a single core at the <100Mhz regime, one cannot guarantee much.
And yet that single core at the <100Mhz regime does a better job at real time than any windows box you can find.


Quote:
Originally Posted by Thomas Richter View Post
No, it's a market problem, not a hardware problem, because nobody will create the hardware. For whom, even? A market with customers that deny modernization?
Nobody will create the hardware, bah, it already exists in fact. Ask your friend Gunnar.


Quote:
Originally Posted by Thomas Richter View Post
I beg your pardon? Linux certainly has soft interrupts, and also uses them to defer activity and get them out of priviledged space, into the corresponding driver interface.
It is of course about user code, not driver interface.


Quote:
Originally Posted by Thomas Richter View Post
Except that Linux has a sane design that is scalable to modern hardware and modern needs.
Still started as a hobbyist system, that was the point.


Quote:
Originally Posted by Thomas Richter View Post
AmigaOs doesn't.
If it is so bad, just quit the platform and leave us alone.


Quote:
Originally Posted by Thomas Richter View Post
Do I need to say "Forbid()" again? Unprotected shared memory?
You don't need to, no.


Quote:
Originally Posted by Thomas Richter View Post
No, uninteresting to die-hards, but probably interesting to some user bases with more financial capabilities, or with expectations different from the die-hards. CBM failed to get a foot into the professional market, and more or less lived from the legacy of game and home computer system. As soon as this user base moved to the PC, the business model broke down. That was a clear management failure, made very early on.

Just because an operating system has a solid design does not make it "uninteresting" - it only makes it different. You cannot modernize the Os without breaking with this tradition, but it's long too late to attempt that, now that Amiga is defined by "what was done in the past". But that's something different than "done the right way".

If this modernization had been done correctly, back 30 years ago, the average user wouldn't even notice the difference, same as MacOs didn't look much different to the user when Apple moved to PPC, then to x86, and now to arm. Looked all the same, behaves the same. Just the software changed slowly over the years and grew with the expectations of its user base.
Apparently you just don't know where the Amiga took its success from.


Quote:
Originally Posted by Thomas Richter View Post
AmigaOs is now unable to change because its user base expects a retro system, for toying around, so the whole point is that it doesn't change. But please understand that "done correctly" and "done the old way" do not mean the same thing. In this case, it's quite the contrary.
No system is "done correctly" today.
meynaf is offline  
Old 30 December 2020, 21:00   #198
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,231
Quote:
Originally Posted by meynaf View Post
But not everyone knows this so if the OS does not provide mixing using a good model, guess what happens.
The mixing model is certainly good, so why would I bother. Except that in case of the SBLive, it's a DSP doing this, the emu10k1.


Quote:
Originally Posted by meynaf View Post
Of course there is something special, not from hardware point of view maybe, but from software. It provides (relatively) easy to use interface to do audio, and that's something i haven't found elsewhere.
Then you haven't looked much. I've seen and used the alsa interface, and the SDL interface, and both are rather straight foreward. Allocate the channel with the properties you need, register a callback, push the samples into the audio, and receive the callback as soon as the system is ready to take more samples. I don't know how it could be simpler.


Quote:
Originally Posted by meynaf View Post

System load is a lot higher on "modern" machine, simply because it does a lot more.
And don't take yours as example, it uses a "light" version.
Why shouldn't I take my version? It's configured to my needs, it does what it should.


Quote:
Originally Posted by meynaf View Post


This is plain wrong. Amiga does NOT crash in low memory situations. I've seen it numerous times.
Hardly. While software is supposed to recover from low RAM, in reality such recovery strategies are hard to write, and hard to debug because they are rare. In reality, they often don't work, or only work incompletely or incorrectly.



Quote:
Originally Posted by meynaf View Post



There are no channels to allocate on peecees. Or name the OS call you use for that.
That's not an Os call, it's a library call. snd_pcm_hw_params_get_channels() is the call.


Quote:
Originally Posted by meynaf View Post




It doesn't have 32 truly independent voices, it just mixes that in software on a chip present on the board.
Why does it matter whether the DSP mixes it digitally, or the OpAmps mix an analog signal? Actually, the first is even more precise.



Quote:
Originally Posted by meynaf View Post





But guess what, on my A1200 i could play 32 channels musics too.
Hardly, because it lacks CPU power for that, and you cannot do much else then. Leave alone the distortion you get.



Quote:
Originally Posted by meynaf View Post







16khz
Paula can go up to 56khz and even more if you feed it with cpu.
So who's talking about bloat? You burn the CPU just to do audio? And blame the PC for it? And you call that competative to a SB Live? You surely must be kidding.


Quote:
Originally Posted by meynaf View Post





With 14bit sample precision if using proper replay code.
That's hardly 14 bit. The DAC isn't as precise as this.



Quote:
Originally Posted by meynaf View Post






And yes fixed sample rate of 48khz may be bad for replay quality. Amiga doesn't have fixed sample rate.
SBLive! doesn't have that either.


Quote:
Originally Posted by meynaf View Post







It's you who don't have a clue. Again, I wasn't speaking about segmentation.
Then, why do you bother? Memory on the Amiga comes in pages as well, and the application doesn't need to care about pages. For the application, everything is flat directly accessed memory. Same as on the PC.


Quote:
Originally Posted by meynaf View Post








And yet that single core at the <100Mhz regime does a better job at real time than any windows box you can find.
It certainly does not browse the internet. Except on hand-selected sides, with a speed where I could also print out the page and send it by snail-mail. If that's "better" for you...

Quote:
Originally Posted by meynaf View Post










Still started as a hobbyist system, that was the point.
Yes, but with a working design... actually, Linux is an implementation of the Unix interface, and Unix is certainly not a hobby system.


Quote:
Originally Posted by meynaf View Post









If it is so bad, just quit the platform and leave us alone.
Not anytime soon, and if its just to stop your pipe dreams. It's really funny how you defend a 30 year old underpowered and outdated system. The problem is your lack of experience with any other system. Try to get your hands dirty on another platform, widens your horizon. Just try it.


Of course, that's a horse of a different color, and the older you get, the harder it becomes to learn something new. But that doesn't mean that everything new is bad. It's different, and it works by different principles.


Quote:
Originally Posted by meynaf View Post










Apparently you just don't know where the Amiga took its success from.
From the home computer market. That's were most users came from - used as an "advanced C64 games machine".


Quote:
Originally Posted by meynaf View Post
No system is "done correctly" today.









Market success tells something different.
Thomas Richter is offline  
Old 31 December 2020, 09:30   #199
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Thomas Richter View Post
The mixing model is certainly good, so why would I bother. Except that in case of the SBLive, it's a DSP doing this, the emu10k1.
But then it sounds differently on different hardware, instead of something setup in the OS. It wasn't the point of course, as i just mentioned the coder forced to do own mixing...
I also notice you don't give a solution for anyone not having same hardware as you do (which is actually most people).


Quote:
Originally Posted by Thomas Richter View Post
Then you haven't looked much. I've seen and used the alsa interface, and the SDL interface, and both are rather straight foreward. Allocate the channel with the properties you need, register a callback, push the samples into the audio, and receive the callback as soon as the system is ready to take more samples. I don't know how it could be simpler.
Try to play simple Protracker with that, before pretenting it's simpler.


Quote:
Originally Posted by Thomas Richter View Post
Why shouldn't I take my version? It's configured to my needs, it does what it should.
Your version says nothing about what's not your version, and what's not your version is what nearly everybody uses.


Quote:
Originally Posted by Thomas Richter View Post
Hardly. While software is supposed to recover from low RAM, in reality such recovery strategies are hard to write, and hard to debug because they are rare. In reality, they often don't work, or only work incompletely or incorrectly.
But then it is software that is unstable, not the OS.
Frankly there is nothing complicated in giving an error message and bail out.


Quote:
Originally Posted by Thomas Richter View Post
That's not an Os call, it's a library call. snd_pcm_hw_params_get_channels() is the call.
So you're saying Oses of today are fine, based on examples... found in third party libraries. If the OS was good to start with, there would have been no need for libraries such as ALSA. Besides, why would i care about Linux.


Quote:
Originally Posted by Thomas Richter View Post
Why does it matter whether the DSP mixes it digitally, or the OpAmps mix an analog signal? Actually, the first is even more precise.
How many sound channels does Atari Falcon have ? It has a DSP after all, so we could pretend it has just any number.


Quote:
Originally Posted by Thomas Richter View Post
Hardly, because it lacks CPU power for that, and you cannot do much else then. Leave alone the distortion you get.
Nah, it's working fine on my A1230/50 and i can still do other things on the machine. I can overload it 100% cpu and it never misses a buffer. I could even offer the luxury of using oversampling mixing method -- no hearable distortion then.


Quote:
Originally Posted by Thomas Richter View Post
So who's talking about bloat? You burn the CPU just to do audio? And blame the PC for it? And you call that competative to a SB Live? You surely must be kidding.
We can get up to 56khz without burning the cpu. I was just stating the limit can be bypassed and you wrongly turned that into a generality. But with your SB live you're locked to 48khz, regardless of your cpu power.


Quote:
Originally Posted by Thomas Richter View Post
That's hardly 14 bit. The DAC isn't as precise as this.
It's not the DAC but how it is used. 8 bit data, 6 bit volume. Count.


Quote:
Originally Posted by Thomas Richter View Post
SBLive! doesn't have that either.
Of course yes it does. Anything that's not 48khz gets resampled.


Quote:
Originally Posted by Thomas Richter View Post
Then, why do you bother? Memory on the Amiga comes in pages as well, and the application doesn't need to care about pages. For the application, everything is flat directly accessed memory. Same as on the PC.
It's not me, who bothered. It's you. It was a reply to bloodline and you jumped in.


Quote:
Originally Posted by Thomas Richter View Post
It certainly does not browse the internet. Except on hand-selected sides, with a speed where I could also print out the page and send it by snail-mail. If that's "better" for you...
Browsing the internet wasn't the point.
But if you want to get there, again, ask Gunnar for how his 100mhz accelerator allows browsing the web. You might be surprised.


Quote:
Originally Posted by Thomas Richter View Post
Yes, but with a working design... actually, Linux is an implementation of the Unix interface, and Unix is certainly not a hobby system.
And Unix is incredibly old, much older than the Amiga.


Quote:
Originally Posted by Thomas Richter View Post
Not anytime soon, and if its just to stop your pipe dreams. It's really funny how you defend a 30 year old underpowered and outdated system. The problem is your lack of experience with any other system. Try to get your hands dirty on another platform, widens your horizon. Just try it.

Of course, that's a horse of a different color, and the older you get, the harder it becomes to learn something new. But that doesn't mean that everything new is bad. It's different, and it works by different principles.
And again, you're just plain 100% wrong. I don't lack experience with other systems. I coded on litterally everything ranging from pic microcontrollers to ibm c370. And of course - alas - also on the pc.
And it's by no manner something "new". It's just something old that has been dirtily expanded.


Quote:
Originally Posted by Thomas Richter View Post
From the home computer market. That's were most users came from - used as an "advanced C64 games machine".
Nope. Try again.


Quote:
Originally Posted by Thomas Richter View Post
Market success tells something different.
Market success, when we have no choice ? What a joke.
meynaf is offline  
Old 31 December 2020, 10:14   #200
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by meynaf View Post
But then it sounds differently on different hardware, instead of something setup in the OS. It wasn't the point of course, as i just mentioned the coder forced to do own mixing...
I also notice you don't give a solution for anyone not having same hardware as you do (which is actually most people).
I’m not sure I can even parse what you are saying here... Thomas has clearly stated, and explained why, it doesn’t matter what hardware you have installed.

You are making an assertion that is demonstrably false.

The Amiga on the other hand had very different audio characteristics between models, and even worse, different Mobo revisions and Paula batches sound distinctly different... Not to mention that running the machine in PAL or NTSC messed up the frequency of sample playback!! Amiga Audio is a mess.

Quote:
Try to play simple Protracker with that, before pretenting it's simpler.
I can send you a simple MOD playback routine I wrote using SDL, where the only complexity is the code to add in the deficiencies of the Amiga hardware to give a more authentic sound!

You keep going on about the fixed sample rate of modern hardware, Nyquist-Shannon is what you need to read about. The Amiga also “resamples” the audio data, in exactly the same way as a simple mix algorithm does with a simple sample and hold (more advanced resampling would use bicubic, but that only something one would only use for professional audio samplers).
bloodline is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
68k & PPC CPU Usage monitor for OS3 ancalimon support.Apps 1 29 June 2020 23:42
68k CPU pause (bubble) kamelito Coders. Asm / Hardware 9 27 January 2020 15:09
Bad weather for the 68K socket cpu cards Solderbro support.Hardware 0 14 July 2018 10:19
Looking to get max CPU performance in WinUAE 68k OS GunnzAkimbo support.WinUAE 1 12 May 2016 11:18
Apollo / Phoenix CISC CPUs m68k compatible Snake79 News 3 05 March 2015 20:20

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 04:58.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.15049 seconds with 16 queries