A new MENU system for MMC/Gotek

Got a programming project in mind? Tell everyone about it!
User avatar
tricky
Posts: 3418
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Sun Dec 02, 2018 12:23 pm

Found a problem!
A few of the games (some of mine :oops:) don't do a *BASIC in the !BOOT and it seems that SHIFT-BREAK doesn't enter BASIC first!
I guess there is more to SHIFT-BREAK than I thought!
Nearly everthing on bbcmicro.co.uk boots with:

Code: Select all

*BASIC
PAGE=&1900
*FX21
close#0:CHAIN "GAME"
So it should be easy to fix the odd game that doesn't line Scramble which does:

Code: Select all

B%=&711F
CH."LOADER"
by editing :2.$.--8AB-- (note -s are actually underscores).

I used to have *BASIC in my !BOOT, but stopped putting it in when I noticed that it wasn't (apparently) necessary!

EDIT: GOTEK.zip updated in my DropBox, same URL but with *B. patched in to all discs that didn't have *B. or *BASIC.
Last edited by tricky on Wed Dec 05, 2018 7:52 pm, edited 1 time in total.

User avatar
pau1ie
Posts: 668
Joined: Thu May 10, 2012 9:48 pm
Location: Bedford
Contact:

Re: (Just starting) A new MENU system for MMC/Gotek/?

Post by pau1ie » Sun Dec 02, 2018 8:44 pm

sweh wrote:
Sun Dec 02, 2018 3:34 am
Is there a CSV version of this?
No, sorry. It was CSV originally, then I decided that html would be more flexible. I assume you have checked you can't consume html for your use case? Otherwise go for your kludge. I can change it to export either, but don't want to have to maintain something that isn't needed.

User avatar
lurkio
Posts: 2031
Joined: Tue Apr 09, 2013 11:30 pm
Location: Doomawangara
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by lurkio » Mon Dec 03, 2018 2:45 pm

tricky wrote:
Thu Nov 22, 2018 10:12 pm
There are currently around 4,000 games on bbcmicro.co.uk
Just a minor point, but how have you come to a figure of 4000? I'm currently seeing about 2950 different disc-images on bbcmicro.co.uk.

:?:

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Mon Dec 03, 2018 4:07 pm

I think there were 39xx spreadsheet rows, but I might have miss-remembered

User avatar
IanB
Posts: 365
Joined: Sun Sep 04, 2011 7:28 pm
Location: South Wales
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by IanB » Tue Dec 04, 2018 12:44 pm

Nice work! A couple of things I noticed so far, it doesn't run if the Advanced Disk Toolkit ROM is installed and Ski Slalom (RH Software) hangs at the key / joystick / lightpen menu.
Last edited by IanB on Tue Dec 04, 2018 12:45 pm, edited 2 times in total.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Tue Dec 04, 2018 6:09 pm

I wonder if the Advanced Disk Toolkit is blocking the out of range track access. There aren't enough bits (only 10) to specify 2,540 sectors to test the theory. It should be possible to try it in an emulator and see what track number (should be 254) gets passed to the controller. A work around would be to *UNPLUG or poke the page 2 (IIRC) location to temporarily disable the ROM.

Ski Slalom (RH Software) doesn't work without the menu, it might be because it is on DRIVE 2. It looks like the same game, but only has joystick / keys as control methods. If this is the issue, it would be possible to flag such games as side 0 only and a future version of the menu creator will only use .SSD if less than 511 discs are required.

On bbcmicro.co.uk all the games are on DRIVE 0 and I suspect have only been checked to make sure that they don't try to access side 2, not the other way around.

To fit all the names on, it only shows the publisher/developer if the name is the same as the previous program. To fit as much info on the menu as possible, it tries name+pub, name+pub-if duplicate and finally just name for the available discs.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Wed Dec 05, 2018 7:53 pm

GOTEK.zip updated in my DropBox, same URL but with *B. patched in to all discs that didn't have *B. or *BASIC.

metaluna
Posts: 15
Joined: Mon Jan 25, 2010 9:23 am
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by metaluna » Tue Dec 18, 2018 1:53 pm

Hi Tricky, this will be awesome.

