Music Maestro: tape capture problem

Tools, techniques and guides for software preservation - get help archiving your discs here!
Post Reply
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Music Maestro: tape capture problem

Post by lurkio »

There's a problem with the UEF of Music Maestro on STH -- it doesn't work in any emulator! [EDIT: See updated UEF below.] The loader program MAESTRO will load and run, and the next program, OBJ-PROG, will load, but then the machine just resets!:

http://www.stairwaytohell.com/filesearc ... rch=Search

Now, I happen to have a copy of the original commercial release of Music Maestro on tape. It loads and runs successfully on a real Beeb. So I tried doing a simple transfer from tape to MMFS (via *XFER), and I got the files onto a .SSD:

MM.ssd
(200 KiB) Downloaded 65 times

From the .SSD I wrote the files to a UEF in BeebEm -- but that UEF then failed in all emulators!:

mm.uef
(16.69 KiB) Downloaded 64 times

So I tried capturing the audio off the original tape in Goldwave and converting the WAV to CSW with CSW Viewer -- but that doesn't work either!:

mm.zip
(7.26 MiB) Downloaded 70 times

Music Maestro isn't the greatest program in the world, but it would be nice to know why it's so hard to get an accurate tape-capture that loads properly in emulators (without resorting to cracking the main program file (OBJ-PROG), which I believe Lee has already done). [EDIT: See updated UEF below.]

:?:
Last edited by lurkio on Sun May 09, 2021 6:41 pm, edited 1 time in total.
User avatar
scarybeasts
Posts: 1052
Joined: Tue Feb 06, 2018 7:44 am
Contact:

Re: Music Maestro: tape capture problem

Post by scarybeasts »

lurkio wrote: Thu May 06, 2021 12:11 am So I tried capturing the audio off the original tape in Goldwave and converting the WAV to CSW with CSW Viewer -- but that doesn't work either!:
The CSW loads in beebjit.
I recently added a CSW loader to beebjit on the master branch.

I don't know why BeebEm / B-Em can't load it. It could be accuracy issues in the CSW loader or the serial ULA / MC6850 emulation.


Cheers
Chris
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Music Maestro: tape capture problem

Post by lurkio »

scarybeasts wrote: Thu May 06, 2021 7:46 am The CSW loads in beebjit. I recently added a CSW loader to beebjit on the master branch.
Ah, I see. Thanks!

I always forget beebjit because I'm on a Mac and it's not trivial to get it running -- although I did recently find that it seems to run under CrossOver (a WINE wrapper), so I'll try using it to load the CSW.

Btw, how's that Mac port of beebjit coming along..?

:wink:

EDIT: It seems I can't use the master branch because there's no build. I don't know how to build it.

:?:
User avatar
scarybeasts
Posts: 1052
Joined: Tue Feb 06, 2018 7:44 am
Contact:

Re: Music Maestro: tape capture problem

Post by scarybeasts »

lurkio wrote: Thu May 06, 2021 10:16 am
scarybeasts wrote: Thu May 06, 2021 7:46 am The CSW loads in beebjit. I recently added a CSW loader to beebjit on the master branch.
Ah, I see. Thanks!

I always forget beebjit because I'm on a Mac and it's not trivial to get it running -- although I did recently find that it seems to run under CrossOver (a WINE wrapper), so I'll try using it to load the CSW.

Btw, how's that Mac port of beebjit coming along..?
Poorly, unfortunately. I don't have a Mac, and there's also this "Objective C" stuff :(
I'm interested in getting it running though, because I'm very curious about the JIT performance on the fancy new Apple M1 processor.
EDIT: It seems I can't use the master branch because there's no build. I don't know how to build it.
Using Wine on Mac is an interesting idea! I'll get out a v0.9.6, including Windows build, over the next days. It'll include the CSW support.


Cheers
Chris
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Music Maestro: tape capture problem

Post by lurkio »

Btw, we know that the original physical cassette tape of Music Maestro works on a real Beeb, so how come my "reconstructed" UEF — with the same files — will load the main program but then just resets the machine (in emulators)?

Somehow, the decryption/copy-protection code in OBJ-PROG must be able to detect that it hasn't been loaded from the original tape. How does it do that..?

:?:
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Music Maestro: tape capture problem

Post by lurkio »

lurkio wrote: Fri May 07, 2021 11:35 am we know that the original physical cassette tape of Music Maestro works on a real Beeb, so how come my "reconstructed" UEF — with the same files — will load the main program but then just resets the machine (in emulators)? Somehow, the decryption/copy-protection code in OBJ-PROG must be able to detect that it hasn't been loaded from the original tape. How does it do that..?
After a lot of — shall we say — "discussion" with Lee, it turned out that the file OBJ-PROG was locked on the original tape, but not on the UEF hosted at STH! And the copy-protection code in OBJ-PROG seems to rely on the file being locked. Which is why the STH UEF didn't work in BeebEm.

But with the help of RTW's file-locking technique, I was able to create a new UEF that has a locked copy of the file OBJ-PROG. And the new UEF works in BeebEm! Yay!

Music Maestro IF YOU PLEASE!!.uef
(17.44 KiB) Downloaded 67 times

:idea:
User avatar
vanekp
Posts: 1413
Joined: Thu Nov 30, 2000 7:09 am
Location: The Netherlands
Contact:

Re: Music Maestro: tape capture problem

Post by vanekp »

The being of the machine code :-
4433 A9 80 LDA #80
4435 85 D0 STA D0
4437 A0 03 LDY #03
4439 AD CA 03 LDA 03CA
443C 4A LSR A
443D 8C 58 02 STY 0258
4440 90 2A BCC 446C
4442 A9 00 LDA #00

at 4439 it loads the tape block flag byte and does a BCC at 4440 so checking the lock flag.
The 2nd part of the audio file sounds very different to the 1st and wonder if this is an original tape as it has the file amaze at the end which does not look like it even belongs to this program, and it is never loaded or anything.
Regards Peter.
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Music Maestro: tape capture problem

Post by lurkio »

vanekp wrote: Sun May 09, 2021 11:08 am the machine code ... at 4439 it loads the tape block flag byte and does a BCC at 4440 so checking the lock flag.
Yes, Lee has also disassembled that. I think he has also converted the program so that it runs on .SSD.

vanekp wrote: Sun May 09, 2021 11:08 am The 2nd part of the audio file sounds very different to the 1st
Oh! I didn't notice that it sounded very different. But I did notice that the main program file in my CSW conversion wouldn't load in BeebEm!

vanekp wrote: Sun May 09, 2021 11:08 am and wonder if this is an original tape
It is an original tape. The physical cassette has an official printed label on it. And the case has the professionally printed inlay inside. (The other side of the tape has the unprotected instruction programs on it, which you can also find on the STH UEF.) It looks exactly like this one on eBay.

vanekp wrote: Sun May 09, 2021 11:08 am as it has the file amaze at the end which does not look like it even belongs to this program, and it is never loaded or anything.
AMAZE contains example ENVELOPEs that can be loaded into the main program if you know how to navigate the menus in that program.

:idea:
Post Reply

Return to “software preservation”