Testers wanted for BBC BASIC (Z80) version 5
Comments
-
-
I'll put out some feelers about a funding drive.
Failing that, I think my job is done as far as the Z80 work is concerned, I'm not aware of anything outstanding.
It was a nice distraction, and being able to work on something that I could actually still remember was a novelty!
I now intend to detach myself from BBC BASIC entirely. The things I could still do (like providing some degree of support) I've been prevented from doing, and developing / modifying the newer versions is not something I am capable of any more.
An unresolved question is what to do about the web site(s). It would probably be most sensible to close them down altogether, but I'm not particularly keen on selling the domain names for fear that somebody else might use them for purposes I don't agree with.
Any suggestions on that front would be welcome.
0 -
The websites are a useful source of documentation, that would be a terrible shame should they disappear.
Edit: Having given this some thought, if you are willing I am prepared to host your website contents as static content (and under one of my domains, should you prefer). I have tremendous respect for you and all you have done in the BBC BASIC world, and I have learned a huge amount from you in the last 6 years or so.0 -
Unfortunately, none of the tools are in the zip file...
0 -
I am prepared to host your website contents as static content.
Basically I split the sites between a UK-based host which would guarantee continued access to the BBC data and an offshore host with permissive PHP facilities to serve the Web Assembly code worldwide. This has to date proved a very effective and reliable arrangement.
So it would be madness to considering moving them to new hosts again, and I strongly suspect you would not want to be troubled by all those complications. My sites are not 'static' in the sense that there's PHP code running behind the scenes to serve the necessary files and add the necessary headers!
It's not as though the cost of hosting is an issue at all, it's not. But what is potentially an issue is giving the impression that my 'products' are well-supported when they're not. The BBC BASIC forum, which occupies a significant proportion of each site, is now dead - killed recently by the nay-sayers.
Ten or so years ago I would have had no reason to be concerned about support. There were users of my BASICs (e.g. Jon Ripley and Malcolm Marten) who were highly knowledgeable, and perfectly capable of providing any support required. But they are long since gone, and now I am probably the the only person left able to support BB4W and BBCSDL, but sadly not for much longer.
0 -
Perhaps make your page display engine display a banner saying these sites are no longer maintained - a bit like some older BBC content.0
-
Unfortunately, none of the tools are in the zip file...
However not everybody is so scrupulous and a Google search has found M80 and L80 available in this zip (I would advise an appropriate degree of caution in downloading these files, although if only run within the RunCPM environment they should be harmless).
Don't worry about LINK and HEXBIN, you shouldn't need them if you use M80 and L80 since I believe they can generate a .COM file directly. My only caveat would be to check that L80 can be told to position the data segment on a page boundary, which is a requirement for BBC BASIC.
Edit: Looks like it can, use the /D switch.1 -
-
Hated_moron wrote: »Edit: Looks like it can, use the /D switch.
If you find that L80 amalgamates these into one contiguous data segment, you may need to specify an address in the /D switch calculated to force BASIC's data onto a page boundary. I wouldn't expect this to be difficult, but you'll get obscure faults if you don't.
0 -
I'm obviously doing something wrong - or I have the wrong version of M80 (running 'strings' on the binary in Linux indicates "MACRO-80 3.44 09-Dec-81"). The assembler complains there's no END statement, yet it is clearly there at the end of the file, and writes out just one record of object code for a 44K bit of assembly language source!
C0>STAT EXEC.Z80 Recs Bytes Ext Acc 351 44k 2 R/W C:EXEC.Z80 Bytes Remaining On C: 7256k C0>M80 *exec,exec.lst=exec.z80 /z %No END statement %No END statement No Fatal error(s) *^C RunCPM Version 6.3 (CP/M 60K) C0>STAT EXEC.REL Recs Bytes Ext Acc 1 4k 1 R/W C:EXEC.REL Bytes Remaining On C: 7256k C0>
0 -
I'm obviously doing something wrong - or I have the wrong version of M80
If you can't get it to work, try Z80ASM instead (which comes with RunCPM). If I run it here it does create a different length EXEC.REL file (6,656 bytes) but that may not be significant:Z80ASM EXEC.CCZ/RM
(edited to use /RM switch to output a Microsoft-compatible REL)0 -
Thank you Richard, that has worked. It's good to be able to recreate the build independently of your particular setup.
Also, through much trial and error the L80 incantation required to link as intended is:L80 dist,main,exec,eval,asmb,math,hook,cmos,/p:4B00,data,bbcbasic/n/e
Incidentally the binary built this way is 768 bytes larger - it appears perhaps your binary doesn't save out the DATA component, as it's just space? Probably a linker quirk. I diff'ed hexdumps of the two builds and aside from this they're practically identical.
Edit: If it's of any use. here's a Submit file that uses these tools to build:ERA BBCBASIC.COM ERA *.REL Z80ASM ASMB.@@Z/RM Z80ASM CMOS.@@Z/RM Z80ASM DATA.@@Z/RM Z80ASM DIST.@@Z/RM Z80ASM EVAL.@@Z/RM Z80ASM EXEC.@@Z/RM Z80ASM HOOK.@@Z/RM Z80ASM MAIN.@@Z/RM Z80ASM MATH.@@Z/RM L80 dist,main,exec,eval,asmb,math,hook,cmos,/p:4B00,data,bbcbasic/n/e ERA *.REL
Edit: Amended to use the currently logged drive rather than specifically C: (which breaks on the Z80SP).
I have successfully built this under RunCPM compiled for Linux, and on PiTubeDirect's Z80SP - the closest I have to a real CP/M system.0 -
the binary built this way is 768 bytes larger - it appears perhaps your binary doesn't save out the DATA component, as it's just space?
The DATA.Z80 file uses DEFS, so I wouldn't have expected the behaviour you see, but other than making the file larger than it needs to be unnecessarily, I suppose it doesn't really matter.
0 -
The websites are a useful source of documentation, that would be a terrible shame should they disappear.
Edit: Having given this some thought, if you are willing I am prepared to host your website contents as static content (and under one of my domains, should you prefer). I have tremendous respect for you and all you have done in the BBC BASIC world, and I have learned a huge amount from you in the last 6 years or so.
An important point, and a great offer. There's at least a handful of websites preserved in this way - brought under the wing of a successor - when the original is in some way retired. Even if the domains don't last forever, it's easy enough - with cooperation - to preserve the contents, which is the important thing.0 -
Hated_moron wrote: »
Just some text centred at the very top of the page, with a <HR> directive (if I remember correctly) to draw a line separating that from the remainder of the content. I don't think it needs any more than that.0 -
Hated_moron wrote: »I'll put out some feelers about a funding drive.
Failing that, I think my job is done as far as the Z80 work is concerned, I'm not aware of anything outstanding.
It was a nice distraction, and being able to work on something that I could actually still remember was a novelty!
I think we can say the funding isn't looking promising. For me, as a last resort, I'd be prepared to contribute a proportion of costs. But there are, I think, one and possibly two specific individuals who have the equipment, experience, and expertise to do the job as a favour to the community. As added benefits, they actually care about preservation and the results of capturing a floppy, and also they'd be able to capture additional floppies, if you unearth others with historic information on them. I'm happy to discuss in private messages.
1 -
But there are, I think, one and possibly two specific individuals who have the equipment, experience, and expertise to do the job as a favour to the community. As added benefits, they actually care about preservation and the results of capturing a floppy
So I think I would want to use them - if there's any point in doing it at all, and that's where my uncertainty lies. When working on BBC BASIC (Z80) recently it never occurred to me that the Acorn Z80 Second Processor might be a target that anybody would be interested in. It's an extremely obscure product, really created only because of the BBC's insistence on the BBC Micro 'supporting CP/M'. Were any ever even sold?
So I wonder who these people are who would be interested in running a 'version 5' BBC BASIC on a Z80 Second Processor, and why?0 -
Just some text centred at the very top of the page, with a <HR> directive (if I remember correctly) to draw a line separating that from the remainder of the content. I don't think it needs any more than that.
If I add a banner I'm going to say that the owner of the site has died. I know that's not true - yet - but it will be soon, and when it is there won't be anybody able to change the site to say so!
0 -
Hated_moron wrote: »When working on BBC BASIC (Z80) recently it never occurred to me that the Acorn Z80 Second Processor might be a target that anybody would be interested in. It's an extremely obscure product, really created only because of the BBC's insistence on the BBC Micro 'supporting CP/M'. Were any ever even sold?
I'll send a PM about the disk recovery.0 -
Estimates are that 10000 were made, and serial numbers ranging from 04-ANC04-105415 to 1007190 have been seen. So, at least a few thousand made, and probably at least hundreds leftseveral hundred - if not more than a thousand - users of PiTubeDirect have a z80 available, if they have something to run on it!I'll send a PM about the disk recovery.
0 -
I'll send a PM about the disk recovery.
0 -
PiTubeDirect is not related to RISC OS in any way, instead it's software + interface for a Pi that attaches to the Tube port of a BBC Micro or Master and software emulates a handful of different co-processors (often faster then the real kit being emulated!), and can be switched from one co-pro to another by a *FX command followed by BREAK. https://github.com/hoglet67/PiTubeDirect0
-
PiTubeDirect is not related to RISC OS in any way, instead it's software + interface for a Pi that attaches to the Tube port of a BBC Micro or Master
I still find it hard to understand what the attraction is of running an (emulated) Z80 Second Processor, whether in conjunction with a real Beeb or an emulator like B-Em, when one could presumably use a 80186 Second Processor instead.
And before you ask, no I don't have any plans to update BBC BASIC (86) for MS-DOS to the version 5 specification!0 -
PiTubeDirect can also emulate the 80186.
0 -
Indeed, for those of us using 8 bit Acorn micros, PiTubeDirect is a kind of cheap and fast universal second processor.0
-
PiTubeDirect can also emulate the 80186.
0 -
I've not received any feedback from testing. This might mean that lots of testing has taken place but no bugs found, which would be good. But it might mean that no testing (additional to my own) has been done at all, which would mean that I couldn't take it out of beta status.0
-
I have been doing a bit of testing, though swamped with childcare over half term time has not been on my side. The only issue I found so far is the now-fixed delete bug.0
-
The only issue I found so far is the now-fixed delete bug.
If you wanted to target your testing, the two features which are probably most vulnerable to subtle and hard-to-find bugs are Array Arithmetic and RETURNed parameters. There are so many possible situations which can trigger bugs that exhaustive testing of those isn't possible.
For example this (although it's is a known edge-case so should have been caught in my testing):PROCtest(A, B) ... DEF PROCtest(RETURN B, RETURN A)
Having formal parameters which are the same as the actual parameters, but in the reverse order, is a particularly tough challenge, both when passing the parameters in and when passing them out again. Yes, it does work correctly in Brandy.
0 -
I have a hunch (currently at the hospital, both eyes injected... ) which I will check later, that your little graphic demos that also ran in Matrix Brandy use this. Ironically, this is where the Z80SP would be useful, just replacing the PLOTs with appropriate VDU25 calls would allow the graphics to work (albeit glacially compared to modern kit) and would give a visual confirmation if all was not well.0