Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

discussion of beeb/electron applications, languages, utils and educational s/w
cmorley
Posts: 852
Joined: Sat Jul 30, 2016 7:11 pm
Location: Oxford
Contact:

Re: Enhanced Exile + TurboMMC compatibility?

Post by cmorley » Fri Sep 29, 2017 1:21 pm

Ok, my TurboMMC arrived this morning. As far as a plug and play no fuss kit goes I think it is quite good especially for novice users.

I performed some testing & Exile does not work with my RAM... I tested with a 16KB 'home brew' SWRAM (2x8K soldered together) and it does work.

So I know what is happening.

Exile scans the paged ROMs from 15->0. It also writes over the port B output and port B direction registers with the bank number.

My SWRAM modules present their RAM in the bank 0-7 range. Exile scanning down this far mashes the buffer "enables" on the TurboMMC circuit board causing it to crash.

The "trivial homebrew" SWRAM appears in a high bank as well 15-12 because it is aliased 4 times. Exile stops scanning before outputting PB3=0. So it works.

So I think Exile should not work on any machine with any SWRAM where all the SRAM banks are 7 or below with TurboMMC. I think this could be fixed in the TurboMMC ROM by re-initialising PORT B.

To confirm this I patched out (NOPs) the stx &fe6? writes and Exile works perfectly in SWRAM mode with my modules + TurboMMC.
Exile + TurboMMC patch.zip
(53.63 KiB) Downloaded 66 times
This explains why some people have it working and some do not. If you have SWRAM in banks 8-15 then you'll be OK.

I tried MMFS 1.36 +TurboMMC with the unpatched Exile and couldn't get it to load with any SWRAM (module or homebrew) it just crashed. MMFS 1.36 works with this patched Exile + TurboMMC + SWRAM.

Chris

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

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by duikkie » Fri Sep 29, 2017 5:01 pm

And smart-SPI tryed that ? Can not try it because smart is in swr bank here

User avatar
tricky
Posts: 3418
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by tricky » Fri Sep 29, 2017 6:29 pm

This matches my experiences trying to support SWR + MMC in my games (AstroBlaster - speech and Warlords - graphics).
What I do is check for SWR, then ON ERROR GOTO next line, which is the next disc command, it fails the first time and then succeeds the second.
I only use SmartSPI as a few of my beebs have Solidisk SWR and SmartSPI allows any even pair of PB lines to be used (thanks duikkie) and I want my beebs to be as similar as possible.
I did suggest/request the card be reset before each new session of disc access (*LOAD, CHAIN etc) but it was at a time when duikkie was moving on to USB and MMFS haddn't really ramped up.
I am not ungrateful, although I might sound it, as both SmartSPI and MMFS are great additions to the beeb scene and without them (and initially the TurboMMC), I probably wouldn't be doing any beeb stuff now.

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

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by duikkie » Fri Sep 29, 2017 7:49 pm

Thats why there is smart -usb on the tube and not at the userport . It don't conflict with any thing on the userport .

The userport is heavy used with al lot of add on boards and so on

I do not why the ch375b board is not used often it costs about 1pound oke 3 time more then the sd card board but still.

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

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by duikkie » Sat Sep 30, 2017 11:52 am

for who is looking in all wrong places for smart-spi rom :)

viewtopic.php?f=2&t=9208&p=174930&hilit ... me#p174930

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

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by duikkie » Sat Sep 30, 2017 5:07 pm

Your patch is allso working with smart-spi :)

No sure about all the sideway ram boards like swr solidisc ?

cmorley
Posts: 852
Joined: Sat Jul 30, 2016 7:11 pm
Location: Oxford
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by cmorley » Tue Oct 17, 2017 8:40 am

duikkie wrote:Your patch is allso working with smart-spi :)

No sure about all the sideway ram boards like swr solidisc ?
Is the user port usage on the Solidisc for write protect? I presume that if some banks are write enabled before loading the game then my patch will still work. If they are all write protected before loading then it will not detect RAM on these boards. If this is the case then manually ensuring write enable before loading the game Solidisc + TurboMMC + Exile should/could work in enhanced mode...

I don't have a solidisc board which uses this register so can't test/confirm/deny.

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

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by duikkie » Tue Oct 17, 2017 9:54 am

I have one but at an other location where it is very cold
and on other lines pb3,4

If i am there i will try
cmorley wrote:
duikkie wrote:Your patch is allso working with smart-spi :)

No sure about all the sideway ram boards like swr solidisc ?
Is the user port usage on the Solidisc for write protect? I presume that if some banks are write enabled before loading the game then my patch will still work. If they are all write protected before loading then it will not detect RAM on these boards. If this is the case then manually ensuring write enable before loading the game Solidisc + TurboMMC + Exile should/could work in enhanced mode...

I don't have a solidisc board which uses this register so can't test/confirm/deny.

User avatar
tricky
Posts: 3418
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by tricky » Wed Oct 18, 2017 12:03 pm

Those sideways ram boards use pb0/1/2 to select the write bank, which tends to make the next mmc operation fail.
Resting the MMC causes the currently selected SSDs to be reset which them brakes games launched from the STL archive menu to fail.

User avatar
KenLowe
Posts: 550
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: Enhanced Exile + TurboMMC compatibility?

Post by KenLowe » Thu Oct 19, 2017 10:59 pm

cmorley wrote:So I think Exile should not work on any machine with any SWRAM where all the SRAM banks are 7 or below with TurboMMC. I think this could be fixed in the TurboMMC ROM by re-initialising PORT B.
I can confirm this to be the case on two of my machines. One has an IntegraB installed (SWRAM @ 4..7) and the other has a Kjell Sundby 256k ROM/RAM card installed (SWRAM @ 0..7). Unpatched Exile will not run on either of these machines with MMFS 1.36. The machine with the IntegraB also has a Datacentre and GoSDC installed. Exile runs fine from these file systems.
cmorley wrote:To confirm this I patched out (NOPs) the stx &fe6? writes and Exile works perfectly in SWRAM mode with my modules + TurboMMC.
Exile + TurboMMC patch.zip

This explains why some people have it working and some do not. If you have SWRAM in banks 8-15 then you'll be OK.

I tried MMFS 1.36 +TurboMMC with the unpatched Exile and couldn't get it to load with any SWRAM (module or homebrew) it just crashed. MMFS 1.36 works with this patched Exile + TurboMMC + SWRAM.
I can confirm that this patched version also works perfectly in both my BBCs with MMFS 1.36. Thank you!


strawberrytau
Posts: 39
Joined: Sun Mar 11, 2018 8:58 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by strawberrytau » Mon Feb 18, 2019 8:13 pm

ludwig_van_potato wrote:
Sat Jan 19, 2019 12:30 am
Nice! works on Smart SPI with one of these:
https://www.ebay.co.uk/itm/ACORN-BBC-M ... 2749.l2649
Hi! Newbie here! I’ve recently installed SMART SPI through the pack at your link.

How can I get the patched SSD onto the SD card? I have loaded up MMBImager.exe and viewed the innards of Beeb.mmc (complicated!) so I guess I just need to put the patched file in the right place. Is that correct?
Last edited by strawberrytau on Mon Feb 18, 2019 8:16 pm, edited 2 times in total.

User avatar
tricky
Posts: 3418
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by tricky » Mon Feb 18, 2019 10:10 pm

I don't know about the right place, but you can drop an SSD on an empty slot and then *DBOOT that number.

strawberrytau
Posts: 39
Joined: Sun Mar 11, 2018 8:58 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by strawberrytau » Tue Feb 19, 2019 4:49 pm

tricky wrote:
Mon Feb 18, 2019 10:10 pm
I don't know about the right place, but you can drop an SSD on an empty slot and then *DBOOT that number.
Wonderful! It works.

By right place, I mean to copy over the version of Exile which already exists on the MMB and is accessed by the menu. How can I find out which of the DIN disks on the MMB is storing the Exile files that the menu is calling?

For some games I can call up a blue screen within the BEEB.MMC menu system which tells me which DIN disk is being used, and which commands will be run to launch it, but I am finding this by trial and error - I don't know the keystrokes which are triggering it to bring it up for Exile!

User avatar
hoglet
Posts: 8086
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by hoglet » Tue Feb 19, 2019 4:57 pm

Exile is on disk 218, but so are a few other games.

So it may not be as easy as just overwriting the whole disk.

strawberrytau
Posts: 39
Joined: Sun Mar 11, 2018 8:58 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by strawberrytau » Tue Feb 19, 2019 6:29 pm

hoglet wrote:
Tue Feb 19, 2019 4:57 pm
Exile is on disk 218, but so are a few other games.

