[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Idea for dump mode
In message <58f6a1b55fwebpages@xxxxxxxxxxx>
Sprow <webpages@xxxxxxxxxxx> wrote:
> In article <efb61cf658.fjgraute@xxxxxxxxx>,
> Fred Graute <fjgraute@xxxxxxxxx> wrote:
> > In message <58f400a79cwebpages@xxxxxxxxxxx>
> > Sprow <webpages@xxxxxxxxxxx> wrote:
> > > As an extra embellishment* it would be nice if the Ursula "fast" service
> > > table was annotated.
> >
> > This has now been added. Here's the annotations for the WindowManager's
> > fast service table:
> >
> > ; ufst: offset to handler code
> > ; ufst: = Reset
> > ; ufst: = NewApplication
> > ; ufst: = ModeChange
> > ; ufst: = MemoryMoved
> > ; ufst: = ResourceFSStarted
> > ; ufst: = ResourceFSDying
> > ; ufst: = ResourceFSStarting
> > ; ufst: = SwitchingOutputToSprite
> > ; ufst: = InvalidateCache
> > ; ufst: = ModeChanging
> > ; ufst: = ModeFileChanged
> > ; ufst: end of service table
> > ; ufst: offset to table start
> > ; ufst: service table magic word
>
> I wasn't expecting the service call numbers to be decoded, that's fancy.
It's just a MessageTrans lookup. The service number is converted to a 6
digit hex string and appended to a base token. Then it's looked up in
the Dump mode Messages file. Most annotations are done in a similar way.
> I tend to agree with Martin that the Ursula of 'ufst' is probably redundant,
> how about just 'fast'?
No problem, 'ufst' was just a first stab because I needed something.
I've changed it to 'fast' but if someone wants something else, it's an
easy change in the Messages file.
> Also, I think you're missing a flags word (the word before the "offset to
> handler code"), whose bits should currently be zero.
That was a copy/paste error. The flags word has an annotation too.
> Where there is certainty of what the field is can the opcode be hidden?
Sure. Here's how the annotations (WindowManager again) look now.
000015F4 : 00000070 : p@@@ : ANDeq R0,R0,R0,ROR R0
000015F8 : 00000000 : @@@@ : ; fast: service table flags word
000015FC : 00001668 : hV@@ : ; fast: offset to handler code
00001600 : 00000027 : '@@@ : ; fast: = Reset
00001604 : 0000002A : *@@@ : ; fast: = NewApplication
00001608 : 00000046 : F@@@ : ; fast: = ModeChange
0000160C : 0000004E : N@@@ : ; fast: = MemoryMoved
00001610 : 00000059 : Y@@@ : ; fast: = ResourceFSStarted
00001614 : 0000005A : Z@@@ : ; fast: = ResourceFSDying
00001618 : 00000060 : `@@@ : ; fast: = ResourceFSStarting
0000161C : 00000072 : r@@@ : ; fast: = SwitchingOutputToSprite
00001620 : 00000082 : ?@@@ : ; fast: = InvalidateCache
00001624 : 00000089 : ?@@@ : ; fast: = ModeChanging
00001628 : 00000094 : ?@@@ : ; fast: = ModeFileChanged
0000162C : 00000000 : @@@@ : ; fast: end of service table
00001630 : 000015F8 : øU@@ : ; fast: offset to table start
00001634 : E1A00000 : @@ á : ; fast: service table magic word
00001638 : E3310027 : '@1ã : TEQ R1,#&27 ; ="'"
> then the cursor keys could follow the -> like they do for BL and the
> other module header fields.
This is something I still need to look at but it seems easy enough.
Cheers,
Fred.
--
StrongED Developer
http://www.stronged.iconbar.com/