Atom Software Archive

discussion of games, software, hardware & emulators relating to the Acorn Atom and Acorn System machines.
User avatar
Multiwizard
Posts: 1627
Joined: Wed Jan 11, 2012 9:03 pm
Contact:

Re: Atom Software Archive

Post by Multiwizard » Mon Apr 29, 2019 7:53 am

John Ferguson wrote:
Mon Apr 29, 2019 7:46 am
I will load the file later today.

John
Oh joy... =D> \:D/ =D>


Greetings, Wim... :-)

John Ferguson
Posts: 92
Joined: Sat Oct 07, 2017 11:35 am
Contact:

Re: Atom Software Archive

Post by John Ferguson » Mon Apr 29, 2019 12:12 pm

Here is the file for the programme UFO by P Vernon. Published in Popular Computing Weekly, 23 September 1982.

I have called it UFO2.

John
Attachments
UFO2.zip
UFO by P Vernon. Published in Popular Computing Weekly, 23 September 1982.
(948 Bytes) Downloaded 11 times
Last edited by John Ferguson on Mon Apr 29, 2019 12:13 pm, edited 1 time in total.


User avatar
hoglet
Posts: 8530
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Atom Software Archive

Post by hoglet » Tue May 21, 2019 1:57 pm

Hi all,

A bit of a progress update on adding Econet support to the Atom Software Archive...

