Re: A86: Patching Menus


[Prev][Next][Index][Thread]

Re: A86: Patching Menus




Yeah, its four bytes each ... I never had a problem using $c210 to check the active
menu (the lowest menu), and you shouldn't have to check both the active and the
inactive menus.  It's interesting that you got it to work using $c214 -- it may just
be because the program menu's wacked out (using dynamic menus).

Kirk Meyer wrote:

> ummm... i won't argue too much because i'm not POSITIVE that i'm right,
> but load the emulator and set the mem view at $C210. Now open the
> program menu, and refresh the memory display. You will now notice that
> ($C210) contains the pointer to the program menu and ($C21C) points to
> $C214 = $C210 + 4 = next menu pointer location. Now open the NAMES menu
> and refresh the memory display. The program menu (NAMES EDIT) ptr
> remains at ($C210), but a new ptr pointing to the NAMES menu is placed
> at ($C214), and the value at ($C21C) is incremented by 4 again. exit the
> names menu, ($C21C) = $C214; exit the program menu, ($C21C) = $C210.
> also, when i try always using ($C210) to patch a menu, the 86 locks up.
> i think that the menu stack works like the fps stack basically except w/
> 4 byte dishes :) instead of 10
>
> Dux Gregis wrote:
> >
> > It does always point to the current menu; it's a stack, and $c210 is the top of
> > the stack ... you don't need to check any other part of it.  Besides, what
> > you're doing here is going back into the application stack.
> >
> > Kirk Meyer wrote:
> >
> > > $c210 doesn't always point to the current menu. if you look at
> > > RAM86.INC, you will see that there is a menu pointer pointer :) what you
> > > need to do is:
> > >
> > >  ld hl,(menu_ptr_ptr)
> > >  dec hl
> > >  dec hl
> > >  dec hl
> > >  dec hl
> > >  ;hl now points to the current menu pointer
> > >
> > > if you posted your source it would be helpful
> > >
> > > Samuel P Camp wrote:
> > > >
> > > > I was trying to patch the memory menu, the one that shows: free memory,
> > > > memory clear, clear entry etc...  I need to load a pointer to my fake
> > > > menu at $C210 right?  Because that's what I did.  But it always showed
> > > > the real menu after I ran the program.
> > > >
> > > > >You need to load that location with a pointer to a fake menu, like one
> > > > that's
> > > > >somewhere in the sqrt program.  It would help if you could be more
> > > > specific
> > > > >-- which menu are you trying to patch?
> > > >
> > > > >> I was wondering about the ROM menus on the 86.  After looking at Dux
> > > > >> Gregis' article on menus, I decided to try to patch a ROM menu.  After
> > > > I
> > > > >> invoked the memory menu, I looked at $C210 and found the pointer $BA57
> > > > >> (on the emulator).  I tried to use the KEY program patch with this
> > > > value,
> > > > >> but it didn't work.  I also tried $57BA and again, nothing.  Can
> > > > anyone
> > > > >> help me?
> > > >
> > > > _____________________________________________________________________
> > > > You don't need to buy Internet access to use free Internet e-mail.
> > > > Get completely free e-mail from Juno at http://www.juno.com
> > > > Or call Juno at (800) 654-JUNO [654-5866]
> > >
> > > --
> > >
> > > =====================================
> > > =                                   =
> > > =   Kirk Meyer (mailto:_@ibm.net)   =
> > > = http://www.bigfoot.com/~kirkmeyer =
> > > =                                   =
> > > =   "Set your affection on things   =
> > > =    above, not on things on the    =
> > > =      earth."  Colossians 3:2      =
> > > =                                   =
> > > =====================================
>
> --
>
> =====================================
> =                                   =
> =   Kirk Meyer (mailto:_@ibm.net)   =
> = http://www.bigfoot.com/~kirkmeyer =
> =                                   =
> =   "Set your affection on things   =
> =    above, not on things on the    =
> =      earth."  Colossians 3:2      =
> =                                   =
> =====================================




References: