POV-Ray : Newsgroups : povray.off-topic : Fruit flavours : Re: Fruit flavours Server Time
29 Jul 2024 06:22:03 EDT (-0400)
  Re: Fruit flavours  
From: Orchid Win7 v1
Date: 26 Mar 2013 06:25:07
Message: <51517783@news.povray.org>
>> The mouse was drawn as a hardware sprite overlay, so moving the mouse
>> pointer involves poking new coordinates into some video registers. This
>> takes a handful of compute cycles, and is easily implemented by a single
>> interrupt handler.
>
> IIRC it was not even that. I don't have my hardware books lying around
> anymore, but I think the horizontal and vertical motion of the mouse was
> determined by two bit gray codes. These two bits were directly connected
> to the video chip and the coordinates of the mouse were updated in
> hardware. No interrupt required.

I'm pretty much certain that's not correct.

Under sufficiently heavy CPU load, the mouse pointer became slightly 
less responsive. There's no reason for that to happen if it's all 
implemented in hardware.

>> (Having said that, without memory protection hardware, one rogue process
>> could crash the entire machine. But on the first hand, buggy software
>> was rare on that platform.)
>
> or a system call with a wrong parameter.

Sure. The OS does little or no error checking - it's faster that way. So 
passing sufficiently invalid input to the OS will crash it. As will 
writing data to low-numbered memory addresses, or to addresses which 
don't exist, or addresses with are not aligned correctly. Or executing a 
non-existent op-code, for that matter. Any number of things which, in a 
protected-mode OS, would merely halt the offending process, would be an 
OS crash under AmigaOS.

>> Well, my understanding is that modern graphics cards have hardware
>> acceleration for graphical tasks too. So the situation shouldn't be too
>> much different than how it was with the Amiga's custom hardware.
>
> Then explain how I can sometimes see a window on a PC being refreshed
> top down? Oh, you said "shouldn't" not "isn't".

Clearly the graphics is being redrawn from scratch rather than being 
recopied from an off-screen buffer. That a piece of software doesn't 
take advantage of a feature doesn't mean the feature doesn't exist. It 
seems to me that the attitude of modern software is "hey, why bother 
optimising it? Just make the user buy more hardware."

> Another thing that I can't get my head around is the concept that you
> click on an object that is on screen when the click is handled, not on
> the one that is on-screen when you clicked.

Yeah, gotta love that.

>> Pre-emptive: Yes. The OS is 100% pre-emptive. If some program goes into
>> an infinite loop, you can kill it, and it *will* die. If some program
>> tries to use all available RAM, it gets killed, and so forth.
>
> At the user level it was not fully preemptive. You had to do an explicit
> call to allow other programs to get some time too.

What in the world makes you think that? If you run two programs that 
both try to use 100% CPU, they both end up getting approximately 50% 
CPU. (And everything else becomes fairly slow.) Unless you start 
altering priorities, anyway...

>> so there's less call for multiple users.
>
> More of a design choice. But you had to assume all programs were
> friendly. Something you would not do today.

Agreed.

Interestingly, there were several virus scanner programs for the Amiga, 
so clearly there were viruses around. I guess without the Internet, it's 
just that much harder to catch one...


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.