BBC MMFS
Contents
Interlace removal
This will stop the BBC output being interlaced (flickering) in all modes except MODE 7 which makes everything more pleasant....basically it does the same as typing in *TV0,1 (which Higgy menu unsets by default).
Note a few games set it on launch anyway e.g. Blitzkreig and most of Trickys made games - and some override to disable it - for some reason.
(Please see bottom section for pre-made downloadable images)
Higgy
Patch to BEEB.MMB to disable interlace
This is specifically to patch BEEB.MMB inside [higgy_mmbeeb-v1.2.zip]
#patch menu disk0 !BOOT to disable interlace, *TV255 becomes *TV255,1
printf "\x2c\x31\x0d\x2a\x4d\x45\x4e\x55\x0d" | dd of=BEEB.MMB bs=1 seek=$((0x2206)) conv=notrunc
#patch add 2 to the length of !BOOT file, 0D becomes 0F
printf "\x0f" | dd of=BEEB.MMB bs=1 seek=$((0x2134)) conv=notrunc
You could do it manually in a hexeditor also..... If you want to check its correctly patched, MD5sum of original BEEB.MMB d39258e5ba25c76a06436105b2edbe65 , patched should be 23bb74089ea6e89f6c68fd7d430b7941.
Tricky
I failed to 'uninterlace' patch his original BEEB.MMB so next best thing is to rebuild it with patched .asm. This approach has the added bonus that is lets you customise the first menu page (Favorites).
At the time of writing (Oct. 2022).....
Tricky's latest BEEB.MMB https://www.dropbox.com/s/yhd8xbunbiqfaa6/BEEB.zip?dl=0
Forum with the links here https://stardot.org.uk/forums/viewtopic.php?t=16070&start=90
Link to download the building code and ssd's to rebuild https://www.dropbox.com/s/we2h5zue0uoil5m/TrickyMenuWithDiscs.zip?dl=0 Download
Updated BuildTrickyMenu.ex to replace one https://www.dropbox.com/s/ae5tf295cb8cm2y/BuildTrickyMenu.zip?dl=0
Add "lda #144 : ldx #0 : ldy #1 : jsr OSBYTE ;; interlace off" into TrickyMenu.asm to change osbyte value to disable interlace as default - between a commented out line and .ack_escape
So you should end up with somethign like this
;; lda #MOVE_CRSR : jsr OSWRCH : lda #0 : jsr OSWRCH : lda #10 : jsr OSWRCH : lda #COL_YELLOW : jsr OSWRCH : lda #NEW_BKGND : jsr OSWRCH : lda #COL_BLUE : jsr OSWRCH
lda #144 : ldx #0 : ldy #1 : jsr OSBYTE ;; interlace off
.ack_escape
Then just rebuild with run.bat, the produced BEEB.MMB will then have interlace disabled.
Hints
If you would rather an ordered menu list like Higgy without a confusing not-your-favourites menu first - edit favourites.csv and change all Id's from 0 to 3000 (anything unused). Then rename TrickyMenu\GAMEIMG\DISCS\0 to TrickyMenu\GAMEIMG\DISCS\3000 (matching the Id you used) and they will get put in alphabetically along with everything else with run.bat
Creating microSD card image
Some people seem to struggle making working microSD cards when using large capacity cards (32Gb for example). This will generate a working card (image) - links top pre-made ones at bottom.
Run this in same location as BEEB.MMB is, it will output a raw writable image /tmp/bbc.img to raw write to microSD.
#create 512Mb FAT16 image
dd if=/dev/zero of="/tmp/bbc.img" bs=512M count=1
dd if=/dev/zero of="/tmp/tmp.img" bs=511M count=1
echo -e "o\nn\np\n1\n\n\nt\n6\nw" | fdisk "/tmp/bbc.img" 2> /dev/null
mkfs.vfat -F 16 "/tmp/tmp.img" -n BBC
mcopy -i "/tmp/tmp.img" "BEEB.MMB" ::
dd if="/tmp/tmp.img" of="/tmp/bbc.img" seek=2048
512Mb is plenty for the ~104Mb BEEB.MMB image, you can change it if you wish but the larger you make it the longer it will take to write back to SD card.
Use multiple mcopy lines if you want to include other in the image.
/tmp/bbc.img can be then raw written to microSD via dd or Rawrite32 or Win32 Disk Imager (windows)
Pre-made Downloadable files
BEEB.MMB file only
Higgy interlace off : higgy_mmbeeb-v1.2_interlace_off.zip
https://mega.nz/file/YA5h2J6Q#YmO_Jrkhb4iJaw866Swt3yD-duNMWTcoMhKj6UPqcuA
Tricky rebuilt (3/14/2020 sources), interlace off, favourites flattened : tricky_3_14_2020_rebuild_interlace_off.zip
https://mega.nz/file/AQplwawb#h9fufOT3fXPAjHTPYbjY-FYoy2FvbXniGY0_apEJELo
raw images to raw write direct to microSD card
Higgy interlace off : higgy_mmbeeb-v1.2_interlace_off_raw.zip
https://mega.nz/file/dJQxyRZR#KLbURVWKsk-6oTF8yYGaulDLiiJgM0nyy_PAzcpqDjs
Tricky rebuilt (3/14/2020 sources), interlace off, favourites flattened : tricky_3_14_2020_rebuild_interlace_off_raw.zip
https://mega.nz/file/YYpgTB4R#htIUbM3bYFhKUpW2fk1HzBrZpX43mh481F1DZ54EYY4
Raw write image to microSD card
Raw write microSD images with dd (linux/MAC) or Win32 Disk Imager or rawwrite32(Windows)
Linux (MAC)
'Caution' - replace /dev/sdd with correct drive!! (i.e. not a partition, the image has the partition)
#write raw image to microSD, assuming microSD on /dev/sdd and raw image from above in /tmp/bbc.img
sudo dd if=/tmp/bbc.img of=/dev/sdd bs=64k status=progress
r@builder:/tmp$ sudo dd if=/tmp/bbc.img of=/dev/sdd bs=64k status=progress
[sudo] password for r:
8192+0 records in
8192+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 118.87 s, 4.5 MB/s