Welcome, Guest. Please login or register.

Author Topic: Amiga Multitask  (Read 18938 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline vidarh

  • Sr. Member
  • ****
  • Join Date: Feb 2010
  • Posts: 409
    • Show all replies
Re: Amiga Multitask
« on: August 29, 2012, 04:23:43 PM »
Quote from: desiv;705674
"Can do" and "actually did" are different.
I believe he is saying he is impressed that the Amiga actually did it..

There were multitasking implementations for the C64 :)

It's actually very easy to do on the C64 simply by setting up a suitable interrupt, since you have so little state to save/load, and then just swap the return addresses around before you leave the interrupt handler.

Of course, it's not very *useful* on a machine that slow - the closest most people would get would be the interrupt handler in parallel with a main "thread".

But at least one BASIC extension offered pre-emptively multi-tasking BASIC. Lightning BASIC perhaps? I believe it was up 3 BASIC "threads" in parallel + sprite animations.

(EDIT: It was Laser Basic from OASIS I remember, based on "White Lightning" which had a boat-load of other features too - there a demo of some of it here: http://www.youtube.com/watch?v=H8609Pel_RU )
« Last Edit: August 29, 2012, 04:30:18 PM by vidarh »
 

Offline vidarh

  • Sr. Member
  • ****
  • Join Date: Feb 2010
  • Posts: 409
    • Show all replies
Re: Amiga Multitask
« Reply #1 on: August 30, 2012, 12:53:29 AM »
Quote from: bitcpy;705816
I know. :)
 
The thread was about: what was reality, not what was possible.


And the reality was that there were environments for the C64 that allowed you to multi-task. Shipping. As commercial products (I owned a copy of the aforementioned Laser BASIC for example). Just not built into ROM. Of course there were multi-tasking on lots of larger systems long before the Amiga as well.

The point is not to diminish the accomplishment of the Amiga, just that what was impressive about the Amiga was not multi-tasking per se, but an OS that actually combined multiple features in a way that made multi-tasking not just practical, but useful.

E.g. without windowing and abstracted device access and enough memory and CPU, multi-tasking on more primitive machines or OS's was a novelty, and the machines and OS's that could do preemptive multi-tasking as well or better than the Amiga at the time were not targeting consumers.
 

Offline vidarh

  • Sr. Member
  • ****
  • Join Date: Feb 2010
  • Posts: 409
    • Show all replies
Re: Amiga Multitask
« Reply #2 on: August 30, 2012, 01:01:05 AM »
Quote from: itix;705835
Indeed. For proper multitasking you needed more memory and fast hard disks...

I remember when I was coding some application on my Amiga 500. It had 1MB RAM only and when asm source code was over 150 kB it was no longer possible compile it while keeping my editor running on a background.


FrexxEd (which I'm in theory working - at significantly slower than snails pace - on upgrading; I've actually committed stuff to the repository this year, honest) actually has an ingenious way to conserve RAM there - something you'd only see on a machine like the Amiga, largely because it itsn't worth the hassle any more in the day of multi-GB RAM machines:

Export the buffers as a filesystem handler.

You can mount FrexxEd: and dir it to list the files that are currently open in the editor, and run whatever applications you want on them without wasting memory on additional buffers.

It's elegant in a way, but people without experience with a machine like the Amiga takes one look at it and goes "wha?!?!? Why don't you just save it to a temporary file". Then I have to explain how that might have meant having to switch floppies and stuff :D