Searching for cheats on Tandy Coco 3

If you are having problems finding or using cheats for an Emulator (particularly MAME/MESS) or have found a trick that you wish to share this is the place to do it. But please read the Cheat FAQ first.
Post Reply
Richard42
Posts: 3
Joined: Wed Jun 09, 2010 3:01 pm

Searching for cheats on Tandy Coco 3

Post by Richard42 »

Hello all,

I'm having a problem searching for a cheat code and would like to ask for advice. I'm using an older version of MESS (0.127 or so) and emulating the Tandy/Radio Shack Color Computer 3. I'm searching for a cheat for a OS-9 game called Cave Walker. This machine used the 8-bit 6809 CPU with a 16-bit address space, but with an expansion chip which supported 512KB of RAM by bank-switching 8KB blocks into the 64KB address space of the CPU. The problem that I'm having is that I think the cheat engine only searches the active address space of the CPU, rather than the entire 512k RAM space. So the memory byte that I'm looking for (holding the # of lives) might not be in the CPU address space at any given time, and in fact it could be in different places at different times. Is there any way to get around this; ie to search the entire emulated RAM of the machine rather than just the active CPU address space?

Thanks,
Richard
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Searching for cheats on Tandy Coco 3

Post by Pugsy »

Many systems use bank switching, it doesn't often present a problem for cheat finding though as it's exceptionally rare for bank switching to happen that frequently. I'm not familiar with the Tandy or OS9 so I can't do the seatch myself but if you perform the search ingame at approx the same sort of gameplay is happening then I see no problems.

I also doubt you will have any look with MESS 0.127 - you can not perform cheat searches with that version of MESS. I suggest ideally you try the latest version you can, or if you want to use the old cheat engine go for either 0.125 or before.

I
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
Richard42
Posts: 3
Joined: Wed Jun 09, 2010 3:01 pm

Re: Searching for cheats on Tandy Coco 3

Post by Richard42 »

A little more info; I played with this last night. For this machine I'm running xmess 0.106 (old, I know, but it emulates the coco perfectly and I have code in it).

So this game (Cave Walker) can run both on the Coco 2 (OS-9 level 1, 64k no bank switching) and the Coco 3 with mildly enhanced graphics (OS-9 level 2, 512k, bank switching). When running on the Coco 2, I can find the lives remaining address with no problem - it's at 0x0B68. I just do a search for lives = 3 at the start of the game, then pop off and kill myself, continue search with lives = 2, etc. I find the address after 2 or 3 searches.

But under the coco 3 I cannot find the cheat. I set up watch points for 0B68 in each bank (0B68, 2B68, ... EB68) and none of them are the # of lives. I also see that usually the values at these locations stay the same, but occasionally they will all switch to different values for a very short time (maybe one 60hz frame) and then back. Maybe that's the OS switching to a kernel address space and then back to user space?
Richard42
Posts: 3
Joined: Wed Jun 09, 2010 3:01 pm

Re: Searching for cheats on Tandy Coco 3

Post by Richard42 »

I was able to find the memory address last night; I'll post my method here in case anyone else runs into this problem. It was a bank switching issue. I looked at a hardware doc on the Coco3 and found the registers controlling the 8k ram banks. There are 2 different memory maps, which can be toggled by bit 0 of $FF91. The first map of 8 banks is at $FFA0-$FFA7, and the second set is at $FFA8-$FFAF. I set watchpoints for all of these memory addresses and watched how the memory was mapped as the game ran. Basically it stayed in map 0 the vast majority of the time, switching to map 1 very rarely. One of the memory banks in map 0 switched between a couple of different physical RAM banks over time, but all the others were stable; they were consistently mapped to the same physical RAM. I found that if I held down a joystick button, it would consistently switch to bank 1 about once or twice per second.

So, I held down the joystick button and repeatedly paused and un-paused the emulator until I grabbed it while the map 1 was active. Then I started my cheat search. After un-pausing and killing off a life, I did the same thing: pausing until I got it in map 1 and then continuing the search. In this way I found that the life counter is in memory location 0068, but it's only mapped into CPU space while map 1 is active.

So again I come back to my earlier question; is there any way to add a cheat code which is applied to the whole memory space of the machine, not just the CPU?

Thanks,
Richard
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Searching for cheats on Tandy Coco 3

Post by Pugsy »

Without running the thing I can only surmise, if you want me to look at it you will need to PM me details of what images to get and how to start/load + run the game.

If it was truely RAM banked outside the 16bit address range then poking either 0x10068, 0x20068, 0x30068 etc would work though you would need to use something other than a RAM write. There is of course always the option of converting a RAM write into a ROM/Program Code cheat that may not suffer from bank switching as you can use a compare value with such cheats to minimise any risks.

Searching, though is another matter - though it is easier with newer MESS builds due to the combining of the cheat engine into the debugger.
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
Post Reply