YASU – Yet Another Status Update

Hello there,

There is actually not much to tell you, except the small status update 🙂

The development of AROS for Efika is an interesting coding experience. Some parts come without any trouble, and are ready to use, stable and usable just out of the box. Others require a bit more patience and documentation reading.

I have put a whole bunch of modules into the Efika kernel and they do seem to work properly. As I wrote the last entry in my blog, efika kernel consisted of 23 modules. Now, there are 40! All of them seem to work :-D. The PCI driver for MPC5200B successfully scans the PCI bus full of interesting devices

[PCI] Adding driver PCINative (Efika5200 native direct access PCI driver) to the system  
[PCI] Scanning bus 0  
[PCIDevice] 00.10.0 = 1002:5960 (Video PC Compatible VGA)  
[PCIDevice] 00.10.1 = 1002:5940 (Video Other )  
[PCIDevice] 00.1c.0 = 1057:5809 (Bridge Other )  
[PCI_Efika] All OK 

The ATI hidd communicates with my TFT monitor using our I2C class.

calling InitResident(“radeon.hidd”, NULL)  
[ATI] Init  
[timer] OpenDevice(0)  
[ATI] Enumerator: checking productid 5960 vendorid 1002 00008904  
[ATI] Enumerator: found productid 5960 vendorid 1002 masked_check 0  
[KRN] KrnMapGlobal(80000000->80000000 08000000 0305)  
[ATI] Got framebuffer @ 80000000 (size=128MiB)  
[KRN] KrnMapGlobal(88000000->88000000 00010000 0305)  
[ATI] Got registers @ 88000000 (size=64KiB)  
[ATI] RomBase provided by ATI card: 88020000  
[KRN] KrnMapGlobal(88020000->88020000 00020000 0305)  
[ATI] Got BIOS @ 88020000 (size=128KiB)  
[ATIBMP] Bitmap at 0x6e640, size 16384 bytes (131072 bits)  
[ATI] Video BIOS not detected in PCI space!  
[ATI] Attempting to read Video BIOS using openfirmware  
[OF] OpenKey(‘/pci/display’)  
[OF] looking for child ‘pci’  
[OF] looking for child ‘display’  
[ATI] OF reported BIOS at ff1039b8  
[ATI] Legacy BIOS detected  
[ATI] Connector0: DDCType-2, DACType-1, TMDSType-0, ConnectorType-3  
[ATI] Connector1: DDCType-3, DACType-0, TMDSType–1, ConnectorType-2

The timer.device is ready and working. It uses slice timer which, at 33MHz timebase clock, has a minimal resolution of 7 microseconds. If it will be insufficient then I will try to change the clock used. Beloved dos.library complains that no bootable volumes have been found:

[DOS] __dosboot_IntBoot: Could not open bootmenu.resource, something’s wrong!  
[timer] OpenDevice(1)  
[DOS] __dosboot_IntBoot: Checking MountList for useable nodes:  
No bootable disk was found.  
Please insert a bootable disk in any drive.  
Retrying in 5 seconds…

The USB stack is working. It has found my USB stick, yet it is unsupported :))

[USBDevice::New] Address=02, Interface=00, Bus=0x899e4, Hub=0x899e4 
[USBDevice::New] Device 1d00:13fe 00/00/00 at address 000899e4:02  
[USBDevice::New] Default LangID=0904  
[USBDevice::New] iProduct = “DataTraveler 2.0”  
[USBDevice::New] iManufacturer = “Kingston”  
[USBDevice::New] iSerial = “5B72059F82DF”  
[USB] USBDevice::New() = 0x94804  

The Efikas MPC5200B CPU has built in OHCI USB controller. Yay! That was fun! Allthough all usual OHCI controllers work in little-endian mode (even the one in PPC based Sam440/Pegasos/AmigaOne and others!!). MPC5200B is different. Here, the whole OHCI chip is a big endian beast. Respect! And wasted time for me 😉

In order to complete the Efika bounty, I need to do

  • ata.device specific for MPC5200B. If I will do my best, DMA transfers will work.
  • Network driver for Efika. The rest of TCP/IP stack is already there.

But hey! How will you install AROS on harddrive then? Tftpboot? Hard to do. Remove harddrive and use another machine? Almost impossible and stupid. Well?…

There is a way. Allthough the Poseidon bounty is open, I cannot wait for this bounty. Instead, I will apply for the bounty number 25. What do you think about? Am I cruel? Evil? Will my work on USB mass storage be pointless in spite of Poseidon? Tell me what you think about – I’m ready for all kinds of criticism 😉

During next few days I will consider what has a higher priority right now: USB Mass Storage or ATA. 

Cheers 🙂

9 thoughts on “YASU – Yet Another Status Update”

  1. Does this bounty also include USB booting? AROS would fit perfect on a USB drive! 🙂

    I hope you take the bounty. I will donate some to the bounty when it is taken. So please hurry 🙂


  2. Just donated a small amount as promised 🙂

    Maybe I can have a USB key running AROS early next year? USB mass storage will be very handy for the eeepc bounty too 🙂


  3. Nice idea! You’re not wasting your time and we can’t wait for a sum of money to be reached, in order to have this useful feature!

  4. Regarding Poseidon, I think that your work will actually benefit. USB MASS STORAGE is just one of the USB stack abilities in nowadays. A range of I/O specific items are common (such as audio/scanning/printing…). POSEIDEN aims to get the lot working – that’s important since a lot of hardware is becoming very dependent on the USB, and offering little less I/O ports.

    So having USB mass storage will open the doors to the AROS users beyond keyboard and mouse and let them crave for more!


  5. I think Poseidon will still take some time although I am confident of Chris Hodges’ work ..you seem to be right in the flow, waiting would just slow you down so why to wait.. go with your motivation and get it done! 🙂

    Trzeba będzie porobić reklamy dla ARM’a !

    Pozdrowienia z Norwegii,


  6. well, the usb mass storage will also work on other aros isnt it? =o)


    ps: i wonder how much bug hunt was able thanks this arch ports!

  7. Go for the USB Mass Storage Michal!
    And like hardwired told, Serial-IO would be The Dream.

    @Zevs: AROS is bootable from USB for ages (I did it, using dd to put an AROS floppy image on an USB stick), that’s only that it couldn’t read the filesystem on those sticks once the kernel up. Implementation of the USB Mass Storage kills all those hassles.

Comments are closed.