How to modify your MMC Games Menu

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
Holmes
Posts: 68
Joined: Wed Oct 15, 2014 1:32 pm
Location: Maryland, USA

How to modify your MMC Games Menu

Postby Holmes » Tue Nov 01, 2016 11:02 pm

So I recently completed my BeebSID, and downloaded the awesome PJ bunch of music demos for this.

My main storage for my BBC is an MMC flash storage device. This comes with a nice game menu system on disk 0. Because of these new disk images for the music files, I really wanted to add them to this game menu on the MMC, figuring I would forget how to load them in the future. So how to do this? I did a bunch of searches both on Google and on this forum, and found a few times where people were going to try this, but no resolution. I think someone did post a "how-to" online on another site, but this link was too old and didn't work.

So the good news is, I figured out how to do it, so I'll post how I did it for the others here who might want to do the same with their MMCs. If this is documented out there, I couldn't find it.

If you want the full instructions, scroll down a bit. If all you want is the MMC Games Menu to list your PJ-SID demo disks, and you have a pretty vanilla STH BEEB.MMC, then you could probably just copy your PJ-DEMO disk images to your BEEB.MMC, and copy over my modified MMC Games Menu SSD.

So my modified MMC Games Menu, which resides in the first disk image slot on the BEEB.MMC, is below. You should just be able to download this disk image (MENU2.ZIP below), and copy it to you BEEB.MMC, along with the PJ-SID demos, and it should work as well. This is, of course, assuming you added the same disk images I did, and kept the names the same. The rest of my BEEB.MMC is very standard.

MENU2.zip
(37.16 KiB) Downloaded 16 times


MMC Image Map.gif


One note about this: I had to rename the PJ DEMO 6, because the SSD file was actually named PJ-SID-DEMO5, which was the same name as the Demo 5 disk. Strangely, it wouldn't let me change the name to PJ-SID-DEMO6, so I needed to shorten it to PJ-SID-DEM6, which is why it appears like that in my list. The rest of the SSD names are all the standard ones. All the SID demo disks are in slots 400-421, but I think you could put them anywhere on your BEEB.MMC, because I do not believe the actual slot number needs to correlate on yours. I think the Games Menu code just runs through all the disk images to find the match with the right name.

Another note:
One thing I learned doing all this: the MMC interface does not like fragmented files, which can cause all sort of corruption issues if you try to use it. To ensure against this, I did a quick reformat of the MMC card before copying the BEEB.MMC file over to it



For those who want to know the whole process, here it is:

FULL INSTRUCTIONS:
========================================================================


Requirements:
1) Microsoft Access 2000 or later; I tried to do this with Libreoffice Base, but it didn't let me modify the data on all the tables - not sure why; maybe the visual basic stuff behind the scenes
2) a Windows PC or equivalent to run the above + MMC support programs
3) MMC support applications (like MMCImager, DFS Image viewer, etc.)
4) time!

Steps:
1) Preparation
a) go to the official MMC website (https://swhs.home.xs4all.nl/bbc/mmbeeb/ ... cesoftware) and download the "games_menu.zip" and extract this to your PC. This contains the Games Menu files. https://swhs.home.xs4all.nl/bbc/mmbeeb/ ... s_menu.zip
b) download the MMB support applications. https://swhs.home.xs4all.nl/bbc/mmbeeb/windows.html
c) download/copy/locate the BEEB.MMB file you wish to modify (this is the file that will go on your MMC card and contains all the BBC disk images)
d) BACK-UP ALL YOUR FILES!

2) Modify the database
a) the data for the games menu is organized in a Microsoft Access database file: games_menu/windows/GamesDB.mdb, so open this up in MS Access. You may need to tell MS Access to open this file to allow editing and to run VBA macros, based on your version of MS Access (usually a security pop-up message near the top of the window when you first load it)
b) there are 3 main tables that store all the games menu data: GAMES, DISKS, and HOUSES. You will need to add data rows in at least the GAMES table and DISKS table. The GAMES table is the main one that has one entry for each game you wish to add. The DISKS table contains one entry for every disk you have. The HOUSES table has one entry for every publishing house you wish to add.
c) since we are adding a disk and a game, we need to add a row to the DISK table and GAME table. You select this by choosing the "DISKS" button on the left side of the window. If this does not show, you probably need to tell MS Access to allow you to modify the database and to allow execution of VBA macros. Mine only appeared after doing this on my MS Access version.

