mmbeeb and *DONBOOT

discuss both original and modern hardware for the bbc micro/electron
Post Reply
chrisn
Posts: 586
Joined: Sat Apr 19, 2014 12:31 pm
Location: UK
Contact:

mmbeeb and *DONBOOT

Post by chrisn » Wed May 07, 2014 10:26 pm

I've just built myself an mmbeeb interface and it's working OK... :D except for one thing. The MMC DFS doesn't seem to load the correct disk images on startup. I'm using the SUPERMMC.ROM file from the mmbeeb web page, but running it from sideways RAM.

I used *DONBOOT to select disks for drives 0-3, but when I reset the computer only drives 0 and 3 have the correct disks selected - *DDISKS shows drives 1 and 2 as empty.

*DONBOOT is setting the correct values in the BEEB.MMB file - I've checked this using a hex editor on the PC, and also using the MMC08X BASIC program (after reading this thread viewtopic.php?f=3&t=8167).

Has anyone else had this problem with their mmbeeb?

Chris

User avatar
CMcDougall
Posts: 7049
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: mmbeeb and *DONBOOT

Post by CMcDougall » Wed May 07, 2014 11:20 pm

chrisn wrote:I've just built myself an mmbeeb interface and it's working
=D> =D> =D>
I'm using the SUPERMMC.ROM, but running it from sideways RAM
should not matter, unless you have something else that wants to talk to the User Port, in my case a eprom blower rom
*DONBOOT is setting the correct values
what machine are you using it on? ie a Tape beeb, 8271 beeb, 1770 beeb or other...
my Master Compact does not 'boot' from disc0, but not really bothered :)
ImageImageImage

User avatar
sweh
Posts: 2170
Joined: Sat Mar 10, 2012 12:05 pm
Location: New York, New York
Contact:

Re: mmbeeb and *DONBOOT

Post by sweh » Thu May 08, 2014 12:01 am

Have the disks you selected been created with *DFORM ? If they've not been setup then they can't be "inserted" :-)
Rgds
Stephen

chrisn
Posts: 586
Joined: Sat Apr 19, 2014 12:31 pm
Location: UK
Contact:

Re: mmbeeb and *DONBOOT

Post by chrisn » Thu May 08, 2014 7:23 am

CMcDougall wrote: =D> =D> =D>
Thanks! I was amazed when it worked first time. \:D/

The machine is a Model B with 8271 and DNFS 1.2.
sweh wrote:Have the disks you selected been created with *DFORM ? If they've not been setup then they can't be "inserted" :-)
I created the BEEB.MMB using your Perl utilities (which are great btw!). I wrote a script to take Michael Brown's game collection, split the dsds into ssds, then add them to the MMB file.

The disk number I select with *DONBOOT is a valid disk according to the *DCAT list, and works if I do *DIN. I haven't tried using *DFORM yet though.

Chris

duikkie
Posts: 2986
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by duikkie » Thu May 08, 2014 9:08 am

*dform you use if the din is not formated :)

if you can *din a disc is formatted ;)

maybe reading the manual helps ??

User avatar
sweh
Posts: 2170
Joined: Sat Mar 10, 2012 12:05 pm
Location: New York, New York
Contact:

Re: mmbeeb and *DONBOOT

Post by sweh » Thu May 08, 2014 11:47 am

chrisn wrote:The disk number I select with *DONBOOT is a valid disk according to the *DCAT list, and works if I do *DIN. I haven't tried using *DFORM yet though.
Hmm, then it should work. if you can *DIN it then it's properly formatted and should work with *DONBOOT.

Maybe upload the file somewhere and I could take a look at it to see if I spot any issues?

(Guessing now...) Otherwise, maybe there's a timing issue; if the card reader isn't "stable" when the ROM tries to read the initial sector it might not read the content? What happens if you do ?&FE4E=127 and then press BREAK ?
Rgds
Stephen

chrisn
Posts: 586
Joined: Sat Apr 19, 2014 12:31 pm
Location: UK
Contact:

Re: mmbeeb and *DONBOOT

Post by chrisn » Thu May 08, 2014 9:22 pm

sweh wrote:(Guessing now...) Otherwise, maybe there's a timing issue; if the card reader isn't "stable" when the ROM tries to read the initial sector it might not read the content? What happens if you do ?&FE4E=127 and then press BREAK ?
Interesting! I tried ?&FE4E=127 and on pressing Break the machine does a hard break instead of the usual soft break, and reports Super MMC instead of Acorn DFS. *DDISKS then lists the correct disks set by *DONBOOT.

Chris

User avatar
CMcDougall
Posts: 7049
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: mmbeeb and *DONBOOT

Post by CMcDougall » Thu May 08, 2014 11:28 pm

chrisn wrote:reports Super MMC instead of Acorn DFS
Sounds to me that your DFS1.20 is in a higher rom socket than the rom image for SuperMMC.
I would suggest taking out the DFS1.20, but, you may need it in to load the rom image after power off, if no battery backup SWRAM.
If your SWRAM 'socket' is higher than 12, then swap DFS1.20 into the socket next to OS1.20 (forth socket from right of case)

Still, you had more luck than me with my factory fitted 8271 DFS1.20 beeb, as mine, even with DFS out, it will not look at it :? So it's now a Tape /Upurs /Disc machine 8)
ImageImageImage

User avatar
sweh
Posts: 2170
Joined: Sat Mar 10, 2012 12:05 pm
Location: New York, New York
Contact:

Re: mmbeeb and *DONBOOT

Post by sweh » Fri May 09, 2014 12:28 am

OK, so SuperMMC (at least this one: http://swhs.home.xs4all.nl/bbc/mmbeeb/D ... PERMMC.rom ) is based off DFS0.90. I suppose it's possible that DNFS 1.20 is using workspace memory in a way that confused the SuperMMC ROM.

Basically ?&FE4E=127 and pressing break makes the OS think that the machine has just been powered up and so it does a full reset (cleans memory, etc). Of course it doesn't write to SWR so your loaded SWR images aren't destroyed. This may have given SuperMMC the nudge it needed to say "hey, I need to look at the MMC structures and insert the right images".

It's possible that burning SuperMMC to an EPROM and inserting that in a physical slot will fix the problems. On my Beebs I've actually removed the DFS/DNFS ROMs and just left them as images on an MMC card. If I need to read a physical floppy I can load the ROM image :-)
Rgds
Stephen

User avatar
CMcDougall
Posts: 7049
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: mmbeeb and *DONBOOT

Post by CMcDougall » Fri May 09, 2014 12:44 am

sweh wrote:?&FE4E=127 and pressing break does a full reset
sort of like *FX200,3 ? or is the above more 'powerfull' :?
suppose it's possible that DNFS 1.20 is using workspace memory in a way that confused the SuperMMC
yip, that's my way of thinking as well, hence when I first got the breadboard working, I used *TAPE, then *DMMC/CARD to 'knock' it into shape \:D/
ImageImageImage

User avatar
sweh
Posts: 2170
Joined: Sat Mar 10, 2012 12:05 pm
Location: New York, New York
Contact:

Re: mmbeeb and *DONBOOT

Post by sweh » Fri May 09, 2014 3:39 am

CMcDougall wrote:
sweh wrote:?&FE4E=127 and pressing break does a full reset
sort of like *FX200,3 ? or is the above more 'powerfull' :?
A little more powerful, From memory (I can't dig up references right now), the OS boot sequence will perform a total machine reset if the high bit of FE4E is low, 'cos that's how the hardware sets itself at power up. *FX200 just says 'clean memory'.

For this problem scenario, *FX200 is probably sufficient. I'm just used to the FE4E method 'cos my Manager ROM does exactly this reset if I do a T-BREAK. It cleans up so much stuff :-)
Rgds
Stephen

chrisn
Posts: 586
Joined: Sat Apr 19, 2014 12:31 pm
Location: UK
Contact:

Re: mmbeeb and *DONBOOT

Post by chrisn » Fri May 09, 2014 10:17 pm

Thanks for all the info, that's really helpful. So the good news is that the combination of adapter and SD card I'm using is working fine! :D

In the Sidewise board the RAM is in socket 15, which I think explains why the machine starts up showing Super MMC after the reset with ?&FE4E=127. And *FX 200,3 works too.

I don't have battery backup for the sideways RAM, or a way to put SUPERMMC into an EPROM at the moment, so I'm loading SUPERMMC from disk each time. That's the next part of the project...
sweh wrote:On my Beebs I've actually removed the DFS/DNFS ROMs and just left them as images on an MMC card. If I need to read a physical floppy I can load the ROM image :-)
I guess with Super MMC ROM in EPROM and in a higher priority socket than DFS I should be able to use *DISK to access floppies. I'd prefer to leave the DFS ROM in if I can. I might give this a try in BeebEm.

The other thing I've found with Super MMC ROM in sideways RAM is that a lot of games write above address &8000 in their loader programs. For example, Snapper has this code to display the title screen:

Code: Select all

FORI%=0TO&400STEP4
I%!&7C00=I%!TOP
NEXT
The last iteration of the loop overwrites addresses &8000 to &8003, which corrupts Super MMC and stops the game from loading the next file, causing the Beeb to crash horribly and I have to power cycle to reset it. :-(

Chris

User avatar
sweh
Posts: 2170
Joined: Sat Mar 10, 2012 12:05 pm
Location: New York, New York
Contact:

Re: mmbeeb and *DONBOOT

Post by sweh » Sat May 10, 2014 12:44 pm

Maybe you answered this elsewhere but...

What type of SWRam do you have?

Many "modern" boards have the write-enable line hooked up to the same selector as the read line (&FE30), so if your ROM is paged in for reading then it's also paged in for writing. In examples like this your SWRam wouldn't be overwritten by loops like that 'cos BASIC would be paged in and so no writes. (Older Solidisk boards used the userport to select the write bank. I've seen a few other oddities as well.)

If your board is permanently "write enabled" then you might want to add a write-protect switch to that line, so you can load the MMC ROM, then write-protect it by throwing the switch.
Rgds
Stephen

chrisn
Posts: 586
Joined: Sat Apr 19, 2014 12:31 pm
Location: UK
Contact:

Re: mmbeeb and *DONBOOT

Post by chrisn » Sat May 10, 2014 1:54 pm

sweh wrote:What type of SWRam do you have?
It's an ATPL Sidewise board, which is permanently write enabled, as you say. Having tested that SD card interface is working OK I plan to program the software into EPROM. I don't have a way to do that yet, so I'm thinking of either building an EPROM programmer or trying the EEPROM solution from this thread: http://www.stardot.org.uk/forums/viewto ... f=3&t=7393.

A write protect switch for the ATPL board sounds like a useful thing to have anyway. The manual says there's a link S6 on the board that can be used for this. Thanks for the suggestion :-)

http://www.retro-kit.co.uk/page.cfm/con ... ROM-board/

Chris

JoolsH
Posts: 627
Joined: Mon May 21, 2012 12:46 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by JoolsH » Wed May 28, 2014 12:46 am

chrisn wrote:I've just built myself an mmbeeb interface [...] I'm using the SUPERMMC.ROM file from the mmbeeb web page, but running it from sideways RAM.
Butting in on this thread if I may, because I'm planning on doing this on my Master (just ordered one of those arduino SD interfaces from eBay).

So... as far as the rom is concerned, is it as easy as doing *LOAD ROMIMAGE 8000 and the new * commands for the mmbeeb interface will just appear and work? Or do I have to do something else?

...and does anyone have a copy of the 143-disc STH archive BEEB.MMB file I can download please? :-

duikkie
Posts: 2986
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by duikkie » Wed May 28, 2014 1:42 am

you only want din 143 from beeb.mmb or the whole fixed :) BEEB.MMB file ??
( i am working on the circus games to fix. but om master you have pa=&e00 ?? or not for file system ??)
JoolsH wrote:
chrisn wrote:I've just built myself an mmbeeb interface [...] I'm using the SUPERMMC.ROM file from the mmbeeb web page, but running it from sideways RAM.
Butting in on this thread if I may, because I'm planning on doing this on my Master (just ordered one of those arduino SD interfaces from eBay).

