Unpicking and re-creating Etherlan 550 ROM

Arc/RPCs, peripherals, RISCOS operating system & ARM kit eg GP2x, BeagleBoard
User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Fri Sep 01, 2017 12:10 pm

I think I need some hand holding here...

I'm having a look at these Etherlan 550s from PhilB with a view to updating the flash ROM to have sensible drivers on them (rather than the NETSTB module which hijacks the machine). ROM is attached. I'm having a hard time marrying what's in the ROM to what's in the PRM documentation:
http://www.riscos.com/support/developer ... html#23013

Is anyone able to shed some light and talk me through how this thing's arranged? (and therefore what the format needs to be if I decide to roll a replacement with the relevant EtherH and networking modules in it..)

TIA :?

d.
Attachments
Etherlan550.zip
(64.56 KiB) Downloaded 8 times

RobC
Posts: 1823
Joined: Sat Sep 01, 2007 9:41 pm

Re: Unpicking and re-creating Etherlan 550 ROM

Postby RobC » Fri Sep 01, 2017 12:49 pm

I think you have to read that extended ECId table from bottom to top (i.e. the first byte is at the bottom). The start of your ROM dump goes:

Code: Select all

00 : Acorn conformant, FIQ/IRQ relocated
03 : 8-bit code, interrupt status pointers follow ECId, Chunk directory structure follows interrupt status pointers
00 : Reserved
D4 00 : Product type is Etherlan xxx
46 00 : Manufacturer is I-Cubed
00 : Country code is UK


The interrupt status pointers and chunk directory structure should follow. I have successfully built a simple podule ROM as I used it when I made my prototype network podule.

However, Steve3000 has a tool for building podule ROMs with chunk directories - I have a copy somewhere and will try to dig it out. Or it might be worth contacting him directly as he knows more about this stuff...

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Fri Sep 01, 2017 1:09 pm

Thanks Rob - that's helpful. I'll point Steve at this. The bit that was really confusing me was the n to n-16 stuff at the end of the ROM image - that really doesn't seem to tally :(

d.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Sat Sep 02, 2017 6:58 am

I've had a chance to inspect the EtherLan550 ROM using my ROM extractor/builder tools and attached the files here, along with my ROM builder/extractor tools for all to use :)

FYI - The important "Second chunk directory" offset still needs to be located manually with v1.1 of my extractor tool and I found this directory at offset &BC - so you will need to enter this location into the extractor to pull out the same files as I've done here.

Details of the ROM are as follows:

Code: Select all

EtherLan550 ROM decode

Country 0 (UK)
Manufacturer &46
Product type &D4
8-bit code follows after byte 15
Interrupt status pointers present
Chunk directory present after interrupt pointers
Conformant expansion card
Request FIQs - clear
Request IRQs - clear

First header at &00, 1 file:

File 1 at &1C, 160 bytes, type RISC OS data, Loader

Second header at &BC, 11 files:

File 1 at &5C, 56 bytes, type 5 device data, description
File 2 at &94, 28 bytes, type 4 device data, place of mfr
File 3 at &B0, 28 bytes, type 2 device data, date of mfr
File 4 at &CC, 4 bytes, manufacturer data, D[3:0]=0
File 5 at &1FEC4, 128 bytes, manufacturer data, D[3:0]=1
File 6 at &D0, 50412 bytes, type 1 RISC OS data, relocatable module
File 7 at &C5BC, 1956 bytes, type 1 RISC OS data, relocatable module
File 8 at &CD60, 8924 bytes, type 1 RISC OS data, relocatable module
File 9 at &F03C, 14880 bytes, type 1 RISC OS data, relocatable module
File 10 at &12A5C, 9280 bytes, type 1 RISC OS data, relocatable module
File 11 at &14E9C, 672 bytes, type 1 RISC OS data, relocatable module

As you see from the above, this podule ROM includes some manufacturer specific data files. These cannot yet be included using the attached v1.1 of my ROM builder tool (only because I've never had a need to include this type of data...), so I'll need to update my code to allow for this. Shouldn't be too difficult though, I'll try to get an updated version out soon, which can then re-build this ROM and then allow for changes to be made...

Daniel - are you able to use the card with the original ROM and would you be able to confirm it still works with a rebuilt ROM? This is really needed before we try modifying things, because if I rebuild the ROM with my tool (even using all the original files), it will be laid out slightly differently due to the build process my tools use. It should build to a 128kb ROM file.
Attachments
EL550files.zip
Extracted files from EL550 ROM
(65.51 KiB) Downloaded 11 times
ROMtools_v1-1.zip
RISC OS ROM tools v1.1
(6.66 KiB) Downloaded 8 times

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Sat Sep 02, 2017 8:15 am

Hello,
Thanks for having a look at this Steve :)
Yes, I can use the card with the original ROM - I have to *unplug the cmosreset, bootp and stbnfs modules otherwise I end up in a world of pain :D. Can easily burn a new version to the flash eeprom too. Just to double check - you've not yet generated a rebuilt ROM, right?

d.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Sat Sep 02, 2017 9:19 am

Nothing yet as I need to modify my ROM build tool first.

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Sat Sep 02, 2017 11:06 am

Good good, just checking I wasn't being dim :D

d.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Mon Sep 04, 2017 9:48 pm

Ok, here is a ZIP containing two rebuilt ROMs for EtherLan550.

The first imaginatively titled rom "NewROM", contains all the same data and modules as the original EtherLan550 ROM which Daniel posted above.

The second, even more imaginatively titled "NewVPROM", contains all the above, plus the VProtect v3.8 module (I just picked this at random because it fitted in the available space!).

Daniel - if you can try burning and testing the "NewVPROM" first - if this works, ie. the card functions OK, all original modules and VProtect are present, then things are going well and we can start deleting modules in the next build. If this doesn't work, try the "NewROM", to see if this works as it really should.

If everything is OK, I'll also post up my updated ROM builder tool, so everyone can have a go :)
Attachments
EL550test.zip
Two test rebuilt ROMs for the EtherLan550
(139.64 KiB) Downloaded 8 times

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Tue Sep 05, 2017 7:10 am

Awesome, Steve. I'm going to try this this evening. Need to remember to save my cmos first as the blasted cmos killer module sets everything to something daft. :D

d.

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Tue Sep 05, 2017 3:13 pm

OK. Firstly the 29F010 on the board is protected, so my programmer won't read it :( Secondly (hooray) - I have a 28F020 which seemed to work with the top half filled with FF :) - I wonder if we can get away with filling the entire eeprom?

Vprotect caused all sorts of shouting about obey files on boot, but I was still able to use the card fine. EtherH unplugged automatically and was replaced by the more recent version in my boot sequence, and I was able to ping my router happily.

Does that sound like we're good to go?

d.
Attachments
DSC_2864.JPG

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Tue Sep 05, 2017 5:23 pm

danielj wrote:OK. Firstly the 29F010 on the board is protected, so my programmer won't read it :( Secondly (hooray) - I have a 28F020 which seemed to work with the top half filled with FF :) - I wonder if we can get away with filling the entire eeprom?

There's probably a link on the card which selects ROM size, if it's set at 128kb, then that's what you get - and overfilling the ROM will cause an error on startup as the second half of the data won't be available. The loader code may have a software cut off, but that would be unusual. I'd suggest checking the extra address line pin for the lager ROM size and ensure it is connected to the address selection latch on the card and not just tied low.
danielj wrote:Vprotect caused all sorts of shouting about obey files on boot, but I was still able to use the card fine.

Good stuff! Have you checked for viruses recently? :wink:
danielj wrote:EtherH unplugged automatically and was replaced by the more recent version in my boot sequence, and I was able to ping my router happily.

Does that sound like we're good to go?

Ohh yes! :)

If you can tell me what modules you would like included (and post them up if possible) and importantly which you'd like excluded, I'll build a new ROM.

I'll post the new build tool tonight, so you can experiment too.

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Tue Sep 05, 2017 7:02 pm

Soo - how do I save modules out of a ROM without popping the lid on my A3020? I need to get ADFSFiler 0.69 out of my Etherlink 100 :( -> I think that's what makes it play nicely with ShareFS, as ShareFS isn't working happily on the A5000 which only has 0.61 (from ROM)...

Working on the rest of them at the moment!

d.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Tue Sep 05, 2017 7:59 pm

danielj wrote:Soo - how do I save modules out of a ROM without popping the lid on my A3020? I need to get ADFSFiler 0.69 out of my Etherlink 100 :( -> I think that's what makes it play nicely with ShareFS, as ShareFS isn't working happily on the A5000 which only has 0.61 (from ROM)...

Working on the rest of them at the moment!

d.

Do you use !Zap? If so just use the icon bar menu, and there should be an option to extract the module of you choice.

Otherwise, from memory... I think the 4 bytes immediately before the start address of the module in RAM should contain the length of the module... Then *Save...

philb
Posts: 118
Joined: Sat Aug 05, 2017 6:05 pm

Re: Unpicking and re-creating Etherlan 550 ROM

Postby philb » Tue Sep 05, 2017 8:07 pm

http://mdfs.net/Apps/Networking/ARMLib.zip seems to have an "RMSave" utility which I assume does the opposite of RMLoad.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Tue Sep 05, 2017 8:26 pm

As promised, here are my ROM image extract and build tools v1.2.

To modify the content of a Podule ROM, it is easiest to extract everything from the existing Podule ROM, taking note of the header information and the different file and data types, because you will need to enter these when rebuilding the ROM. Also note that Podule ROMs usually have two "Chunk directories" the first containing a "loader" and the second immediately after the loader, containing all the data files and modules.

A copy of the RO3 PRMs (Vol4) and a lot of reading about Podule ROMs and Extension ROMs is also recommended :)

Steve
Attachments
ROMtoolsV1-2.zip
Extension and Podule ROM build tools v1.2
(7.59 KiB) Downloaded 12 times

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Tue Sep 05, 2017 8:42 pm

No !Zap - RMSave does the job. I've not used floppies so much in years!

Attached are modules - Ditch Internet - not enough room. If still no space (didn't get out the calculator), ShareFS should go too...

RiscOS format zip :)

d.
Attachments
EtherMods.zip
(150.96 KiB) Downloaded 14 times

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Tue Sep 05, 2017 9:08 pm

Any idea what order these need to be initialised? Can you check your !Boot?

...and Internet module is over 140kb itself, so that won't fit :(

As you said - ShareFS a bit too large too. So both ditched :(

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Tue Sep 05, 2017 9:13 pm

Can we copy the order that they were in the EtherLan 100? In which case:
MbufManager
EtherH
AUNMsgs
{Internet}
{Net}
BootNet
Freeway
ShareFS
ADFSFiler

d.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Tue Sep 05, 2017 9:24 pm

Here you go :)

Hope this works!
Attachments
EL550_V2_ZIP.zip
Rebuilt EtherLan550 ROM
(44.26 KiB) Downloaded 12 times

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Tue Sep 05, 2017 9:30 pm

Thanks Steve, I'll give it a whirl tomorrow now as I've turned everything off :D

Do you know what the additional files actually are? One has the MAC address in it.

d.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Tue Sep 05, 2017 9:40 pm

danielj wrote:Thanks Steve, I'll give it a whirl tomorrow now as I've turned everything off :D

Do you know what the additional files actually are? One has the MAC address in it.

The Mac address is in the ASCII file used for the podule description text. I assume this address is read from the description by EtherH during setup...

Then there's the place of manufacture and date. Both are standard meta data for podules. There are also two small 'manufacturer specific' data files, which I have no idea about, but possibly could be related to the set top box usage. The rest are modules.

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Wed Sep 06, 2017 5:58 pm

Weeeeee!
DSC_2870.jpg

DSC_2871.jpg

DSC_2872.jpg


I think the Net module needs to be in there otherwise bootnet barfs, but other than that we're cooking on gas! Thank you Steve! :) I'll have a play with rebuilding later :)

