Robico Banjax Cheat?

reminisce about bbc micro & electron games like chuckie egg, repton, elite & exile

Related forum: adventures


User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Mon Jun 27, 2016 11:50 am

Do you know of any Banjax cheats?

I used the Beebem debugger to discover one to stop the creepy-crawlies killing Banjax when they collide. I just need to fine-tune it as it was also stopping me picking up the bag and subsequent items. I need to fine tune it so that it treats the crawlies as inocuous objects. It looks like all that is needed is a couple of bytes of the file Banjax3 need changing.

User avatar
billcarr2005
Posts: 1057
Joined: Fri Sep 09, 2005 3:01 pm
Location: UK
Contact:

Re: Robico Banjax Cheat?

Postby billcarr2005 » Mon Jun 27, 2016 5:38 pm

Code: Select all

C 1FB1 0

User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Re: Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Mon Jun 27, 2016 6:12 pm

I came up with 1fd9 = 32 :) (which turns 1fd8 to BEQ 200C instead of BEQ 1FAD)
Last edited by b_b_c_m_i_c_r_o_2 on Mon Jun 27, 2016 6:17 pm, edited 1 time in total.

User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Re: Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Mon Jun 27, 2016 6:16 pm

pasted the default banjax code path when collide with a monster....
Attachments
collide_monster_.jpg

User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Re: Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Tue Jun 28, 2016 8:59 am

billcarr2005 wrote:

Code: Select all

C 1FB1 0


Thanks! - you got that one quick! or was it one you already had in your back pocket?

User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Re: Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Sun Jan 15, 2017 5:52 pm

I found one problem.....if you get caught in a corner with one or more monsters it can prevent you from actually moving and you are stuck there forever...............as my niece and nephew found out!

I suspect that would be more tricky to work round... I am not sure how the collision detection routine decides the difference between a wall and a monster...

User avatar
lurkio
Posts: 1155
Joined: Tue Apr 09, 2013 11:30 pm
Location: Doomawangara
Contact:

Re: Robico Banjax Cheat?

Postby lurkio » Sun Jan 15, 2017 6:08 pm

b_b_c_m_i_c_r_o_2 wrote:
billcarr2005 wrote:

Code: Select all

C 1FB1 0

Thanks! - you got that one quick! or was it one you already had in your back pocket?


More generally, how does anyone know anything about the BeebEm debugger at all? How does it work? What are the commands you can use in it?

There's apparently no documentation for it -- or at least no one seemed to have any when I asked the question in 2014.

So how are you supposed to come up with arcane incantations like "C 1FB1 0"? Do you have to be psychic?!

:?: :?

User avatar
billcarr2005
Posts: 1057
Joined: Fri Sep 09, 2005 3:01 pm
Location: UK
Contact:

Re: Robico Banjax Cheat?

Postby billcarr2005 » Sun Jan 15, 2017 11:09 pm

? brings up the debugger help

Code: Select all

- BeebEm debugger help -
  Parameters in [] are optional. 'p' can be specified in some commands
  to specify parasite processor. Words preceded with a . will be
  interpreted as labels and may be used in place of addresses.

  bp start[-end] [name]
    Sets/Clears a breakpoint or break range.

  labels [filename]
    Loads labels from VICE file, or display known labels.

  help [command/addr]
    Displays help for the specified command or address.

  set host/parasite/rom/os/endian/breakpoint/decimal/brk on/off
    Turns various UI checkboxes on or off.

  next [count]
    Execute the specified number instructions, default 1.

  peek [p] [start] [count]
    Dumps memory to console.

  code [p] [start] [count]
    Dissassembles specified range.

  watch [p] addr [b/w/d] [name]
    Sets/Clears a byte/word/dword watch at addr.

  state v/u/s/t/m/r
    Displays state of Video/UserVIA/SysVIA/Tube/Memory/Roms.

  save [count] file
    Writes console lines to file.

  poke [p] start byte [byte...]
    Write bytes to memory.

  goto [p] addr
    Jump to address.

  file r/w addr [count] filename
    Read/Write memory at address from/to file.

  echo string
    Write string to console.

  script [filename]
    Executes a debugger script.

Command aliases:
      bp: b, breakpoint
  labels: l
    help: ?, q
    next: n
    peek: m
    code: d
   watch: e
   state: s
    save: w
    poke: c
    goto: g
    file: f
    echo: !



mostly all that's required is "d" to disassemble and "m" to dump memory :)
"c" changes the memory at location to whichever value


User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Re: Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Sat Jan 21, 2017 10:37 am

Looking at how the game plays... the monsters are able to pass through each other unhindered but that is not the case with the Banjax character. I think that is the bit to target if I can make it so the monsters think Banjax is another monster that should work.

User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Re: Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Sat Jan 28, 2017 10:11 am

For the bears movement, I think there are two collisions mechanisms. The one that sometimes prevents you passing through monsters is because the game wont let you move in a direction where the screen just outside the extent of the sprite in that direction isn't the same colour as the background. I changed the flying creature into a line of red and I can get the issue where the bear can't turn right.

Although saying that monsters can pass through each other without difficulty

Also I dont think the monsters have collision detection with the walls - I think they are programmed not to travel further than where the fences are (or might me). i.e. the monsters do not travel into that gap in the fence that the bear can get into.
Attachments
blocked move.gif
Banjax collision

User avatar
eelco
Posts: 45
Joined: Thu Jul 30, 2015 6:43 am
Location: Netherlands
Contact:

Re: Robico Banjax Cheat?

Postby eelco » Mon Jan 30, 2017 10:09 pm

I remember there was a really easy way to cheat. The monsters appear randomly in the screens every time you run Banjax, so I figured that there must be some random number generator involved. When looking at the loader (called BANJAX, part BASIC part machinecode) you can see that random values are put in locations &0080-&0087:

Code: Select all

  10REM                               
                                       
     "BANJAX" By Robert O'Leary         
              (c) 1985                 
                                       
                                       
   20MODE1:VDU23;8202;0;0;0;:FORI%=0TO&3
10STEP4:I%!&1100=I%!TOP:NEXT           
   30*FX200,3                           
   40*FX4,1                             
   50*FX210,0                           
   60ENVELOPE1,2,30,0,-30,1,1,1,110,-3,-
3,-3,120,100                           
   70ENVELOPE2,1,0,0,0,0,0,0,110,-5,-5,-
5,102,90                               
   80ENVELOPE3,128,-1,-1,-1,18,18,18,127
,0,-1,-2,126,100                       
   90ENVELOPE4,1,0,0,0,0,0,0,126,-1,-1,-
1,126,80                               
  110!&80=RND:!&84=RND:CALL&1100

Now, if you replace line 110 with:

Code: Select all

  110!&80=0:!&84=0:CALL&1100

...no monsters will appear whatsoever :)
My Acorn related files are located at:
https://acorn.huininga.nl/

User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Re: Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Sun Feb 19, 2017 5:15 pm

thanks!

User avatar
b_b_c_m_i_c_r_o_2
Posts: 216
Joined: Sun Jun 25, 2006 10:15 pm

Re: Robico Banjax Cheat?

Postby b_b_c_m_i_c_r_o_2 » Fri Mar 31, 2017 12:50 pm

I just worked out the game is a bit boring and you can't do anything until you get the bag.

User avatar
eelco
Posts: 45
Joined: Thu Jul 30, 2015 6:43 am
Location: Netherlands
Contact:

Re: Robico Banjax Cheat?

Postby eelco » Mon Apr 10, 2017 11:16 am

A map and the solution can be found here: https://acorn.huininga.nl/pub/docs/game ... re/Banjax/

Without monsters the game is indeed a bit boring, but you'll be able to finish it in 15 mins, if you know your way around
My Acorn related files are located at:
https://acorn.huininga.nl/

User avatar
streaks
Posts: 194
Joined: Thu Oct 13, 2005 2:08 pm
Contact:

Re: Robico Banjax Cheat?

Postby streaks » Sun Jul 23, 2017 3:18 pm

I did that line 110 thing, and I just get an error. Sometimes it's just "at line 110" and sometimes it's "ONOSCLILEN ONOSCLILEN ONOSCLILEN at line 110".

Am I supposed to save the BANJAX file in a way other than SAVE "BANJAX" since it's part machinecode?

I tried manually executing the lines in LOAD, then loading BANJAX and changing line 110 and typing RUN, and the screen just went black.

Oh, my God, this is so exhausting. Beeb logic is a f'ing mystery to me. I've been at this for ages.
streaksy (at) gmail (dot) com