So... as far as the rom is concerned, is it as easy as doing *LOAD ROMIMAGE 8000 and the new * commands for the mmbeeb interface will just appear and work? Or do I have to do something else?

...and does anyone have a copy of the 143-disc STH archive BEEB.MMB file I can download please? :-

JoolsH
Posts: 627
Joined: Mon May 21, 2012 12:46 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by JoolsH » Wed May 28, 2014 9:48 am

The whole beeb.mmb file. I've found a few links scattered around this forum, but they all seem to be dead :(

I'm not expecting you to fix all the games, although that would be awesome of course :D

I think the Master does have page at E00.

User avatar
richardtoohey
Posts: 3883
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: mmbeeb and *DONBOOT

Post by richardtoohey » Wed May 28, 2014 9:57 am

JoolsH wrote:I'm not expecting you to fix all the games, although that would be awesome of course :D
One of my (very very VERY slowly on-going) projects is Master conversions:

viewtopic.php?f=1&t=6040

At this rate I might be finished by 2050 ... :lol:

User avatar
CMcDougall
Posts: 7049
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: mmbeeb and *DONBOOT

Post by CMcDougall » Wed May 28, 2014 10:22 am

JoolsH wrote:I think the Master does have page at E00.
it does, but not with 'DFS/MMC0.9x'
is it as easy as doing *LOAD ROMIMAGE 8000 and the new * commands for the mmbeeb interface will just appear and work?
yes, as long as it's in a higher socket/SWRam than normal DFS rom.
...and does anyone have a copy of the 143-disc STH archive BEEB.MMB file I can download please?
I have it somewhere in cyber space, will find a linky when at home.
but only if you linky to eBay of board that's 99p, not £4 :-
ImageImageImage

JoolsH
Posts: 627
Joined: Mon May 21, 2012 12:46 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by JoolsH » Wed May 28, 2014 10:56 am

CMcDougall wrote:
JoolsH wrote:I think the Master does have page at E00.
it does, but not with 'DFS/MMC0.9x'
Cool, so most disc images intended for the BBC Micro with DFS and higher page should work (as long as there are no master incompatibilities of course), but there might be a handful of games intended for the Master that assume E00 that don't work.
...and does anyone have a copy of the 143-disc STH archive BEEB.MMB file I can download please?
I have it somewhere in cyber space, will find a linky when at home.
but only if you linky to eBay of board that's 99p, not £4 :-
That would be great, thanks!
Here's the board I just ordered on eBay. As far as I can tell, It looks identical to the one Prendle was using.

duikkie
Posts: 2986
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by duikkie » Wed May 28, 2014 3:10 pm

here is my mmcbeeb
not fixed is the circus game :(

a lot of stuff on din 0 .. 19

lot of fixing and fixed at 256 ..285

mmcmenu on 508 , 509 510
Attachments
BEEB.part01.rar
(3.81 MiB) Downloaded 365 times

duikkie
Posts: 2986
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by duikkie » Wed May 28, 2014 3:16 pm

part2
Attachments
BEEB.part02.rar
(3.81 MiB) Downloaded 354 times

duikkie
Posts: 2986
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by duikkie » Wed May 28, 2014 3:19 pm

part3
Attachments
BEEB.part03.rar
(3.81 MiB) Downloaded 346 times

duikkie
Posts: 2986
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by duikkie » Wed May 28, 2014 3:20 pm

part4

combine
Attachments
BEEB.part04.rar
(3.19 MiB) Downloaded 342 times

chrisn
Posts: 586
Joined: Sat Apr 19, 2014 12:31 pm
Location: UK
Contact:

Re: mmbeeb and *DONBOOT

Post by chrisn » Wed May 28, 2014 8:48 pm

JoolsH wrote:Here's the board I just ordered on eBay. As far as I can tell, It looks identical to the one Prendle was using.
Wow, that's a lot cheaper than the MicroSD adapter I bought: :D
http://www.hobbytronics.co.uk/prototypi ... gulated-v2

Apart from programs overwriting the sideways RAM containing the SuperMMC image, another problem I had was with page being at &1B00 (on a BBC B) with both DFS 1.2 and SuperMMC fitted - which I think was causing some programs not to load correctly. I haven't really looked into this though, as I've since got hold of an EPROM programmer, so I have SuperMMC in ROM, and for now removed DFS, which puts page back at &1900.

Chris

JoolsH
Posts: 627
Joined: Mon May 21, 2012 12:46 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by JoolsH » Wed May 28, 2014 9:09 pm

Thanks for that, Duikkie :)