d.

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Wed Sep 06, 2017 7:11 pm

Can I just check, when building this, which file is the loader? :?

d.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Wed Sep 06, 2017 7:31 pm

Great to see it working!

Have a go at rebuilding. Just keep notes of everything you extract handy for when you rebuild and all should be well.

If not, post up the module you need and I can try again.

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Wed Sep 06, 2017 7:33 pm

I'm missing the loader from &1C - it doesn't seem to get saved anywhere :(

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Wed Sep 06, 2017 8:27 pm

Ergh :( I'm struggling here - I'm trying to build it now even without Net and BootNet and it's saying there's not enough space for the modules :?

Can't work out what I'm doing wrong... I'm assuming I select type 7 for Device Data, followed by, for example 5 for description, 4 for place etc...

But then it's just a question of module 7 times and it claims it's too big :?

d.

Edit - Steve - I've uploaded the Net module here. It needs to go before bootnet. If it doesn't fit, bootnet needs ditching too. I do need to work out what I'm doing wrong though, as I've got more roms to build for other cards which will have other MAC addresses...
Attachments
Net.zip
(14.69 KiB) Downloaded 6 times

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Wed Sep 06, 2017 11:32 pm

danielj wrote:I'm missing the loader from &1C - it doesn't seem to get saved anywhere :(

If you run the extractor and just hit return, rather than enter a second chunk directory address, it'll find and extract the loader in the first chunk.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Wed Sep 06, 2017 11:39 pm

danielj wrote:Ergh :( I'm struggling here - I'm trying to build it now even without Net and BootNet and it's saying there's not enough space for the modules :?

Can't work out what I'm doing wrong... I'm assuming I select type 7 for Device Data, followed by, for example 5 for description, 4 for place etc...

In the second chunk directory? Sounds right. The manufacturer data then goes in after these. Don't enter any description or date manually as these are included in the extracted files.
danielj wrote:But then it's just a question of module 7 times and it claims it's too big :?

Yes, should be correct.

Pop all 11 files plus the loader into a single directory on your hdd and count them. If smaller than 127.5kb they should fit with no problem.
danielj wrote:Edit - Steve - I've uploaded the Net module here. It needs to go before bootnet. If it doesn't fit, bootnet needs ditching too. I do need to work out what I'm doing wrong though, as I've got more roms to build for other cards which will have other MAC addresses...

Certainly, will take a look tomorrow.

steve3000
Posts: 1711
Joined: Sun Nov 25, 2012 12:43 am

Re: Unpicking and re-creating Etherlan 550 ROM

Postby steve3000 » Wed Sep 06, 2017 11:43 pm

Looking at the Net module size, it's 29kb. I'm pretty sure the other modules came to just over 100kb when I counted them yesterday, so that won't fit...but try counting them on your hdd, to check.

Also, consider, do you really need ADFSFiler in there?

User avatar
danielj
Posts: 5367
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Unpicking and re-creating Etherlan 550 ROM

Postby danielj » Thu Sep 07, 2017 5:32 am

That version of adfs filer makes sure you get the Share menu. It's more important to have that on there than bootnet and net I think (in the modern day and age!) :D

I'll have another stab at it today... :?


d.


Return to “hardware”

Who is online

Users browsing this forum: No registered users and 4 guests