User avatar
lurkio
Posts: 1155
Joined: Tue Apr 09, 2013 11:30 pm
Location: Doomawangara
Contact:

Re: Robico Banjax Cheat?

Postby lurkio » Sun Jul 23, 2017 4:15 pm

streaks wrote:I did that line 110 thing, and I just get an error. Sometimes it's just "at line 110" and sometimes it's "ONOSCLILEN ONOSCLILEN ONOSCLILEN at line 110". Am I supposed to save the BANJAX file in a way other than SAVE "BANJAX" since it's part machinecode? I tried manually executing the lines in LOAD, then loading BANJAX and changing line 110 and typing RUN, and the screen just went black. Oh, my God, this is so exhausting. Beeb logic is a f'ing mystery to me. I've been at this for ages.

Here's the disc-image pre-edited with eelco's cheat:

:idea:

User avatar
streaks
Posts: 194
Joined: Thu Oct 13, 2005 2:08 pm
Contact:

Re: Robico Banjax Cheat?

Postby streaks » Sun Jul 23, 2017 4:40 pm

lurkio wrote:
streaks wrote:I did that line 110 thing, and I just get an error. Sometimes it's just "at line 110" and sometimes it's "ONOSCLILEN ONOSCLILEN ONOSCLILEN at line 110". Am I supposed to save the BANJAX file in a way other than SAVE "BANJAX" since it's part machinecode? I tried manually executing the lines in LOAD, then loading BANJAX and changing line 110 and typing RUN, and the screen just went black. Oh, my God, this is so exhausting. Beeb logic is a f'ing mystery to me. I've been at this for ages.

Here's the disc-image pre-edited with eelco's cheat:

    Disc012-Banjax.ssd.zip
:idea:


Thaaaaaank you. But for the sake of learning... what was I doing wrong? Is it easy to explain? ;/
streaksy (at) gmail (dot) com

User avatar
lurkio
Posts: 1155
Joined: Tue Apr 09, 2013 11:30 pm
Location: Doomawangara
Contact:

Re: Robico Banjax Cheat?

Postby lurkio » Sun Jul 23, 2017 4:45 pm

streaks wrote:But for the sake of learning... what was I doing wrong?

No idea! I just downloaded the disc-image from bbcmicro.co.uk and the used a hex-editor app on my laptop to change two bytes in the .SSD file. The two bytes I changed were the two bytes that each represented the tokenised form of the BASIC keyword RND, on line 110: I changed each of the two bytes to zero.

:idea:

EDIT: I've just realised I didn't change the two values to zero -- I actually changed them to &30 (the ASCII value of the character "0")!
Last edited by lurkio on Sun Jul 23, 2017 4:52 pm, edited 4 times in total.

User avatar
streaks
Posts: 194
Joined: Thu Oct 13, 2005 2:08 pm
Contact:

Re: Robico Banjax Cheat?

Postby streaks » Sun Jul 23, 2017 4:46 pm

Oh, I didn't try editing the file outside of BeebEm. Cheers though.
streaksy (at) gmail (dot) com

User avatar
eelco
Posts: 45
Joined: Thu Jul 30, 2015 6:43 am
Location: Netherlands
Contact:

Re: Robico Banjax Cheat?

Postby eelco » Mon Aug 14, 2017 7:49 am

streaks wrote:Thaaaaaank you. But for the sake of learning... what was I doing wrong? Is it easy to explain? ;/

Ahh of course.. The Banjax loader is part BASIC and part Machine Code. When you replace line 80, the BASIC language somehow changes the TOP variable, which will change the start address of the machine code part.

If PAGE is &1900, this might work:

Code: Select all

PAGE=&1900
LOAD"BANJAX"
?&1AF7=ASC"0"
?&1AFE=ASC"0"
LIST (just to check if we haven't broken the BASIC part)
RUN
My Acorn related files are located at:
https://acorn.huininga.nl/

User avatar
streaks
Posts: 194
Joined: Thu Oct 13, 2005 2:08 pm
Contact:

Re: Robico Banjax Cheat?

Postby streaks » Mon Aug 14, 2017 7:51 am

All these years later and "machine-code" isn't much less mysterious. :D Thanks.

PS Your repository site looks interesting...
streaksy (at) gmail (dot) com


Return to “software: classic games”

Who is online

Users browsing this forum: No registered users and 5 guests