I wonder where page will end up on the Master with SuperMMC in sideways RAM... hopefully at &1900 or better?

It's just struck me that "mm-beeb" is a good onomatopoeia for the sound the BBC makes when booting up. Clever move on the author's part :)

User avatar
CMcDougall
Posts: 7049
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: mmbeeb and *DONBOOT

Post by CMcDougall » Wed May 28, 2014 9:40 pm

JoolsH wrote:wonder where page will end up on the Master with SuperMMC in sideways RAM... hopefully at &1900?
yes &1900 on my master compact 8)
chrisn wrote:another problem I had was with page being at &1B00 (on a BBC B) with both DFS 1.2 and SuperMMC fitted
I just changed the !BOOT to read:
*BASIC
*TV255
PAGE=&1900
*/MENU

this way, sorts out games on most setups of machines, and also the */menu, as originally *menu, which sometimes gets ignored, as some ROMS like Disc Doctor and ADT also use *menu, so that would come up first, not the file $.MENU :)
ImageImageImage

User avatar
sweh
Posts: 2170
Joined: Sat Mar 10, 2012 12:05 pm
Location: New York, New York
Contact:

Re: mmbeeb and *DONBOOT

Post by sweh » Wed May 28, 2014 11:56 pm

chrisn wrote:another problem I had was with page being at &1B00 (on a BBC B) with both DFS 1.2 and SuperMMC fitted - which I think was causing some programs not to load correctly.
Yeah, this is why I unplugged the DFS ROM and just load it into SWR if I ever need to access physical floppies (which I haven't needed to since I completed my recovery project; I don't even have any drives plugged in).
Rgds
Stephen

JoolsH
Posts: 627
Joined: Mon May 21, 2012 12:46 pm
Contact:

Re: mmbeeb and *DONBOOT

Post by JoolsH » Wed Jun 04, 2014 11:38 pm

Woo, my SD board has arrived already! That was pretty quick, considering it was from China. An old floppy drive cable fits the board perfectly. All I need now is to get a connector for the BBC user port from Maplin.
CMcDougall wrote:yes, as long as it's in a higher socket/SWRam than normal DFS rom.
I've been doing a little reading up about ROMs and sideways RAM. Looks like the four 16k sideways RAM blocks are in banks 4 to 7, and the ROMs are in banks 9-15 or so.

So, if we load it in by something like "*SRLOAD ROMIMAGE 8000 4 Q" then it will be there in bank 4, but that's a lower socket number than the DFS rom. But is this still OK? If you use the SUPERMMC.rom version, then when you issue the *CARD command, it will be picked up by this ROM, which will then be selected as the current FS ROM for the usual loading and saving commands, so they'll go to this ROM? Or doesn't it work like that?

User avatar
CMcDougall
Posts: 7049
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: mmbeeb and *DONBOOT

Post by CMcDougall » Thu Jun 05, 2014 12:14 am

^yes it will, but not on power up showing the start up screen 'Super MMC' then 'BASIC' (If you had battery backup swram).
I have just tried it on another 'new' beeb Issue7 with 1770FDC, loaded into swram slot 0, and can be selected with *CARD or *DMMC (I must of changed the two command for *DISC :) and *DISK :( )

ordered my 99p card the other week, so can also have a play in about a week with it, and see if it still plays all the games that mine currently does 8)
ImageImageImage

Post Reply

Return to “8-bit acorn hardware”