However I'm struggling with this.
All my four BBC Bs are DFS 1.2 8271 controller. I can't get any to load a game. (this BEEB below only has DFS and Basic 2 ROMs installed)
Downloaded the Gotek Directory from Dropbox. Unzipped its contents onto a blank USB stick. Inserted into Gotek, press select.
Shift break gives the Menu, select a game, eg Citadel, get *DIN 155 on screen, then GOTEK:*DIN 155 , then Launching:*EXEC $.--21E-- followed by corruption of the L in Launching to be another letter eg Xaunching.
BREAK shows the correct disc has been selected. But Shift Break or */!BOOT at this point takes you back to the menu disc, no menu just a flashing cursor.

Chris

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by KenLowe » Tue Dec 18, 2018 5:49 pm

Do you have the correct firmware on the Gotek? You should be on 0.14 (currently the latest version).

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Tue Dec 18, 2018 11:27 pm

In your example, does the disk have __21E__ (the underscores look like large minus signs in mode 7)?
If so, the disc selection is working and as every disc except the first has a !BOOT that should switch back to the first disc and boot the menu, it looks like that is nearly working too.
All my Beeb's have my mmc solutions with smartspi and I have only tested the menu on my master and compact which both currently have goteks.
The menu does use from &1100 onwards, but that is usually safe for */, if not legal.
I will try swapping one of my Beeb's to a gotek, but I don't think I have dfs1.2
Will the games work if you *exec __21E__ after the menu has failed, or even control break and then *exec?

metaluna
Posts: 15
Joined: Mon Jan 25, 2010 9:23 am
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by metaluna » Wed Dec 19, 2018 10:25 am

Thank you both for the replies.
Yes, the latest firmware 0.14 is installed and yes I can *EXEC __21E__ and it works.
I've just replaced the DFS 1.2 with DFS 0.9 and still no joy.
Doesn't the Master have its own OS workspace for the filer, but on a BEEB shouldn't your program be using &900 onwards, as open files are at &1100.

Thanks, Chris
Last edited by metaluna on Wed Dec 19, 2018 10:43 am, edited 1 time in total.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Wed Dec 19, 2018 11:37 am

Thanks for the further testing.

The menu uses &1100 onwards, but doesn't use files, just the */.

I'll have to check where I am creating the *EXEC string, but debugging should be easy as it is written to work on anything for the first few games (on the first disc), so I can use an emulator.

I guess you have already tried the first few games on the first page.

PS if you manually change to another disk and shift-break, does the menu come up?
Last edited by tricky on Wed Dec 19, 2018 11:39 am, edited 1 time in total.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Wed Dec 19, 2018 7:49 pm

Something strange is going on.
DFS 0.98 can't see any text in the __999__ files, even *LOADING them loads 0s, but DFSImager is fine and will export the correct file!
I guess I have something off in my disc images, but it looks like I am out of time tonight.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Thu Dec 20, 2018 6:45 pm

On a beeb with DFS 2.2, it swaps discs and gets to launching, no corruption but never starts the game.
SHIFT-BREAK swaps back to disc 0 and launches the menu correctly.

Swapping discs doesn't work at all on DDFS2.0, but the drive does, so I may try adding DD support.

I'm still not sure what is wrong.

beebem does a write enable check that checks which order the files are on the disc and seems to go backwards, but letting it create a new disc and copying *.* to that (reverses order) and then copying back to another new disk gives an identical catalogue apart from accesses and title which it doesn't complain abaout, so maybe it is the < 400K DSD.

metaluna
Posts: 15
Joined: Mon Jan 25, 2010 9:23 am
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by metaluna » Fri Dec 21, 2018 5:18 pm

Hi Tricky,
Thanks for this. Your menu does indeed seem to select the correct disc but I think the EXEC string is being put in a place where it becomes over written. I haven't seen your menu code but a long time ago, I remember &900 onwards being safe with DFS or enter the instructions as a function key and call the key. Chris.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Fri Dec 21, 2018 6:00 pm

