ADFS 1.30 to run on BBC Master under OS 1.20

bbc/electron apps, languages, utils, educational progs, demos + more
User avatar
Mince
Posts: 525
Joined: Thu Sep 05, 2019 11:25 pm
Location: Cambridge, UK
Contact:

ADFS 1.30 to run on BBC Master under OS 1.20

Post by Mince »

I have an IFEL MultiOS upgrade in my Master and I've replaced the included EPROM with a Flash ROM to get my preferred set of ROMs. I also have a Pi1MHz running BeebSCSI - all works under OS 3.20 and 3.50.

What I'd like is a version of ADFS 1.3 that runs under OS 1.20 (i.e. the B mode) — a stock 1.30 doesn't seem to work, presumably because something has moved address or some other subtle problem (it doesn't find the BeebSCSI nor the find the floppy).

I've swapped it for ADFS "1.34" that came with the IFEL in bank 0 and that works for the floppy (it appears as :4) but gives me a disc error trying to read the BeebSCSI HD (which is to be expected as it's for IDE drives).

I've had a look at https://mdfs.net/System/ROMs/Filing/Disk/Acorn/ but I can't find a version of ADFS that supports SCSI and runs under OS 1.20 on a Master. Does such a thing exist, or could it be made to be?
BBC Master— PiTube 3A+ PiVDU, PicoTube, Pi1MHz, MMFS, ANFS, MultiOS
BBC B — Integra ß, PiTube Zero 2W, Pi1MHz, MMFS, DFS, ADFS, ANFS
Electron — Plus 1 w/ AP6 2V2, AP5, PiTube 3A+, Pi1MHz, PRES AP3+4, Elkeconet or ATI/ABR, ElkSD 64/Plus 1
User avatar
BeebMaster
Posts: 7413
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by BeebMaster »

I don't think there will be any such thing, as OS 1.20 is not for the Master. I don't know how the multi-OSes work and what happens with ROMs made for one set of hardware, with the OS running on different hardware.

ADFS 1.30 should work on a Master with SCSI/SASI hard discs connected to the 1MHz bus, but it won't access the floppy drives as the disc controller is mapped into memory differently between the B and the Master.

Possibly this version 1.34 is an "IDE" version?

I have a Master ET whose previous owner partially upgraded it so it could be used as a Level 3 file server, with ADFS 1.30:

https://www.beebmaster.co.uk/Econet/ET.html
Image
User avatar
BeebMaster
Posts: 7413
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by BeebMaster »

Here's ADFS 1.30 working on a standard Master 128 with a PiMHzSCSI:
Screenshot 2021-12-13 11-55-17.png
Screenshot 2021-12-13 11-55-31.png
Screenshot 2021-12-13 11-56-55.png
Screenshot 2021-12-13 11-57-32.png
Image
User avatar
danielj
Posts: 9907
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by danielj »

I would compare a hex dump of 1.34 and 1.3 - you need the FDC addressing from 1.34, and the SCSI code from 1.3. A binary diff should highlight the differences. It's quite doable, it'll just take a bit of time! :) The FDC stuff will be 2 byte words scattered throughout, the IDE/SCSI should be a chunk, I expect.

I did get halfway through doing this at one stage (unfortunately files no longer on my HDD so far as I can tell), but it still wasn't working with floppies properly.

d.
User avatar
Mince
Posts: 525
Joined: Thu Sep 05, 2019 11:25 pm
Location: Cambridge, UK
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Mince »

Thanks for the replies.

Trying ADFS 1.30, my mistake seems to be that I didn't wait long enough for the Pi/BeebSCSI to boot (I must never have tried it again, after a Ctrl+Break).

So, I'm just left with the floppy. I tried patching 1.30 to 1.33 using jgh's program and then comparing it to 1.34 but that appears to be very different (I guess the IDE patches are completely different) and too much for me to pick through.

I then found jgh's disassembly of 1.30 and found the locations of the disc controller (FE84-FE87 + FE80) and replaced those with the Master addresses (FE28-FE2B + FE24) but this doesn't work (no floppy disc light or anything, but at least BeebSCSI still works!). Comparing that with the IFEL 1.34 shows the same addresses have been changed but there's also an extra appearance of FE85 near the start (at 8307), where some code has been rewritten. I haven't starting digging into that but I assume something else needs to be done, too.
BBC Master— PiTube 3A+ PiVDU, PicoTube, Pi1MHz, MMFS, ANFS, MultiOS
BBC B — Integra ß, PiTube Zero 2W, Pi1MHz, MMFS, DFS, ADFS, ANFS
Electron — Plus 1 w/ AP6 2V2, AP5, PiTube 3A+, Pi1MHz, PRES AP3+4, Elkeconet or ATI/ABR, ElkSD 64/Plus 1
User avatar
hoglet
Posts: 12682
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by hoglet »

As well as the 1770 Register and Control Register addresses being different, the Control Register bits are different:

BBC: Control Register &FE80
- Bit 0 = Drive Select 0 (active low)
- Bit 1 = Drive Select 1 (active low)
- Bit 2 = Side Select
- Bit 3 = Double Density Enable (active low)
- Bit 4 = NMI Enable?
- Bit 5 = FDC Reset (active low)

Master: Control Register &FE24
- Bit 0 = Drive Select 0 (active low)
- Bit 1 = Drive Select 1 (active low)
- Bit 2 = FDC Reset (active low)
- Bit 3 = FDC Connector Pin 14?
- Bit 4 = Side Select
- Bit 5 = Double Density Enable (active low)

So as well as changing the addresses, some of the constants have to change as well.

I've had a go at doing this in my ADFS 1.30 reassembly:
https://github.com/hoglet67/ADFS130/com ... c921614ace

Try MAST130 from Release 004 and see if it works:
https://github.com/hoglet67/ADFS130/rel ... elease_004

I've given it a very quick test myself and it seems OK, but it's possible I missed some of the constants.

Dave
User avatar
BeebMaster
Posts: 7413
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by BeebMaster »

Great work, works for me:
Screenshot 2021-12-13 14-13-19.png
Screenshot 2021-12-13 14-13-42.png
Screenshot 2021-12-13 14-13-59.png
Screenshot 2021-12-13 14-15-09.png
(I think ADT's FCOMP only shows the first 8 differences between files).
Image
User avatar
BeebMaster
Posts: 7413
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by BeebMaster »

Discovered whilst testing with MOS 3.50 that with no Winnie controller present, MAST130 ADFS is disabled, so there is no floppy access unless there's a hard disc present, also the same behaviour with 3.20:

Screenshot 2021-12-13 14-35-00.png
Screenshot 2021-12-13 14-35-47.png
Image
User avatar
Mince
Posts: 525
Joined: Thu Sep 05, 2019 11:25 pm
Location: Cambridge, UK
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Mince »

hoglet wrote: Mon Dec 13, 2021 1:55 pm As well as the 1770 Register and Control Register addresses being different, the Control Register bits are different:

...

I've had a go at doing this in my ADFS 1.30 reassembly:
https://github.com/hoglet67/ADFS130/com ... c921614ace

Try MAST130 from Release 004 and see if it works:
https://github.com/hoglet67/ADFS130/rel ... elease_004

I've given it a very quick test myself and it seems OK, but it's possible I missed some of the constants.
Thanks Dave! That certainly seems to have hit the spot, in my quick tests.

I might even be able to put the flash programmer away and get the lid back on my Master later today!
BBC Master— PiTube 3A+ PiVDU, PicoTube, Pi1MHz, MMFS, ANFS, MultiOS
BBC B — Integra ß, PiTube Zero 2W, Pi1MHz, MMFS, DFS, ADFS, ANFS
Electron — Plus 1 w/ AP6 2V2, AP5, PiTube 3A+, Pi1MHz, PRES AP3+4, Elkeconet or ATI/ABR, ElkSD 64/Plus 1
User avatar
danielj
Posts: 9907
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by danielj »

hoglet wrote: Mon Dec 13, 2021 1:55 pm Master: Control Register &FE24
- Bit 0 = Drive Select 0 (active low)
- Bit 1 = Drive Select 1 (active low)
- Bit 2 = FDC Reset (active low)
- Bit 3 = FDC Connector Pin 14?
- Bit 4 = Side Select
- Bit 5 = Double Density Enable (active low)

So as well as changing the addresses, some of the constants have to change as well.
Ah, now I remember, that was what I was in the middle of working through and then gave up as I was working from a partial disassembly and the hex :D

Thanks Dave :)
User avatar
hoglet
Posts: 12682
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by hoglet »

BeebMaster wrote: Mon Dec 13, 2021 2:39 pm Discovered whilst testing with MOS 3.50 that with no Winnie controller present, MAST130 ADFS is disabled, so there is no floppy access unless there's a hard disc present, also the same behaviour with 3.20:
The cause of this is that the ADFS 1.30 floppy controller detection code reads the value of the drive control register:

Code: Select all

.LBA11
        LDA     #$5A
        STA     LFE85
        LDA     LFE85
        CMP     #$5A
        BNE     LBA25
        LDA     LFE80				<<<<<<
        AND     #$03 				<<<<<<
        BEQ     LBA25				<<<<<<
        CLC
.LBA25
        RTS
Unfortunately, the drive control register is a write-only register, so the results are undefined, and happen to different between the Model B and the Master.

I've fixed that in release 5:
https://github.com/hoglet67/ADFS130/rel ... elease_005

The fix was just to NOP out the marked instructions above on the Master build.

Dave
User avatar
BeebMaster
Posts: 7413
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by BeebMaster »

Yes, that does the trick, thank you very much. One side effect I didn't notice before is that PAGE goes up to &1D00!
Image
User avatar
KenLowe
Posts: 4699
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by KenLowe »

BeebMaster wrote: Mon Dec 13, 2021 4:55 pm Yes, that does the trick, thank you very much. One side effect I didn't notice before is that PAGE goes up to &1D00!
Which is what you should expect if you've converted your Master into a Beeb!
User avatar
BeebMaster
Posts: 7413
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by BeebMaster »

Indeed, happens with the original ADFS 1.30 on a Master, which is why I'm not quite sure I understand why people would want ADFS 1.30 in a Master which already has (&E00) ADFS 1.50 built in. In the case of my ET, which has MOS 4.00 with no ADFS, I think it was added as it was just "to hand", and as it was being used as a file server in the second processor anyway, it wouldn't make any difference to the memory situation with that usage.
Image
User avatar
danielj
Posts: 9907
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by danielj »

BeebMaster wrote: Mon Dec 13, 2021 5:04 pm Indeed, happens with the original ADFS 1.30 on a Master, which is why I'm not quite sure I understand why people would want ADFS 1.30 in a Master which already has (&E00) ADFS 1.50 built in.
Because if you're running your Master with OS1.2, that's arguably the most appropriate to provide a Model B-like environment :)
User avatar
BeebMaster
Posts: 7413
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by BeebMaster »

Yes. But I thought with these switchy OSes you could choose what other sideways ROMs you have available when you change OS. Or maybe they don't do that, is it just emulators that let you do that?
Image
User avatar
danielj
Posts: 9907
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by danielj »

BeebMaster wrote: Mon Dec 13, 2021 6:03 pm Yes. But I thought with these switchy OSes you could choose what other sideways ROMs you have available when you change OS. Or maybe they don't do that, is it just emulators that let you do that?
You have to reprogram them to change them. But I don't think 1.5 will necessarily work with OS 1.2, even on a Master?

d.
User avatar
hoglet
Posts: 12682
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by hoglet »

danielj wrote: Mon Dec 13, 2021 7:54 pm But I don't think 1.5 will necessarily work with OS 1.2, even on a Master?
I'm pretty sure 1.50 won't work, because it uses some of the Master MOS 3.20 service calls (like claim hidden workspace) which is not there in OS 1.20

Dave
User avatar
Mince
Posts: 525
Joined: Thu Sep 05, 2019 11:25 pm
Location: Cambridge, UK
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Mince »

BeebMaster wrote: Mon Dec 13, 2021 6:03 pm Yes. But I thought with these switchy OSes you could choose what other sideways ROMs you have available when you change OS. Or maybe they don't do that, is it just emulators that let you do that?
The IFEL one comes with a 'Manager' ROM in bank 15 that gives you things like *INSERT and *UNPLUG. Oddly it seems to remember its settings when you power off the machine, so I'm guessing it makes use of some spare area in the Master CMOS (I don't think there's much on the board itself).

