Re: A86: Patching Menus


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

Re: A86: Patching Menus




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      =
=                                   =
=====================================


Follow-Ups: References: