Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
116 user(s) are online (65 user(s) are browsing Forums)

Members: 0
Guests: 116

more...

Headlines

 
  Register To Post  

(1) 2 »
Deneb under OS 4?
Quite a regular
Quite a regular


See User information
Hi everybody,

Some of you may be aware that I can't get my Highway to work under AOS 4 without it freezing solid the machine whenever there's heavy disk access (even on completely unrelated devices)... so I'm looking at alternatives.

It seems the total number of devices available right now for me is 1 - the one I've got, which doesn't work right.

What about the forthcoming Elbox Deneb though? Is this or will this be supported? Even under USB 1.1 conditions it'll allow me to use my USB keyboard/mouse which is what I really need.

I can't think of anything else to try - I've tried Poseidon (doesn't work because you can't patch input.device which is necessary for the mouse/keyboard, it seems), tried ANAIIS (worth a try!), but still no joy!

--
Ian Gledhill
ian.gledhill@btinternit.com (except it should be internEt of course...!)
Check out my company's shop: http://www.mutant-caterpillar.co.uk/shop/ - specialising in Sinclair Spectrums but will be adding Amigas!
Go to top
Re: Deneb under OS 4?
Just popping in
Just popping in


See User information
@Spirantho

erm .. Deneb is a ZorroIII USB 2.0 card made by E3B (not Elbox)

Beeing Poseidon AmigaOS4 compatible (with some tweaking) probably it will work.

Go to top
Re: Deneb under OS 4?
Quite a regular
Quite a regular


See User information
@Framiga

Thanks - E3B/Elbox... easily confused. :)

Poseidon's not good enough for me though - Poseidon works perfectly with my Highway... but Poseidon relies on patching the input.device for keyboard/mouse - which doesn't work on 4.0.

Hence I need native OS4 drivers.

--
Ian Gledhill
ian.gledhill@btinternit.com (except it should be internEt of course...!)
Check out my company's shop: http://www.mutant-caterpillar.co.uk/shop/ - specialising in Sinclair Spectrums but will be adding Amigas!
Go to top
Re: Deneb under OS 4?
Not too shy to talk
Not too shy to talk


See User information
@Spirantho

I read that Poseidon chould use OS4 usb drivers, it mighy be an idea to try os4 hid driver with Poseidon. Well its worth a shot.

RWO

Go to top
Re: Deneb under OS 4?
Not too shy to talk
Not too shy to talk


See User information
@Spirantho

mboehmer (the man behind E3B) is currently looking for informations about DMA under OS4 for his Deneb project.

It seems that he has some problems to contact the OS4 Team / Hyperion.

In the mean time TetiSoft and tboeckel have joined his thread at amiganews.de and I think he have got some infos from them.

I have posted some links to your old DMA/AmiTV threads.

I really hope that Rogue or tfrieden is already in touch with him.

Go to top
Re: Deneb under OS 4?
Just popping in
Just popping in


See User information
@Spirantho

Quote:

Thanks - E3B/Elbox... easily confused. :)


Erm. I try not to take this as an offense

Quote:

Poseidon's not good enough for me though - Poseidon works perfectly with my Highway... but Poseidon relies on patching the input.device for keyboard/mouse - which doesn't work on 4.0.
Hence I need native OS4 drivers.


I'm open for people willing to do an AOS4 Classic driver for the Deneb. Documentation for this task can be provided, with NDA on it, as lot of work did go into implementing the Deneb DMA engine into the FPGA, and I see a need for protecting this IP of mine.
There may even be more work coming up for upgrading the DMA engine with Scatter/Gather support to workaround the current situation where only DMA transfers with 2kB can be done (Deneb DMA engine can do 64kB at once, limited by onchip buffers in the USB host controller).

Under OS3.x this is not needed.

Nevertheless the Deneb works already under AOS4 in PIO mode (as stated by other people in this thread, DMA and memory allocation is kind of broken in OS4).

Michael

P.S.: For me it's the other way round - Sirion under OS4 Classic is not good enough for me, being used to work with Poseidon

Go to top
Re: Deneb under OS 4?
Quite a regular
Quite a regular


See User information
@mboehmer

No offence intended, believe me! But because both E3B and Elbox have kinda of abstract names and do the same things (although I seem to recall E3B being rather better at delivering) there's going to be some confusion!

So if I get a Deneb are you saying it'll work straight off with OS 4? Don't suppose there's any upgrade path from a Highway? :)

--
Ian Gledhill
ian.gledhill@btinternit.com (except it should be internEt of course...!)
Check out my company's shop: http://www.mutant-caterpillar.co.uk/shop/ - specialising in Sinclair Spectrums but will be adding Amigas!
Go to top
Re: Deneb under OS 4?
Just popping in
Just popping in


See User information
@Spirantho

Quote:

No offence intended, believe me! But because both E3B and Elbox have kinda of abstract names and do the same things (although I seem to recall E3B being rather better at delivering) there's going to be some confusion!


Don't take this too serious
Thanks for the flowers regarding delivery! Hope we can keep our promises regarding the Deneb.

Quote:

So if I get a Deneb are you saying it'll work straight off with OS 4? Don't suppose there's any upgrade path from a Highway? :)


Well, at least the preseries card here runs under JIT in AOS4 Classic on my machine with the latest versions of Poseidon (3.8r2 und up), so I would assume the series cards will work the same way.

BUT: we don't have any developper information on OS4, and as the driver runs under JIT (which introduces additional delays maybe), we cannot guarantee operation. Simply as that.

To our best knowledge operation in Zorro II/III PIO mode of the Deneb in AOS4 is possible.

Ah, yes, your last question: there is no upgrade path for users of our "old" USB boards, no "Trade-In" program and for sure no "Free Shipment due to whatsoever just happened outside our kitchen window" action.

Michael

Go to top
Re: Deneb under OS 4?
Quite a regular
Quite a regular


See User information
@mboehmer

Quote:

(as stated by other people in this thread, DMA and memory allocation is kind of broken in OS4).


Beg your pardon, but that is not true. There is nothing wrong with either DMA nor memory allocation under AmigaOS 4.0. There is a bug in CachePreDMA that will prevent it from working correctly when the DMA transfer is over 4k, which should be fixed in the meantime and will be part of the update to be released later this month.

Of course, the memory under OS 4 need not be continous, so scatter/gather DMA support is required from a device, but that is not a bug but rather a feature.

Seriously, if you do want to contact me write me a mail. You're more likely to get a reply then.
Go to top
Re: Deneb under OS 4?
Quite a regular
Quite a regular


See User information
@mboehmer

Quote:

mboehmer wrote:
Well, at least the preseries card here runs under JIT in AOS4 Classic on my machine with the latest versions of Poseidon (3.8r2 und up), so I would assume the series cards will work the same way.


So I'd still need Poseidon? Which of course would still need to patch input.device....

so basically Deneb should be considered unsupported for keyboard/mouse drivers (which is what I need it for) until there's a native OS4 driver....?

--
Ian Gledhill
ian.gledhill@btinternit.com (except it should be internEt of course...!)
Check out my company's shop: http://www.mutant-caterpillar.co.uk/shop/ - specialising in Sinclair Spectrums but will be adding Amigas!
Go to top
Re: Deneb under OS 4?
Just popping in
Just popping in


See User information
@Rogue

Quote:

Beg your pardon, but that is not true. There is nothing wrong with either DMA nor memory allocation under AmigaOS 4.0. There is a bug in CachePreDMA that will prevent it from working correctly when the DMA transfer is over 4k, which should be fixed in the meantime and will be part of the update to be released later this month.

Of course, the memory under OS 4 need not be continous, so scatter/gather DMA support is required from a device, but that is not a bug but rather a feature.


I'm doing hardware, so I must beg your pardon for my simplified view of the world. In hardware, you always are limited in number of registers, and number of logic resources, and maybe even the design of the DMA engine inside the I/O chip you have.

Nowadays, and in case of the Deneb, this doesn't matter, as the bus controller FPGA is only filled to a certain percentage, and I have loads of resources free for upgrades and workarounds, but for all existing hardware on Zorro III doing DMA these limitations mentioned above do exist.

If you take a device driver of OS3.x doing DMA, or any application which does reserve DMA buffers under OS3.x, then it will use the AllocVec() function or its equivalent.
This does deliver a physically continous segment of memory which can be used for DMA.

Under OS4 this behaviour has been changed, whether this is intended or not.

But: taken the case that the most popular DMA devices on Amiga Classic won't receive any updates to provide them with a scatter/gather DMA engine (in most cases this can't be done, as resources in the chips are too small), then the small change in memory allocation did KILL all those devices for OS4. Simple as that.

This includes the A4000T onboard SCSI, the Fastlane SCSI and the A4091 (latter one broken by design in DMA anyhow).

Of course you may still workaround this situation (which was a feature?) by limiting DMA transfers to 4KB, AFAIK this is the smallest memory segment under OS4. But then you drop performance, as each 4KB block will need its own DMA engine setup, CachePreDMA(), interrupt, CachePostDMA() and all administration stuff correlated to DMA.

