Misc BBC/Electron Roms, for checking

want to contribute an update to the archive? post it here!
User avatar
Wouter Scholten
Posts: 232
Joined: Wed May 02, 2001 10:14 pm
Location: NL
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by Wouter Scholten » Sat Jan 20, 2018 3:01 pm

Arcadian wrote:20180119_032534.jpg
Those contain more roms to be dumped?

User avatar
Arcadian
Site Admin
Posts: 2947
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by Arcadian » Sat Jan 20, 2018 9:14 pm

Yup ... just one (32k) ROM to dump though (2 copies of the same thing) ... brought it with me today to the ABug meetup for dumping ... I think you'll be interested in the contents ... ;)
Attachments
20180119_033205.jpg
20180119_033347.jpg
20180119_033512.jpg
20180119_033642.jpg
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk

Image
ABug SOUTH (Hampshire) (1-3 June 2018)

User avatar
Arcadian
Site Admin
Posts: 2947
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by Arcadian » Sat Jan 20, 2018 9:18 pm

Here are snaps of the docs ... Phill HS successfully dumped the ROM earlier today, will post the image shortly ...
Attachments
20180119_033710.jpg
20180119_034108.jpg
20180119_034205.jpg
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk

Image
ABug SOUTH (Hampshire) (1-3 June 2018)

User avatar
Wouter Scholten
Posts: 232
Joined: Wed May 02, 2001 10:14 pm
Location: NL
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by Wouter Scholten » Sun Jan 21, 2018 4:36 am

Arcadian wrote:Here are snaps of the docs ... Phill HS successfully dumped the ROM earlier today, will post the image shortly ...
hmm, it's interesting that it's provided for the master, was it master-only? (then perhaps 65c02 opcodes were used, I've not checked the other ch200/chadfs rom dumps for this yet)

User avatar
Arcadian
Site Admin
Posts: 2947
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by Arcadian » Sun Jan 21, 2018 11:29 am

No idea if it's Master only.

Here's the ROM dump.

Does it look any different from the existing dump?
Attachments
Challenger DFS-ADFS.zip
(23.21 KiB) Downloaded 56 times
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk

Image
ABug SOUTH (Hampshire) (1-3 June 2018)

User avatar
Wouter Scholten
Posts: 232
Joined: Wed May 02, 2001 10:14 pm
Location: NL
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by Wouter Scholten » Sun Jan 21, 2018 3:05 pm

Arcadian wrote:No idea if it's Master only.

Here's the ROM dump.

Does it look any different from the existing dump?
I did a bdiff and it's exactly the same as rom 527 (which is the same as roms 525+526), so, this needs looking into as there are now multiple rom images that are the same and it's inconceivable that if any bits unprogrammed (as happens slowly with eproms over time) that that would happen in the same way in each eprom.

So perhaps it's master-only. I will have a look soon if there are 65c02 opcodes.

tom_seddon
Posts: 226
Joined: Mon Aug 29, 2005 11:42 pm
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by tom_seddon » Thu Oct 04, 2018 12:54 am

Wouter Scholten wrote:
Sun Jan 21, 2018 3:05 pm
So perhaps it's master-only. I will have a look soon if there are 65c02 opcodes.
(Note: I'm calling the first 16K (DFS half) CH200, and the second 16K (ADFS half) CHADFS.)

Regarding the uninitialised RAM - note that page 3 of the docs, such as they are, says it's CHADFS that handles the formatting of the RAM disc, so it looks like this sort of thing is to be expected if you're using CH200 only.

The wording of the rest of the docs rather implies that the whole package is Master only, what with the references to *UNPLUG and links on the Master motherboard, and the fact it's supplied on a 32K EPROM. And the ROM switch code at the end of CHADFS uses PHX/PHY/PLX/PLY, so clearly that half *is* Master-only :( But there's nothing obviously Master-specific in CH200 that I've found yet, and - RAM clearing aside, which seems to be fixed by formatting the RAM disc and doing *CONFIG 0=0 1=1 2=2 (etc.) - it seems to run ok on my Beeb.

Anyway, I've started on a disassembly of CH200, and I've also installed it in my Beeb, so if there's anything problematic, I'll probably find it eventually one way or the other! First version of the disassembly to come on GitHub at some point probably fairly soon... just need to find all of the tables and annoying inline strings (of which there are several different types). I think I'm nearly there though.

Doesn't look like there's obviously a lot of free space, and inline strings will make it a pain, but perhaps there'll be some way of squeezing in a Challenger RAM clear + RAM disc format on startup? :)

--Tom
Last edited by tom_seddon on Thu Oct 04, 2018 12:55 am, edited 1 time in total.

tom_seddon
Posts: 226
Joined: Mon Aug 29, 2005 11:42 pm
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by tom_seddon » Thu Oct 04, 2018 1:01 am

Wouter Scholten wrote:
Tue Jan 09, 2018 11:44 am
So the Challenger 3 DD BIOS v1.01 + DDCPM v1.01.fdi is the one I was curious about... (esp. because in my disassembled version, there was an issue with FORMAT not working sometimes depending on moving sections of code around and I must just have overlooked some small detail)
Is your disassembly available anywhere? I'd be interested in looking at it... might help with the 2.00 disassembly.
Wouter Scholten wrote:
Wed Jan 10, 2018 9:01 pm
ADFS hangs with a bad sum for channel 48 when both are plugged in (when selected with e.g. *ADFS or if in higher priority than the CH200, possibly after a Break, not sure, I tried just about anything in ROM combinations and startup with keys pressed etc.), the BBC hangs when doing *HELP, so from my tests both ROM images are bad.
Judging by the ROM switch code, the two ROMs do need to be in adjacent slots, with CHADFS in the higher one. (I assume if you plug a 32K EPROM into a Master this is just how things come out?) The CH200->CHADFS code does a ldx $f4:inx:stx $f4:stx $fe30, and the CHADFS->CH200 code does the same but with a dex.

--Tom
Last edited by tom_seddon on Thu Oct 04, 2018 9:42 pm, edited 1 time in total.

tom_seddon
Posts: 226
Joined: Mon Aug 29, 2005 11:42 pm
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by tom_seddon » Thu Oct 04, 2018 9:40 pm

(GitHub repo to follow, but I'll make another thread for that, as it's not really archive-related.)

I've now dug into both parts a bit.

Regarding the DFS half's startup problems on a BBC B, this is a bug... I think... but you can fix it. Set offset $4e to $7e, and offset $4f to $ab. Now it calls the full DFS+ADFS reset routine on startup, rather than just the ADFS one, if it finds the Challenger RAM uninitialised. Result: boots up on BBC B and behaves as you'd expect, drive mappings reset and RAM disc initialised in the DFS style.

(I think the patched ROM will work same as before when used in conjunction with the ADFS half, but I reserve the right to later discover that I'm wrong about this ;) My Master 128 is packed away right now, so I haven't tested it.)

Regarding the ADFS half: now that I've checked, it turns out to be pretty unequivocally Master-only. It's not just the ROM switch code: there's CMOS instructions everywhere, it writes to $fe34, and it uses the Master FS workspace RAM at $c000 a lot. And interestingly, it doesn't look like it uses the Challenger RAM for ADFS workspace at all. (I suppose if you're targeting the Master, it doesn't really matter either way, and the Master workspace is a lot more convenient to access, especially as the accesses don't look to be always especially page-coherent. And no cycle stretching... ADFS is slow enough as it is, and combined with the bank switching I suppose this could make a measurable difference.)

I reckon a BBC B conversion would be quite the job. But there's 768 bytes free at the end of the ADFS ROM if anybody feels up to it...

--Tom
Last edited by tom_seddon on Sun Oct 07, 2018 9:58 pm, edited 1 time in total.

tom_seddon
Posts: 226
Joined: Mon Aug 29, 2005 11:42 pm
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by tom_seddon » Mon Oct 08, 2018 12:51 am

I made another thread for my disassembly and the patched 2.00 ROM that appears to work on a BBC B: viewtopic.php?f=2&t=15816&p=216887#p216887

More on topic for this thread: I noticed that the ROM haul includes ROM 705, which has the same name and version number as the Challenger 1.01 ROM - but it isn't the same!

Code: Select all

ea406c6ea7f69622ef036b4e1ba446e935dba2ea  /Users/tom/tmp/slogger/RomDumpsByRegregex_FromDM2009SloggerHaul/705-SLOGGER-1.01-S
37ee3f20bed50555720703b279f62aab0ed28922  /Users/tom/github/b2/etc/roms/opus/challenger-1.01.rom
The two versions are rather similar, bytewise, up to offset $147, at which point the 705 ROM has a jsr$b90d that the usual 1.01 doesn't. (The ROMs then diverge significantly because of that.) Based on a quick skim of the 2.00 code and my 1.01 disassembly, this appears to re-select the current drive when doing an OSWORD $7f with a negative drive number.

I didn't check for any other changes, but it looks like there are probably at least some. The code at $b90d in the 705 ROM is at $b901 in the 1.01 ROM, so there's clearly more than just those extra 3 bytes in there.

--Tom

User avatar
Wouter Scholten
Posts: 232
Joined: Wed May 02, 2001 10:14 pm
Location: NL
Contact:

Re: Misc BBC/Electron Roms, for checking

Post by Wouter Scholten » Mon Oct 08, 2018 6:15 am

tom_seddon wrote:
Thu Oct 04, 2018 1:01 am
Wouter Scholten wrote:
Tue Jan 09, 2018 11:44 am
So the Challenger 3 DD BIOS v1.01 + DDCPM v1.01.fdi is the one I was curious about... (esp. because in my disassembled version, there was an issue with FORMAT not working sometimes depending on moving sections of code around and I must just have overlooked some small detail)
Is your disassembly available anywhere? I'd be interested in looking at it... might help with the 2.00 disassembly.
Wouter Scholten wrote:
Wed Jan 10, 2018 9:01 pm
ADFS hangs with a bad sum for channel 48 when both are plugged in (when selected with e.g. *ADFS or if in higher priority than the CH200, possibly after a Break, not sure, I tried just about anything in ROM combinations and startup with keys pressed etc.), the BBC hangs when doing *HELP, so from my tests both ROM images are bad.
Judging by the ROM switch code, the two ROMs do need to be in adjacent slots, with CHADFS in the higher one. (I assume if you plug a 32K EPROM into a Master this is just how things come out?) The CH200->CHADFS code does a ldx $f4:inx:stx $f4:stx $fe30, and the CHADFS->CH200 code does the same but with a dex.

--Tom
It's only on my PC, nowhere public. I have disassembled 1.01 and 1.03, I could zip it and email if still of interest tomorrow of so (which email address?). With that I have list of table/data etc. that I used to indicate inline data, strings, jump addresses etc. with that for those versions, to create a disassembly listing.

Post Reply