On my B I have an Integra B, which is good for people like me that like all the Master MOS goodies like *CONFIGURE FILE/LANG and *INSERT/UNPLUG.
BBC Master— PiTube 3A+ PiVDU, PicoTube, Pi1MHz, MMFS, ANFS, MultiOS
BBC B — Integra ß, PiTube Zero 2W, Pi1MHz, MMFS, DFS, ADFS, ANFS
Electron — Plus 1 w/ AP6 2V2, AP5, PiTube 3A+, Pi1MHz, PRES AP3+4, Elkeconet or ATI/ABR, ElkSD 64/Plus 1
User avatar
Mince
Posts: 525
Joined: Thu Sep 05, 2019 11:25 pm
Location: Cambridge, UK
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Mince »

hoglet wrote: Mon Dec 13, 2021 4:01 pm ...

I've fixed that in release 5:
https://github.com/hoglet67/ADFS130/rel ... elease_005
... and off comes the case and out comes the programmer again. ;) Thanks for fixing that!
BBC Master— PiTube 3A+ PiVDU, PicoTube, Pi1MHz, MMFS, ANFS, MultiOS
BBC B — Integra ß, PiTube Zero 2W, Pi1MHz, MMFS, DFS, ADFS, ANFS
Electron — Plus 1 w/ AP6 2V2, AP5, PiTube 3A+, Pi1MHz, PRES AP3+4, Elkeconet or ATI/ABR, ElkSD 64/Plus 1
Coeus
Posts: 3558
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Coeus »

BeebMaster wrote: Mon Dec 13, 2021 6:03 pm Yes. But I thought with these switchy OSes you could choose what other sideways ROMs you have available when you change OS. Or maybe they don't do that, is it just emulators that let you do that?
On the one I have, the switch allows you to switch a bank of 8 ROMs, equivalent to the 1Mbit ROM, at a time, i.e. the OS (&C000 to &FFFF) and all the ROMs in slots 9-15. When choosing a Master OS it would be usual to have those as the same ROMs as would be in the 1Mbit ROM on a real master with that OS but a couple of them can be swapped if you want. If you have OS 1.20 as one of the options for Model B compatibility then you can put whatever you like in the those 7 sideways ROM slots for when that option is selected.
Coeus
Posts: 3558
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Coeus »

hoglet wrote: Mon Dec 13, 2021 8:00 pm
danielj wrote: Mon Dec 13, 2021 7:54 pm But I don't think 1.5 will necessarily work with OS 1.2, even on a Master?
I'm pretty sure 1.50 won't work, because it uses some of the Master MOS 3.20 service calls (like claim hidden workspace) which is not there in OS 1.20

Dave
I am pretty sure I put 1.50 in my BBC B with a 65C02 in it. It also has one of Chris Morley's OSRAM modules so I retained the high workspace as would be the case on the Master and implemented the extra HAZEL-related service calls. I don't remember exactly now, but I think there is enough spare space at the end of ADFS so the extra code hooks one of the really early service calls and then issues the HAZEL related workspace calls exactly as a Master OS would, before responding to the original service call.

In a real Master I think you would have to be a little more careful, I think. It looks like HAZEL, the high "filing system" workspace is usually accessible and the OS ROM maps it out when it needs to use the corresponding part of the OS ROM. OS 1.20 would not do that so you would need to do it the other way round, i.e. map that workspace in when the ADFS ROM is called so that is all the filing system vectors and the ROM service call code.

Or you could keep the workspace low. Dave, I am sure there is also a version with low workspace but I don't remember whether you had already done that or whether it was something I did based on your Git Hub repository of ADFS 1.50.
Coeus
Posts: 3558
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Coeus »

It looks like the repository with the movable workspace is mine: https://github.com/SteveFosdick/ADFS which is based on https://github.com/hoglet67/ADFS. The location of the workspace is set with the variable ABSWS - see the various top_,asm files.
User avatar
Mince
Posts: 525
Joined: Thu Sep 05, 2019 11:25 pm
Location: Cambridge, UK
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Mince »

