Dave,
I have download the newer ABE.zip from your post. In a very quick look I found that:
- The ElkBE-sourceFiles-59.adf file does not contain anything useful. The file extension suggests it should be an image of an ADFS disc but all it actually contains is many blocks of 00 (hex) followed by a few blocks of the letter Z (5A hex) so no sign of a filesystem structure and nothing useful can be extracted from it.
- I had not more luck with the HFE support in B-Em reading Altera BE Commands Text_adl.hfe than you did with whatever you used. I may look into using Beebjit as I believe it has very good HFE support but that means working out how to get ADFS running under Beebjit as I assume it is an ADFS disc by the adl in the filename.
I still need to go through the other files in more detail.
daveejhitchins wrote: ↑Sat Oct 23, 2021 10:32 am
I'm still not sure where Acorn figures in all this? No conversations or documents , from Altra, ever mentioned Acorn! I would have thought that if Acorn were involved there would have been a legal requirement to mention it?
The relevance of Acorn here is that the first ROM of the pair in both the P.R.E.S. and BE products has much in common with a BASIC editor that Acorn were marketing and which Tom has already disassembled and has been enhancing. Here is a part of the front cover of the manual that came with the Acorn version, which clearly has Acornsoft branding:
I posted further up the thread that I had downloaded a pair of ROM images from mdfs.net, which you believed to be the P.R.E.S version, and when I traced the language entry of the lower (editor) ROM of that pair it looked remarkably similar to the code in Tom's GitHub, which originated from disassembling the Acorn version. However the files on mdfs.net cannot be the version from any PLD ROM as they work quite satisfactorily, including going into the utilities menu which involves swapping ROMs, running in sideways RAM as the code to swap between the ROM uses normal ROMSEL rather than writing to the end of the paged ROM areas as you were previously discussing with respect to the PLD.
So I looked back over the
P.R.E.S. thread and downloaded the file BE 90 BASIC EDITOR AND TOOLKIT 1VO -256.BIN.zip. That is a single file for loading into a 27256 but looking at the start of the higher ROM i.e. 4000 (hex) bytes in, we have this:
Code: Select all
00004000 - 4C 36 B9 4C 7D B9 C2 24 01 42 41 53 49 43 20 45 L6.L}..$.BASIC E
00004010 - 64 69 74 6F 72 20 26 20 54 6F 6F 6C 6B 69 74 20 ditor & Toolkit
00004020 - 56 31 2E 30 00 28 43 29 31 39 39 30 20 42 2E 45 V1.0.(C)1990 B.E
00004030 - 2E 00 48 8A 48 98 48 BA BD 03 01 C9 04 F0 14 C9 ..H.H.H.........
compare with the same block from the higher ROM of the files from mdfs.net:
Code: Select all
00000000 - 4C 36 B9 60 7D B9 C2 24 01 42 41 53 49 43 20 45 L6.`}..$.BASIC E
00000010 - 64 69 74 6F 72 20 26 20 54 6F 6F 6C 6B 69 74 20 ditor & Toolkit
00000020 - 31 2E 30 30 00 28 43 29 31 39 39 30 20 42 2E 45 1.00.(C)1990 B.E
00000030 - 2E 00 48 8A 48 98 48 BA BD 03 01 C9 04 F0 14 C9 ..H.H.H.........
and the only difference is that someone has patched in a &60 (RTS) instruction for the service routine. Even the address that would have been jumped to still remains so, to me, that means the JGH (mdfs.net) versions have been patched to run without the PLD and elsewhere that will have included patching the actual ROM switch. The copyright message also says B.E. not P.R.E.S. in both.
If I make that same change myself to the upper ROM in BE 90 BASIC EDITOR AND TOOLKIT 1VO -256.BIN and then trace the language entry I get:
Code: Select all
8000: 4C 52 8E JMP 8E52 >s
8E52: C9 01 CMP #01 >s
8E54: F0 01 BEQ 8E57 >s
8E57: 20 0A 8F JSR 8F0A >n
8E5A: 20 51 A8 JSR A851 >n
8E5D: 20 CE AD JSR ADCE >n
8E60: 20 C1 9D JSR 9DC1 >n
8E63: A2 05 LDX #05 >s
8E65: 86 61 STX 61 >s
8E67: A2 00 LDX #00 >s
8E69: A9 D2 LDA #D2 >s
8E6B: 20 DF AF JSR AFDF >n
8E6E: A2 60 LDX #60 >s
8E70: 86 31 STX 31 >s
8E72: A2 00 LDX #00 >s
8E74: 86 3C STX 3C >s
8E76: 86 62 STX 62 >s
8E78: E8 INX >s
8E79: 86 3D STX 3D >s
8E7B: A9 E4 LDA #E4 >s
8E7D: 20 DF AF JSR AFDF >n
8E80: 20 C9 AF JSR AFC9 >n
8E83: A9 87 LDA #87 >s
8E85: 20 F4 FF JSR FFF4 >n
i.e. exactly the same as in my previous post about the similarity to the version in Tom's GitHub.
So this has turned out to be a bit long-winded but it seems plain to me that Acornsoft's "The Basic Editor" and the editor ROM in the P.R.E.S and B.E. Advanced Basic Editors were substantially the same and certainly had a common ancestor.
That means there has to have been some licensing from a common originator or some outright plagiarism going on.
But, importantly to the discussion of future enhancements, it brings into question whether it is worth attempting to make improvements to the version of this ROM in the B.E. product independent of the work Tom has been doing based on the Acornsoft version as Tom already has a disassembly. Tom's version could almost certainly work with a companion ROM containing the utilities and producing versions that use normal sideways ROM/RAM switching vs. using the PLD to switch between two halves of a larger ROM is a very small amount of work.
On preventing an image from the PLD ROM being useful in sideways RAM, the message you quoted seems to related to just using the editor part rather than the ROM switching but in the light of "obsfuscation", perhaps the meddling with the CRTC is to try to get the TV/monitor to lose sync for a frame or too to prevent an eagle eyed user from seeing what was being entered into the keyboard buffer.