IOMD development / issues
|
flibble will probably be along in a minute to say this, but using RPCemu as your primary RISC OS system would be very brave/foolish at the moment. It is still regarded as beta quality, and running with RO5 probably alpha quality if that! However if you are willing to take the risk, then I’m sure the developers will be very happy to receive any feedback :-) |
|
I’d suggest waiting for 0.8.7 to be released – there are a few RO5-related fixes that haven’t made their way into Mercurial yet. The last source I checked out didn’t even have working IDE emulation. |
|
Thanks for the advice. Sadly, I don’t have a whole lot of options for using RISC OS atm. My PC will be going to a good home soon, and I’ll only have my Mac left. For various reasons I don’t want to get involved with VRPC again if possible, so RPCEmu is the only choice. If I get it working, I’ll go carefully! Tom: Do you have any idea when 0.8.7 is likely to emerge? I’ll wait, as you suggest, for that to come out before having a try. The mailing list still seems to be down (for me at least), but I’d be happy to provide feedback there when I’m up and running. |
|
Succes! I am typing this message using !NetSurf on RO5 on RPCemu :-) Ingredients:
It even runs in 1600×900 32bpp !! obligatory screenshot will come soon(ish) The Dynarec version of RPCemu seems to be unhappy with RO5 a.t.m. Jan Rinze. |
|
Dynarec works fine if you apply my patch a few posts back. |
|
I have seen a one line patch that clears some bits in armreg15. Are there more? |
|
Tom, if you have done patches against the mercurial repo then typin ‘hg diff’ should get you the full patch. Would you be able to do that? we could try your patches then. P.S. i am running 64bit Linux. |
|
has anyone built allegro on osx 10.6.4 recently? im having trouble building it in xcode after using cmake to create the make files. |
|
Andrew, have you tried the allegro forum yet? those people know more about allegro on specific platforms |
|
No not yet just off to take a look at the allegro forums now. Hopefully it is something simple to solve. Edit: ok allegro is now installed i did the cmake again and used -G “Unix makefiles” instead of “Xcode” and it seemed to work. but now i still get the same error still when trying to built rpcemu checking for allegro-config… no checking for Allegro – version >= 4.0.0… no
|
|
.bq Tom, if you have done patches against the mercurial repo then typin ‘hg diff’ should get you the full patch. Okay, the following makes everything work : diff -r 3e1e0ae6ef40 src/ArmDynarec.c --- a/src/ArmDynarec.c Tue Aug 03 21:21:21 2010 +0100 +++ b/src/ArmDynarec.c Sat Aug 07 10:02:50 2010 +0100 @@ -740,6 +740,7 @@ // gen_func=(void *)(&codeblock[blocks[templ]>>24][blocks[templ]&0xFFF][4]); gen_func(); if (armirq&0x40) armregs[15]+=4; + if (mode&0x10) armregs[15]&=~3; if ((armregs[cpsr]&mmask)!=mode) updatemode(armregs[cpsr]&mmask); } else diff -r 3e1e0ae6ef40 src/ide.c --- a/src/ide.c Tue Aug 03 21:21:21 2010 +0100 +++ b/src/ide.c Sat Aug 07 10:02:50 2010 +0100 @@ -482,6 +482,7 @@ case 0x1F7: /* Command register */ ide.command=val; ide.board=ideboard; + ide_irq_lower(); // rpclog("New IDE command - %02X %i %i %08X\n",ide.command,ide.drive,ide.board,PC-8); ide.error=0; switch (val) @@ -542,6 +543,7 @@ return; case WIN_IDENTIFY: /* Identify Device */ + case 0xEF: ide.atastat[ide.board] = BUSY_STAT; idecallback=200; return; @@ -661,7 +663,7 @@ if (ide.reset) { ide.atastat[ide.board] = READY_STAT; - ide.error=0; + ide.error=1; ide.secount=1; ide.sector=1; ide.head=0; @@ -781,6 +783,7 @@ goto abort_cmd; case WIN_SETIDLE1: /* Idle */ + case 0xEF: goto abort_cmd; case WIN_IDENTIFY: /* Identify Device */ I haven’t tested on the 64-bit dynarec, but it works fine on 32-bit. There are also a couple of IDE fixes I completely forgot about until yesterday, hence why they haven’t been posted before. One thing to note – don’t use this to run RISC OS 4/6, I think one of the changes (the extra ide_irq_lower()) causes disc corruption. It’s needed for RO5 though. |
|
Well i have ditched my efforts with osx for now and have got rpcemu and the latest rom posted in this thread working on windows xp. |
|
I’ve (finally) got RO5 running on the Mico. There have been a few issues -
I believe the Mico needs its own ROM build, and possibly a slightly different HAL (for IDE at least), to be properly supported – I’m not aware of any way to differentiate it from other IOMD machines at runtime. Not sure what ROOL want here – I’m happy to do the work, but it’s for a very small audience. On top of that, to be fully functional it would need an ISA PnP implementation, a SoundBlaster-compatible SoundDMA module (probably not that hard), and network drivers (somewhat harder). If anyone’s interested I can provide an early softload ROM, but I suspect there are very few (if any!) people here with Micos. Unfortunately I think much the same effort would be needed to support the RiscStation. |
|
To decide if it is worth the effort of doing properly, (as opposed to using as a test), perhaps it is worth announcements on the portals, CSAA and to user groups or magazines, seeing how many people would actually use it. (Perhaps even contact APDL, because they sold them at one stage I think.) The network card was not usually supplied with the Mico, and the one you have was just the same model as MD supplied purchased from a random seller on ebay. If it turns out that most people don’t have a network card, that would solve one problem, and if it turned out that USB were viable to make work, then you could completely forget about the network card and use the USB adapters the BeagleBoard uses. |
|
I doubt USB is feasible – there’s no software to drive it for RO4.03, and I’m not even sure there’s any USB support in the FPGAs. Both of which make things quite difficult! |
|
I have quick question about using the softload rom post earlier in this thread, Where do i place all the different files if there is an existing post about using the softload rom then just direct me to that. I have it booting with the latest rpcemu build and the softload rom but get an error about the disk on boot which i imagine is because i haven’t put the files in all the right places. And Jan did you make any tweaks to allow you to adjust the screen resolution or did it just work out of the box? Thanks |
|
Which files are the problem? You just install !Boot and the rest in the root directory of the hard disc image. Back on the subject of development, I’ve confirmed that the IOMD port will not work with a 128mb SIMM in socket 2, but will if it’s in socket 1. This means everyone is okay except for RiscPC owners with 256mb RAM, though how many of those actually are there? |
|
My Kinetic has 288MB, what would the situation be there? I’m pretty sure I know of at least one standard RPC with 256MB, but it has adjust installed, as I would expect most RPCs with that much RAM would have. But wouldn’t every emulator potentially have 256MB? |
|
I doubt RO5 would work with a Kinetic no matter how much RAM is has. RPCemu maxes at 128mb at the moment, though it shouldn’t be too difficult to add a 256mb option. It’s certainly something that can be fixed. |
|
Floppy support is now in, and works fine from the command line. In the desktop however, you tend to get random aborts, which isn’t very helpful. Presumably some register corruption somewhere, though I haven’t been able to track it down yet. |
|
I now have a working RiscPC 700 with RISC OS 3.7 on it. The !Boot is the UniBoot from acorn.riscos.com. Should I be able to take Tom Walker’s IOMD softload (linked in this thread), put it in PreDesk and reboot? Because I’ve tried that and after I hit “y” to softload, a message flashes up about System:Modules.CLib (I think. It’s not on screen for very long). Then it drops me in to a RISC OS 3.7 desktop again. What am I missing? I’ve tried looking for some documentation but it either doesn’t exist (or not all in one place at least?) or I’ve missed it somewhere. Cheers. |
|
Got a bit further. Downloaded the !System update from the Iyonix website. This has resolved the CLib error I was getting in PreDesk when softloading. I see the following: “Yes – softloading. Softload version 1.13” And then it drops me back to a RISC OS 3.7 desktop. |
|
I think there’s a hard coded path in the softloader, I think it needs to sit in the top level. |
|
Thanks Jess. I changed the Launcher obey file so that ROM image is referenced as Using the ROOL softload download, my RPC hangs with no output and the keyboard doesn’t work (caps lock doesn’t turn on/off). Using Tom’s image I see the following: “Error: DataAbort:Abort on data transfer at &2000010C (Error Number &80000002)” After this is a star prompt and flashing cursor but the machine has frozen. It’s an RPC700 with 64Mb RAM (2×32Mb) and 2Mb VRAM. Has a few podules installed. IDEFS and CDFS, Computer Concepts LaserDirect and an i-cubed EtherLAN 600 NIC. I’ve yet to remove any of those, although I won’t be able to remove the IDEFS and CDFS podule or it won’t boot :) On another note, if I configure RPCEmu to use the same amount of RAM etc that my real hardware has, RPCEmu reports 72Mb of RAM during at the PreDesk stage? RPCEmu is 64Mb RAM and 2Mb VRAM which is the same as my RiscPC but that reports 66Mb? |
|
There have been a few reports of podules that claim to be 32bit compatible but which actually aren’t. Tom’s had problems with the Mico IDEFS podule, I’ve had problems with my Unipod, a machine that was used at a London club meeting had to have its USB podule removed, etc. So at a guess I’d say that it’s your IDE podule, but if you’re lucky it might be one of the less-critical ones :) In time it should be possible to hack the podule loader to detect and skip the bad podules.
Yes, the latest development version of RPCEmu seems to use a hard-coded VRAM size of 8MB. |