And yes, I consider this particular detail in OS4 as broken.

Michael

Go to top
Re: Deneb under OS 4?
Home away from home
Home away from home


See User information
@Rogue

Quote:

Rogue wrote:
@mboehmer

Of course, the memory under OS 4 need not be continous, so scatter/gather DMA support is required from a device, but that is not a bug but rather a feature.


I thought that there was a method to allocate a block of RAM that was continuous in physical memory, but that this feature wasn't available in the current SDK. Then devices without scatter/gather support wouldn't have a problem. Did I get this wrong?

Hans

Go to top
Re: Deneb under OS 4?
Quite a regular
Quite a regular


See User information
@mboehmer

Quote:

mboehmer wrote:
Under OS4 this behaviour has been changed, whether this is intended or not.


The behavior was never specified. Nothing in the autodocs indicated that you would get a contiguous chunk of memory, only that you would get memory.

Quote:
But: taken the case that the most popular DMA devices on Amiga Classic won't receive any updates to provide them with a scatter/gather DMA engine (in most cases this can't be done, as resources in the chips are too small), then the small change in memory allocation did KILL all those devices for OS4. Simple as that.


There was always the requirement to call CachePreDMA/CachePostDMA for DMA operation, and this could scatter the DMA operation as well. Many drivers don't call it, though, which can be considered a bug. AmigaOS 4 will emulate that call (unfortunately a bug there prevented it from working correctly).

Quote:
Of course you may still workaround this situation (which was a feature?) by limiting DMA transfers to 4KB, AFAIK this is the smallest memory segment under OS4.


Like I said, it's a bug, and it will be cured with the upcoming update.

Quote:
Of course you may still workaround this situation (which was a feature?) by limiting DMA transfers to 4KB, AFAIK this is the smallest memory segment under OS4. But then you drop performance, as each 4KB block will need its own DMA engine setup, CachePreDMA(), interrupt, CachePostDMA() and all administration stuff correlated to DMA.


The 4k is the page size, and the change in the memory system in AmigaOS 4.0 wasn't small, it was the single most massive change in the kernel. And it was all for the better. FWIW, the memory system is at least 10 times faster than it used to be, external fragmentation is down to a minimum. And driver that correctly uses CachePreDMA/CachePostDMA will continue to function. Only those that did not use these functions, in spite of being documented as being required, will cease to work.

Quote:
And yes, I consider this particular detail in OS4 as broken.


Well I consider drivers that don't play by the autodoc rules as broken. If a driver does not call CachePreDMA/CachePostDMA and cannot cope with the results of the call, then this is a problem of the driver.

Seriously, if you do want to contact me write me a mail. You're more likely to get a reply then.
Go to top
Re: Deneb under OS 4?
Quite a regular
Quite a regular


See User information
@Hans

Quote:

Hans wrote:

Of course, the memory under OS 4 need not be continous, so scatter/gather DMA support is required from a device, but that is not a bug but rather a feature.


I thought that there was a method to allocate a block of RAM that was continuous in physical memory, but that this feature wasn't available in the current SDK. Then devices without scatter/gather support wouldn't have a problem. Did I get this wrong?

Hans[/quote]

Yes, you can use AllocVecTags with the AVT_Contiguous tag item to allocate such a block. Unfortunately we haven't updated the SDK yet.

Seriously, if you do want to contact me write me a mail. You're more likely to get a reply then.
Go to top
Re: Deneb under OS 4?
Just can't stay away
Just can't stay away


See User information
@mboehmer

Quote:
If you take a device driver of OS3.x doing DMA, or any application which does reserve DMA buffers under OS3.x, then it will use the AllocVec() function or its equivalent.
This does deliver a physically continous segment of memory which can be used for DMA.
That was never guarantied and only an undocumented side effect of the old memory system, any software depending on such undocumented side effects is broken. If AllocMem/Vec() would have guarantied returning physically continous memory returning the length of the current fragment in CachePreDMA(), which is broken in the release version of the OS4 classic Amiga kernel and will be fixed in the update, wouldn't have made any sense.

Quote:
Under OS4 this behaviour has been changed, whether this is intended or not.
What changed is that there is a new function in OS4 now with which you can allocate physically continous memory, such a function didn't exist in AmigaOS <= 3.9.

Quote:
But: taken the case that the most popular DMA devices on Amiga Classic won't receive any updates to provide them with a scatter/gather DMA engine (in most cases this can't be done, as resources in the chips are too small), then the small change in memory allocation did KILL all those devices for OS4. Simple as that.