Coeus wrote: Tue Dec 14, 2021 4:24 pm
BeebMaster wrote: Mon Dec 13, 2021 6:03 pm Yes. But I thought with these switchy OSes you could choose what other sideways ROMs you have available when you change OS. Or maybe they don't do that, is it just emulators that let you do that?
On the one I have, the switch allows you to switch a bank of 8 ROMs, equivalent to the 1Mbit ROM, at a time, i.e. the OS (&C000 to &FFFF) and all the ROMs in slots 9-15. When choosing a Master OS it would be usual to have those as the same ROMs as would be in the 1Mbit ROM on a real master with that OS but a couple of them can be swapped if you want. If you have OS 1.20 as one of the options for Model B compatibility then you can put whatever you like in the those 7 sideways ROM slots for when that option is selected.
I had a RetroClinic one but the stack of stuff in my Master made the IFEL one fit better (to avoid clashing with my GoSDC). They're both pretty much the same in functionality.

I've replaced ViewSheet with ANFS 4.25 and View with MAMMFS (that bank doesn't have the full 16K free but MAMMFS is sufficiently small), so that's two banks I don't have to find elsewhere and I rarely use either of the two I've lost.

The OS 1.20 image has DFS, Edit 1.00, ZMMFS (SWMMFS bootstrap), HIBASIC 4.30 and ADFS 1.38 (what I've called the 1.30 patched for the Master).
BBC Master— PiTube 3A+ PiVDU, PicoTube, Pi1MHz, MMFS, ANFS, MultiOS
BBC B — Integra ß, PiTube Zero 2W, Pi1MHz, MMFS, DFS, ADFS, ANFS
Electron — Plus 1 w/ AP6 2V2, AP5, PiTube 3A+, Pi1MHz, PRES AP3+4, Elkeconet or ATI/ABR, ElkSD 64/Plus 1
Coeus
Posts: 3558
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Coeus »

Mince wrote: Thu Dec 23, 2021 5:49 pm I've replaced ViewSheet with ANFS 4.25 and View with MAMMFS (that bank doesn't have the full 16K free but MAMMFS is sufficiently small), so that's two banks I don't have to find elsewhere and I rarely use either of the two I've lost.
Why not a full 16K?

It looks like I have hardly customised the OS 1.20 bank since buying my Master as it has:

Code: Select all

15 - ( L) BASIC
14 - (S ) ARM 1.13
13 - (SL) Wordwise Plus 1.4F
12 - (S ) TOOKIT Plus
11 - (S ) Master MMFS Turbo 1.41
10 - (S ) ADT 2.00
09 - (SL) EXMON II 2.02
I think MMFS may be been my doing. For the MOS 3.20 bank, I have substituted an SD-card patched version of ADFS for the standard version and substituted MMFS for Viewsheet.
User avatar
Mince
Posts: 525
Joined: Thu Sep 05, 2019 11:25 pm
Location: Cambridge, UK
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Mince »

Coeus wrote: Thu Dec 23, 2021 8:11 pm
Mince wrote: Thu Dec 23, 2021 5:49 pm I've replaced ViewSheet with ANFS 4.25 and View with MAMMFS (that bank doesn't have the full 16K free but MAMMFS is sufficiently small), so that's two banks I don't have to find elsewhere and I rarely use either of the two I've lost.
Why not a full 16K?
I was going by the information at https://mdfs.net/Info/Comp/BBC/SROMs/MegaROM.htm — if I understand that correctly, &BDA3 and above of VIEW B3.30 are used for the BASIC relocation table on MOS 3.50, so you lose a bit.

You get the full 16K by replacing EDIT but I find that useful occasionally. TERMINAL would be a good one to change but that appears to be all munged up with other stuff.

I have EXMON II in a separate chip in bank 8 because it's usable across OS 1.20/3.20/3.50 so there's no reason to switch it. If I had a spare bank I'd stick it in the Master ROM though, like you.
BBC Master— PiTube 3A+ PiVDU, PicoTube, Pi1MHz, MMFS, ANFS, MultiOS
BBC B — Integra ß, PiTube Zero 2W, Pi1MHz, MMFS, DFS, ADFS, ANFS
Electron — Plus 1 w/ AP6 2V2, AP5, PiTube 3A+, Pi1MHz, PRES AP3+4, Elkeconet or ATI/ABR, ElkSD 64/Plus 1
User avatar
BeebMaster
Posts: 7413
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by BeebMaster »

If you are not using a second processor, then you don't need the relocation table for BASIC (and EDIT) as it's only used when relocating a language ROM using the MOS 3.50 "relocator" into the second processor. For years I had View disabled and replaced by another ROM using an overlay board which made me think the relocator just didn't work!

