Econet podule for RISCPC & A7000

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

Re: Econet podule for RISCPC & A7000

Post by danielj » Tue Sep 29, 2015 6:31 pm

5.76 :?

IanB
Posts: 179
Joined: Sun Sep 04, 2011 7:28 pm
Contact:

Re: Econet podule for RISCPC & A7000

Post by IanB » Tue Sep 29, 2015 9:54 pm

What clock speed is your StrongArm?

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

Re: Econet podule for RISCPC & A7000

Post by danielj » Tue Sep 29, 2015 9:57 pm

200mhz :?

d.

IanB
Posts: 179
Joined: Sun Sep 04, 2011 7:28 pm
Contact:

Re: Econet podule for RISCPC & A7000

Post by IanB » Wed Sep 30, 2015 12:25 am

What type of client machines have problems? (e.g. bbc micro / A5000 etc)

What sort of Econet clock are you using and what is the exact clock speed?
I think 200Khz is the maximum I tested. Have you tried reducing the Econet clock speed as it's possible another delay needs to be added somewhere in the code when running the network at the maximum clocks speed.

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

Re: Econet podule for RISCPC & A7000

Post by danielj » Wed Sep 30, 2015 5:25 am

RiscPC, A3020, Master and BBC micro. I'm running at 250khz off a beebmaster clock (period 4us, Mark 1us at the mo). I'll try it with a reduced speed this evening and see if that improves things! I'm probably running at the limit of what the beebs and masters like anyway, but they are happy with the A3020 file serving.

Thanks for picking this up :)

d.

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

Re: Econet podule for RISCPC & A7000

Post by danielj » Wed Sep 30, 2015 7:03 pm

Okay. Works fine at 200kHz, garbage at 250kHz, dipping slightly from that to 235kHz is also fine. :)

I'm happy running at that sort of speed, but interested to see what's going on if you do want to work out where the issue is :)

d.

IanB
Posts: 179
Joined: Sun Sep 04, 2011 7:28 pm
Contact:

Re: Econet podule for RISCPC & A7000

Post by IanB » Wed Sep 30, 2015 10:20 pm

Well I think Acorn recommended 200Khz max as 250Khz was marginal under certain circumstances.
e.g. When using a 6502 second processor 200Khz was the limit.

However, the likely problem in this case is that the turnaround time is too fast.
i.e. the RISC PC with StrongArm is likely replying to packets so fast that the BBC hasn't got enough time to get ready to receive after sending a transmission. Slowing the clock gives just enough breathing room.
Does the A3020 work with the RISCPC at 250Khz?

gazzaD
Posts: 33
Joined: Sun Jun 18, 2017 11:37 am
Contact:

Re: Econet podule for RISCPC & A7000

Post by gazzaD » Sat Jan 06, 2018 12:18 am

Is 2.5 years too long to write a me too on the end of this thread?

Even if it is, I don't care, as I've got a RiscPC on my Econet for five quids worth of parts from RS, and an Econet module!

The parts being
Prototyping board FR2 DIN type RE060-HP - RS Stock no.: 206-5504
Eurocard DIN41612 C,3row,r/a,96 pin - RS Stock no.: 720-0702
should anyone be interested.
Gareth

User avatar
IanS
Posts: 591
Joined: Mon Aug 31, 2009 6:02 pm
Contact:

Re: Econet podule for RISCPC & A7000

Post by IanS » Sun Jan 07, 2018 9:16 pm

So I've been trying to make a full Econet podule - viewtopic.php?f=41&t=5594&start=4320#p189894

Each bit works ok, I just need a bit of help getting them to work together.

With a single byte = 0x08 in the rom, the Econet module works fine. With an extended podule id, and a rom loader (much frustration getting that working), I can get multiple modules loaded at power-on, but the Econet module doesn't work. As I think the FindPoduleLoop is failing to find the hardware.

From my reading of the Econet module source, it's looking for a simple ID of SimpleType_DigitalJoystick or SimpleType_Econet, or an extended ID of ProdType_Econet. I'm just not sure what the value of ProdType_Econet should be.

From PoduleReg,v in the RISC OS Open Source tarball, there is the following code:-

Code: Select all

ProdType_Econet             # 1 ; 7  Acorn [&00]
 ^ 19
Does anyone know what ProdType_Econet will be set to from that. (I tried setting the Podule Product Code = 7 in the Rom builder, but it's didn't work)

Code: Select all

FindPoduleLoop
        DECS    r3
        BMI     AddressUnknown
        [       DebugFindHardware
        BREG    r3, "Podule_ReadInfo: R3 = &"
        ]
        MOV     r0, #Podule_ReadInfo_SyncBase + Podule_ReadInfo_ID + Podule_ReadInfo_Type
        MOV     r11, #-1
        Push    "r10, r11, r14"                         ; Create a stack frame
        MOV     r1, sp
        MOV     r2, #12
        SWI     XPodule_ReadInfo
        Pull    "r10, r11, r14"
        [       DebugFindHardware
        DREG    r10, "Syncronous base address = &"
        BREG    r11, "ID = &"
        DREG    r14, "Type = &"
        ]
        BVS     FindPoduleLoop

        TEQ     r11, #SimpleType_DigitalJoystick * 8    ;* Podule Econet with no simple ID or EPROM 
        BEQ     AddressKnown                            ;*

        TEQ     r11, #SimpleType_Econet * 8             ;Podule Econet with simple ID
        BEQ     AddressKnown
        TEQ     r11, #0
        TEQEQ   r14, #ProdType_Econet
        BEQ     AddressKnown
        B       FindPoduleLoop
AddressUnknown
        LDR     r10, =EconetController                  ; If not from a podule
AddressKnown
Any ideas?

User avatar
IanS
Posts: 591
Joined: Mon Aug 31, 2009 6:02 pm
Contact:

Re: Econet podule for RISCPC & A7000

Post by IanS » Sun Jan 07, 2018 10:43 pm

So I dissassembled the econet module, to find that it was looking for "7" for ProdType_Econet.

If I run "Podule_ReadInfo" (as the module does), with the bitmask &62, I don't get 7 from from the podule for the product type, I get a zero.

I'll try some other podules for comparison, as my Rom has "7" at byte 3.

IanB
Posts: 179
Joined: Sun Sep 04, 2011 7:28 pm
Contact:

Re: Econet podule for RISCPC & A7000

Post by IanB » Tue Jan 09, 2018 1:10 am

IanS wrote:So I've been trying to make a full Econet podule - viewtopic.php?f=41&t=5594&start=4320#p189894
Very interesting! Looks like it can take a standard Econet module as well as discrete components.
IanS wrote:If I run "Podule_ReadInfo" (as the module does), with the bitmask &62, I don't get 7 from from the podule for the product type, I get a zero.
If you can't get the right result from Podule_ReadInfo then it's unlikely to be a problem with the Econet module although that bit of code hasn't been tested on an extended ID in a podule. (It obviously worked on the Econet NIC and it seems to scan through all ROM sections in R3 so should work on podules.)

Are you planning on selling PCBs?

User avatar
IanS
Posts: 591
Joined: Mon Aug 31, 2009 6:02 pm
Contact:

Re: Econet podule for RISCPC & A7000

Post by IanS » Tue Jan 09, 2018 12:55 pm

IanB wrote:
IanS wrote:So I've been trying to make a full Econet podule - viewtopic.php?f=41&t=5594&start=4320#p189894
Very interesting! Looks like it can take a standard Econet module as well as discrete components.
Correct, Econet hardware modules are getting expensive, and apart fro the adlc, the other parts are easy to find. So I made it so you can fit either. It also can be fitted with a Simon Inns design of clock, and terminator.
IanB wrote:
IanS wrote:If I run "Podule_ReadInfo" (as the module does), with the bitmask &62, I don't get 7 from from the podule for the product type, I get a zero.
If you can't get the right result from Podule_ReadInfo then it's unlikely to be a problem with the Econet module although that bit of code hasn't been tested on an extended ID in a podule. (It obviously worked on the Econet NIC and it seems to scan through all ROM sections in R3 so should work on podules.)
At the time of testing I don't think I even had the Econet module in the rom (it was still in the boot sequence). As I had an extended ID, it wasn't being found via the simple podule ID's, so I had a quick look at the module source, and it looked like it was looking for a product ID of 7. But when I ran Podule_ReadInfo from a test basic program I got a zero. When I tried another podule, the value returned was the value in byte 3. So I need to look at how the rom is created.

I'm using a modified version of http://www.stardot.org.uk/forums/viewto ... an#p179234 (Thanks Steve). It is only modified in that it is hard-coded to not prompt for anything, I got fed up re-typing values and names whilst trying to get a working rom (most of my problem were with the podule loader). It also means I have a record of exactly how I created the rom when it starts working.
IanB wrote:Are you planning on selling PCBs?
I had 10 made, so I will have a few spare. I'd be happy to send you one, without your work on the software module, the PCB wouldn't have been possible. I still need to make a few changes to the GAL to support writing to the flash rom. It's read-only at the moment, but it would be nice to be able to re-flash it from within RISC OS.

User avatar
lcww1
Posts: 230
Joined: Wed Mar 15, 2017 11:16 pm
Location: East of the Sun and West of the Moon
Contact:

Re: Econet podule for RISCPC & A7000

Post by lcww1 » Sat May 05, 2018 1:14 pm

Inspired by this thread, I designed this PCB:
72777BCF-7FA3-4B52-B8A2-571ADC0D9F8D.jpeg
econet module podule pcb
so that I could build this:
EB253480-D3EB-486B-B436-0C5ECAFE483B.jpeg
RiscPC Econet Podule
to get my RiscPC onto my Econet - the main benefit of this pcb is easy assembly and the fact that it doesn’t collide with the DOMs fitted into the RapIDE podule in the podule slot below.

My RiscPC is running RO 4.39. I’ve run into trouble when trying to load the modified Econet module posted above - I get the following error;

File ‘Resources:$.Resources.Econet.Messages’ not found

and the Econet module won’t load. I’ve got AUN enabled.

Downgrading to RO 4.02 results in a different error message when trying to load the Econet module - ‘No network hardware’.

Has anyone got the modified Econet module running on RO 4.02 or 4.39?

I’ll have a go on an A7000 with RO 3.70 later.
Last edited by lcww1 on Sat May 05, 2018 2:39 pm, edited 1 time in total.

User avatar
1024MAK
Posts: 7423
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Econet podule for RISCPC & A7000

Post by 1024MAK » Sat May 05, 2018 2:06 pm

Nice work with the PCB 8) :D

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
lcww1
Posts: 230
Joined: Wed Mar 15, 2017 11:16 pm
Location: East of the Sun and West of the Moon
Contact:

Re: Econet podule for RISCPC & A7000

Post by lcww1 » Sat May 05, 2018 8:17 pm

Thanks Mark! But beauty of this pcb is superficial - the pcb is flawed (IanS has given me some pointers to improve it - thanks Ian!), and I'll make a revised version in due course.

Meanwhile, I'm stumped with the Econet module - the podule shows up as Digital Joysticks, which I think is what's supposed to happen, so I presume the hardware side is ok? I just can't figure out what to do about the missing Resources.Econet.Messages.

User avatar
lcww1
Posts: 230
Joined: Wed Mar 15, 2017 11:16 pm
Location: East of the Sun and West of the Moon
Contact:

Re: Econet podule for RISCPC & A7000

Post by lcww1 » Sat May 05, 2018 10:47 pm

So, further investigation shows that the Econet resources were apparently removed from the RO 4.39 Messages module, hence the error on trying to load the Econet module on that version of RO. It therefore looks as though a new version of the Messages module would be required to get Econet running on RO 4.39.

The Econet resources are present in the RO 4.02 Messages module, but in this case I get the 'No network hardware' error message on loading the Econet module. Interestingly, my podule is listed as 'Digital Joysticks' under RO 4.39, as expected, but doesn't show up at all under RO 4.02. So, I think that I must have a hardware error, alas.

I've attached my pcb Eagle files in case anyone is interested - I must have made a mistake somewhere...... #-o

Edit: Replaced attached file with corrected version of podule Eagle pcb
RevisedEconetModulePodule.zip
Revised Econet module podule Eagle files
(28.6 KiB) Downloaded 8 times
Last edited by lcww1 on Sun May 06, 2018 11:53 am, edited 1 time in total.

User avatar
lcww1
Posts: 230
Joined: Wed Mar 15, 2017 11:16 pm
Location: East of the Sun and West of the Moon
Contact:

Re: Econet podule for RISCPC & A7000

Post by lcww1 » Sun May 06, 2018 11:33 am

So, I found the error on my pcb after scouring the schematic in eagle and thoroughly testing the board with a multimeter - I had a trace inadvertently linking pins 4 and 11 of the econet module #-o

Anyhow, this error was easily fixed on the pcb with a couple of track cuts and bodge wires - and lo and behold it’s all working now (on RO 4.02)!
4A7AF866-1A99-4327-81F1-A5884A052ED8.jpeg
RiscPC on Econet
I’ve revised my pcb in Eagle, and I’ll replace the file I uploaded above with the corrected version. It’s still an autorouted monstrosity, but hey, at least it works now! :D

User avatar
1024MAK
Posts: 7423
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Econet podule for RISCPC & A7000

Post by 1024MAK » Sun May 06, 2018 12:26 pm

lcww1 wrote:I think that I must have a hardware error, alas.
lcww1 wrote:I've attached my pcb Eagle files in case anyone is interested - I must have made a mistake somewhere...... #-o
Yeah, no matter that the first version did not work, 'cuz it looks nice... :^o
But more importantly, you put the effort in and posted your files here. And then found the problem and fixed it :D

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

Post Reply