IanS very kindly sent me one of his small adaptor boards that allows you to connect a Master Econet module to an Atom. I built this up at the weekend, and setup a L3 file Server on a Master (using BeebMaster's quick start disk) with a PiTubeDirect 6502 Co Pro and a BeebSCSI.

I've updated the AtomSoftwareArchive build process to output a Zip file that's suitable for use on an Econet File Server.

Everything is under a user called ASA ("Atom Software Archive").

Code: Select all

$.ASA.MENU
$.ASA.HELP
$.ASA.MNUA.
$.ASA.MNUB.
$.ASA.MNUC.
$.ASA.MNUD.
$.ASA.MNUE.
$.ASA.MNUF.
$.ASA.<N1>.<N2>.<N3>.
The MNU directories contain the data files for menu system for each of the chapters. The contents looks like:

Code: Select all

$.ASA.MNUA.HELP
$.ASA.MNUA.MENUDAT1
$.ASA.MNUA.MENUDAT2
$.ASA.MNUA.SORTDAT0
$.ASA.MNUA.SORTDAT1
$.ASA.MNUA.SORTDAT2
$.ASA.MNUA.SORTDAT3
$.ASA.MNUA.SPLASH
The software titles are then stored in a three level directory structure. Here's Sphinx Adventure for example:

Code: Select all

$.ASA.0.1.0.BOOT
$.ASA.0.1.0.SPHINX
$.ASA.0.1.0.SPHINX1
$.ASA.0.1.0.SPHINX2
$.ASA.0.1.0.SPHINXIN
The directory path N1.N2.N3 is just the title's 10-bit index number (from the spreadsheet) in hex.

The Menu program needed a few tweaks to deal with this new directory structure. And also to deal with the fact the the *RUN command doesn't seem to be available from an Atom client. I've dealt with the cases where *RUN is used in the Menu system, but probably a few titles will use this directly, and so will fail.

The ZIP generation is done from Java, which means I've been able to add the Acorn specific header that allows the LOAD and EXEC address to be preserved. It should be possible, using a appropriate tool, to unzip this on RISCOS.

Here's a copy of the ZIP file if anyone wants to play:
https://www.dropbox.com/s/5j1spdqyoeana ... T.zip?dl=0
(Edit: Link updated to fix a ZIP header bug that prevents unzipping on RISC OS)

In order to test this myself, I needed to inject the files into AFS Partition of the L3 File Server filesystem. This actually turned out to be the hardest part of the process, because the ZIP file is relatively large (7MB compressed, 40MB uncompressed, with ~2300 files). There doesn't seem to be a way of doing this on the L3 File Server itself, because the AFS partition is pretty well hidden. I would need a second Master as a client, and I expect unzipping would take some time.

Instead, I wrote some Java code to read the ZIP file and add the files/directories directly into the 64MB scsi.dat image that's used by BeebSCSI. Rather than build this completely from scratch, I started with the image after "WFS-IW" was run with some suitable geometry parameters.

There's some good documentation for the AFS File System format here:
- http://mdfs.net/Docs/Comp/Disk/Format/AFS0 (thanks Jonathan)
- http://chrisacorns.computinghistory.org ... AN/075.txt
- https://www.heyrick.co.uk/econet/fs/afs0.html

The Java is checked in here:
https://github.com/hoglet67/AtomSoftwar ... m/afsutils

It takes about 5 second to run (in spite of the free space management being very inefficiently written).

The end result is a scsi0.dat image that contains everything you need, including the L3 File Server itself:
https://www.dropbox.com/s/w3q8rcx2e8rkm ... t.zip?dl=0

Here's some screen shots:
capture0.png
capture1.png
capture2.png
capture3.png
capture4.png
I don't think there are that many Econet connected Atoms in the world. But if anyone does manage to try this out do let us know. There will undoubtedly be lots of bugs....

Dave
Last edited by hoglet on Tue May 21, 2019 9:36 pm, edited 1 time in total.

User avatar
oss003
Posts: 3095
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Atom Software Archive

Post by oss003 » Tue May 21, 2019 5:11 pm

Dave, Jonathan fixed some Atom econet commands at the January ABUG: viewtopic.php?f=44&t=13886

@Jonathan, did you upload these utils somewhere?

PS would be nice to get econet working in HTemulator to connect to eg a server running in Beebem...

Greetings
Kees

User avatar
IanB
Posts: 389
Joined: Sun Sep 04, 2011 7:28 pm
Location: South Wales
Contact:

Re: Atom Software Archive

Post by IanB » Tue May 21, 2019 10:22 pm

hoglet wrote:
Tue May 21, 2019 1:57 pm
The Menu program needed a few tweaks to deal with this new directory structure. And also to deal with the fact the the *RUN command doesn't seem to be available from an Atom client. I've dealt with the cases where *RUN is used in the Menu system, but probably a few titles will use this directly, and so will fail.
Perhaps creating a "RUN" executable that passes the rest of the command line to the CLI would work?
That could be placed in the library and would be run each time *RUN xyz was called.
You would have to choose a suitable load address so it wasn't likely to trash any other preloaded data.

I haven't been able to get very far with testing on RISCOS as the relative path handling for Atoms and probably Systems in jgharston's !SoftMDFS seems to be broken (!SoftMDFS is the only RISCOS file server that supports the older econet api calls used by the Atom and Systems)

e.g.
When I log in I get the error:
ADFS::4.$.ASA.$.ATOMLIB not found.

When I try to run MENU I get a not found error as it can't find the SPLASH screen:
Here's the log from !SoftMDFS:
Tue,21 May 2019.21:31:03 002.235 ASA *MENU
Tue,21 May 2019.21:31:04 002.235 ASA Function 5 LOAD command MENU
Tue,21 May 2019.21:31:04 002.235 ASA *DIR $.ASA
Tue,21 May 2019.21:31:04 002.235 ASA *LOAD MNUA.SPLASH
Tue,21 May 2019.21:31:04 002.235 ASA Function 2 LOAD SPLASH|MNot found|M

If I put a copy of SPLASH in $.ASA it works so it's trying to load SPLASH from the current directory instead of the MNUA directory.
Last edited by IanB on Wed May 22, 2019 12:04 am, edited 2 times in total.

PhilYoung
Posts: 202
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Atom Software Archive

Post by PhilYoung » Wed May 22, 2019 7:38 am

hoglet wrote:
Tue May 21, 2019 1:57 pm


The end result is a scsi0.dat image that contains everything you need, including the L3 File Server itself:
https://www.dropbox.com/s/w3q8rcx2e8rkm ... t.zip?dl=0

Hi,

I don't think I'll ever be in a position to use this, but out of interest for a BeebSCSI(mini) doesn't a scsix.dat file need an associated scsix.dsc file to describe the disk geometry that the dat file is an image of ? Or is it now implicit (I haven't used my BeebScsi mini in a while so I could be behind the latest version)

