Econet podule for RISCPC & A7000

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

Re: Econet podule for RISCPC & A7000

Postby danielj » Tue Sep 29, 2015 6:31 pm

5.76 :?

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

Re: Econet podule for RISCPC & A7000

Postby IanB » Tue Sep 29, 2015 9:54 pm

What clock speed is your StrongArm?

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

Re: Econet podule for RISCPC & A7000

Postby danielj » Tue Sep 29, 2015 9:57 pm

200mhz :?

d.

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

Re: Econet podule for RISCPC & A7000

Postby 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: 5603
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester
Contact:

Re: Econet podule for RISCPC & A7000

Postby 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: 5603
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester
Contact:

Re: Econet podule for RISCPC & A7000

Postby 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: 174
Joined: Sun Sep 04, 2011 7:28 pm
Contact:

Re: Econet podule for RISCPC & A7000

Postby 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: 22
Joined: Sun Jun 18, 2017 11:37 am
Contact:

Re: Econet podule for RISCPC & A7000

Postby 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: 505
Joined: Mon Aug 31, 2009 6:02 pm
Contact:

Re: Econet podule for RISCPC & A7000

Postby 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: 505
Joined: Mon Aug 31, 2009 6:02 pm
Contact:

Re: Econet podule for RISCPC & A7000

Postby 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: 174
Joined: Sun Sep 04, 2011 7:28 pm
Contact:

Re: Econet podule for RISCPC & A7000

Postby 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: 505
Joined: Mon Aug 31, 2009 6:02 pm
Contact:

Re: Econet podule for RISCPC & A7000

Postby 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.


Who is online

Users browsing this forum: Andrewcee and 2 guests