News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: sonic 2 rom hacking  (Read 2597 times)

lavagaming1

  • Newbie
  • *
  • Posts: 4
    • View Profile
sonic 2 rom hacking
« on: July 02, 2020, 02:20:27 pm »
hello im lavagaming am hacking sonic 2 im making a hack called the real sonic 2 but having problems i have ported green hill zone to sonic 2 but the buzz bomper dosent shoot a misstle and crabmeat crashes the game heres the code for them thank you a lot
 
; ===========================================================================
; ----------------------------------------------------------------------------
; Object 22 - the buzz bomper
; ----------------------------------------------------------------------------
; Sprite_25694:
Obj22:               ; DATA XREF: ROM:Obj_Indexo
      moveq   #0,d0
      move.b   $24(a0),d0
      move.w   off_A416(pc,d0.w),d1
      jmp   off_A416(pc,d1.w)
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
off_A416:   dc.w loc_A41C-off_A416   ; DATA XREF: ROM:off_A416o
               ; ROM:0000A418o ...
      dc.w loc_A44A-off_A416
      dc.w loc_A55A-off_A416
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A41C:            ; DATA XREF: ROM:off_A416o
      addq.b   #2,$24(a0)
      move.l   #Map_Obj22,4(a0)
      move.w   #$3AD,2(a0)
      move.b   #4,1(a0)
      move.b   #3,$18(a0)
      move.b   #8,$20(a0)
      move.b   #$18,$19(a0)

loc_A44A:            ; DATA XREF: ROM:0000A418o
      moveq   #0,d0
      move.b   $25(a0),d0
      move.w   off_A466(pc,d0.w),d1
      jsr   off_A466(pc,d1.w)
      lea   (Ani_Obj22).l,a1
      jsr   AnimateSprite
      jmp   MarkObjGone
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
off_A466:   dc.w loc_A46A-off_A466   ; DATA XREF: ROM:off_A466o
               ; ROM:0000A468o
      dc.w loc_A500-off_A466
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A46A:            ; DATA XREF: ROM:off_A466o
      subq.w   #1,$32(a0)
      bpl.s   locret_A49A
      btst   #1,$34(a0)
      bne.s   loc_A49C
      addq.b   #2,routine_secondary(a0)
      move.w   #127,$32(a0)   ; set time delay to just over 2   seconds
      move.w   #$400,x_vel(a0)   ; move Buzz Bomber to the right
      move.b   #1,anim(a0)   ; use "flying" animation
      btst   #0,status(a0)   ; is Buzz Bomber facing   left?
      bne.s   locret_A49A
                neg.w   x_vel(a0)      ; move Buzz Bomber to the left

locret_A49A:            ; CODE XREF: ROM:0000A46Ej
               ; ROM:0000A494j
      rts
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A49C:            ; CODE XREF: ROM:0000A476j
      jsr   SingleObjectLoad
      bne.s   locret_A4FE
      _move.b   #$23,0(a1)   ; load missile obje
            move.w   x_pos(a0),x_pos(a1)
      move.w   y_pos(a0),y_pos(a1)
      addi.w   #$1C,y_pos(a1)
      move.w   #$200,y_vel(a1)   ; move missile downwards
      move.w   #$200,x_vel(a1)   ; move missile to the right
      move.w   #$18,d0
      btst   #0,status(a0)   ; is Buzz Bomber facing   left?
      bne.s   loc_A4D8
      neg.w   d0
      neg.w   $10(a1)

loc_A4D8:            ; CODE XREF: ROM:0000A4D0j
      add.w   d0,x_pos(a1)
      move.b   status(a0),status(a1)
      move.w   #$E,$32(a1)
      move.l   a0,$3C(a1)
      move.b   #1,$34(a0)   ; set to "already fired" to pralign 2t refiring
      move.w   #$3B,$32(a0)
      move.b   #2,anim(a0)   ; use "firing" animation

locret_A4FE:            ; CODE XREF: ROM:0000A4A0j
      rts
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A500:            ; DATA XREF: ROM:0000A468o
      subq.w   #1,$32(a0)   ; subtract 1 from time delay
      bmi.s   loc_A536
      jsr   ObjectMove
      tst.b   $34(a0)
      bne.s   locret_A558
      move.w   (Object_RAM+x_pos).w,d0
      sub.w   x_pos(a0),d0
      bpl.s   loc_A51C
      neg.w   d0

loc_A51C:            ; CODE XREF: ROM:0000A518j
      cmpi.w   #$60,d0   ; '`'
      bcc.s   locret_A558
      tst.b   1(a0)
      bpl.s   locret_A558
      move.b   #2,$34(a0)
      move.w   #$1D,$32(a0)
      bra.s   loc_A548
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A536:            ; CODE XREF: ROM:0000A504j
      move.b   #0,$34(a0)
      bchg   #0,$22(a0)
      move.w   #$3B,$32(a0) ; ';'

loc_A548:            ; CODE XREF: ROM:0000A534j
      subq.b   #2,$25(a0)
      move.w   #0,$10(a0)
      move.b   #0,$1C(a0)

locret_A558:            ; CODE XREF: ROM:0000A50Ej
               ; ROM:0000A520j ...
      rts
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A55A:            ; DATA XREF: ROM:0000A41Ao
      jmp   DeleteObject
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
  rts



; ===========================================================================
; ----------------------------------------------------------------------------
; Object 23 - buzz bomper shots
; ----------------------------------------------------------------------------
; Sprite_2588C:
Obj23:               ; DATA XREF: ROM:Obj_Indexo
      moveq   #0,d0
      move.b   $24(a0),d0
      move.w   off_A56C(pc,d0.w),d1
      jmp   off_A56C(pc,d1.w)
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
off_A56C:   dc.w loc_A576-off_A56C   ; DATA XREF: ROM:off_A56Co
               ; ROM:0000A56Eo ...
      dc.w loc_A5C4-off_A56C
      dc.w loc_A5EC-off_A56C
      dc.w loc_A630-off_A56C
      dc.w loc_A634-off_A56C
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A576:            ; DATA XREF: ROM:off_A56Co
      subq.w   #1,$32(a0)
      bpl.s   loc_A5DE
      addq.b   #2,$24(a0)
      move.l   #Map_Obj23,4(a0)
      move.w   #$23AD,art_tile(a0)
      move.b   #4,1(a0)
      move.b   #3,$18(a0)
      move.b   #8,$19(a0)
      andi.b   #3,$22(a0)
      tst.b   $28(a0)
      beq.s   loc_A5C4
      move.b   #8,$24(a0)
      move.b   #$87,$20(a0)
      move.b   #1,$1C(a0)
      jsr   loc_A63E
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A5C4:            ; CODE XREF: ROM:0000A5AEj
               ; DATA XREF: ROM:0000A56Eo
      movea.l   $3C(a0),a1
      cmpi.b   #$27,0(a1) ; '''
      beq.s   loc_A630
      lea   (Ani_Obj33).l,a1
      jsr   AnimateSprite
      jmp   DisplaySprite
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A5DE:            ; CODE XREF: ROM:0000A57Aj
      movea.l   $3C(a0),a1
      cmpi.b   #$27,0(a1) ; '''
      beq.s   loc_A630
      rts
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A5EC:            ; DATA XREF: ROM:0000A570o
      btst   #7,$22(a0)
      bne.s   loc_A620
      move.b   #$87,$20(a0)
      move.b   #1,$1C(a0)
      jsr   ObjectMove
      lea   (Ani_Obj33).l,a1
      jsr   AnimateSprite
      move.w   ($FFFFEECE).w,d0
      addi.w   #$E0,d0   ; 'à'
      cmp.w   $C(a0),d0
      bcs.s   loc_A630
      jsr   DisplaySprite
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A620:            ; CODE XREF: ROM:0000A5F2j
      move.b   #$8A,0(a0)
      move.b   #0,routine(a0)
      jmp   Obj8A
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A630:            ; CODE XREF: ROM:0000A5CEj
               ; ROM:0000A5E8j ...
      jmp   DeleteObject
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_A634:            ; DATA XREF: ROM:0000A574o
      tst.b   1(a0)
      bpl.s   loc_A630
      jsr   ObjectMove

loc_A63E:            ; CODE XREF: ROM:0000A5C2j
      lea   (Ani_Obj33).l,a1
      jsr   AnimateSprite
      jmp   DisplaySprite
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
and this is the crabmeat
 :angel:
; ----------------------------------------------------------------------------
; Object 46 - crabmeat
; ----------------------------------------------------------------------------
; Sprite_24A16:
;Obj46:
               ; DATA XREF: ROM:Obj_Indexo
;      moveq   #0,d0
;      move.b   $24(a0),d0
;      move.w   Obj46_Index(pc,d0.w),d1
;      jmp   Obj46_Index(pc,d1.w)
;================================================================================
Unknow_Obj00A8F0: ; loc_A8F0:
      moveq   #0,d0
      move.b  $24(a0), d0
      move.w  loc_A8FE(pc,d0),d1
      jmp     loc_A8FE(PC,d1)
;================================================================================
loc_A8FE:
    dc.w    loc_A908-loc_A8FE
    dc.w    loc_A960-loc_A8FE
    dc.w    loc_AABC-loc_A8FE
    dc.w    loc_AAC0-loc_A8FE
    dc.w    loc_AAFA-loc_A8FE
