Notes about my presentation at Alchimie 4, & about DMA
Date 29-Sep-2004 11:16:20
The html pages which are available at http://s.guillard.free.fr/alc4/index.html are just an introduction slideshow that I presented as a starter, it does not relate what I shown and said afterwards. Please find below a couple of notes about my presentation at Alchimie show.
1 ? Show highlights
Here is a quick summary of the presentation I did :
- I booted with boot delays set to 1 second for UBoot and for SLB (second level booter), thus less than 20 seconds after power on, we were with a fully loaded Workbench with Amidock.
- I started with the small html slideshow, presented on IBrowse. You can find those pages at the URL above. IBrowse loaded in 2 seconds with its about : page fully displayed. Browsing through the pages of the slideshow was instantaneous.
- While we were at it, I browsed the OS4 install guide, also as fast as can be, must say I also find this responsiveness impressive myself :)
Then I demoed as many things as I had time to during the 2 hours I had. Everything worked, fast & stable, and was smooth and impressed. I showed mainly:
- All os4 system, tools, utilities, prefs & stuff
- MUI, IBrowse, Amitradecenter
- Yam, SimpleMail
- ClassAction (M. Elsner's file manager)
- MooVid running a DivX
- DVPlayer running an mpeg2
- AudioEvolution 4 with the demo project, cursors auto moving smoothly, the playback was smooth also, with mostly no CPU usage.
- AmiPDF with the AE4 manual and another heavy PDF file, very fast
- USB. I plugged a Microsoft IntelliMouse Optical into my USB hub, and we had 2 mice to control the system
- Crisot's slach5 winning demo (got applauses which it deserved)
- chip's rayrace realtime raytracer demo. When the juggler appeared, audience was impressed, but really took measure of what they were watching when I moved the mouse. Wait for the Altivec version !
- FPSE, AmiDog's PS1 emulator, with an oldskool game which ran nicely ('Cotton')
- some other visual toys I had at hand
The demos only grimreaped twice, and I anticipated the grims before they popped up :
- One was native glsokoban / w3d, when I launch it does a base page access (a ?null pointer? bug in glsokoban). I didactically shown the disassembly which is available in the grimreaper window, was a store to r4, r4 was null etc. I clicked on continue, and it all went fine & fast.
- One was frying pan 0.3.1, I shown the app, and at one point I said 'now it should grim? and it did. It still loaded fine though. I quit the app, clicked on reboot and less than 4 secs after, wb was up with amidock. That was the only reboot of the show.
I forgot to show (because of short time):
- Petunia... Almos, sorry, I had prepared something for that (side by side windowed jit & nonjit runs of voxelspace), but i both forgot, and was asked to stop at this point by the party organizers cause it was already 5:30 pm while I was scheduled until 4pm.
- USB with MassStorage (ie USB key or digital camera)
At the end, I had many fair questions to which I answered; my feeling is that the audience really appreciated the effort behind what I shown, and was conscious that we are not far away from a releasable 4.0.
Then came the expected question, 'and why doesn?t DMA work ?'
I said 'All what you saw was DMA since the 1st boot'.
I copied a few 100 MB files in a snap, with zero CPU (thanks to Pete Gordon for the clock/CPU docky, helps a lot). Then I switched to PIO, they saw 4 x slower and 80% CPU.
The audience understood that it was indeed DMA, and that was fast, and that was part of the overall smoothness of what I shown.
Then I explained the things below (this is the reference for my statements, please don?t rephrase or extrapolate or invent or whatever):
- IDE UDMA works on VIA and Articia on AmigaOne SE / XE / µA1 MK2 (as I demoed) ...
- ... except when the Ethernet chip goes online and is used.
- the Ethernet chip only triggers the problem, but it is not at all related to it (a test using a PCI Ethernet shows the same behaviour)
- We have made a driver for a Silicon Image 680 PCI IDE UDMA133 controller chip, this does UDMA 133 nicely, including when Ethernet is used at full speed.
- The fact that a PCI IDE controller solution works, shows that the problem is *not* related to Articia, since PCI DMA is *also* handled by the Articia, and that works.
- The full Alchimie show demo was done using UDMA, both from the VIA and from the Si680, without problem (but with Ethernet off, would the Ethernet have been turned online, I would have had to revert the VIA into PIO before).
- Things are currently under more investigation
In the meantime there are 2 options for existing A1 board owners:
- Use the VIA IDE controller in PIO mode when using Ethernet, and UDMA at other times,
- Purchase a faster (UDMA133) Silicon Image 0680 IDE PCI card (from around $20). This is my personally recommended option as the delivered speed is noticeable faster than the on-board VIA controller in UDMA mode.