Announcement

Collapse
No announcement yet.

gtlcpimp's CodeDesigner

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • gtlcpimp's CodeDesigner

    For posterity (since CheatersLounge.net seems to be permanently down now), here's a copy of Code Designer, including some source (which may not be up-to-date). LMZ managed to find these, so thanks go out to him.

    I've also included a copy+paste of a post gtlcpimp made, which including source which is probably newer than the source I've attached (but which may be incomplete):

    Code:
    /*
      ==========================================================
     CheatersLounge CheatsEngine v1.3r03b Cheat Engine v2.1
     CodeDesigner v2.0 Source Copyright ©
     Created by Gtlcpimp
    
      ==========================================================
    */
    address $80078910
    //address $0107F010
    
    _init:
    addiu sp, sp, $FFF0
    sq ra, $0000(sp)
    jalr k0
    nop
    //call _debugGenerate
    call _start
    lq ra, $0000(sp)
    jr ra
    addiu sp, sp, $0010
    
    //==========================================================
    _start:
    addiu sp, sp, $FE00
    sq at, $0000(sp)
    sq v0, $0010(sp)
    sq v1, $0020(sp)
    sq a0, $0030(sp)
    sq a1, $0040(sp)
    sq a2, $0050(sp)
    sq a3, $0060(sp)
    sq t0, $0070(sp)
    sq t1, $0080(sp)
    sq t2, $0090(sp)
    sq t3, $00a0(sp)
    sq t4, $00b0(sp)
    sq t5, $00c0(sp)
    sq t6, $00d0(sp)
    sq t7, $00e0(sp)
    sq s0, $00f0(sp)
    sq s1, $0100(sp)
    sq s2, $0110(sp)
    sq s3, $0120(sp)
    sq s4, $0130(sp)
    sq s5, $0140(sp)
    sq s6, $0150(sp)
    sq s7, $0160(sp)
    sq t8, $0170(sp)
    sq t9, $0180(sp)
    sq k0, $0190(sp)
    sq k1, $01a0(sp)
    sq fp, $01b0(sp)
    sq gp, $01c0(sp)
    sq ra, $01d0(sp)
    
    lui v0, $8008
    lb v1, $8900(v0)
    bne v1, zero, 7
    nop
    addiu v1, zero, 1
    sb v1, $8900(v0)
    
    call _main
    
    lui v0, $8008
    sb zero, $8900(v0)
    
    
    lq at, $0000(sp)
    lq v0, $0010(sp)
    lq v1, $0020(sp)
    lq a0, $0030(sp)
    lq a1, $0040(sp)
    lq a2, $0050(sp)
    lq a3, $0060(sp)
    lq t0, $0070(sp)
    lq t1, $0080(sp)
    lq t2, $0090(sp)
    lq t3, $00a0(sp)
    lq t4, $00b0(sp)
    lq t5, $00c0(sp)
    lq t6, $00d0(sp)
    lq t7, $00e0(sp)
    lq s0, $00f0(sp)
    lq s1, $0100(sp)
    lq s2, $0110(sp)
    lq s3, $0120(sp)
    lq s4, $0130(sp)
    lq s5, $0140(sp)
    lq s6, $0150(sp)
    lq s7, $0160(sp)
    lq t8, $0170(sp)
    lq t9, $0180(sp)
    lq k0, $0190(sp)
    lq k1, $01a0(sp)
    lq fp, $01b0(sp)
    lq gp, $01c0(sp)
    lq ra, $01d0(sp)
    jr ra
    addiu sp, sp, $0200
    
    
    //==========================================================
    _main:
    
    addiu sp, sp, $FFF0
    sq ra, $0000(sp)
    
    //lui s0, $0108
    lui s0, $8008
    addiu s0, s0, $8250
    
    _mainLoop:
    
    
    lw a0, $0000(s0)
    bne a0, zero, 3
    nop
    goto _mainQuit
    
    
    /*
    Chunk Style
    
    00000000
    
    TTWWAAAA
    
    T: Type
       00 Normal Code
       01 Embeded Data -------------> Not Implemented Yet
       02 Embeded Routine ----------> Not Implemented Yet
    W: Write
       00 Normal Code Write
       01 Embeded Data Write -------> Not Implemented Yet
       02 Embeded Routine No Write -> Not Implemented Yet
    A: Address on stack
    
    */
    
    
    lh a0, $0000(s0)
    addiu a0, a0, -1
    
    sll a0, a0, 2
    
    //lui v0, $0103
    lui v0, $8003
    addu a0, v0, a0
    
    call _processChunk
    
    addiu s0, s0, 4
    goto _mainLoop
    nop
    
    _mainQuit:
    lq ra, $0000(sp)
    jr ra
    addiu sp, sp, $0010
    
    
    //==========================================================
    _processChunk:
    
    addiu sp, sp, $FFE0
    sq ra, $0000(sp)
    sq s0, $0010(sp)
    
    addu s0, a0, zero
    
    _processChunkLoop:
    
    lw v0, $0000(s0)
    bne v0, zero, 3
    nop
    goto _processChunkQuit
    
    daddu a2, s0, zero
    srl a0, v0, 28
    srl a1, v0, 24
    call _writeCode
    
    
    addiu a0, zero, -1
    bne a0, v0, 3
    nop
    goto _processChunkQuit
    
    addu s0, s0, v0
    goto _processChunkLoop
    
    
    
    _processChunkQuit:
    lq s0, $0010(sp)
    lq ra, $0000(sp)
    jr ra
    addiu sp, sp, $0020
    
    
    //==========================================================
    _handleBoolean:
    
    // a0 = List Pointer
    
    addiu sp, sp, $FFF0
    sq ra, $0000(sp)
    
    lw v1, $0000(a0)
    
    srl a1, v1, 28
    
    addiu v1, zero, $0007
    bne a1, v1, 3
    nop
    goto _hb_7
    
    addiu v1, zero, $000D
    bne a1, v1, 3
    nop
    goto _hb_D
    
    addiu v1, zero, $000E
    bne a1, v1, 3
    nop
    goto _hb_E
    
    lb v1, $0003(a0)
    addiu v1, zero, $00FD
    bne v0, v1, 3
    nop
    goto _hb_FD
    
    
    addiu v0, zero, -1
    goto _handleBooleanQuit
    
    // ---------------------------
    _hb_7:
    
    lw v0, $0000(a0)
    sll v1, v1, 28
    subu v0, v0, v1
    
    lw a1, $0000(v0)
    lw v1, $0004(a0)
    bne a1, v1, 4
    nop
    addiu v0, zero, 8
    goto _handleBooleanQuit
    
    addiu v0, zero, -1
    goto _handleBooleanQuit
    
    // ---------------------------
    _hb_D:
    
    lw v0, $0000(a0)
    sll v1, a1, 28
    subu v0, v0, v1
    lh a1, $0000(v0)
    
    lb v1, $0006(a0)
    beq v1, zero, 10
    nop
    lh v1, $0004(a0)
    beq a1, v1, 4
    nop
    addiu v0, zero, 8
    goto _handleBooleanQuit
    addiu v0, zero, -1
    goto _handleBooleanQuit
    
    lh v1, $0004(a0)
    bne a1, v1, 4
    nop
    addiu v0, zero, 8
    goto _handleBooleanQuit
    addiu v0, zero, -1
    goto _handleBooleanQuit
    
    // ---------------------------
    _hb_E:
    
    lw v0, $0000(a0)
    lh t0, $0004(a0)
    sll v1, a1, 28
    subu v0, v0, v1
    lh t2, $0006(a0)
    srl t1, t2, 4
    sll t1, t1, 4
    subu t2, t2, t1
    srl t1, t1, 8
    sll t1, t1, 3
    addiu t1, t1, 8
    
    lh t3, $0000(v0)
    
    beq t2, zero, 4
    nop
    addiu t4, zero, 1
    beq t2, t4, 9
    nop
    
    bne t3, t0, 4
    nop
    addiu v0, zero, 8
    goto _handleBooleanQuit
    addu v0, t1, zero
    goto _handleBooleanQuit
    
    beq t3, t0, 4
    nop
    addiu v0, zero, 8
    goto _handleBooleanQuit
    addu v0, t1, zero
    goto _handleBooleanQuit
    
    // ---------------------------
    _hb_FD:
    
    
    
    addiu v0, zero, -1
    goto _handleBooleanQuit
    
    
    _handleBooleanQuit:
    lq ra, $0000(sp)
    jr ra
    addiu sp, sp, $0010
    
    
    
    
    //==========================================================
    _writeCode:
    
    
    addiu sp, sp, $FFF0
    sq ra, $0000(sp)
    
    
    // a0 = 8 Bit command (0xD)
    // a1 = 16 Bit command (0xFD)
    // a2 = List Pointer
    // v0 = Size return
    
    addu v0, zero, zero
    
    
    // ---------------------------
    addiu v1, zero, $0000
    bne v1, a0, 3
    nop
    goto _cw_8
    
    // ---------------------------
    addiu v1, zero, $0001
    bne v1, a0, 3
    nop
    goto _cw_16
    
    // ---------------------------
    addiu v1, zero, $0002
    bne v1, a0, 3
    nop
    goto _cw_32
    
    // ---------------------------
    addiu v1, zero, $0003
    bne v1, a0, 3
    nop
    goto _cw_inc_dec
    
    // ---------------------------
    addiu v1, zero, $0004
    bne v1, a0, 3
    nop
    goto _cw_maw_32
    
    // ---------------------------
    addiu v1, zero, $0005
    bne v1, a0, 3
    nop
    goto _cw_copy
    
    // ---------------------------
    addiu v1, zero, $0006
    bne v1, a0, 3
    nop
    goto _cw_pointer
    
    // ---------------------------
    addiu v1, zero, $0007
    bne v1, a0, 6
    nop
    addu a0, a2, zero
    call _handleBoolean
    goto _cw_exit
    
    // ---------------------------
    addiu v1, zero, $0008
    bne v1, a0, 3
    nop
    goto _cw_replace
    
    // ---------------------------
    addiu v1, zero, $0009
    bne v1, a0, 14
    nop
    lw a1, $0000(a2)
    srl a0, a1, 28
    sll a0, a0, 28
    subu a1, a1, a0
    lw v1, $0000(a1)
    lw a0, $0004(a2)
    beq v1, zero, 3
    nop
    call _execRoutine
    addiu v0, zero, 8
    goto _cw_exit
    
    // ---------------------------
    addiu v1, zero, $000A
    bne v1, a0, 3
    nop
    goto _cw_A
    
    // ---------------------------
    addiu v1, zero, $000B
    bne v1, a0, 3
    nop
    goto _cw_delay
    
    // ---------------------------
    addiu v1, zero, $000C
    bne v1, a0, 3
    nop
    goto _cw_stopper
    
    // ---------------------------
    addiu v1, zero, $000D
    bne v1, a0, 6
    nop
    daddu a0, a2, zero
    call _handleBoolean
    goto _cw_exit
    
    // ---------------------------
    addiu v1, zero, $000E
    bne v1, a0, 6
    nop
    daddu a0, a2, zero
    call _handleBoolean
    goto _cw_exit
    
    // ---------------------------
    addiu v1, zero, $000F
    bne v1, a0, 3
    nop
    goto _cw_extended
    
    
    addiu v0, zero, -1
    goto _cw_exit
    
    _cw_extended:
    
    // ---------------------------
    addiu v1, zero, $00F0
    bne v1, a1, 3
    nop
    goto _cw_iop_8
    
    // ---------------------------
    addiu v1, zero, $00F1
    bne v1, a1, 3
    nop
    goto _cw_iop_16
    
    // ---------------------------
    addiu v1, zero, $00F2
    bne v1, a1, 3
    nop
    goto _cw_iop_32
    
    
    addiu v0, zero, -1
    goto _cw_exit
    
    // ---------------------------
    _cw_8:
    lw t0, $0000(a2)
    lb t1, $0004(a2)
    lui v0, $2000
    addu t0, t0, v0
    sb t1, $0000(t0)
    addiu v0, zero, 8
    goto _cw_exit
    
    // ---------------------------
    _cw_16:
    sll t2, a0, 28
    lw t0, $0000(a2)
    subu t0, t0, t2
    lh t1, $0004(a2)
    lui v0, $2000
    addu t0, t0, v0
    sh t1, $0000(t0)
    addiu v0, zero, 8
    goto _cw_exit
    
    // ---------------------------
    _cw_32:
    sll t2, a0, 28
    lw t0, $0000(a2)
    subu t0, t0, t2
    lw t1, $0004(a2)
    lui v0, $2000
    addu t0, t0, v0
    sw t1, $0000(t0)
    addiu v0, zero, 8
    goto _cw_exit
    
    // ---------------------------
    _cw_inc_dec:
    
    lw t0, $0004(a2)
    lb t1, $0002(a2)
    
    bne t1, zero, 3
    nop
    goto _cw_inc_dec_0
    
    addiu v1, zero, $0010
    bne t1, v1, 3
    nop
    goto _cw_inc_dec_1
    
    addiu v1, zero, $0020
    bne t1, v1, 3
    nop
    goto _cw_inc_dec_2
    
    addiu v1, zero, $0030
    bne t1, v1, 3
    nop
    goto _cw_inc_dec_3
    
    addiu v1, zero, $0040
    bne t1, v1, 3
    nop
    goto _cw_inc_dec_4
    
    addiu v1, zero, $0050
    bne t1, v1, 3
    nop
    goto _cw_inc_dec_5
    
    addiu v0, zero, -1
    goto _cw_exit
    
    // -------------------
    _cw_inc_dec_0:
    
    lb t1, $0000(t0)
    lb t2, $0000(a2)
    addu t1, t1, t2
    sb t1, $0000(t0)
    
    addiu v0, zero, 8
    goto _cw_exit
    
    // -------------------
    _cw_inc_dec_1:
    
    lb t1, $0000(t0)
    lb t2, $0000(a2)
    subu t1, t1, t2
    sb t1, $0000(t0)
    
    addiu v0, zero, 8
    goto _cw_exit
    
    // -------------------
    _cw_inc_dec_2:
    
    lh t1, $0000(t0)
    lh t2, $0000(a2)
    addu t1, t1, t2
    sh t1, $0000(t0)
    
    addiu v0, zero, 8
    goto _cw_exit
    
    // -------------------
    _cw_inc_dec_3:
    
    lh t1, $0000(t0)
    lh t2, $0000(a2)
    subu t1, t1, t2
    sh t1, $0000(t0)
    
    addiu v0, zero, 8
    goto _cw_exit
    
    // -------------------
    _cw_inc_dec_4:
    
    lw t1, $0000(t0)
    lw t2, $0008(a2)
    addu t1, t1, t2
    sw t1, $0000(t0)
    
    addiu v0, zero, 16
    goto _cw_exit
    
    // -------------------
    _cw_inc_dec_5:
    
    lw t1, $0000(t0)
    lw t2, $0008(a2)
    subu t1, t1, t2
    sw t1, $0000(t0)
    
    addiu v0, zero, 16
    goto _cw_exit
    
    // ---------------------------
    _cw_maw_32:
    
    lw t0, $0000(a2)
    sll t2, a0, 28
    subu t0, t0, t2
    lh t1, $0004(a2)
    lh t2, $0006(a2)
    lw t3, $0008(a2)
    lw t4, $000C(a2)
    
    sll t1, t1, 2
    
    _cw_maw_32_loop:
    
    bne t2, zero, 3
    nop
    goto _cw_maw_32_exit
    
    sw t3, $0000(t0)
    
    addu t3, t3, t4
    addiu t0, t0, 4
    addu t0, t0, t1
    addiu t2, t2, -1
    goto _cw_maw_32_loop
    
    _cw_maw_32_exit:
    addiu v0, zero, 16
    goto _cw_exit
    
    // ---------------------------
    _cw_copy:
    
    lw t0, $0000(a2)
    sll t1, a0, 28
    subu t0, t0, t1
    lw t1, $0008(a2)
    lw t2, $0004(a2)
    
    _cw_copy_loop:
    bne t2, zero, 3
    nop
    goto _cw_copy_exit
    
    
    lb t3, $0000(t0)
    sb t3, $0000(t1)
    
    addiu t0, t0, 1
    addiu t1, t1, 1
    addiu t2, t2, -1
    goto _cw_copy_loop
    
    _cw_copy_exit:
    addiu v0, zero, 16
    goto _cw_exit
    
    // ---------------------------
    _cw_pointer:
    addu v0, zero, zero
    addu v1, a2, zero
    addu t8, zero, zero
    
    lw t0, $0000(a2)
    sll t1, a0, 28
    subu t0, t0, t1
    lw t1, $0004(a2)
    
    lw t0, $0000(t0)
    
    addiu v0, v0, 8
    addiu v1, v1, 8
    
    _cw_pointer_loop:
    
    addiu t5, zero, -1
    bne t1, t5, 3
    nop
    goto _cw_pointer_exit
    
    lb t3, $0003(v1)
    
    addiu t4, zero, $0006
    bne t3, t4, 3
    nop
    goto _cw_pointer_point
    
    addiu t4, zero, $0001
    bne t3, t4, 3
    nop
    goto _cw_pointer_write_0
    
    addiu t4, zero, $0002
    bne t3, t4, 3
    nop
    goto _cw_pointer_write_1
    
    addiu t4, zero, $0003
    bne t3, t4, 3
    nop
    goto _cw_pointer_write_2
    
    addiu v0, zero, -1
    goto _cw_pointer_exit
    
    // -------------------
    _cw_pointer_point:
    
    lh t4, $0000(v1)
    sll t4, t4, 2
    addu t0, t0, t4
    lw t0, $0000(t0)
    
    goto _cw_pointer_skip
    
    // -------------------
    _cw_pointer_write_0:
    
    lh t4, $0000(v1)
    addu t0, t0, t4
    lb t2, $0004(v1)
    sb t2, $0000(t0)
    
    goto _cw_pointer_skip
    
    // -------------------
    _cw_pointer_write_1:
    
    lh t4, $0000(v1)
    sll t4, t4, 1
    addu t0, t0, t4
    lh t2, $0004(v1)
    sh t2, $0000(t0)
    
    
    goto _cw_pointer_skip
    
    // -------------------
    _cw_pointer_write_2:
    
    lh t4, $0000(v1)
    sll t4, t4, 2
    addu t0, t0, t4
    lw t2, $0004(v1)
    sw t2, $0000(t0)
    
    goto _cw_pointer_skip
    
    
    _cw_pointer_skip:
    
    addiu t5, zero, 1
    subu t8, t5, t8
    
    addiu v0, v0, 4
    addiu v1, v1, 4
    addiu t1, t1, -1
    goto _cw_pointer_loop
    
    
    _cw_pointer_exit:
    bne t8, zero, 2
    nop
    addiu v0, v0, 4
    addiu v0, v0, 4
    goto _cw_exit
    
    // ---------------------------
    _cw_replace:
    
    lw t0, $0000(a2)
    sll t1, a0, 28
    subu t0, t0, t1
    lh t3, $000C(a2)
    lb t4, $000E(a2)
    
    bne t4, zero, 3
    nop
    goto _cw_replace_0
    
    addiu t1, zero, $0010
    bne t4, t1, 3
    nop
    goto _cw_replace_1
    
    addiu t1, zero, $0020
    bne t4, t1, 3
    nop
    goto _cw_replace_2
    
    addiu v0, zero, -1
    goto _cw_exit
    
    // -------------------
    _cw_replace_0:
    lb t1, $0004(a2)
    lb t2, $0008(a2)
    
    _cw_replace_0_loop:
    
    bne t3, zero, 3
    nop
    goto _cw_replace_exit
    
    lb v1, $0000(t0)
    bne t1, v1, 2
    nop
    sb t2, $0000(t0)
    
    addiu t0, t0, 1
    addiu t3, t3, -1
    goto _cw_replace_0_loop
    
    // -------------------
    _cw_replace_1:
    lh t1, $0004(a2)
    lh t2, $0008(a2)
    sll t3, t3, 1
    
    _cw_replace_1_loop:
    
    bne t3, zero, 3
    nop
    goto _cw_replace_exit
    
    lh v1, $0000(t0)
    bne t1, v1, 2
    nop
    sh t2, $0000(t0)
    
    addiu t0, t0, 2
    addiu t3, t3, -2
    goto _cw_replace_1_loop
    
    // -------------------
    _cw_replace_2:
    lw t1, $0004(a2)
    lw t2, $0008(a2)
    sll t3, t3, 2
    
    _cw_replace_2_loop:
    
    bne t3, zero, 3
    nop
    goto _cw_replace_exit
    
    lw v1, $0000(t0)
    bne t1, v1, 2
    nop
    sw t2, $0000(t0)
    
    addiu t0, t0, 4
    addiu t3, t3, -4
    goto _cw_replace_2_loop
    
    _cw_replace_exit:
    addiu v0, zero, 16
    goto _cw_exit
    
    // ---------------------------
    /* Used to be DNAS Patch
       command, but was removed
       since manual IOP writes
       were easier to use.
    */
    _cw_A:
    
    
    _cw_A_exit:
    
    lq ra, $0000(sp)
    jr ra
    addiu sp, sp, $0010
    
    
    // ---------------------------
    _cw_delay:
    addu v0, zero, zero
    goto _cw_exit
    
    // ---------------------------
    _cw_stopper:
    
    
    addu v0, zero, zero
    goto _cw_exit
    
    // ---------------------------
    _cw_iop_8:
    
    lw t0, $0000(a2)
    sll t1, a1, 24
    subu t0, t0, t1
    lui t1, $BC00
    addu t1, t1, t0
    
    lb t2, $0004(a2)
    sb t2, $0000(t1)
    
    addiu v0, zero, 8
    goto _cw_exit
    
    
    // ---------------------------
    _cw_iop_16:
    
    lw t0, $0000(a2)
    sll t1, a1, 24
    subu t0, t0, t1
    lui t1, $BC00
    addu t1, t1, t0
    
    lh t2, $0004(a2)
    sh t2, $0000(t1)
    
    addiu v0, zero, 8
    goto _cw_exit
    
    
    // ---------------------------
    _cw_iop_32:
    
    lw t0, $0000(a2)
    sll t1, a1, 24
    subu t0, t0, t1
    lui t1, $BC00
    addu t1, t1, t0
    
    lw t2, $0004(a2)
    sw t2, $0000(t1)
    
    addiu v0, zero, 8
    goto _cw_exit
    
    
    _cw_exit:
    lq ra, $0000(sp)
    jr ra
    addiu sp, sp, $0010
    
    //==========================================================
    _execRoutine:
    
    addiu sp, sp, $FE00
    sq at, $0000(sp)
    sq v0, $0010(sp)
    sq v1, $0020(sp)
    sq a0, $0030(sp)
    sq a1, $0040(sp)
    sq a2, $0050(sp)
    sq a3, $0060(sp)
    sq t0, $0070(sp)
    sq t1, $0080(sp)
    sq t2, $0090(sp)
    sq t3, $00a0(sp)
    sq t4, $00b0(sp)
    sq t5, $00c0(sp)
    sq t6, $00d0(sp)
    sq t7, $00e0(sp)
    sq s0, $00f0(sp)
    sq s1, $0100(sp)
    sq s2, $0110(sp)
    sq s3, $0120(sp)
    sq s4, $0130(sp)
    sq s5, $0140(sp)
    sq s6, $0150(sp)
    sq s7, $0160(sp)
    sq t8, $0170(sp)
    sq t9, $0180(sp)
    sq k0, $0190(sp)
    sq k1, $01a0(sp)
    sq fp, $01b0(sp)
    sq gp, $01c0(sp)
    sq ra, $01d0(sp)
    
    jalr a1
    nop
    
    lq at, $0000(sp)
    lq v0, $0010(sp)
    lq v1, $0020(sp)
    lq a0, $0030(sp)
    lq a1, $0040(sp)
    lq a2, $0050(sp)
    lq a3, $0060(sp)
    lq t0, $0070(sp)
    lq t1, $0080(sp)
    lq t2, $0090(sp)
    lq t3, $00a0(sp)
    lq t4, $00b0(sp)
    lq t5, $00c0(sp)
    lq t6, $00d0(sp)
    lq t7, $00e0(sp)
    lq s0, $00f0(sp)
    lq s1, $0100(sp)
    lq s2, $0110(sp)
    lq s3, $0120(sp)
    lq s4, $0130(sp)
    lq s5, $0140(sp)
    lq s6, $0150(sp)
    lq s7, $0160(sp)
    lq t8, $0170(sp)
    lq t9, $0180(sp)
    lq k0, $0190(sp)
    lq k1, $01a0(sp)
    lq fp, $01b0(sp)
    lq gp, $01c0(sp)
    lq ra, $01d0(sp)
    jr ra
    addiu sp, sp, $0200
    
    
    //==========================================================
    _debugGenerate:
    
    
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    Attached Files
    I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

  • #2
    Thanks Lazy Bastard and LMZ, that will be quite useful. I may be wrong, but I believe that when the site was up, Gtlcpimp said that some ActiveX control files were needed. But that may have been for the Code manager he made.

    Comment


    • #3
      Wow...

      The version you have is incompatible with his sources. So with the name of the app ("Code Designer 2.exe"), I googled it. One of the first results was a 4shared link. I looked at the site and decided to test it. Sure enough it is, to my knowledge, the most updated version. It also actually works with the compiling. So the link is to the 4shared site that hosts it.

      http://search.4shared.com/postDownlo...esigner_2.html

      Comment


      • #4
        Here's a link to the fully updated version that includes the source code. Keep in mind the source code is for Office XP by Microsoft. It also may be the outdated source code. Therefore should be for educational purposes and not to update the app.

        http://www.mediafire.com/?510vb6j6l5sax07
        Last edited by dnawrkshp; 07-21-2012, 11:55:44 PM.

        Comment


        • #5
          Attached in this post is the most recent version of Code Designer. It includes a (BETA) emulator with an updated assembler and disassembler (set in your options which one to use).

          Also the source you posted LazyBastard is the source to my cheat engine (v1.3) that operates a chunk styled system based on jokers. More efficient for handling enormous code lists (as long as the jokers are utilized properly). It was incomplete as all the desired features were not finished however is already implemented in one of my cheat devices. What it does support works flawlessly (except for the E joker I seem to have issues I haven't debugged from it yet).

          I let the site go, for I have been a bit too busy to keep it maintained. The website itself does not bring me revenue, so it turned out to be pointless for me to keep it active anyway.
          Attached Files

          Comment


          • #6
            Cool; thanks for the updated source, GTLC

            You should come around more often...
            I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

            Comment


            • #7
              Actually you can't joker the same address. That was my only issue with your cheat engine. If you joker the same address, the first one you entered works. The other seems to be ignored.

              Comment


              • #8
                The question is, did you recompile the engine and attempt to build a list manually (and blindly) or did you utilize it with the actual RemotePS2 cheat device? If you don't understand how to build the code list structure it will not work properly (assuming you recompiled the engine and attempted to use it stand-alone). Also you must have a strong understanding of Boolean statements and how they work (aka: jokers) in order to properly organize a list with them.
                Last edited by Gtlcpimp; 08-20-2012, 09:59:32 PM.

                Comment


                • #9
                  I am referring to the public cheat device, not CheatCentral. I used your manager to create binary codelists, then added it to the 'listindex.ini'. Did a simple switch on a string that would change the text back and forth between '1234' and '4321'. But only the '1234' worked. Something like this:

                  Code:
                  D0?????? 0000F3FF
                  ADDRESS 31323334
                  
                  D0?????? 0000FFF9
                  ADDRESS 34333231
                  I have not recompiled it since I only have the engine, and not whole source.

                  I do not understand why one should have an extensive understanding of jokers, if this is made for people that just want to hack a game. Most people that I know, wouldn't want to spend their time educating themselves on something that pertains to cheating on video games. I thought it should be user friendly and quick.

                  If you want me to write a subroutine that can joker an already jokered address, then that is over done. I appreciate the idea of allowing a large amount of codes to be loaded without horribly slowing down game execution. But if there is an specific way to do things, then that should be explained in a readme.

                  So no, I have not recompiled your cheat device, but I wouldn't mind having the source to do so. I built a list with your code manager and loaded the .bin for CheatsEngine Public. I did not use RemotePS2, and I don't understand this 'structure'. I use the same structure I would use for CodeMajic, PS2rd, and any retail cheat device (with proper conversions).
                  If you could point me to the PC side of RemotePS2, then that would be appreciated.

                  I would also like to say that I am not trying to start an argument. This is only my experience with your work back in September of 2011(I started with your stuff :P). Since no one really used your creations on Ratchet: Deadlocked online, I had to make assumptions on how to use it.
                  Last edited by dnawrkshp; 08-21-2012, 12:12:31 AM.

                  Comment


                  • #10
                    Ah, you are referring to the older engines not the 1.3 edition. When I said you need to have a strong understanding of the Boolean statements, it is still true for the average code user. You are incapable of "jokering" a code if you do not even know what a joker is, correct? That leaves you at the mercy of using a code list pre-compiled by another individual. The structure I referred to was about the actual code list stored on RAM by the 1.3 engine included in RemotePS2. If you recompile the engine and do not understand how to build the code list structure it utilizes you will never get it to work properly (better off just loading RemotePS2 or using the engine source for learning purposes).

                    By the speak of "listindex.ini" you are using the version 1.2 public device. This is relatively old and outdated, however shouldn't be giving you the issues you are experiencing. I have never come across this issue with the device, so without the complete code list you are using I cannot tell you what the problem is.

                    Also make sure you are pressing the right controller keys for your "jokers":

                    D0?????? 0000F3FF = L1 + R1
                    D0?????? 0000FFF9 = L3 + R3

                    If you are not making any mistake, then make sure both of the "joker addresses" are correct. Another thing to ensure is that the string you are changing on the screen is constantly being updated. If the string is not being updated at every little change on the screen it may appear that the code is not working when it really is.

                    A way to check if it is a problem with the string being updated, is to use a different code instead of the string code. For example, if you can change the run speed of your player to two times the speed and back. This is a quick way to find out if you are experiencing an issue with the string updating on the screen or not. It will also tell you if you are having an issue with the engine or not. However from the design of the engine you should not be having any issues with that what so ever.

                    Further information is required to debug your situation.

                    If you want to give RemotePS2 a try, check the attached files in this post.

                    With RemotePS2 you must set the network settings for the PS2 within CheatCentral. The .RAR includes RemotePS2 extracted as a stand-alone .ELF in case you do not wish to boot CheatCentral every time you want to use it. You must have it bridged or connected over a router, for it uses a PC -> PS2 connection to transfer the codes to the PS2. It operates with broadcasts to acquire the IP from the PS2, so you are not required to write down the IP you have assigned the PS2.
                    Attached Files

                    Comment


                    • #11
                      Yes I pressed the correct keys, those two are ones that I use often; so I wrote them off the top of my head. I first tried this on a rapid fire code, and only the first one worked. So it turned on, but never turned off.

                      Hmm... how long should this take? I am on the same network and I set the IP to an accurate IP. The netmask and the gateway work as well. Seems to be searching and searching, but not finding any gold. I have now tried the stand-alone elf, and that didn't work either...

                      I used the same configuration on my network based elf and it connected. If I am supposed to use the same router that my PS2 is connected to, then I would have to move downstairs. if that is the case, I will test this another time.

                      There is minimal need for understanding when you have applications like 'Joker It' to do things for you. The string is not being updated constantly, as the first code worked.

                      If by recompile you mean write my own app to store it into the memory, then look at the engine for where the codes are installed to. Then write some codes where they belong. No I have not done that. If you mean recompile by using your code designer, then yes I believe I have done that.
                      Last edited by dnawrkshp; 08-21-2012, 02:54:31 PM.

                      Comment


                      • #12
                        Originally posted by dnawrkshp View Post
                        I used the same configuration on my network based elf and it connected. If I am supposed to use the same router that my PS2 is connected to, then I would have to move downstairs. if that is the case, I will test this another time.
                        You are supposed to be on the same router as the PS2 yes, but if you can get it to work through multiple routers then great.

                        The issue you seem to be having with the jokers is interesting. However like I said I cannot debug your problem without all the required materials (I don't even own a copy of Ratchet and Clank). Would also like to see EXACTLY what you are using in your code list. If what you use works on other devices but not the 1.2 specifically then it helps to see what it is you are using. There could be an error in the making of the code list binary file. Give RemotePS2 a try, if you experience the same problem with RemotePS2 then I will try to look further into it.

                        Comment


                        • #13
                          I don't believe it is only for Ratchet, that wouldn't make much sense.

                          Yeah there we go, it found the PS2. Weird, seems to stop at Connecting to PS2 (PC), and Waiting For Connection (PS2). It timed out. Using the same router and the IP settings are entirely correct.

                          Personally, I like the idea of typing the IP address and connecting. If you don't like the idea that you have to keep writing in the IP address, why not save that last used IP address in a config file. That way when you boot up the PC app, your IP is there already.

                          The code is a combination of different subroutines that can move objects in the map around. There is one hook address and the hook is jokered multiple times for the different options (increase size, move up or down, ect.). So only one part of this works. The rest do not work. I was wrong about the order, the last one works. The earlier ones do not. This is for the 1.2 engine.

                          Comment


                          • #14
                            Originally posted by dnawrkshp View Post
                            Yeah there we go, it found the PS2. Weird, seems to stop at Connecting to PS2 (PC), and Waiting For Connection (PS2). It timed out. Using the same router and the IP settings are entirely correct.

                            Personally, I like the idea of typing the IP address and connecting. If you don't like the idea that you have to keep writing in the IP address, why not save that last used IP address in a config file. That way when you boot up the PC app, your IP is there already.
                            I didn't like the idea of having to write down the IP to be honest lol. The way rPS2 is set up does have bugs, I just haven't gone through to redo the broadcasting. Once you get your network arranged in the order that works for you, it tends to go flawless from there. Just a bit un-friendly getting it to work the first couple times for others. I never had issues since I always ran my PS2 bridged through my computer. I was planning on adding a manual insert ps2 IP into rPS2 manager, but as I said I haven't gotten around to that yet :/

                            Originally posted by dnawrkshp View Post
                            the last one works. The earlier ones do not
                            Ah yes this makes perfect sense to me now. If you would like to paste the "jokered" hooks I can explain why.
                            Last edited by Gtlcpimp; 08-21-2012, 09:18:06 PM.

                            Comment


                            • #15
                              Code made by Agent Moose. So no one associates this with me. I also changed the jokers so that they are E type. Originally made for Codemajic.

                              Code:
                              /* NOTES: Read The description above the code, it tells you how ot use it.
                                     Best weapon to shoot at object: Arbitor
                                     Best weapons to move objects withL Arbitor, B6, Magma Cannon or Fusion */
                              
                              
                              
                              /* Map Editor Beta (Shoot at Object, then Hold L3 to move): */
                              2009ffe4 3c08001f
                              2009ffe8 8508e682
                              2009ffec 2409feff
                              2009fff0 240a7fff
                              2009fff4 012a5825
                              2009fff8 110b0011
                              200a0000 3c080035
                              200a0004 3c090024
                              200a0008 8d294dc0
                              200a000c 11200010
                              200a0014 8d0a9520
                              200a0018 8d0b9524
                              200a001c 8d0c9528
                              200a0020 3c010001
                              200a0024 24210000
                              200a0028 0181c820
                              200a002c 132c0004
                              200a0034 ad2a0010
                              200a0038 ad2b0014
                              200a003c ad390018
                              200a0040 3c040012
                              200a0044 3c0503e0
                              200a0048 24a50008
                              200a004c ac85715c
                              200a0050 03e00008
                              D01EE682 0000fffd
                              2012715c 08027ff9
                              
                              /* Map Editor: Object Size (L1 + Up = Bigger/Down = Smaller) */
                              200af9e4 3c08001f
                              200af9e8 8508e682
                              200af9ec 2409feff
                              200af9f0 240a7fff
                              200af9f4 012a5825
                              200af9f8 110b000d
                              200afa00 3c080024
                              200afa04 8d094dc0
                              200afa08 11200009
                              200afa10 8d2a0070
                              200afa18 014b5820
                              200afa1c ad2b0070
                              200afa20 3c040012
                              200afa24 3c0503e0
                              200afa28 24a50008
                              200afa2c ac85715c
                              200afa30 03e00008
                              
                              //D01EE682 0000fbef
                              E002FBEF 001EE682
                              200afa14 3c0b0008
                              2012715c 0802be80
                              
                              //D01EE682 0000fbbf
                              E002FBBF 001EE682
                              200afa14 3c0bfff8
                              2012715c 0802be80
                              
                              /* Map Editor: Object Height (R2 + Up = Higher/Down = Lower) */
                              200af7e4 3c08001f
                              200af7e8 8508e682
                              200af7ec 2409feff
                              200af7f0 240a7fff
                              200af7f4 012a5825
                              200af7f8 110b000d
                              200af800 3c080024
                              200af804 8d094dc0
                              200af808 11200009
                              200af810 8d2a0018
                              200af818 014b5820
                              200af81c ad2b0018
                              200af820 3c040012
                              200af824 3c0503e0
                              200af828 24a50008
                              200af82c ac85715c
                              200af830 03e00008
                              
                              //D01EE682 0000fdef
                              E002FDEF 001EE682
                              200af814 240b5000
                              2012715c 0802bdf9
                              
                              //D01EE682 0000fdbf
                              E002FDBF 001EE682
                              200af814 240bb000
                              2012715c 0802bdf9
                              I wrote my own bin converter (for my engine) that supports the use of comments.
                              Last edited by dnawrkshp; 08-21-2012, 10:03:09 PM.

                              Comment

                              Working...
                              X