;================================================================================
loc_A908:
    move.b  #$10, y_radius(A0)
    move.b  #8, x_radius(a0)
    move.l  #SME_EbsWN, mappings(A0) ; loc_AB4C
    move.w  #$500, $2(A0)
    jsr     Adjust2PArtPointer     ; loc_DC30
    move.b  #4, $1(A0)
    move.b  #3, priority(A0)
    move.b  #6, collision_flags(A0)
    move.b  #$15, width_pixels(A0)
    jsr     ObjectMoveAndFall         ; loc_D24E
    jsr     ObjCheckFloorDist         ; (loc_13898)
    tst.w   d1
    bpl.s   loc_A95E
    add.w   d1, y_pos(A0)
    move.b  d3, angle(A0)
    move.w  #$0, y_vel(A0);was #@00
    addq.b  #2, routine(A0)
;=================================================================================
loc_A95E:
    rts
;=================================================================================
loc_A960:
    moveq   #0, d0
    move.b  routine_secondary(A0), d0
    move.w  loc_A97C(pc, d0), d1
    jsr     loc_A97C(pc, d1)
    lea     (loc_AB1C).l,a1
    jsr     AnimateSprite       ; loc_D412
    jmp     MarkObjGone         ; loc_D2A0
;=================================================================================
loc_A97C:
    dc.w    loc_A980-loc_A97C
    dc.w    loc_AA1E-loc_A97C
;=================================================================================
loc_A980:
    subq.w  #1, $30(A0)
    bpl.s   loc_A9BA
    tst.b   $1(A0)
    bpl.s   loc_A994
    bchg    #1, $32(A0)
    bne.s   loc_A9BC
;=================================================================================
loc_A994:
    addq.b  #2, routine_secondary(A0)
    move.w  #$7F, $30(A0)
    move.w  #$80, x_vel(A0)
    bsr.w     loc_AA8C
    addq.b  #3, d0
    move.b  d0, anim(A0)
    bchg    #0, status(A0)
    bne.s   loc_A9BA
    neg.w   x_vel(A0)
;=================================================================================
loc_A9BA:
    rts
;=================================================================================
loc_A9BC:
    move.w  #$3B, $30(A0)
    move.b  #6, anim(A0)
    jsr    SingleObjectLoad    ; loc_E772
    bne.s   loc_A9F2
    move.b  #$1F, $0(a1);was $0000
    move.b  #6, routine(a1)
    move.w  x_pos(A0), x_pos(a1)
    subi.w  #$10, x_pos(a1)
    move.w  y_pos(A0), y_pos(a1)
    move.w  #$FF00, x_vel(a1)
;================================================================================
loc_A9F2:
    jsr     SingleObjectLoad    ; loc_E772
    bne.s   loc_AA1C
    move.b  #$1F, $0(a1);same 0000
    move.b  #6, routine(a1)
    move.w  x_pos(A0), x_pos(a1)
    addi.w  #$10, x_pos(a1)
    move.w  y_pos(A0), y_pos(a1)
    move.w  #$100, x_vel(a1)
;================================================================================
loc_AA1C:
    rts
;================================================================================
loc_AA1E:
    subq.w  #1, $30(A0)
    bmi.s   loc_AA72
    jsr     ObjectMove          ; loc_D27A
    bchg    #0, $32(A0)
    bne.s   loc_AA58
    move.w  x_pos(A0), d3
    addi.w  #$10, d3
    btst    #0, status(A0)
    beq.s   loc_AA44
    subi.w  #$20, d3
;=================================================================================
loc_AA44:
    jsr     ObjHitFloor2        ; (loc_1389C)
    cmpi.w  #$FFF8, d1
    blt.s   loc_AA72
    cmpi.w  #$C, d1
    bge.s   loc_AA72
    rts
;=================================================================================
loc_AA58:
    jsr     ObjCheckFloorDist        ; (loc_13898)
    add.w   d1, y_pos(A0)
    move.b  d3, angle(A0)
    bsr.w     loc_AA8C
    addq.b  #3, d0
    move.b  d0, anim(A0)
    rts
;=================================================================================
loc_AA72:
    subq.b  #2, routine_secondary(A0)
    move.w  #$3B, $30(A0)
    move.w  #$0, x_vel(A0)  ;was 00
    bsr.w     loc_AA8C
    move.b  d0, anim(A0)
    rts
;=================================================================================
loc_AA8C:
    moveq   #0, d0
    move.b  angle(A0), d3
    bmi.s   loc_AAA8
    cmpi.b  #6, d3
    bcs.s   loc_AAA6
    moveq   #1, d0
    btst    #0, status(A0)
    bne.s   loc_AAA6
    moveq   #2, d0
