[comp.sys.amiga.hardware] 68000 multitasking

a218@mindlink.UUCP (Charlie Gibbs) (12/18/90)

In article <44872@cci632.UUCP> dsg@cci632.UUCP (David Greenberg) writes:

>Hi,

Hi there.  :-)

>        I was wondering if anyone has any idea what could be wrong
>(If anything) with my amiga 2000 (3 meg) 68000.

     Probably nothing.  Read on...

>        I am using JRCOMM to download to ram: and everything works fine
>unless I try to multi-task...It seems like the 68000 isn't fast enough to keep
>up with the download (2400 baud) and do something else at the same time
>(ie. DIR) of course this does't seem correct!.....Any ideas?? I suppose it
>could be a drive problem ....even though I d/l to RAM, When I dir,
>it accesses my HD (Kronos - seagate st296N)........any ideas???

     I've found on my 1000 that a terminal program running at 2400
bps chews up a lot of the processor's time.  I found myself getting
overruns from time to time until I increased the serial port's buffer
size.  Go into Preferences and select "Change Serial."  Check the
"Buffer Size" entry; it's likely at the original value of 512 bytes.
I ran mine up as high as I could (16000) and I no longer have any
problems.

     At 2400 bps, the processor only gets an occasional chance to
service the serial device if something else is running.  It doesn't
take long for it to fall behind 512 bytes and overrun the minimum
buffer that you get by default.  Chances are, though, a 16K buffer
will be far from full when the processor gets a chance to empty it.
I find that the terminal screen spits out chunks of data (a couple
of hundred bytes at a crack) if something else is running; the
processor might fall a few hundred bytes (or even a couple of K)
behind, but it can catch up in a hurry whenever it gets a chance.

     I routinely multitask with 2400-bps downloads; since I
increased my buffer size, I haven't lost a single byte.

Charlie_Gibbs@mindlink.UUCP
"I've seen The Exorcist about a hundred and sixty-seven times,
and it keeps getting funnier every single time I see it!"
        -- Beetlejuice

dsg@cci632.UUCP (David Greenberg) (12/18/90)

Hi,
	I was wondering if anyone has any idea what could be wrong 
(If anything) with my amiga 2000 (3 meg) 68000. 
	I am using JRCOMM to download to ram: and everything works fine 
unless I try to multi-task...It seems like the 68000 isn't fast enough to keep 
up with the download (2400 baud) and do something else at the same time 
(ie. DIR) of course this does't seem correct!.....Any ideas?? I suppose it 
could be a drive problem ....even though I d/l to RAM, When I dir, 
it accesses my HD (Kronos - seagate st296N)........any ideas???

                                                     Dave

dsg@cci632.UUCP (David Greenberg) (12/19/90)

	Thanks a lot for the help!!! .. I'll give it a try....The only other
thing I tried, was:
	copy dir to ram:
	start downloading....then ram:dir ram:
	it worked fine...no data loss....I guessed it might be either the time
	it takes to store a buffer it too long, or kronos has some DMA probs.
	but I will try the buffer idea...that sounds like a good possibility!

						Dave

hclausen@adspdk.UUCP (Henrik Clausen) (12/19/90)

In article <44872@cci632.UUCP>, David Greenberg writes:

> Hi,
> 	I am using JRCOMM to download to ram: and everything works fine 
> unless I try to multi-task...It seems like the 68000 isn't fast enough to keep 
> up with the download (2400 baud).

   The 68000 is plenty fast enough for that - read on. Properly installed,
a 14.400 HST modem driven at 19.200 bps runs just fine.

> could be a drive problem ....even though I d/l to RAM, When I dir, 
> it accesses my HD (Kronos - seagate st296N)........any ideas???

   You probably have the Kronos turn off interrupts (Disable()) while doing
it's transfers. This is a dead nasty trick to squeeze marginally better
performance out of a non-DMA controller, and I've been figthing how to set
the Kronos to do things right. The installation SW is the most tricky I've
ever seen.

   It defaults to Disable interrupts, thus killing the interrupt driven
serial.device!!!

   In your configuration files, there will be two places where you specify
the interrupt status with a DisableIRQ keyword or similar. Modify BOTH of
these to NoDisableIRQ, and run the SetAutoBoot program. This should do it,
but I'm speaking out of memory, and it's been a year since I worked with
these controllers.

   Apart from this, the Kronos is a nice controller and will do you good
service for a long time to come.

>                                                      Dave

                                                           -Henrik
______________________________________________________________________________
| Henrik Clausen, Graffiti Data | If the Doors of Perception where cleansed, |
| ...{pyramid|rutgers}!cbmvax!  | Man would see Reality as it is - Infinite. |
\______cbmehq!adspdk!hclausen___|_________________________________W. Blake___/

dsg@cci632.UUCP (David Greenberg) (12/19/90)

	Thanks a lot to all who replyed via e-mail..and posts....I think from
all I've read, the problem is either one of two things....IRQ_Disable on the
Kronos Controller...or.... A buffer size that is too small....I'll try both
today...thanks again!!!!


						Dave

dsg@cci632.UUCP (David Greenberg) (12/21/90)

	Thanks to all who replied to my original message about the problems.
It was the Disable_IRQ setting of the Kronos controler. In the DevSetup, the
handlers were set to NoDisable_IRQ, but the Unit was not.....It works fine now!
Thanks again!!!!!!

						Dave