This includes the A4000T onboard SCSI,
Wrong, the A4000T scsi.device does of course use CachePre/PostDMA() for scatter/gather DMA.
That it doesn't work on OS4 is completely unrelated to DMA, the A3000 version (all are based on the same sources, only the hardware dependant part is different) can do PIO as well, unlike the DMA-only A4000T one, but even a PIO-only version of the A3000 scsi.device doesn't work on OS4.

Go to top
Re: Deneb under OS 4?
Just popping in
Just popping in


See User information
@mboehmer

Quote:
(which was a feature?) ... Under OS4 this behaviour has been changed, whether this is intended or not.


This behavior was of course intended. OS4 does no longer use physical memory. Such a model will lead to fragmentation, and thus will eventually make the system unusable.

Therefore, memory is allocated in pages that might or might not be contiguous. This will allow allocation to succeed even in situations where it would fail on OS3. This allows for things like paging, on-demand mapping, etc....

Overall, this was IMHO the best decision we ever made when doing the kernel.

The problem is that a lot of programmers (and I'm not trying to blame anyone) have been relying on undocumented features, internal structures etc.

A good example is the peeking of the allocation size that used to be in front of the memory block allocated. In OS4, the memory size is no longer tracked in such a way, in fact, the memory size depends on the position in memory (i.e. each page only holds memory blocks of the same size). So in essence, the long word isn't needed anymore and therefore has been removed. I already received a lot of blame for this, although peeking in front of the memory you allocated is plain and simply wrong. You MUST NOT peek around outside the memory that has been allocated by you.

The physical contiguous memory allocation is a similar thing. It was never guaranteed, and if you rely on it, you are using an implementation detail. This is a bug in your software, as simple as that.


Quote:
And yes, I consider this particular detail in OS4 as broken.


I'm sorry, that is simply wrong. If you rely on internals of the system that aren't documented, you are to blame, not me. CachePreDMA/CachePostDMA have been there for a long time, and even old Commodore guidelines asked you to use these functions. If you are not using them, then sorry, I consider you driver broken.

The fact that these functions are buggy in OS4 doesn't change the facts.

Go to top
Re: Deneb under OS 4?
Home away from home
Home away from home


See User information
@Rogue

Quote:

Rogue wrote:
@Hans

Quote:

Hans wrote:

Of course, the memory under OS 4 need not be continous, so scatter/gather DMA support is required from a device, but that is not a bug but rather a feature.


I thought that there was a method to allocate a block of RAM that was continuous in physical memory, but that this feature wasn't available in the current SDK. Then devices without scatter/gather support wouldn't have a problem. Did I get this wrong?

Hans


Yes, you can use AllocVecTags with the AVT_Contiguous tag item to allocate such a block. Unfortunately we haven't updated the SDK yet.[/quote]

Ok, good.

Hans

Go to top
Re: Deneb under OS 4?
Just popping in
Just popping in


See User information
@Spirantho

Quote:

Spirantho wrote:
tried ANAIIS (worth a try!), but still no joy!


wow! a tester
Which version of version of ANAIIS did you use? (0.92 was the last Highway full compatible version...)
Did you notice the following problem with Highway: it freeze on about several seconds or never freeze at all...? (click on reset button or usbreset tool icon when it freezed)
If it work (even in buggy way), can you test the mousewheel on OS4, please with the last version 0.96 ? Tell me what happens, thanks a lot.

Go to top
Re: Deneb under OS 4?
Quite a regular
Quite a regular


See User information
@Gilloo

Just tried it now, v0.96.

Running from no startup-sequence:
I ran USBStart. (as in "Shell:> Run SYS:System/USBStart"). I had to run it otherwise it never returns.
I then ran sys:prefs/Anaiis. Nothing happened. Never returned or did anything.

Booting from full OS 4.0:
run USBStart from Workbench, can't see anything happening...
... but now whenever I click anything, the computer will hang solid. Opening a shell from the dock will hang it, running Anaiis from Prefs hangs it.

Does that help? :)

--
Ian Gledhill
ian.gledhill@btinternit.com (except it should be internEt of course...!)
Check out my company's shop: http://www.mutant-caterpillar.co.uk/shop/ - specialising in Sinclair Spectrums but will be adding Amigas!
Go to top
Re: Deneb under OS 4?
Just can't stay away
Just can't stay away


See User information
@Spirantho

If Gillou can create a debug-enabled version of his driver and you can connect the Serial line to another computer, you might be able to track the problem down.

Philippe 'Elwood' FERRUCCI
Sam460ex 1.10 Ghz
http://elwoodb.free.fr
Go to top

  Register To Post
(1) 2 »

 




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




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project