;=================================================================================
loc_AAA6:
    rts
;=================================================================================
loc_AAA8:
    cmpi.b  #$FA, d3
    bhi.s   loc_AABA
    moveq   #2, d0
    btst    #0, status(A0)
    bne.s   loc_AABA
    moveq   #1, d0
;=================================================================================
loc_AABA:
    rts
;=================================================================================
loc_AABC:
    jmp     DeleteObject        ; loc_D3B4
;=================================================================================
loc_AAC0:
    addq.b  #2, routine(A0)
    move.l  #SME_EbsWN, mappings(A0) ; loc_AB4C
    move.w  #$400, $2(A0)
    jsr     Adjust2PArtPointer     ; loc_DC30
    move.b  #4, $1(A0)
    move.b  #3, priority(A0)
    move.b  #$87, collision_flags(A0)
    move.b  #8, width_pixels(A0)
    move.w  #$FC00, y_vel(A0)
    move.b  #7, anim(A0)
;=================================================================================
loc_AAFA:
    lea     (loc_AB1C).l,a1
    jsr     AnimateSprite       ; loc_D412
    jsr     ObjectMoveAndFall         ; loc_D24E
    move.w  (Camera_Max_Y_pos_now).w, d0
    addi.w  #$E0, d0
    cmp.w   y_pos(A0), d0
    bcs.s   DeleteObject_s2simon    ;bcs.s    ; loc_D3B4
    jmp     DisplaySprite       ; loc_D3C2
;================================================================================

DeleteObject_s2simon:  ; loc_D3B4: ; Delete Object / Null Object
  jsr  DeleteObject
   rts
; ===========================================================================
;=================================================================================
loc_AB1C:
    dc.w    loc_AB2C-loc_AB1C
    dc.w    loc_AB2F-loc_AB1C
    dc.w    loc_AB32-loc_AB1C
    dc.w    loc_AB35-loc_AB1C
    dc.w    loc_AB3A-loc_AB1C
    dc.w    loc_AB3F-loc_AB1C
    dc.w    loc_AB44-loc_AB1C
    dc.w    loc_AB47-loc_AB1C
;=================================================================================
loc_AB2C:
    dc.b    $F, $00, $FF
loc_AB2F:
    dc.b    $F, $2, $FF
loc_AB32:
    dc.b    $F, $22, $FF
loc_AB35:
    dc.b    $F, $1, $21, $00, $FF
loc_AB3A:
    dc.b    $F, $21, $3, $2, $FF
loc_AB3F:
    dc.b    $F, $1, $23, $22, $FF
loc_AB44:
    dc.b    $F, $4, $FF
loc_AB47:
    dc.b    $1, $5, $6, $FF, $00
;=================================================================================
am using github by the way
« Last Edit: July 03, 2020, 05:17:55 am by lavagaming1 »

lavagaming1

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: sonic 2 rom hacking
« Reply #1 on: July 13, 2020, 06:59:47 am »
never mind i fixed it

Jorpho

  • Hero Member
  • *****
  • Posts: 4549
  • The cat screams with the voice of a man.
    • View Profile
Re: sonic 2 rom hacking
« Reply #2 on: July 13, 2020, 03:55:25 pm »
never mind i fixed it
Why don't you tell us about how you fixed it?
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

Metal64

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Re: sonic 2 rom hacking
« Reply #3 on: July 14, 2020, 05:32:10 am »
Why don't you tell us about how you fixed it?

I second that

lavagaming1

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: sonic 2 rom hacking
« Reply #4 on: July 25, 2020, 11:46:19 am »
well the anim was broken so it crashed the game

Jorpho

  • Hero Member
  • *****
  • Posts: 4549
  • The cat screams with the voice of a man.
    • View Profile
Re: sonic 2 rom hacking
« Reply #5 on: July 26, 2020, 04:05:02 pm »
So how did you fix the "anim"?
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

Cyneprepou4uk

  • Sr. Member
  • ****
  • Posts: 474
  • I am the baldest romhacker
    • View Profile
Re: sonic 2 rom hacking
« Reply #6 on: July 26, 2020, 04:35:31 pm »
I bet he made it unbroken, that's what fixed it  >:D
iromhacker.ru - NES ROM hacking tutorials for beginners. Please use Google Translate browser extension

lavagaming1

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: sonic 2 rom hacking
« Reply #7 on: August 30, 2020, 01:24:54 pm »
yes sonic 1 has a diffrent way in aniamating the sprites you can 1 port the anaimate sprite format from sonic 1 to sonic 2 or you can just remove the 22 and 23 in the aniam script and add new sprites btw the 22 and 23 is just the frame 2 and 3 flipped