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:
From the .SSD I wrote the files to a UEF in BeebEm -- but that UEF then failed in all emulators!:
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!:
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.]
Music Maestro: tape capture problem
Music Maestro: tape capture problem
Last edited by lurkio on Sun May 09, 2021 6:41 pm, edited 1 time in total.
- scarybeasts
- Posts: 1052
- Joined: Tue Feb 06, 2018 7:44 am
- Contact:
Re: Music Maestro: tape capture problem
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
Re: Music Maestro: tape capture problem
Ah, I see. Thanks!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.
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..?
EDIT: It seems I can't use the master branch because there's no build. I don't know how to build it.
- scarybeasts
- Posts: 1052
- Joined: Tue Feb 06, 2018 7:44 am
- Contact:
Re: Music Maestro: tape capture problem
Poorly, unfortunately. I don't have a Mac, and there's also this "Objective C" stufflurkio wrote: ↑Thu May 06, 2021 10:16 amAh, I see. Thanks!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.
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..?
I'm interested in getting it running though, because I'm very curious about the JIT performance on the fancy new Apple M1 processor.
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.EDIT: It seems I can't use the master branch because there's no build. I don't know how to build it.
Cheers
Chris
Re: Music Maestro: tape capture problem
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..?
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..?
Re: Music Maestro: tape capture problem
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.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..?
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!
Re: Music Maestro: tape capture problem
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.
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.
Re: Music Maestro: tape capture problem
Yes, Lee has also disassembled that. I think he has also converted the program so that it runs on .SSD.
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!
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.
AMAZE contains example ENVELOPEs that can be loaded into the main program if you know how to navigate the menus in that program.