Cheers,

Phil Young

User avatar
hoglet
Posts: 8530
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Atom Software Archive

Post by hoglet » Wed May 22, 2019 9:46 am

PhilYoung wrote:
Wed May 22, 2019 7:38 am
I don't think I'll ever be in a position to use this, but out of interest for a BeebSCSI(mini) doesn't a scsix.dat file need an associated scsix.dsc file to describe the disk geometry that the dat file is an image of ? Or is it now implicit (I haven't used my BeebScsi mini in a while so I could be behind the latest version)
It seem's that BeebSCSI is quite happy to create a .dsc file on the fly if it is missing.

But I will include a matching one in the next release.

Dave

PhilYoung
Posts: 202
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Atom Software Archive

Post by PhilYoung » Wed May 22, 2019 11:02 am

hoglet wrote:
Wed May 22, 2019 9:46 am
PhilYoung wrote:
Wed May 22, 2019 7:38 am
I don't think I'll ever be in a position to use this, but out of interest for a BeebSCSI(mini) doesn't a scsix.dat file need an associated scsix.dsc file to describe the disk geometry that the dat file is an image of ? Or is it now implicit (I haven't used my BeebScsi mini in a while so I could be behind the latest version)
It seem's that BeebSCSI is quite happy to create a .dsc file on the fly if it is missing.

But I will include a matching one in the next release.

Dave
Thanks for the reply, I'll see if that happens with mine, not that I have the Atom Econet side of the equation of course,

Cheers,

Phil Young

User avatar
jgharston
Posts: 3668
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Atom Software Archive

Post by jgharston » Wed May 22, 2019 2:52 pm

oss003 wrote:
Tue May 21, 2019 5:11 pm
Dave, Jonathan fixed some Atom econet commands at the January ABUG: viewtopic.php?f=44&t=13886
@Jonathan, did you upload these utils somewhere?
I bundled them up for upload, but I set the access string wrong, so my auto-uploader skipped them. I'm currently sorting things for the Euro Election count tomorrow night, so I'll have a look when I've woken up afterwards.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
hoglet
Posts: 8530
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Atom Software Archive

Post by hoglet » Wed May 22, 2019 3:23 pm

jgharston wrote:
Wed May 22, 2019 2:52 pm
oss003 wrote:
Tue May 21, 2019 5:11 pm
Dave, Jonathan fixed some Atom econet commands at the January ABUG: viewtopic.php?f=44&t=13886
@Jonathan, did you upload these utils somewhere?
I bundled them up for upload, but I set the access string wrong, so my auto-uploader skipped them. I'm currently sorting things for the Euro Election count tomorrow night, so I'll have a look when I've woken up afterwards.
I've included some code in the build process automatically patch the v2.40 originals as well:
https://github.com/hoglet67/AtomSoftwar ... a3af5ca427

I did this in case any other such programs turn up, and because this is mostly an exercise in learning for me.

The utilities I've tried (DISCS, USERS, INF) seem to work now.

It will be interesting to check whether my patches are the same as Jonathan's.

There are a few other changes today:

Code: Select all

5db943487 Econet: Added ATOMLIB dir and null *NOMON command
b5355a469 Econet: Added ^ as a directory back link
90e9e2931 Econet: Added *RUN command
5563dca8d Econet: Fix a memory conflict between the menu and the Econet ROM
3af5ca427 Econet: Added ATOMLIB Utils (inc. patching for 350)
d9a1892a4 Econet: Changed library dir from ATOMLIB to LIBRARY
https://github.com/hoglet67/AtomSoftwar ... its/master

Having the directory back links (^) kind-of working in L3 File Server 0.92 is rather fun.

If anyone wants an updated disk image snapshot, please just ask.

Dave
Last edited by hoglet on Wed May 22, 2019 3:25 pm, edited 2 times in total.

User avatar
hoglet
Posts: 8530
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Atom Software Archive

Post by hoglet » Sun Aug 25, 2019 1:55 pm

There's now a V11Beta 6 available that adds AGD packs 29-41 bringing us up to date.
https://github.com/hoglet67/AtomSoftwar ... e/releases

Dave

Post Reply