How To Stop the Tube?
How To Stop the Tube?
Master with MultiOS.
Brand new (to me) "Turbo" co-pro.
MOS 3.20 and 3.50, all works beautifully. *CO. (NO)TUBE as expected.
But woe; swap to OS 2.00 or 1.20 and there's the co-pro's banner. PAGE resolutely at &800 no matter what I do. Unplug DFS? Nah, still there. Use BeebAid's Tab-Break to enable/disable the Tube. Nah, still there.
So, short of pulling the co-pro out can I stop the Tube on a non-Master OS?
Nb: this is an Acorn co-pro, not a PiTube
Brand new (to me) "Turbo" co-pro.
MOS 3.20 and 3.50, all works beautifully. *CO. (NO)TUBE as expected.
But woe; swap to OS 2.00 or 1.20 and there's the co-pro's banner. PAGE resolutely at &800 no matter what I do. Unplug DFS? Nah, still there. Use BeebAid's Tab-Break to enable/disable the Tube. Nah, still there.
So, short of pulling the co-pro out can I stop the Tube on a non-Master OS?
Nb: this is an Acorn co-pro, not a PiTube
- BeebMaster
- Posts: 7379
- Joined: Sun Aug 02, 2009 5:59 pm
- Location: Lost in the BeebVault!
- Contact:
Re: How To Stop the Tube?
This is interesting because on the one hand I would expect OS 1.20 to recognise the Tube simply because the second processor is "powered on" (as there's no way exactly of unpowering an internal co-processor) but on the other hand I wouldn't expect OS 1.20 to know to look for a second processor on the internal Tube interface.
Is it any different (in Master mode I presume) if you do *CO. EXTUBE as well as *CO. NOTUBE then try the B or B+ OS?
For BBC B ROMs, the Tube host code is in DNFS (DFS 1.20/NFS 3.60) and in the 1770 DFS and possibly in ANFS 4.18 as well, so they might all need disabling somehow - but then the unpluggers usually used with BBC B aren't as reliable as *UNPLUG in the Master MOS.
i don't have a multi-OS but somebody must have encountered this situation before.
Is it any different (in Master mode I presume) if you do *CO. EXTUBE as well as *CO. NOTUBE then try the B or B+ OS?
For BBC B ROMs, the Tube host code is in DNFS (DFS 1.20/NFS 3.60) and in the 1770 DFS and possibly in ANFS 4.18 as well, so they might all need disabling somehow - but then the unpluggers usually used with BBC B aren't as reliable as *UNPLUG in the Master MOS.
i don't have a multi-OS but somebody must have encountered this situation before.
Re: How To Stop the Tube?
*co. extube and *co. notube confirmed in MOS 3.x
But swapping to OS 2.00, and killing nearly all the ROMs apart from Advanced ROM Manager. The tube is there!
And REPORT tells me it’s BASIC 2
But swapping to OS 2.00, and killing nearly all the ROMs apart from Advanced ROM Manager. The tube is there!
And REPORT tells me it’s BASIC 2
-
- Posts: 889
- Joined: Tue Aug 30, 2005 12:42 am
- Contact:
Re: How To Stop the Tube?
That is not the startup display I'd expect to see - tube init usually takes place before the OS banner is printed, so what you should see is the Tube banner, then the other stuff, then BASIC and the promph. No Acorn OS 64K or BBC Microcomputer 32K. Is it the same with OS 1.20? Is some other ROM stepping in and doing something strange?
What if you unplug the cartridge with ROMs 2 and 3?
My Acorn stuff is all packed away so I can't currently test with the multi-OS I've got. I am 99% certain it boots into OS 1.20 without detecting the internal tube, and I expect OS 2.00 is the same (but I doubt I've used that setting more than once).
--Tom
What if you unplug the cartridge with ROMs 2 and 3?
My Acorn stuff is all packed away so I can't currently test with the multi-OS I've got. I am 99% certain it boots into OS 1.20 without detecting the internal tube, and I expect OS 2.00 is the same (but I doubt I've used that setting more than once).
--Tom
b2 BBC B/B+/Master emulator: https://github.com/tom-seddon/b2; BeebLink filing system: https://github.com/tom-seddon/beeblink; more BBC Micro stuff: https://github.com/tom-seddon?tab=repos ... :bbc-micro
Re: How To Stop the Tube?
With or without the cartridge, the display is as expected - here’s ‘without’
It looks like something in ARM’s *KILL 8 (Model B MMFS 1.55) is causing the TUBE banner to appear in the wrong place.
I’m not overly familiar with co-pros, and see *HELP reveals both
65C102 TUBE 1.10
and
TUBE HOST 2.30
*UNPLUG seems to be working as *DISC gives me Bad command and *. flaps the tape relay. But the co-pro is still there
It looks like something in ARM’s *KILL 8 (Model B MMFS 1.55) is causing the TUBE banner to appear in the wrong place.
I’m not overly familiar with co-pros, and see *HELP reveals both
65C102 TUBE 1.10
and
TUBE HOST 2.30
*UNPLUG seems to be working as *DISC gives me Bad command and *. flaps the tape relay. But the co-pro is still there
Re: How To Stop the Tube?
Hmm. This thread might help. I'll have a try tomorrow FX Call to turn off 2nd Processor on Model B
Re: How To Stop the Tube?
To the Tube code there's no such thing as the "internal" or "external" Tube. It's just there at &FEFx. It's a bit in the IOACC register that determines where access to &FEFx goes to, so switching to pre-MOS3 will access whatever the hardware was set to before you pressed BREAK.BeebMaster wrote: ↑Wed Feb 21, 2024 5:39 pm This is interesting because on the one hand I would expect OS 1.20 to recognise the Tube simply because the second processor is "powered on" (as there's no way exactly of unpowering an internal co-processor) but on the other hand I wouldn't expect OS 1.20 to know to look for a second processor on the internal Tube interface.
There are transient commands to temporarily and semi-permanently enable/disable the Tube here: TubeUtils.
The first one is the Tube Client responding, the next one is the Tube Host responding after the client has passed the command over to the host.
Code: Select all
$ bbcbasic
PDP11 BBC BASIC IV Version 0.45
(C) Copyright J.G.Harston 1989,2005-2024
>_
Re: How To Stop the Tube?
Ah. Thanks for the pointer to the TubeUtils.
*TUBE OFF followed by *TEST65 tells me "Not running on Tube"
[Break] then *TEST65 tells me some details, including MEMBOT=&0800
On the other thread FX Call to turn off 2nd Processor on Model B, the OP mentions exactly this and you (that is, JGH) provided the source for NOTUBE. So I've given that a whirl ...
*NOTUBE then [Break] then *TEST65 tells me "Not running on Tube" and PAGE is a (surprising!) &2100. BUT the "Acorn TUBE 65C102..." banner is still there!
NB: This is on OS 1.20.
*TUBE OFF followed by *TEST65 tells me "Not running on Tube"
[Break] then *TEST65 tells me some details, including MEMBOT=&0800
On the other thread FX Call to turn off 2nd Processor on Model B, the OP mentions exactly this and you (that is, JGH) provided the source for NOTUBE. So I've given that a whirl ...
*NOTUBE then [Break] then *TEST65 tells me "Not running on Tube" and PAGE is a (surprising!) &2100. BUT the "Acorn TUBE 65C102..." banner is still there!
NB: This is on OS 1.20.
Re: How To Stop the Tube?
AAAHH it's MMFS what dunnit!
Using Advanced ROM Manager's *KILL to zap MMFS, and then *NOTUBE and then a control-break gives me this happily Tubeless view:
Shame about MMFS. Which begs the question - what do I do about it? DFS behaves "as expected", so why not MMFS?
Thanks JGH for the utilities !
Using Advanced ROM Manager's *KILL to zap MMFS, and then *NOTUBE and then a control-break gives me this happily Tubeless view:
Shame about MMFS. Which begs the question - what do I do about it? DFS behaves "as expected", so why not MMFS?
Thanks JGH for the utilities !
Re: How To Stop the Tube?
I've read this thread a couple of times and there's not quite enough detail for me to determine if there is an MMFS bug or not.
If you think there is a bug, then please do create an issue in github:
https://github.com/hoglet67/MMFS/issues
Try to describe the what you think the bug is in as much detail as possible. Does it just pertian to the use of NOTUBE with MMFS, or is it borader than that?
(both MMFS and DFS contain the tube host code, and that's by design)
Dave
Re: How To Stop the Tube?
Thanks - I'm gathering my thoughts - apart from *ROMS telling me "Model B MMFS 1.55" is there anything else you'd need to know about which version it is? The EPROM was supplied with the machine, so I don't know exactly which image was used to create it.
I've tried creating a problem report, let me know if you need more https://github.com/hoglet67/MMFS/issues/37
Last edited by james on Thu Feb 22, 2024 5:47 pm, edited 1 time in total.
Re: How To Stop the Tube?
What happens if you *KILL DFS instead of MMFS? i.e. is the issue linked to having both file systems (or Tube Host Codes) active at the same time?
Re: How To Stop the Tube?
Oddness happens. The tube banner is still there, but PAGE is at &1F00 and JGH's *TEST65 utility no longer works.
Last edited by james on Thu Feb 22, 2024 5:43 pm, edited 1 time in total.
- BeebMaster
- Posts: 7379
- Joined: Sun Aug 02, 2009 5:59 pm
- Location: Lost in the BeebVault!
- Contact:
Re: How To Stop the Tube?
Would it be worthwhile testing, for comparison purposes, what happens with these tube-killer utilities, and various combinations of ROMs, on a real BBC B with 6502 cheese wedge powered on?
Re: How To Stop the Tube?
What I found was that if a service ROM wrote a zero to &27A in service call 1 then that seems to prevent everything from seeing the copro exists.
&27A is "Tube presence flag" and is set by the OS start up routines; setting this to zero makes everything else think it's not there. (OSBYTE 234 also can be used to set this).
Setting it in service call 1 normally means you've disabled it before any other ROM detects the Tube is present and goes through the tube initialisation.
I just tested on my model B with matchbox copro and MMFS (hmm, an older version perhaps; 1.48 T). With MMFS in slot 15 and the service ROM in slot 12 then it worked as expected.
I also tested on a Master128 with OS1.20 and an internal CoPro and TurboMMC; that worked the same as well.
&27A is "Tube presence flag" and is set by the OS start up routines; setting this to zero makes everything else think it's not there. (OSBYTE 234 also can be used to set this).
Setting it in service call 1 normally means you've disabled it before any other ROM detects the Tube is present and goes through the tube initialisation.
I just tested on my model B with matchbox copro and MMFS (hmm, an older version perhaps; 1.48 T). With MMFS in slot 15 and the service ROM in slot 12 then it worked as expected.
I also tested on a Master128 with OS1.20 and an internal CoPro and TurboMMC; that worked the same as well.
Rgds
Stephen
Stephen
Re: How To Stop the Tube?
What happen's if you try with JGH's NOTUBE (it's all I've got!). It appears to work. Just the banner if MMFS is running.
Edit: I can’t help thinking that MultiOS would be helped by pairing with a tweaked Integra-B IBOS-type ROM that works in the Master’s hardware.
Edit: I can’t help thinking that MultiOS would be helped by pairing with a tweaked Integra-B IBOS-type ROM that works in the Master’s hardware.
- Attachments
-
- NoTube.ssd
- (200 KiB) Downloaded 5 times
Re: How To Stop the Tube?
If you read the source, JGH's code is writing a 0 to &27A, and hooking into a "break" routine at &287 to make it run each time you press the BREAK key. This is about as close to emulating service call 1 as you can get without a ROM.
His code lives at &39F, and it's not uncommon for other programs to trample on this (eg games) 'cos the OS doesn't use it. So you might sometimes need to power cycle to recover. (I use the same locations for my Manager ROM config and see enough trampling that I added a key-combo "TAB-Break" to reset to defaults).
But it's pretty much the same solution as mine, just I have mine embedded into my Manager ROM so it's always there
His code lives at &39F, and it's not uncommon for other programs to trample on this (eg games) 'cos the OS doesn't use it. So you might sometimes need to power cycle to recover. (I use the same locations for my Manager ROM config and see enough trampling that I added a key-combo "TAB-Break" to reset to defaults).
But it's pretty much the same solution as mine, just I have mine embedded into my Manager ROM so it's always there
Rgds
Stephen
Stephen
Re: How To Stop the Tube?
Hehe, yes I have Ctrl-CAPS-Break to do similar.
Code: Select all
$ bbcbasic
PDP11 BBC BASIC IV Version 0.45
(C) Copyright J.G.Harston 1989,2005-2024
>_
Re: How To Stop the Tube?
As an aside to all this, the Master MultiOS from IFEL / Steve Picton has a "Manager" ROM in bank 15 of the MOS 1.20 selection that has *TUBE, *NOTUBE, *EXTUBE and *INTUBE commands that do the equivalent of the Master MOS versions (along with lots of other *CONFIGURE-type things like *INSERT and *UNPLUG), which are battery-backed up separately (I assume somewhere in spare CMOS space, but I've never asked). I don't think the ROM is available separately.
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
-
- Posts: 889
- Joined: Tue Aug 30, 2005 12:42 am
- Contact:
Re: How To Stop the Tube?
I temporarily set up my Master Turbo last night and had a quick poke about - the RetroClinic multi-OS I've got (presumably the same one james has - same games as in the screenshot I think) booted into OS 1.20 as normal, no Tube detected. I've no scope for getting files back to the PC for now, so I don't have ROM images to examine on the PC currently, and I could only investigate on the thing itself.
P.~?&FE34 produced a slightly surprising &10, implying that the internal Tube was selected. (I suspect this will be the power-on default.) And yet, no second processor detected, even though surely the onboard DFS should have picked it up. Perhaps the onboard DFS has had the Tube detection code stripped out, not the case with MMFS?
I tried to follow through the DFS service code with Exmon II in OS 2.00 mode, and quickly got a bit lost, but I did notice a NOP:NOP:NOP that suggests at least one patch might have been applied.
MOS 3.20 + *CONFIGURE TUBE booted into the Turbo board. So it was definitely working.
--Tom
P.~?&FE34 produced a slightly surprising &10, implying that the internal Tube was selected. (I suspect this will be the power-on default.) And yet, no second processor detected, even though surely the onboard DFS should have picked it up. Perhaps the onboard DFS has had the Tube detection code stripped out, not the case with MMFS?
I tried to follow through the DFS service code with Exmon II in OS 2.00 mode, and quickly got a bit lost, but I did notice a NOP:NOP:NOP that suggests at least one patch might have been applied.
MOS 3.20 + *CONFIGURE TUBE booted into the Turbo board. So it was definitely working.
--Tom
b2 BBC B/B+/Master emulator: https://github.com/tom-seddon/b2; BeebLink filing system: https://github.com/tom-seddon/beeblink; more BBC Micro stuff: https://github.com/tom-seddon?tab=repos ... :bbc-micro
Re: How To Stop the Tube?
In digging around to find what MultiOS was supplied with the computer, I accidentally bent a pin on the carrier board (never let a software person near hardware), so - sigh - no computer at the moment. Maybe an opportunity to try the IFEL MultiOS instead.
Though the original problem was resolved, *NOTUBE and *TUBE OFF did what they say on the tin
Though the original problem was resolved, *NOTUBE and *TUBE OFF did what they say on the tin
Re: How To Stop the Tube?
I'm feeling a bit guilty here, because it was me that asked about the MultiOS version. I assumed (wrongly) because it contained the latest MMFS version, and some other unusual ROMs, that you had built this image up yourself. But looking more closely, MMFS is in a seperate ROM in slot 8.
This can usually be repaired by soldering a piece of thin solid core wire to what remains of the pin. There is an ABUG at Camberly in April, which I think is not too far from you. I'm sure someone there would have a go at repairing it for you. Or you might find that Mark Haysman would help as well.
Dave
Re: How To Stop the Tube?
Don't worry - I'm the one who was clumsy - and you asked a fair question! 40 years ago swapping ROMs in my BBC B seemed easy. But that was then. I've since realised I bought a MOS 3.20 ROM "just in case" (of what, I don't know) so I should be able to get it running again if needed.
Both were installed in the (refurbished) computer when I bought it.I assumed (wrongly) because it contained the latest MMFS version, and some other unusual ROMs, that you had built this image up yourself. But looking more closely, MMFS is in a seperate ROM in slot 8.
On the back it says www.ukwebb.net, so I've opened negotiations with him for a replacement.
Seems I do own a soldering iron. But neither it nor I are up to soldering wires onto pins.This can usually be repaired by soldering a piece of thin solid core wire to what remains of the pin.
When it's running again, I'm toying with the idea of carefully removing the MMFS ROM to see what happens. I've an IFEL ROM/RAM cartridge, so can install another ROM image there, if needed.
Re: How To Stop the Tube?
I discovered the same issue a little while ago, and its because of the tube code being in the mmfs ROM, so built (with hoglets help) a version of MMFS without tube code.
BBC Bs, Master 128s, Master Compact, and Electrons, and an A3000 with an ARM3
Don’t Panic and Always Carry a Towel
Don’t Panic and Always Carry a Towel
Re: How To Stop the Tube?
The Master is working again (thanks ukwebb for quick delivery of replacements!)
I've removed the MMFS ROM from the motherboard and there's no longer any Tube banner at boot into OS 1.20, which leads me to think that the original MultiOS DFS probably has the Tube code disabled/removed.
hoglet's update via github suggests that with just DFS & NOTUBE then the Tube banner is still present even though PAGE is no longer at &800. So MMFS is working the same as DFS in this respect.
Unless there's a different software off switch that MMFS/DFS respect, I suspect the answer is to compile a copy of MMFS with the Tube code disabled. Though that's easier said than done!
I've removed the MMFS ROM from the motherboard and there's no longer any Tube banner at boot into OS 1.20, which leads me to think that the original MultiOS DFS probably has the Tube code disabled/removed.
hoglet's update via github suggests that with just DFS & NOTUBE then the Tube banner is still present even though PAGE is no longer at &800. So MMFS is working the same as DFS in this respect.
Unless there's a different software off switch that MMFS/DFS respect, I suspect the answer is to compile a copy of MMFS with the Tube code disabled. Though that's easier said than done!
Re: How To Stop the Tube?
I bet there's a one-byte patch...
Re: How To Stop the Tube?
Well, with a certain amount of running around (the Master is downstairs and the Mac upstairs) and compiling the latest beebasm 1.10 and building a tubeless-MMFS*, there is no longer any TUBE banner and page is at &1900 after nobbling DFS.
*change _TUBEHOST_=TRUE to _TUBEHOST_=FALSE in top_MMFS.asm, then run "build.sh MMFS"
Thanks to all for the help and guidance
*change _TUBEHOST_=TRUE to _TUBEHOST_=FALSE in top_MMFS.asm, then run "build.sh MMFS"
Thanks to all for the help and guidance
Re: How To Stop the Tube?
In former emploment, finding support tickets that matched a current problem but contained nothing more than "problem resolved, closing ticket" used to be the bane of my life.
The permanent solution for me has been to buy an IFEL MultiOS, containing a utility rom for OS 1.20 which provides configuration and management commands similar to the Master's *CONFIG, *UNPLUG etc.
Thanks to it, *TUBE and *NOTUBE now work to switch the co-pro on and off in 'Beeb' mode.
The permanent solution for me has been to buy an IFEL MultiOS, containing a utility rom for OS 1.20 which provides configuration and management commands similar to the Master's *CONFIG, *UNPLUG etc.
Thanks to it, *TUBE and *NOTUBE now work to switch the co-pro on and off in 'Beeb' mode.