ADFS 1.30 to run on BBC Master under OS 1.20
ADFS 1.30 to run on BBC Master under OS 1.20
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?
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
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
- 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
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
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
- 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
Here's ADFS 1.30 working on a standard Master 128 with a PiMHzSCSI:
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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.
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.
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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.
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
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
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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
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
- 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
Great work, works for me:
(I think ADT's FCOMP only shows the first 8 differences between files).
(I think ADT's FCOMP only shows the first 8 differences between files).
- 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
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:
Re: ADFS 1.30 to run on BBC Master under OS 1.20
Thanks Dave! That certainly seems to have hit the spot, in my quick tests.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.
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
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
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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 hexhoglet 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.
Thanks Dave
Re: ADFS 1.30 to run on BBC Master under OS 1.20
The cause of this is that the ADFS 1.30 floppy controller detection code reads the value of the drive control register: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:
Code: Select all
.LBA11
LDA #$5A
STA LFE85
LDA LFE85
CMP #$5A
BNE LBA25
LDA LFE80 <<<<<<
AND #$03 <<<<<<
BEQ LBA25 <<<<<<
CLC
.LBA25
RTS
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
- 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
Yes, that does the trick, thank you very much. One side effect I didn't notice before is that PAGE goes up to &1D00!
Re: ADFS 1.30 to run on BBC Master under OS 1.20
Which is what you should expect if you've converted your Master into a Beeb!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!
- 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
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.
Re: ADFS 1.30 to run on BBC Master under OS 1.20
Because if you're running your Master with OS1.2, that's arguably the most appropriate to provide a Model B-like environmentBeebMaster 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.
- 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
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?
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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?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?
d.
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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).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 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
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
Re: ADFS 1.30 to run on BBC Master under OS 1.20
... and off comes the case and out comes the programmer again. Thanks for fixing that!hoglet wrote: ↑Mon Dec 13, 2021 4:01 pm ...
I've fixed that in release 5:
https://github.com/hoglet67/ADFS130/rel ... elease_005
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
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
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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.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?
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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.
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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.
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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.Coeus wrote: ↑Tue Dec 14, 2021 4:24 pmOn 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.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?
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
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
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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
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
- 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
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.
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.
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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.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. ...
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
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
Re: ADFS 1.30 to run on BBC Master under OS 1.20
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 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.
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.
Re: ADFS 1.30 to run on BBC Master under OS 1.20
Just found this - excellent!hoglet wrote: ↑Mon Dec 13, 2021 4:01 pm I've fixed that in release 5:
https://github.com/hoglet67/ADFS130/rel ... elease_005
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 !