Open main menu

Kjdf

Joined 28 April 2009
201 bytes added ,  17:52, 22 June 2009
(New page: == Summer Of Code 2009 == === Decompiler schedule: === {| ! Deadline ! Description ! Status |- |5th June |read script from file, parse headers | done |- |7th June |declare enough bytecod...)
 
Line 1: Line 1:
== Summer Of Code 2009 ==
== Summer Of Code 2009 ==


=== Decompiler schedule: ===
=== Decompiler plan: ===


{|
{|
! Deadline
! Description
! Status
|-
|-
|5th June
!Due time
|read script from file, parse headers
!Estimated time to complete
| done
!Description
 
|-
|-
|7th June
|26.06
|declare enough bytecode Instruction <-> game bytestream relations to be able to construct internal representation of a simple script
|4 days
| done (script-1 and script-50 of samnmax-demo)
|structure 'while' expressions
 
|-
|-
|9th June
|1.07
|design a few general classes of Instructions, mostly:
|3 days
* kernel functions used for side effects
|structure 'if' expressions
* arithmetic expressions
 
* instructions managing data flow (push/dup etc), with a separate class for most
|in progress
|-
|-
|11th June
|Construct control flow graph
|
|
|unknown
|support for engine-specific callbacks/hacks/rewrites
|-
|4.07
|4 days
|analyze stack effects and compress expressions within basic blocks
|-
|10.07
|2 days
|support for named variables
|-
|-
|(later)
|extend the Instruction subclasses to describe input/output data types
|
|
|unknown
|analysis of inter-block stack effects (what exactly will be needed)
|-
|12.07
|2 days
|add sword1 and/or sword2 opcodes
|-
|18.07
|4 days
|add kyra 1 and 2 opcodes
|-
|22.07
|2 days
|refactor and finalize parser/reader infrastructure
|-
|24.07
|2 days
|extend stack effect analysis to registers
|-
|-
|(later)
|add support for all other bytecodes for Scumm v6, v7, v8
|
|
|unknown
|how to deal with opcodes that manipulate stack 'deeply' (not so bad if they behave 'sanely' and simply use separate stack space for local variable store)
|-
|25.07
|1 days
|add scumm v7 opcodes
|-
|30.07
|3 days
|add scumm v8 opcodes
|}
|}
6

edits