[Top][All Lists]

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

Re: [Gnash-dev] AVM2/AS3 status, SWF10 movies, etc

From: John Gilmore
Subject: Re: [Gnash-dev] AVM2/AS3 status, SWF10 movies, etc
Date: Mon, 26 Oct 2009 16:53:42 -0800

> I also don't know of a free decompiler for AVM2, and without that
> getting any SWF to work is hit-and-miss.

A quick search found this blog posting:

It contains both an assembler and a disassembler.  It's written in
some sort of Scheme (PLT Scheme).  It's claimed to support about half
the opcodes so far.  The syntax he uses is unique and Scheme-oriented.

There's also this guy who's writing J2AVM, a Java to AVM2 translator from
compiled Java bytecode to AVM2 bytecode:

That goes the wrong direction for us, and is yet another bizarro
language to add to the mix, but he may have some tools for poking at
AVM2 too.

> ... it required a lot of work to rewrite code that relied on the
> design problem of MovieClips being a subclass of as_object. Most of
> this is done, and I have started, though not for the first time, on
> finally separating DisplayObject typing from normal objects.

I still don't understand the "big picture" here.

Flash 10 seems to contain AS3 (ActionScript 3) which is implemented by
AVM2.  The implementation includes:

  * a bytecode interpreter
  * memory management, initialization, etc.
  * a builtin class library
  * graphical back-ends for painting, audio, video, input, etc
  * (anything else important?)

Benjamin, you seem to be reworking the builtin class library (because
it isn't sufficiently flexible to be able to do many things that seem
common in AS3?); is that true?

Are the other pieces all in good shape?

So can our gnash initialization start running an AS3 "ABC file"?  Is
that what Youtube is offering from its web site, e.g. from:

"file" calls it "Macromedia Flash data (compressed), version 10",
not an "ABC file" (which is what the AVM2 spec calls its input file).

I'm sure that all this info exists in somebody's head.  If it's
written down anywhere, please just point me at that place.

When I try the --dump command on the above Youtube player, it
creates an empty output file and then halts inscrutably with "car:
expects argument of type <pair>; given CWS".  It might be simpler to
write our own dumper than to debug someone else's half-finished one in
an odd language and programming environment.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]