So it may not be as easy as just overwriting the whole disk.
Thanks Hoglet. I've got it to work! :-)

I copied the patched version to an empty SSD, mounted both disk 218 and the patched disk as drives 0 and 1, and then used the venerable *COPY command to move the patched files one-by-one onto disk 218. It did the trick!

For future reference, how do I find the disk number for a game in the menu?
Last edited by strawberrytau on Tue Feb 19, 2019 6:30 pm, edited 1 time in total.

cmorley
Posts: 852
Joined: Sat Jul 30, 2016 7:11 pm
Location: Oxford
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by cmorley » Tue Feb 19, 2019 7:02 pm

strawberrytau wrote:
Tue Feb 19, 2019 6:29 pm
For future reference, how do I find the disk number for a game in the menu?
If you press COPY then select a game with RETURN it displays the game information instead of loading it. (IIRC)

strawberrytau
Posts: 39
Joined: Sun Mar 11, 2018 8:58 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by strawberrytau » Tue Feb 19, 2019 7:30 pm

cmorley wrote:
Tue Feb 19, 2019 7:02 pm
strawberrytau wrote:
Tue Feb 19, 2019 6:29 pm
For future reference, how do I find the disk number for a game in the menu?
If you press COPY then select a game with RETURN it displays the game information instead of loading it. (IIRC)
Lovely! That works. :-)
Thank you!

User avatar
tricky
Posts: 3418
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by tricky » Tue Feb 19, 2019 8:42 pm

Would you mind posting your patched disc 218 please ;)
Last edited by tricky on Tue Feb 19, 2019 8:42 pm, edited 1 time in total.

strawberrytau
Posts: 39
Joined: Sun Mar 11, 2018 8:58 am
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by strawberrytau » Wed Feb 20, 2019 9:37 pm

tricky wrote:
Tue Feb 19, 2019 8:42 pm
Would you mind posting your patched disc 218 please ;)
Try this!
SU7-r1-0.ssd
(200 KiB) Downloaded 11 times


LDIR
Posts: 3
Joined: Thu Feb 21, 2019 5:02 pm
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by LDIR » Fri Feb 22, 2019 3:36 pm

I'm a recent returnee to the world of the BBC Micro and had already bought and installed a GoSDC before realising the amazing work that this thread contains. I'm planning to build an SD card reader and burn a ROM as fast as the bits can arrive in the post.

I've been failing to run the STH Exile from SD card on a plain Model B with nothing other than OS1.2, BASIC and GoSDC ROMs. Is it impossible or am I missing something simple? Pressing a key with the Exile loading/title screen displayed takes me to a blank screen and nothing happens thereafter. If I've just hijacked the thread then apologies.

cmorley
Posts: 852
Joined: Sat Jul 30, 2016 7:11 pm
Location: Oxford
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by cmorley » Fri Feb 22, 2019 4:31 pm

I suspect you're seeing a totally different problem than the one I identified here.

The problem discovered here is that when Exile trys to detect sideways RAM it tramples the User Port and the TurboMMC (and other ROMs) were not defensively programmed against the User Port being trampled. Once trampled the TurboMMC was in the wrong state.

Since this affects SD cards connected to the User Port & the GoSDC is connected to a ROM socket, I believe, it is probably something different at play.

Maybe Exile corrupts the state of the GoSDC when it looks for SWRAM but IIRC it searches after f0 on the menu not before the menu so that doesn't seem to fit your symptoms. Did you email John Kortink who makes the GoSDC? He might well know the solution.

User avatar
trixster
Posts: 846
Joined: Wed May 06, 2015 11:45 am
Location: York
Contact:

Re: Fixed: Enhanced Exile + TurboMMC compatibility? (patched Exile)

Post by trixster » Sun Mar 03, 2019 5:55 pm

Is a clever person able to alter the code of the version of Exile on the stairway to hell site with the cheat menu so that it doesn’t look for a floppy disk... and also patch it so it works ok with MMFS?

This is the one:

https://www.stairwaytohell.com/bbc/sthc ... H14_r1.zip
A3020 | A3000 | A420/1 | BBC B | Master Turbo | ZX48K | NeoGeo
Atom | Amiga A4000 | A3000 | A1200 | A500 | PC Engine | Enterprise
Falcon | Saturn | PS1 | SNES | CPC6128 | C64 | 3DO | MD | Jaguar | X68000 | CD32

Post Reply