RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → General →

IOMD ROM - What's The Current Status

Subscribe to IOMD ROM - What's The Current Status 11 posts, 7 voices

 
Jun 12, 2011 8:11pm
Avatar Mitch (549) 4 posts

Is there any information on this.
What’s the current status.
Are people using it?

Is ther any docs on installing it ?

Thanks for any feedback
Mitch

 
Jun 13, 2011 4:56am
Avatar Trevor Johnson (329) 1652 posts

Hi. A few possibly relevant threads (but check the dates because some discussion points are likely to have been since resolved) are:

  • IOMD ROM issues
  • risc pc stable release
  • IOMD development / issues
  • RPCEmu and RISC OS 5.17

The wiki has:

  • Software information: IOMD ROM
 
Jun 13, 2011 12:47pm
Avatar Jeffrey Lee (213) 5824 posts

For the latest ROM image available on the downloads page, it looks like the wiki page is correct. However I know that most/all of Tom Walker’s fixes (from the “IOMD development/issues” thread) were added to CVS a few months ago. The problem is that the modules which he fixed (ADFS, SoundDMA, etc.) haven’t been enabled in the components file, so they’re still missing from the latest ROM images. I’ll try to find the time to have a quick play with it this week and see if everything works OK with the missing modules enabled.

Is ther any docs on installing it ?

Are you interested in using it on a real machine or under RPCEmu?

 
Jun 13, 2011 4:02pm
Avatar Steve Revill (20) 1337 posts

Thanks, Jeffrey. If I wasn’t going to India this weekend, I’d be looking at this next on my ToDo list. Not doing so will promote the stuff related to packaging into first place on my list.

 
Jun 20, 2011 11:49am
Avatar Jeffrey Lee (213) 5824 posts

I did some work on this this weekend. None of my changes are checked into CVS, but:

  • I managed to fix the problem with podules. The Podule module was correctly detecting that the podules weren’t 32bit compatible, then failing when it tried to use a dummy podule loader in place of the one in the podule.
  • Sound half works. On a 16bit system, both the 16bit and 8bit sound systems seem to work, and SoundScheduler seems to work, but something goes very wrong with Maestro, causing SoundScheduler to pull a duff return address from the stack from within the sound IRQ handler. That’ll be a fun one to track down. Not sure what will happen on a system without 16bit sound present.
  • ADFS half works too. IDE hard discs work. CDFS should work (it did in the past), but I can’t verify it at the moment since my CDROM currently doesn’t work at all (I think I must have accidentally unplugged it a few months ago when I swapped the HDD for a CF card). The floppy code needed a fix to stop ADFS from crashing during initialisation (it was using the wrong controller address). But I haven’t yet done anything to re-enable the old FIQ-based floppy code, so trying to access a floppy will cause a crash (it’ll be trying to use the DMA code that was added for the Iyonix)
  • I may have fixed the serial module, but haven’t checked that it works yet.

Things I haven’t looked at yet:

  • The Parallel module. Should be easy enough to fix.
  • Resets. This is a tricky one, since unlike the Iyonix, Beagle, etc. there’s no software reset functionality built into the hardware. So I think I’ll have to resurrect some of the old pre-HAL reset code which dealt with disabling the MMU & restarting the ROM image.
  • DMAManager. Apart from the parallel module, I think this is the only module that’s missing when compared to a standard RiscPC.
  • The sound setup plugin – it needs tweaking to fall back to the old version if SoundControl isn’t present
  • Keyboard scan at boot. I’m guessing it won’t be too tricky for me to get the old pre-HAL code working within the IOMD HAL.

Since I don’t have a massive amount of time for this (I’m meant to be fixing things for Andrew Rawnsley ;-)) I think tonight I’ll aim to fix a couple of the simple things (serial/parallel), disable floppies, then check in my changes so far. Then some time later I should be able to return to look at the rest.

 
Jun 20, 2011 7:11pm
Avatar Tom Walker (419) 44 posts

Sound half works. On a 16bit system, both the 16bit and 8bit sound systems seem to work, and SoundScheduler seems to work, but something goes very wrong with Maestro, causing SoundScheduler to pull a duff return address from the stack from within the sound IRQ handler. That’ll be a fun one to track down. Not sure what will happen on a system without 16bit sound present.

My bad (yet again). In hdr.Sound, SoundSystemNIL must be &00000003.

 
Jun 20, 2011 7:36pm
Avatar Jeffrey Lee (213) 5824 posts

My bad (yet again). In hdr.Sound, SoundSystemNIL must be &00000003.

I’ve already found and fixed that – IIRC the original value meant that SoundScheduler, or the 8-bit sound system, didn’t even get called at all. Unless I’ve messed up, this new problem is something different.

 
Jun 22, 2011 1:23am
Avatar Jeffrey Lee (213) 5824 posts

Slightly later than I was hoping, but my changes are now in CVS. Briefly:

  • 26bit podules shouldn’t cause the machine to crash on boot anymore
  • Sound works (except for the Maestro/SoundScheduler crash as mentioned above)
  • ADFS hard discs & CD-ROMs work. Floppy support is disabled (in ADFS.s.Adfs19) since it doesn’t work yet.
  • Serial & parallel ports seem to work. If you want to use the serial port with the serial block drivers, I’d suggest using the Internal32 driver. The Internal & InternalPC drivers won’t work because they aren’t 32bit compatible (or at least the versions I have aren’t). AFAIK there aren’t any API changes between 3.x and 5.x, so there shouldn’t be anything stopping you from making 32bit versions of Internal/InternalPC if you so wish.
  • The draw module should work on non-StrongARM systems now (the old version was unconditionally using long multiply instructions).

There’s a ROM image here if anyone wants to try it out. I’ll probably upload a slightly better one (i.e. include the softload tool) and update the wiki/other docs sometime tomorrow.

 
Jun 22, 2011 7:03am
Avatar Rob Heaton (274) 485 posts

Nice work! I’ll try out the new ROM tonight!

 
Jun 27, 2011 3:57pm
Avatar Jeffrey Lee (213) 5824 posts

There’s now a new ROM image on the downloads page which includes all my changes, and an improved softload tool. Apart from (hopefully) fixing this bug to do with softloading on a ROM patched 4.02 system, the tool should now work properly when run from within the RO 5 IOMD ROM (e.g. if you want to unload the softload without having to power cycle the machine).

 
Jun 27, 2011 5:48pm
Avatar Leo Smiers (245) 50 posts

Jeffrey. Lots of thanks for your continuing work. I type this reply with the mentioned IOMD rom running in rpcemu version 0.8.8 on a Vista laptop. Oh and I use the latest !netsurf build.
I should also thank the developers of rpcemu and netsurf.

Reply

To post replies, please first log in.

Forums → General →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

General discussions.

Voices

  • Mitch (549)
  • Trevor Johnson (329)
  • Jeffrey Lee (213)
  • Steve Revill (20)
  • Tom Walker (419)
  • Rob Heaton (274)
  • Leo Smiers (245)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys