Booty Currah uSpeech minigame

General software. From trouble with the Banyan Tree to OCP Art Studio, post any general software chat here. Could include game challenges...
Post Reply
User avatar
druellan
Dynamite Dan
Posts: 1475
Joined: Tue Apr 03, 2018 7:19 pm

Booty Currah uSpeech minigame

Post by druellan »

Hi! Some investigation I'm doing, perhaps someone can help.

Booty (https://spectrumcomputing.co.uk/entry/6 ... trum/Booty) has the following comment on the game entry:
"Loading the game with a Currah Microspeech unit attached activates a hidden mini-game, where the player must dive to catch 20 goldfish without touching another creature or running out of air."
I was *not* able to confirm this using emulators (InkSpectrum, EightyOne, ZXSpin), might be because the emulation is not emulating the interface but the feature.
Anyway, I decided to peek around, and using Richard Jordan's SGE tool I've found some graphics that might be related to that minigame:

Image

I'm also not sure how this is supposed to work, if it is a new option on the menu or the game starts right away.

I don't have my Speccy around, anyone with a Currah and a 48k Spectrum can test and confirm this? A good photo can also be welcome, so we can document it.
User avatar
Morkin
Bugaboo
Posts: 3278
Joined: Mon Nov 13, 2017 8:50 am
Location: Bristol, UK

Re: Booty Currah uSpeech minigame

Post by Morkin »

It works in Spectaculator after enabling Currah in the options.

Everything loads normally.

On the menu, you either press '0' to start the game, or just wait with the tune playing for a bit, for the game to start automatically.

I then got this static start screen (as shown, without any of the moving sprites).

Image

It looks like the game's crashed at this point (there's no music playing now), but after a 10 second pause it switches straight into the mini-game:

Image
My Speccy site: thirdharmoniser.com
User avatar
druellan
Dynamite Dan
Posts: 1475
Joined: Tue Apr 03, 2018 7:19 pm

Re: Booty Currah uSpeech minigame

Post by druellan »

Perfect! Thanks @Morkin I'm going to try and wait on the main menu on other emulators, I'm now curious if the thing works on all of them. Also, I'm going to upload that screengrab to the game entry, as a proof that the minigame exists.
Gooeyblob
Drutt
Posts: 32
Joined: Sun Nov 08, 2020 4:11 pm

Re: Booty Currah uSpeech minigame

Post by Gooeyblob »

Access Hidden Game: Poke 52796,32:Poke 52798,58
User avatar
Morkin
Bugaboo
Posts: 3278
Joined: Mon Nov 13, 2017 8:50 am
Location: Bristol, UK

Re: Booty Currah uSpeech minigame

Post by Morkin »

No worries. From playing it, it seems that:

- It scrolls from left to right, and you have to collect the little yellow fish
- If you run out of air, or hit something, you don't die, but your fish score resets to zero
- You can replenish your air at any time by going up to the surface

I don't know what happens when you collect 20 fish - I couldn't do it without hitting something..!
My Speccy site: thirdharmoniser.com
User avatar
druellan
Dynamite Dan
Posts: 1475
Joined: Tue Apr 03, 2018 7:19 pm

Re: Booty Currah uSpeech minigame

Post by druellan »

Confirmed is working on InkSpector, not on Eightyone and ZX Spin:

Image
Inky
Dizzy
Posts: 95
Joined: Tue Dec 10, 2019 10:05 pm
Location: Sheffield, UK

Re: Booty Currah uSpeech minigame

Post by Inky »

I was intrigued how the mini game was triggered, so I did a bit of digging and documented it in the Inkspector source code when I was adding the uSpeech emulation:
Although all documentation I've seen only mentions the Currah uSpeech is paged in on a memory or port *read* of address 0x38, it seems that a write to that address will also page in its ROM. Without this behaviour, the hidden game in Booty does not play. Take a look at Booty code at $df10 which calls a routine at $e058 to sneakily/accidentally page in the Currah's ROM with

Code: Select all

	ld hl,$a06ch
	ld de,$fffb
	ld bc,$64
	ldir
and then performs a "rst 10h" on return which calls the Currah’s ROM's RST 10h code, not the Spectrum's, eventually ending up at $ff15 (which appears to have been made to look like data rather than code, if this is intentional) finally activating the hidden game with the "call po,0ce50h".
So I think the triggering of the mini game when a uSpeech attached is accidental, as it’s so convoluted, and, crucially, misses the mini game’s instruction screen, not to mention the delay before the mini game appears while showing the regular Booty game screen, making it appear the game’s crashed.
User avatar
druellan
Dynamite Dan
Posts: 1475
Joined: Tue Apr 03, 2018 7:19 pm

Re: Booty Currah uSpeech minigame

Post by druellan »

Thanks Inky, I was thinking the same, because I missed it the first time I tested it using your emulator because I thought the game crashed.
Also, the game is kind of not aware of the Currah interface at all, since it is not stopping the first keystroke to pass to the speech system, something often found in games that are not compatible.
AndyC
Dynamite Dan
Posts: 1410
Joined: Mon Nov 13, 2017 5:12 am

Re: Booty Currah uSpeech minigame

Post by AndyC »

If it's accidental though, it does make you wonder how the minigame was supposed to be accessed?
worcestersource
Manic Miner
Posts: 531
Joined: Thu Feb 03, 2022 11:05 pm

Re: Booty Currah uSpeech minigame

Post by worcestersource »

Maybe the minigame was incomplete but the author just kept the code in anyway? Perhaps the trigger was entirely accidental.

Can you return to the main game?
User avatar
druellan
Dynamite Dan
Posts: 1475
Joined: Tue Apr 03, 2018 7:19 pm

Re: Booty Currah uSpeech minigame

Post by druellan »

Code: Select all

POKE 52796,24
POKE 52797,03
The game starts at the mini-game instead of Booty.

Image
magicjohn
Drutt
Posts: 1
Joined: Wed Sep 13, 2023 5:32 pm

Re: Booty Currah uSpeech minigame

Post by magicjohn »

My guess is that Booty was supposed to be a three part game, where you did the mini game first to swim to the ship, then play Booty as we know it, and then complete a third (unknown) game to get the booty back to shore. The mini game was just bypassed in the final version when it was decided to release it as a budget game. It would probably have been difficult to strip out the mini game code without messing up the main game as they both rely on the same subroutines...

Just my guess! ;o)
User avatar
spider
Dynamite Dan
Posts: 1099
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: Booty Currah uSpeech minigame

Post by spider »

magicjohn wrote: Wed Sep 13, 2023 5:41 pm My guess is that Booty was supposed to be a three part game, where you did the mini game first to swim to the ship, then play Booty as we know it, and then complete a third (unknown) game to get the booty back to shore. The mini game was just bypassed in the final version when it was decided to release it as a budget game. It would probably have been difficult to strip out the mini game code without messing up the main game as they both rely on the same subroutines...

Just my guess! ;o)
That does sound plausible, and a bit like Treasure Island in a way where there's three parts to the game even though they are quite different.


Random thought: Is there any sign of the code for this or similar in Moonlight Madness ? As it is clear even if you discount the sprites it is the same 'engine' almost :?: , I have not looked.

It would be fun also to check the Sam version of this game to see if anything is in that. I don't have access to said file at this moment to find out.
pobtastic
Drutt
Posts: 32
Joined: Fri May 29, 2020 8:21 pm
Location: United Kingdom

Re: Booty Currah uSpeech minigame

Post by pobtastic »

I caught this thread in November last year and was FASCINATED! I owned Booty and had a Currah uSpeech BITD too ... such a pity I didn't try it out back then - it would have blown my mind!

Anyway, I started a little disassembly ... I had to park it for a few months but got back to it recently.

https://pobtastic.github.io/booty/

The most interesting part is at: https://pobtastic.github.io/booty/asm/D08A.html#d0a1

Code: Select all

NewGame:
$D09E	CALL InitialiseGame
; This looks as though the game might start the Goldfish Game if you reach here without losing all your lives?
$D0A1	LD A,($5BF1)				; {Jump to DisplayIntroductionScreen if *PlayerLives is equal to FF.
$D0A4	CP $FF					;
$D0A6	JP Z,DisplayIntroductionScreen		;}
$D0A9	JP GoldfishGame_InitialiseGame
So ... if somewhere was to RETurn after a NewGame has been initialised (and it wasn't through losing all your lives), then you would init the goldfish game. So to me, it looks like the intention was for "something" to happen in the game which would send you here - or maybe, if you finished the game perhaps? However, there is already a game state for managing that.
Last edited by pobtastic on Wed Apr 10, 2024 11:07 pm, edited 1 time in total.
dvduk
Drutt
Posts: 35
Joined: Sat Apr 08, 2023 6:29 pm

Re: Booty Currah uSpeech minigame

Post by dvduk »

spider wrote: Wed Sep 13, 2023 7:59 pm It would be fun also to check the Sam version of this game to see if anything is in that.
No - the sub game isn't in the SAM version.
I don't have access to said file at this moment to find out.
The game's available on Sam Revival issue 20.

More details of the game:
https://www.worldofsam.org/products/booty
Can also be found at SamstersVideos - which does occasionally update when I have time...
User avatar
spider
Dynamite Dan
Posts: 1099
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: Booty Currah uSpeech minigame

Post by spider »

dvduk wrote: Wed Apr 10, 2024 11:07 pm No - the sub game isn't in the SAM version.


The game's available on Sam Revival issue 20.

More details of the game:
https://www.worldofsam.org/products/booty
Thank you.
I'll see about watching a video or two of this (bound to be some floating about on YT or suchlike) and I'll buy if I like what I see. :)

I wonder if there's anything 'extra' in the game, unlikely but possible I suppose.
dvduk
Drutt
Posts: 35
Joined: Sat Apr 08, 2023 6:29 pm

Re: Booty Currah uSpeech minigame

Post by dvduk »

spider wrote: Thu Apr 11, 2024 3:45 pm Thank you.
I'll see about watching a video or two of this (bound to be some floating about on YT or suchlike) and I'll buy if I like what I see. :)

I wonder if there's anything 'extra' in the game, unlikely but possible I suppose.
50 percent bigger than the original, and a rat that's a bit too smart for its own good - apparently :)
Can also be found at SamstersVideos - which does occasionally update when I have time...
dvduk
Drutt
Posts: 35
Joined: Sat Apr 08, 2023 6:29 pm

Re: Booty Currah uSpeech minigame

Post by dvduk »

spider wrote: Thu Apr 11, 2024 3:45 pm Thank you.
I'll see about watching a video or two of this (bound to be some floating about on YT or suchlike) and I'll buy if I like what I see. :)
May see what I can do on that score this weekend if poss.
Can also be found at SamstersVideos - which does occasionally update when I have time...
User avatar
Wizwords
Microbot
Posts: 110
Joined: Tue May 23, 2023 9:02 am

Re: Booty Currah uSpeech minigame

Post by Wizwords »

I interviewed John Cain last week and he explained a lot about this. Will be in Retro Gamer in a couple of months hopefully.
Buy my book, ZX Nightmares, here: https://fusionretrobooks.com/collection ... 8102529118
Subscribe to On The ZX Spectrum here: https://onthezxspectrum.eo.page/onthezxspectrum
pobtastic
Drutt
Posts: 32
Joined: Fri May 29, 2020 8:21 pm
Location: United Kingdom

Re: Booty Currah uSpeech minigame

Post by pobtastic »

spider wrote: Wed Sep 13, 2023 7:59 pm Random thought: Is there any sign of the code for this or similar in Moonlight Madness ? As it is clear even if you discount the sprites it is the same 'engine' almost :?: , I have not looked.
I haven't disassembled this at all, but I have a script to generate skeleton Skoolkit projects - so I've thrown it up here; https://skoolkit.arcadegeek.co.uk/moonlightmadness/

It lacks any knowledge of what's data and what's code - but I will say that it doesn't especially feel like it is the same "engine" as Booty. Sure John similarly uses Spectrum ROM calls for printing and 0x5C00 flags for various reasons, but many other games also do the same.
User avatar
spider
Dynamite Dan
Posts: 1099
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: Booty Currah uSpeech minigame

Post by spider »

pobtastic wrote: Fri Apr 12, 2024 4:57 pm I haven't disassembled this at all, but I have a script to generate skeleton Skoolkit projects - so I've thrown it up here; https://skoolkit.arcadegeek.co.uk/moonlightmadness/

It lacks any knowledge of what's data and what's code - but I will say that it doesn't especially feel like it is the same "engine" as Booty. Sure John similarly uses Spectrum ROM calls for printing and 0x5C00 flags for various reasons, but many other games also do the same.
Thank you. :)

To me it 'felt' the same maybe the sprites re-use did it, or the ingame tune (different but felt the same at the same time)
Post Reply