Also you can force a language ROM not to relocate by adding 64 to the ROM number and starting it with OSBYTE 142, e.g. *FX142,76 for BASIC in its original slot in ROM 12, won't relocate to become "Hi-BASIC" even with a 6502 second processor active.

The relocation tables for BASIC and EDIT must be stored in a ROM relative to the location of BASIC and EDIT in the MOS ROM. This is because BASIC and EDIT point to the relocation table using an offset within their ROM header. For BASIC, it's +2 and for EDIT, it's +3. So with BASIC in 12, and Edit in 11, the tables for both are found in ROM 14 which is View. If you want to move BASIC or EDIT to a different ROM slot, and still use the relocator, then the relocation table will also have to be moved to a different ROM slot. Or the header for BASIC or EDIT could be altered to point to a different offset.
Image
User avatar
Mince
Posts: 525
Joined: Thu Sep 05, 2019 11:25 pm
Location: Cambridge, UK
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Mince »

BeebMaster wrote: Fri Dec 24, 2021 12:19 am If you are not using a second processor, then you don't need the relocation table for BASIC (and EDIT) as it's only used when relocating a language ROM using the MOS 3.50 "relocator" into the second processor. For years I had View disabled and replaced by another ROM using an overlay board which made me think the relocator just didn't work!

...

The relocation tables for BASIC and EDIT must be stored in a ROM relative to the location of BASIC and EDIT in the MOS ROM. ...
I use the second processor most of the time, along with the HIBASIC Editor. Often the only thing I shift back to Tube-less for is EXMON II — I have been wondering how easy it would be to get that working across the Tube (with some of the features disabled, but at least the main disassembly and single step execution.

As for the relocation under 3.50, I'd never noticed that they support a different ROM number (either absolute or relative) for the tables! It had never occurred to me, looking at JGH's map, that putting them in a different bank was a standard feature but Acorn obviously needed that themselves for 3.50.
BBC Master— PiTube 3A+ PiVDU, PicoTube, Pi1MHz, MMFS, ANFS, MultiOS
BBC B — Integra ß, PiTube Zero 2W, Pi1MHz, MMFS, DFS, ADFS, ANFS
Electron — Plus 1 w/ AP6 2V2, AP5, PiTube 3A+, Pi1MHz, PRES AP3+4, Elkeconet or ATI/ABR, ElkSD 64/Plus 1
Coeus
Posts: 3558
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by Coeus »

Mince wrote: Thu Dec 23, 2021 5:49 pm I was going by the information at https://mdfs.net/Info/Comp/BBC/SROMs/MegaROM.htm — if I understand that correctly, &BDA3 and above of VIEW B3.30 are used for the BASIC relocation table on MOS 3.50, so you lose a bit.
Ok, that makes sense. When considering swapping out ROMs I was only considering the whole ROM. It didn't occur to be to replace only part of the 16K with another, slightly short ROM but the way JGH's page present it, that makes perfect sense.
Mince wrote: Thu Dec 23, 2021 5:49 pm You get the full 16K by replacing EDIT but I find that useful occasionally. TERMINAL would be a good one to change but that appears to be all munged up with other stuff.
As I have said before, I think that terminal ROM is more OS than terminal and I still wonder if the OS simply overflowed into it or whether it was very aparent early on that a 2nd ROM would be needed for the OS and the terminal "language" was chosen as a vehicle precisely because it offered plenty of spare space rather than because it was expected to be widely useful.
james
Posts: 347
Joined: Tue Aug 15, 2023 8:41 pm
Location: NE Hampshire
Contact:

Re: ADFS 1.30 to run on BBC Master under OS 1.20

Post by james »

hoglet wrote: Mon Dec 13, 2021 4:01 pm I've fixed that in release 5:
https://github.com/hoglet67/ADFS130/rel ... elease_005
Just found this - excellent!

Like @mince I have an IFEL MultiOS upgrade in my Master and have used @tom_seddon's Updated Master MOS on the MOS 3.x side.

But with this I can now have ADFS accessing the GOTEK under OS 1.20 as well (and uplug it when not needed, PAGE at &1F00 with both DFS and ADFS is eye-watering).

So, thank you @hoglet !
Post Reply

Return to “8-bit acorn software: other”