Those string are around &7500, so I doubt that they are being overwritten.
I think my error handling is just poor and I probably wouldn't need it if I wasn't trying to support GOTEK and MMC with the same MENU. It is easy to produce two versions and I already put them on disc differently.
Here is a new disk 0 with slightly improved menu handling. It works in b-em in model B mode for 8271 and 1770 where the previous one didn't.
This still fails on 2.2 with <40 80 SRV> or something similar.
Let me know how you get on and I will update the main archive.
I don't think I will get any more time after tonight before I go away.

PS beebem complains about the catalogue, but I can't see the issue other than the file is smaller than an 80T DSD.
Attachments
DSKA0000.zip
(107.32 KiB) Downloaded 22 times
Last edited by tricky on Fri Dec 21, 2018 6:02 pm, edited 1 time in total.

metaluna
Posts: 15
Joined: Mon Jan 25, 2010 9:23 am
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by metaluna » Sat Dec 22, 2018 12:07 pm

Thank you Tricky, this menu works now on my BBCs with Gotek.
Tested with 8271 DFS 1.2 and with ADT 2.0 installed, OS 1.20 and Basic 2.
Once a game is selected, instead of the corrupted first letter of "Launching" there now appear the cursor '>' followed below by Basic and the the program loading commands.
Thank you again.

Chris

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Sat Dec 22, 2018 2:52 pm

Great, thanks for helping, I still need to improve and publish how to add games, but at least more people can use it for now.
Uploading, but takes a while on my connection.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by sweh » Tue Dec 25, 2018 2:42 am

I wonder if the build process might be easier if you start with MB's original DSDs, rather than trying to recombine them. Disk001->Disk129 contents come from those and they're fully packed and referenced in the CSV, anyway. So it'd only be the SSDs that didn't come from the MB disks that need to be merged. May result in fewer images needed...
Rgds
Stephen

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Tue Dec 25, 2018 7:34 am

Thanks, I'll have another look.

Currently, I have one bit for end of title and one bit to signal a new disc, which get merged by the text compression.

I mark the end of each title with a reserved character (254 for end of title or 255 for end of title and disc) which gets included in the text compression.
There is a two byte table for where in memory each page starts and a one byte table for each letter indicating which page it starts on.
There is a table that has a word for each page storing the (BCD) disc number of the first title on the page.
All the tables could be removed and calculated on the fly and only letters and back page would be noticeable.
BCD because I use it for *DIN (BCD) and GOTEK (bin) and it was less code to convert BCD->bin.

I could put the original discs on, but they wouldn't be alphabetical as they are now.
Last edited by tricky on Tue Dec 25, 2018 9:12 am, edited 1 time in total.

Coeus
Posts: 1208
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by Coeus » Wed Dec 26, 2018 2:08 pm

I realise I am a bit later to the party on this one, but this work sounds interesting and I am wondering how this might work with B-Em.

I recently added MMB support to B-Em, i.e one can choose an MMB file instead of an SSD or DSD file and then use an emulated *DIN command to switch to the appropriate SSD within the MMB file. That in turn means the existing MMB menu system works, which was the intention. This was easy to implement as the MMB file is a header, containing an index, followed by a number of fixed length records each of which is an image of an SSD so it is just a case of having the usual SSD access code add an offset to every access.

Earlier in this thread there is mention of 800 discs and a need to switch to DSDs. Does that mean a different distribution format, i.e. something different from the MMB file? The GOKTEK version is a ZIP file. Is there to be a version of MMB that uses DSDs instead of SSDs? If so, how can one tell one from the other? Do any MMFS-style filing systems support this?

Obviously an emulator could also support a ZIP file containing disc images or a folder into which they have been stuffed.
Last edited by Coeus on Wed Dec 26, 2018 2:10 pm, edited 1 time in total.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Wed Dec 26, 2018 2:33 pm

The .zip is just to reduce the download (and my upload) size, it contains .DSDs.
I am planning on adding a second .mmb file so that SmartSPI can access all the discs. I think it supports upto 512 .MMB files on a single stick and lets you swap between them with a *D? *BEEB Command giving 512x511 .SSD images.
Last edited by tricky on Thu Dec 27, 2018 10:44 am, edited 1 time in total.

nekroskop
Posts: 10
Joined: Sun Dec 23, 2018 3:27 pm
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by nekroskop » Sun Dec 30, 2018 9:11 am

Thank you Tricky
Great job. I run it on my BBC micro B issue 7 8271, +32Kb SWRam,DFS 1.2, ADT 1.4.

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

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by tricky » Sun Dec 30, 2018 2:59 pm

I have finished the SmartSPI version of the menu, it isn't really needed as we have the great STL (Stairway To Hell) archive, but as there are some differences, here is a .ZIP with BEEB.MMB and BEEB2.MMB in it.

Just unzip them to the route of a blank memory card, as you would to replace any BEEB.MMC.

Any "MMC" solution should be able to use the BEEB.MMB file which contains the first 2/3 of the archive, but I think only SmartSPI supports the *BEEB n command for swapping to other BEEBn.MMB file.

I have added !BOOT files to all the images to reboot the menu, including a *BEEB command on the ones in the second archive. This isn't necessary as SmartSPI reverts to BEEB.MMB and what ever discs are set to AUTOBOOT, but it is there incase *BEEB gets added to any of the other MMC-DFSs.

I haven't done a lot of testing, so use at your own risk.

I'm trying to work out why beebem 403 insists that files are in descending sector order on a disc image before it allows it to be written to.

I have also noticed that my version of DFSImager creates a ~26KB file if I drag !BOOT off any disc, regardless of the actual size of !BOOT (it may be file 0 and not !BOOT - not sure).

MadeGray
Posts: 47
Joined: Wed Dec 27, 2017 4:44 pm
Contact:

Re: A new MENU system for MMC/Gotek/ (GOTEK working)

Post by MadeGray » Mon Jan 07, 2019 4:10 pm

Just to say downloaded this today and works an absolute treat on the Master with Gotek - thank you for this it’s a great addition!

John
John Gray

BBC Master x2 with BeebSCSI, PI copro etc and lots of Goteks. A few Model B’s and a trusty Elk. Won’t mention the ZX80 and ZX81!


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

Re: A new MENU system for MMC/Gotek

Post by tricky » Sun Jan 27, 2019 3:26 pm

I am just uploading a new version, the code hasn't changed, all I have done is been a little self indulgent and added a new favourites option for games to go at the front of the list (currently mine [-X ).
I have stream lined the system a bit, but it still needs improving before it is ready for distribution as it does require a few things to be in the "correct" place (where I have them :lol: ).

MMC files: .ZIP with BEEB.MMB and BEEB2.MMB requires SmartSPI to access the second half of the files.

GOTEK files: .ZIP with FF.CFG and the .DSDs requires FF v14 and is best kept to a separate stick as it uses index mode.

MadeGray
Posts: 47
Joined: Wed Dec 27, 2017 4:44 pm
Contact:

Re: A new MENU system for MMC/Gotek

Post by MadeGray » Thu Feb 07, 2019 2:39 pm

Hi Tricky,

Think the latest release may have a small issue? Games near the start load fine but if you select a game such as Galaforce for example you get the usual DIN messages etc then a file not found error.

Put the previous Gotek version back in and all works - Seems to happen from the 2nd Page onwards! Hope this helps - the 1st page load ok

John
John Gray

BBC Master x2 with BeebSCSI, PI copro etc and lots of Goteks. A few Model B’s and a trusty Elk. Won’t mention the ZX80 and ZX81!

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

Re: A new MENU system for MMC/Gotek

Post by tricky » Thu Feb 07, 2019 7:07 pm

Thanks for letting me know.
I did try a small selection, but maybe copied the wrong .zip!
I probably won't get a chance to check today though.

MadeGray
Posts: 47
Joined: Wed Dec 27, 2017 4:44 pm
Contact:

Re: A new MENU system for MMC/Gotek

Post by MadeGray » Thu Feb 07, 2019 7:12 pm

Cheers Tricky,

Very appreciated, I’ve loaded the original for a attack on various space invaders!

If you need me to do any checks or tests just shout, great little menu for the gotek!

John
John Gray

BBC Master x2 with BeebSCSI, PI copro etc and lots of Goteks. A few Model B’s and a trusty Elk. Won’t mention the ZX80 and ZX81!

Post Reply