Econet for Atom

emulators, hardware and classic software for atom + system machines
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

Ok, before jumping in and reprogramming the PIC, I thought I'd read the current contents. I assume this reads both the bootloader, and the main firmware, but I'm not too sure about that. It did read the config too, and it seems a pretty close match to the config you posted. I also read the EEPROM, and could see the *CFG parameter hiding in there!

Out of interest, where did you pick up your config parameters from???

My Atom is in bits right now, trying to repair my '6' key, but I'm struggling, so will probably come back to that another day. It's time someone came up with a better solution. We can surely do something better now that we can print out our own frames???
Config
Config
EEPROM
EEPROM
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

KenLowe wrote: Wed Dec 21, 2022 5:05 pm I thought I'd read the current contents. I assume this reads both the bootloader, and the main firmware, but I'm not too sure about that.
Yes it includes both.

The Boot Loader is 0x0000-0x0FFF and the Main Firmware is 0x1000 onwards.

This split as an AtoMMC thing - the PIC just treats it all as program data.
KenLowe wrote: Wed Dec 21, 2022 5:05 pm It did read the config too, and it seems a pretty close match to the config you posted. I also read the EEPROM, and could see the *CFG parameter hiding in there!
It does look similar, once I realized that with your programmer a box ticked sets the bit to zero, which is really confusing!
KenLowe wrote: Wed Dec 21, 2022 5:05 pm Out of interest, where did you pick up your config parameters from???
Probably from the first AtoMMC I bought, with just the oscillator byte changed to use the internal oscillator. There is more discussion on this here:
viewtopic.php?p=102349#p102349
KenLowe wrote: Wed Dec 21, 2022 5:05 pm My Atom is in bits right now, trying to repair my '6' key, but I'm struggling, so will probably come back to that another day. It's time someone came up with a better solution. We can surely do something better now that we can print out our own frames???
Is it an issue 4 Atom?

Sometimes the fix is easy, as the spring wires have just detached from the PCB (they don't solder well). Or is it a broken key stem? There is a 3D printed replacement available I think.

Dave
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

Hmmm. I'm not too sure what I've done!

I followed the same steps as you, except I used a TL866 instead of the Genius G540.

The option I got was to program Flash, EEPROM & Config, which is what I selected, after confirming the Config matched what I had previously read from the PIC (which matched your config).
The PIC flashed successfully.
I stuck the PIC back into my board, and booted up my Atom. I got the Acorn Atom banner, but no mention of the AtoMMC. That's, ok, I thought, because I haven't flashed the firmware yet. No command prompt appeared.
I copied over the 128MB SD card image you provided previously, removed the old firmware file from it, and copied over the new firmware file.
Stuck the SD card into my board, and immediately the lights started to flicker.
Once that finished, I rebooted my Atom, but it's still stuck at the startup banner.

Not sure what to do now...
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

KenLowe wrote: Wed Dec 21, 2022 5:41 pm Not sure what to do now...
Ken - IGNORE this post, and skip to the next one!!!

Did any LEDs come on at all?

I would put the PIC back in the programmer and re-read it, and check the first few bytes of the boot loader and the config. The 3.0 boot loader starts with AF EF 07 F0 12 00.

(I forgot to ERASE once and ended up with two programs ANDed together!)

One other thought - I wonder if you have somehow zeroed the *CFG byte.

If bit 7 of the *CFG byte is zero, then the boot loader jumps straight to the main firmware at 0x1000. If this isn't programmed, you are kind of stuck!

Did you get an option to fill unused bytes with 0xFF when loading the hex file? I suspect that initializes the *CFG byte to 0xFF.

I'm sure we can get this sorted!

Dave
Last edited by hoglet on Wed Dec 21, 2022 6:11 pm, edited 1 time in total.
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

KenLowe wrote: Wed Dec 21, 2022 5:41 pm Stuck the SD card into my board, and immediately the lights started to flicker.
Sorry, ignore my last post, I missed this statement first time around....

Red light on and green light flashing for about 20s? That's the firmware update happening.

The hang might just be the startup interrupt causing a crash, as you have LK3 fitted but no #A000 ROM and the *CFG byte probably got changed.

You are nearly there, you probably just need to:
- remove LK3
- boot Atom
- *CFG (which is probably FF)
- *CFG C0 (which disables the interrupt)
- replace LK3

Dave
User avatar
roland
Posts: 5148
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Econet for Atom

Post by roland »

hoglet wrote: Wed Dec 21, 2022 11:58 am I wonder if Roland is using this version on his V4 boards?
The firmware that I use is on https://site.acornatom.nl/hardware/storage/atommc-v4/

The file doesn't contain any human readable version information except it contains the string ATOMMCV3BIN somewhere. IIRC it's the same software as for the V3 boards because the only difference is that the card module is attached to the main board so it's easier to install it completely inside an Atom.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

hoglet wrote: Wed Dec 21, 2022 5:58 pm One other thought - I wonder if you have somehow zeroed the *CFG byte.

If bit 7 of the *CFG byte is zero, then the boot loader jumps straight to the main firmware at 0x1000. If this isn't programmed, you are kind of stuck!

Did you get an option to fill unused bytes with 0xFF when loading the hex file? I suspect that initializes the *CFG byte to 0xFF.
Yes, I think I managed to wipe both the EEPROM & Config.
hoglet wrote: Wed Dec 21, 2022 6:04 pm The hang might just be the startup interrupt causing a crash, as you have LK3 fitted but no #A000 ROM and the *CFG byte probably got changed.

You are nearly there, you probably just need to:
- remove LK3
- boot Atom
- *CFG (which is probably FF)
- *CFG C0 (which disables the interrupt)
- replace LK3
Didn't need to do any of that. I just reprogrammed the flash with C0 at address &FF (also 00 at address &09, but I'm not sure that's needed - it's just what I read from my PIC before I started). All up and running. I now need to figure out how to update the ROM...
Updated bootloader
Updated bootloader
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

Fantastic,

I've just looked at Roland's link, and it contains the 3.0 boot loader, the 3.0 firmware and the config bytes, which is why it's 15MB (!!!)

Comparing with what I have just built, there are just a few isolated byte differences:
- in the boot loader there are 2 bytes different (all isolated)
- in the firmware there are are 10 bytes different (all isolated)

This is just probably just down to me using a slightly different version of the PIC C compiler (3.40 vs 3.47) and/or the build-number variable that gets bumped up each time.

Dave
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

KenLowe wrote: Wed Dec 21, 2022 6:37 pm I now need to figure out how to update the ROM...
I had a read through the YARBB manual, expecting to find the answer there, but it wasn't. Can the ROMs be updated with the board in situ, or does the flash need to be removed and programmed externally? I was also hoping that I would be able to install the patched Econet ROM @ #A000, but again it wasn't clear if I could do something like that. Any pointers, please?
User avatar
roland
Posts: 5148
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Econet for Atom

Post by roland »

There is a FLASH utility in the FPGA-ROM from Hoglet. I am not sure if that also works on Yarrb boards.
But you can load all utility ROMS easily in RAM. There is a directory /SYS in the software archive. There is a basic program INIT that loads the ROMS that you like. There is a shortcut in the Atom Software Archive menu, just press R (for ROM or Roland?) and it starts this INIT progam. This way you can quickly load your optimal ROM configuration.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

hoglet wrote: Wed Dec 21, 2022 5:35 pm
KenLowe wrote: Wed Dec 21, 2022 5:05 pm My Atom is in bits right now, trying to repair my '6' key, but I'm struggling, so will probably come back to that another day. It's time someone came up with a better solution. We can surely do something better now that we can print out our own frames???
Is it an issue 4 Atom?