To add a new row, you can hover the mouse cursor to the left of the first column (in the grey area), right-click, and select "New Record".

to the DISKS table (press the "DISKS" button on the left to access this), add a row with the following data:

Disk Title = "PJ-SID-DEM10", this is the name of the disk image
Double Sided = unchecked; indicates a double-sided disk image
House = optional, I leave it blank

to the GAMES table (press the "GAMES" button on the left to access this), add a row with the following data:

House = choose any from drop-down list, "Acornsoft" for instance if you don't want to add you own entry to the HOUSE table
Game Title = "BeebSID Demo Disk 10" for instance - choose what you like that is descriptive
Year = blank
Execution = "*RUN"
Page = blank
Filename = "SIDDEMO", this is the name of the executable file you wish the menu to execute on your disk image
Disk = "PJ-SID-DEM10", this is the name of the disk image on the DISKS table you created earlier
Side = 0
DS = unchecked

Click the "save" pushbutton at the top before proceeding.

When trying to add rows, I consistently got a visual basic run-time error when entering data in some fields. I guess it's MS Access scripts running in the background to maintain the integrity of the database. Just ignore them and close the Visual Basic window when this happens. When you're done, the database integrity should be fine.

3) Generate the game data file
a) Click the "MAKE DATA" pushbutton on the left - this will open up a small dialog window "Games Menu by Martin Mather"
b) leave defaults of Source File = "D.GAMESDB.TXT" and DFS Directory = "D" in there
c) Click the "Create D.DATA" pushbutton - this will generate a "D.GAMES" file in the same directory as the MS Access database file you started off in

4) Copy the game data file to your MMC image
a) open up the "MMC Imager" application, and load up you MMC image ("BEEB.MMC")
b) you should be looking at your map of disk images now
c) open up your "games menu" BBC disk image on the MMC Imager - this should be called "MENU" and is in the very first spot (at least it was on mine)
d) this should open up the "DFS Imager", listing the disk image contents. We are going to replace the "D.GAMES" file with the newly created one. I did this by unlocking the disk image ("unlock" button), then selecting the existing "D.GAMES" file and deleting it. Then I dragged the new "D.GAMES" from my PC into this disk image.

5) Copy the new MMC image to your MMC card
a) one thing I learned doing all this: the MMC interface does not like fragmented files, which can cause all sort of corruption issues if you try to use it. To ensure against this, I did a quick reformat of the MMC card before copying the BEEB.MMC file over to it
b) once this is copied over, eject the MMC card

6) Test the new card!

If all goes well, you should be able to enter the games menu like always, and you should see your new entries in there. :D

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

Re: How to modify your MMC Games Menu

Postby duikkie » Wed Nov 02, 2016 8:44 am

i will try this for the electron menu. but the hole access thing on pc is very difficult :(

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

Re: How to modify your MMC Games Menu

Postby duikkie » Wed Nov 02, 2016 8:45 am

is this not a software item ?

User avatar
Holmes
Posts: 68
Joined: Wed Oct 15, 2014 1:32 pm
Location: Maryland, USA

Re: How to modify your MMC Games Menu

Postby Holmes » Wed Nov 02, 2016 12:03 pm

duikkie wrote:is this not a software item ?


Oops, sorry.

Commie_User
Posts: 908
Joined: Wed Jan 27, 2016 12:50 am

Re: How to modify your MMC Games Menu

Postby Commie_User » Fri Nov 11, 2016 8:16 pm

Tip top!

cas_ir
Posts: 4
Joined: Fri May 26, 2017 6:37 am
Location: Kent UK

Re: How to modify your MMC Games Menu

Postby cas_ir » Sun Jul 16, 2017 6:43 pm

I discovered this thread yesterday, I had been searching for some time for a way to modifiy the MMC Games Menu system. Thanks to Holmes the original poster for the info. One thing I have discovered is that the PC MS Access Database is very picky on which version it will run, I initially tried it on Access 2007, and although the database would open up the VB scrips kept crashing, next I tried Access 2003, with the same problem, finally after much digging around in the loft I found a very old PC running WIN98 with a copy of Access 2000 on it - bingo!! the scripts would run and I was able to update the menu system, so the old PC lives to see another day! :D

User avatar
Holmes
Posts: 68
Joined: Wed Oct 15, 2014 1:32 pm
Location: Maryland, USA

Re: How to modify your MMC Games Menu

Postby Holmes » Tue Jul 18, 2017 12:38 am

Thanks! I'm glad it helped you out.

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

Re: How to modify your MMC Games Menu

Postby duikkie » Tue Jul 18, 2017 7:31 am

it is still strange that a bbc program for changes you need a pc with microsoft software ?

i started to change the menu program but to hot in the summer

chinnyhill10
Posts: 43
Joined: Mon Apr 27, 2015 7:37 pm

Re: How to modify your MMC Games Menu

Postby chinnyhill10 » Tue Jul 18, 2017 8:25 am

I love my MMC but goodness me it's hard to get a new game onto the menu. So much so if I'm doing a review and its not on there I'll opt for tape loading instead.

The Beeb led the way with SD card access. First 8 bit system I had a solid state drive in. But the ease of use of the MMC system now lags behind. Last night I was loading DSK images onto my Amstrad CPC via wi-fi! Just drag and drop in a web browser.

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

Re: How to modify your MMC Games Menu

Postby duikkie » Tue Jul 18, 2017 10:56 am

It is ms access that makes it hard if if you see how difficult it in the prpgram to make texts out of ms access files i really don't understand why the programmer did this?

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

Re: How to modify your MMC Games Menu

Postby tricky » Tue Jul 18, 2017 12:03 pm

I've never tried to add to the menu, I just drop in a new disc and *DBOOT, but I would be interested in knowing a bit more about it, like how it signs files to discs.

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

Re: How to modify your MMC Games Menu

Postby duikkie » Tue Jul 18, 2017 12:51 pm

the hole file d.games is scrabled and coded like ENIGMA styl :)

tricky wrote:I've never tried to add to the menu, I just drop in a new disc and *DBOOT, but I would be interested in knowing a bit more about it, like how it signs files to discs.

spookyone
Posts: 28
Joined: Thu May 04, 2017 9:24 pm
Location: Cheshire

Re: How to modify your MMC Games Menu

Postby spookyone » Tue Jul 18, 2017 1:54 pm

I had a quick look at this - I suspect it's using a simple compression algorithm to store the data. I might have a go at porting the Access DB+VBA to an open format using Openoffice/LibreOffice Base.

I also might have a look at making a WiFi/SDCard interface like chinnyhill10 mentioned.

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

Re: How to modify your MMC Games Menu

Postby duikkie » Tue Jul 18, 2017 3:10 pm

I started somewhere a program to disamble the d.game file in non compress data

Usefull ?

spookyone wrote:I had a quick look at this - I suspect it's using a simple compression algorithm to store the data. I might have a go at porting the Access DB+VBA to an open format using Openoffice/LibreOffice Base.

I also might have a look at making a WiFi/SDCard interface like chinnyhill10 mentioned.

chinnyhill10
Posts: 43
Joined: Mon Apr 27, 2015 7:37 pm

Re: How to modify your MMC Games Menu

Postby chinnyhill10 » Tue Jul 18, 2017 10:15 pm

spookyone wrote:I also might have a look at making a WiFi/SDCard interface like chinnyhill10 mentioned.


If anyone has been on my personal Twitter this evening, they'll have seen me wet myself in excitement as someone 40 miles away resets my CPC and uploads files directly onto it. Just amazing.

And it's am ARM processor on the expansion board that makes it all possible. Hoorah!

spookyone
Posts: 28
Joined: Thu May 04, 2017 9:24 pm
Location: Cheshire

Re: How to modify your MMC Games Menu

Postby spookyone » Tue Jul 18, 2017 10:32 pm

Yes - I'm thinking about using the esp8266, I'll start a new thread about it once I've done a bit of experimenting :)


Return to “hardware”

Who is online

Users browsing this forum: cmjones01, jb1970 and 13 guests