Sometimes the fix is easy, as the spring wires have just detached from the PCB (they don't solder well). Or is it a broken key stem? There is a 3D printed replacement available I think.
Yes, it's a Issue 4 Atom. There is a crack in the frame that key stem slots into. The crack runs top to bottom at the far edge of the slot. It looks like someone might have used a screwdriver (or similar) to open out the slot that the key stem fits into, causing this crack. This means that the key stem doesn't fit particularly well. Regardless of the crack, I'm struggling to work out how to fit the stem so as to get the two metal fingers to touch when the key is pressed. Are the springs meant to sit within a pillar? If so, it looks like the pillars may have also been broken. It's such a terrible design.
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

KenLowe wrote: Wed Dec 21, 2022 7:52 pm I had a read through the YARBB manual, expecting to find the answer there, but it wasn't. Can the ROMs be updated with the board in situ, or does the flash need to be removed and programmed externally? I was also hoping that I would be able to install the patched Econet ROM @ #A000, but again it wasn't clear if I could do something like that. Any pointers, please?
It is possible to re-program a single ROM bank in YARRBv1 (in CPLD v 72v1.6 and later):
capture37.png
I'm about 99% sure this won't work in YARRBv2, so if you try it make sure to save a copy of your ROM first!

Dave
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

Thanks Dave. I feel I'm being a bit thick here. I'm struggling to understand where you get these commands from, and what exactly they do. For example, what does ROM0 actually do? I tried the UNLOCK command, and it seemed to work, but the CRC and FLASH commands both came back with ERROR 94 - although it's fairly obvious what they're meant to do.
User avatar
roland
Posts: 5148
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Econet for Atom

Post by roland »

I have a vague memory that there is also an FPGA ROM with a few other commands and that I removed CRC and FLASH because they weren't useful at that time.

If you are struggling with Atom commands, try the MAN command. You'll need the Atom Software Archive for this. IIRC the MAN command is such an enhancement in my version of the FPGA ROM... Amazing how much one can forget after a few years :roll:
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

KenLowe wrote: Wed Dec 21, 2022 9:15 pm Thanks Dave. I feel I'm being a bit thick here. I'm struggling to understand where you get these commands from, and what exactly they do. For example, what does ROM0 actually do? I tried the UNLOCK command, and it seemed to work, but the CRC and FLASH commands both came back with ERROR 94 - although it's fairly obvious what they're meant to do.
You are not being thick - there is so much about the "modern" Atom that is undocumented or only known to a very few.

ROM<N> and UNLOCK are part of the "BRAN" ROM Switch system that is included in some spare space after the AtoMMC ROM. This allows switching between 8 different ROMs at #A000 (a bit like the Beeb's paged ROM system, but not as finessed).

ROM<N> locks a particular ROM in place - needed (I think) in the case of the Econet ROM as it uses an IRQ handler.

UNLOCK undoes this, allowing BRAN pass an unknown command (that would otherwise cause ERROR 94) to each of the eight #A000 ROMs in turn. Shift ENTER is a short-cut for UNLOCK.

The CRC and FLASH commands come from my own "FPGA Utils" ROM. I thought Roland included that as standard in his YARRB ROM Image, but I must be wrong, because it's not listed in the manual. This ROM started life as a support ROM for Atom FPGA but is generally useful in a wider context.
There is command called FHELP which lists the available commands in this ROM:
FHELP.png
Another way to use YARRB is to soft-load a set of ROMs. This uses the Atom2K15 profile of YARRB, where everything (including the OS) ends up in RAM. Once everything is loaded, the FLASH is not used at all. There is a short-cut in the Atom Software Archive to do this: From the splash screen, just press R. But it's hard to change the ROMs that are loaded. You can get FPGA Utils this way, but the FLASH command will definitely not work, because YARRB is running with the Atom2K15 profile rather than the RAM/ROM profile.

Probably the best thing is tomorrow I'll make you a 128KB ROM image that includes:
- #A000 ROM 0 changed from SDDOS to the patched Atom Econet ROM
- #A000 ROM 4 changed from SALFAA to FPGA Utils
- #E000 ROM updated to the latest AtoMMC v3.02E

Then you can reprogram the FLASH using your TL866.

After that you'll be able to try the FLASH command (which probably won't work). After Christmas I can work with Roland to try to get the neccessary (small) changes into the YARRBv2 CPLD. As far as I remember, all that's needed is to extend the #BFFF ROM latch from three bits to five bits. Then all 32 4K pages of the FLASH can be "addressed" which is needed part of the programming algorithm.

Edit: This was the YARRBv1 change to support the FLASH command: 9274935a. This just needs to be applied to the YARRBv2 CPLD

Dave
User avatar
roland
Posts: 5148
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Econet for Atom

Post by roland »

That won't be very difficult. I think.... :lol:
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

roland wrote: Wed Dec 21, 2022 10:10 pm If you are struggling with Atom commands, try the MAN command. You'll need the Atom Software Archive for this. IIRC the MAN command is such an enhancement in my version of the FPGA ROM... Amazing how much one can forget after a few years :roll:
hoglet wrote: Wed Dec 21, 2022 10:16 pm ROM<N> and UNLOCK are part of the "BRAN" ROM Switch system that is included in some spare space after the AtoMMC ROM. This allows switching between 8 different ROMs at #A000 (a bit like the Beeb's paged ROM system, but not as finessed).

ROM<N> locks a particular ROM in place - needed (I think) in the case of the Econet ROM as it uses an IRQ handler.

UNLOCK undoes this, allowing BRAN pass an unknown command (that would otherwise cause ERROR 94) to each of the eight #A000 ROMs in turn. Shift ENTER is a short-cut for UNLOCK.

The CRC and FLASH commands come from my own "FPGA Utils" ROM. I thought Roland included that as standard in his YARRB ROM Image, but I must be wrong, because it's not listed in the manual. This ROM started life as a support ROM for Atom FPGA but is generally useful in a wider context.
There is command called FHELP which lists the available commands in this ROM:

Another way to use YARRB is to soft-load a set of ROMs. This uses the Atom2K15 profile of YARRB, where everything (including the OS) ends up in RAM. Once everything is loaded, the FLASH is not used at all. There is a short-cut in the Atom Software Archive to do this: From the splash screen, just press R. But it's hard to change the ROMs that are loaded. You can get FPGA Utils this way, but the FLASH command will definitely not work, because YARRB is running with the Atom2K15 profile rather than the RAM/ROM profile.
Thank you for the tips.
hoglet wrote: Wed Dec 21, 2022 10:16 pm Probably the best thing is tomorrow I'll make you a 128KB ROM image that includes:
- #A000 ROM 0 changed from SDDOS to the patched Atom Econet ROM
- #A000 ROM 4 changed from SALFAA to FPGA Utils
- #E000 ROM updated to the latest AtoMMC v3.02E

Then you can reprogram the FLASH using your TL866.

After that you'll be able to try the FLASH command (which probably won't work). After Christmas I can work with Roland to try to get the neccessary (small) changes into the YARRBv2 CPLD. As far as I remember, all that's needed is to extend the #BFFF ROM latch from three bits to five bits. Then all 32 4K pages of the FLASH can be "addressed" which is needed part of the programming algorithm.

Edit: This was the YARRBv1 change to support the FLASH command: 9274935a. This just needs to be applied to the YARRBv2 CPLD
Please don't rush to get this done as I'll probably have to pack everything up later today. I've taken over another room with my Atom & A3010 that needs to be cleared away for Christmas! I'm also a bit wary about removing the FLASH from my board, and I'm not even sure if I've got the right adaptor for programming it in my TL866II. I'll need to investigate.

Edit: It turns out that I do indeed have the correct adaptor. I've even been able to extract the FLASH from my YARRB and read it with my programmer without causing any damage! I did have an extractor tool at one stage, but I'm not sure what's happened to it, so I just used a very small screwdriver to lever the FLASH out.
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

KenLowe wrote: Thu Dec 22, 2022 9:52 am Edit: It turns out that I do indeed have the correct adaptor. I've even been able to extract the FLASH from my YARRB and read it with my programmer without causing any damage! I did have an extractor tool at one stage, but I'm not sure what's happened to it, so I just used a very small screwdriver to lever the FLASH out.
Here's an updated FLASH image with three ROMs changed:
- #A000 ROM 0 is now the patched version of Atom Econet ROM 3.50
- #A000 ROM 4 is now FpgaUtils
- #E000 is now AtoMMC 3.02E
Yarrb2-Ken-20221222.zip
(56.74 KiB) Downloaded 18 times
FYI, this is the script I used to generate the image from Roland's original

Code: Select all

#!/bin/bash

src=Yarrb2-SST39SF010A.rom
dst=Yarrb2-Ken.rom

# Patch Rolands standard YARRB image with
#   AtomEco350_ken.rom > Bank #00
#   fpgautils_0_28.rom > Bank #04
#   atommc_3_02_e.rom  > Bank #12

dd if=${src} of=1 bs=4096 skip=1 count=3
dd if=${src} of=2 bs=4096 skip=5 count=13
dd if=${src} of=3 bs=4096 skip=19 count=13

cat  AtomEco350_ken.rom 1  fpgautils_0_28.rom 2  atommc_3_02_e.rom 3 > ${dst}

rm -f 1 2 3
I've had this running in my YARRB and tested the changes work.

Regarding the FLASH program in FpgaUtils, I checked the code and it should actually work with the current YARRBv2, but I think it will be only possible to reprogram the rom banks 0..7 (#A000 ROM 0 .. #A000 ROM 7). The CPLD change would allow it to update any bank, including the Kernel! But that's probably less important.

Have a great Christmas!

Dave

PS, I was going to try to improved the disassembly of the Econet ROM, so that we could relocate it to #E000. That should help with the initialization issue, enabling it to be more of a first class filesystem.
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

hoglet wrote: Thu Dec 22, 2022 10:43 am Here's an updated FLASH image with three ROMs changed:
- #A000 ROM 0 is now the patched version of Atom Econet ROM 3.50
- #A000 ROM 4 is now FpgaUtils
- #E000 is now AtoMMC 3.02E
Excellent! All working nicely. Thank you!
hoglet wrote: Thu Dec 22, 2022 10:43 am Regarding the FLASH program in FpgaUtils, I checked the code and it should actually work with the current YARRBv2, but I think it will be only possible to reprogram the rom banks 0..7 (#A000 ROM 0 .. #A000 ROM 7). The CPLD change would allow it to update any bank, including the Kernel! But that's probably less important.

Have a great Christmas!
I had to UNLOCK to get access to the FpgaUtils. I assume that's correct? I then tried the FHELP command, and it listed all the options, so that seems to be working too. I've not been any more adventurous yet!

Wishing you the very best as well!

Ken.
Econet and AtoMMC working with the latest ROMs installed
Econet and AtoMMC working with the latest ROMs installed
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

KenLowe wrote: Thu Dec 22, 2022 11:11 am I had to UNLOCK to get access to the FpgaUtils. I assume that's correct? I then tried the FHELP command, and it listed all the options, so that seems to be working too. I've not been any more adventurous yet!
Yes, I have the same issue. I think it's actually a minor bug in BRAN where it depends on initial value of the shadow ROM latch (?#FD). It would be nice if the could be consistently initialized on power up.

Dave
User avatar
roland
Posts: 5148
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Econet for Atom

Post by roland »

hoglet wrote: Thu Dec 22, 2022 12:20 pm Yes, I have the same issue. I think it's actually a minor bug in BRAN where it depends on initial value of the shadow ROM latch (?#FD). It would be nice if the could be consistently initialized on power up.
IIRC this is also taken care of in the *INIT program. If there's enough room in the Atom MOS ROM then we can add LDA #0:STA #BFFF:STA #FD so it's always consistent after a reset.
If typing UNLOCK is too much work, SHIFT+RETURN will also do the job.

Yarrb boards have #BFFF read/write so the shadow byte can be skipped. But then you need different versions for different ROM boards and that makes it all more confusing than it already is.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

I've been working on a better disassembly of the Atom Econet ROM, with a view to producing an experimental &E000 version. I've been using the wonderful py8dis for the disassembly.

The latest code is on github here:
https://github.com/hoglet67/AtomEconet/ ... Eco350.asm

I've also managed to shoe-horn in the Shift-BREAK / *MENU code that AtoMMC uses to autoboot the Atom Software Archive.

It's working, but I'm getting occasional crashes that might actually be a hardware issue on my Atom. I'm thinking possibly the YARRB clock issue has returned.

Ken (or indeed anyone else), if you want to try this out, here's a new YARRB ROM image:
Yarrb2-Ken-20221229.zip
(55.53 KiB) Downloaded 13 times
On power-on, you should find that AtoMMC is selected.

To switch to Econet:

Code: Select all

?#BFFE=2
<BREAK>
At this point, if you have the Atom Software Archive disk image on your file server, you can do

Code: Select all

*I AM ASA
<Shift BREAK>
To switch back to AtoMMC:

Code: Select all

?#BFFE=6
<BREAK>
There are a couple of issues that need more work:

1. Many of the Econet LIBRARY commands will crash, because they jump directly into the Econet ROM at #A000. It's a pain that they do this, because it means that the Atom Software Archive is effectively tied to a specific build of the Econet ROM.

2. You loose the BRAN automatic ROM switch system, because this is part of the AtoMMC ROM. You can still use #A000 ROMs, but they need to be selected manually with ?#BFFF=N.

Anyway, if you do try this, let me know how you get on.

Dave
User avatar
oss003
Posts: 3849
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: Econet for Atom

Post by oss003 »

@Dave, I did a disassembly of the econet rom in the past trying to understand how it works and trying to implement it in HTeMuLator ...... it's not complete but maybe this helps.

Greetings
Kees
Attachments
econet.txt
(109.43 KiB) Downloaded 20 times
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

Thanks Dave. I'm away from home for a couple of days, but will get onto this when I get back home. Thanks!
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

oss003 wrote: Thu Dec 29, 2022 3:48 pm @Dave, I did a disassembly of the econet rom in the past trying to understand how it works and trying to implement it in HTeMuLator ...... it's not complete but maybe this helps.
Thanks for this Kees.

I wish I had remembered you had already done this.

What tool did you use for the disassembly?

Dave
User avatar
oss003
Posts: 3849
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: Econet for Atom

Post by oss003 »

I'm using Dis6502: https://www.atarimax.com/dis6502/
There was a thread about Dis6502, RobC updated the program to view graphics in Atom and Beeb screen formats.
viewtopic.php?f=2&t=20488

Greetings
Kees
Attachments
dis6502-3v6.zip
(6.12 MiB) Downloaded 16 times
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

hoglet wrote: Thu Dec 29, 2022 2:46 pm Ken (or indeed anyone else), if you want to try this out, here's a new YARRB ROM image

<---SNIP--->

Anyway, if you do try this, let me know how you get on.
Just updated my flash with this latest image, and so far so good!

I've been able to log onto my PiEconetBridge, but I don't currently have anything saved to that bridge yet, so I've not been able to do much testing yet. If I get some time tomorrow, I'll copy your Atom archive over to the bridge and give that a try.
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

hoglet wrote: Thu Dec 29, 2022 2:46 pm I've been working on a better disassembly of the Atom Econet ROM, with a view to producing an experimental &E000 version. I've been using the wonderful py8dis for the disassembly.

The latest code is on github here:
https://github.com/hoglet67/AtomEconet/ ... Eco350.asm

I've also managed to shoe-horn in the Shift-BREAK / *MENU code that AtoMMC uses to autoboot the Atom Software Archive.

It's working, but I'm getting occasional crashes that might actually be a hardware issue on my Atom. I'm thinking possibly the YARRB clock issue has returned.

Ken (or indeed anyone else), if you want to try this out, here's a new YARRB ROM image:
Yarrb2-Ken-20221229.zip

On power-on, you should find that AtoMMC is selected.

To switch to Econet:

Code: Select all

?#BFFE=2
<BREAK>
At this point, if you have the Atom Software Archive disk image on your file server, you can do

Code: Select all

*I AM ASA
<Shift BREAK>
To switch back to AtoMMC:

Code: Select all

?#BFFE=6
<BREAK>
There are a couple of issues that need more work:

1. Many of the Econet LIBRARY commands will crash, because they jump directly into the Econet ROM at #A000. It's a pain that they do this, because it means that the Atom Software Archive is effectively tied to a specific build of the Econet ROM.

2. You loose the BRAN automatic ROM switch system, because this is part of the AtoMMC ROM. You can still use #A000 ROMs, but they need to be selected manually with ?#BFFF=N.

Anyway, if you do try this, let me know how you get on.

Dave
Ok, just to confirm, the YARBB ROM has been updated, and I've now copied over the Atom Software Archive to a local PiFS that is attached directly to my Atom. I'm able to log into the PiFS as ASA, and <Shift BREAK> successfully loads the menu. From there I have been able to successfully load a couple of games. I've not seen any crashes; although I've not done too much testing with it yet.

Thank you for all your help with this. I'm really pleased with the way the combined AtoMMC / Econet system is working!

Out of interest, is it possible to change the default file system so that the Atom boots to NFS instead of AtoMMC on power up?
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Econet for Atom

Post by KenLowe »

hoglet wrote: Thu Dec 29, 2022 2:46 pm I've been working on a better disassembly of the Atom Econet ROM, with a view to producing an experimental &E000 version. I've been using the wonderful py8dis for the disassembly.

The latest code is on github here:
https://github.com/hoglet67/AtomEconet/ ... Eco350.asm
oss003 wrote: Thu Dec 29, 2022 3:48 pm @Dave, I did a disassembly of the econet rom in the past trying to understand how it works and trying to implement it in HTeMuLator ...... it's not complete but maybe this helps.

Greetings
Kees
Out of interest, did you find anything in the code that would suggest the Atom can talk to other devices over a bridge (ie using the *I AM net.stn USER format for logging into a FS instead of just *I AM stn USER)? I mentioned the issues I was having earlier in this thread:

viewtopic.php?p=378818#p378818
User avatar
hoglet
Posts: 12665
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Econet for Atom

Post by hoglet »

KenLowe wrote: Sat Dec 31, 2022 2:15 pm Out of interest, is it possible to change the default file system so that the Atom boots to NFS instead of AtoMMC on power up?
There are two ways to achieve this:
1. Update the CPLD
2. Update the ROM image, swapping ROMs 0x10-0x13 with ROMs 0x14-0x17.

Would you like me to post a ROM with this change?

Dave
Post Reply

Return to “acorn atom and acorn system series”