Sonic and Sega Retro Message Board: Esrael - Viewing Profile - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help

Group:
Tech Member: Tech Members
Active Posts:
175 (0.04 per day)
Most Active In:
Engineering & Reverse Engineering (154 posts)
Joined:
24-July 03
Profile Views:
5384
Last Active:
User is offline Jul 23 2015 06:17 AM
Currently:
Offline

My Information

Age:
37 years old
Birthday:
September 5, 1977
Gender:
Male Male
Location:
Brazil, São Paulo, Guarulhos

Contact Information

E-mail:
Click here to e-mail me
Website:
Website  http://www.sonichacking.com/

Previous Fields

Project:
Esrael Neto Assembler Editor / Sonic 2 Delta
National Flag:
br

Latest Visitors

Posts I've Made

  1. In Topic: Help with porting S3K's layout format?

    29 May 2015 - 09:08 PM

    View PostClownacy, on 29 May 2015 - 08:10 PM, said:

    A lot of changes? For LoadTilesAsYouMove/LoadTilesFromStart, I only changed GetBlockAddr and GetBlockPtr (Git labels) to make them read the new format. I also had to move a4 to the stack to avoid having it modified in GetBlockAddr.

    Sorry , I am using different version, but I think with code you can figure compatible routines in your asm.
    If you want I can provide full source code.

    For A4 only Ram Address is changed in Sonic 2 Delta code.

    Level_Map_Pointers      equ $FFFF8000 ; Novo <<<-
    Level_Map_Data          equ Level_Map_Pointers
    ; Fg_Mem_Start_Address    equ $FFFF8000 ; Remover <<<-
    Level_Foreground_Index  equ Level_Map_Pointers+$0008
    ; Bg_Mem_Start_Address    equ $FFFF8080 ; Remover <<<-
    Level_Background_Index  equ Level_Map_Pointers+$000A
    
    


    LoadTilesAsYouMove: ; Offset_0x00DA14                           
                    lea     (VDP_Control_Port), A5                       ; $00C00004
                    lea     (VDP_Data_Port), A6                          ; $00C00000
                    lea     ($FFFFEEA2).w, A2
                    lea     ($FFFFEE68).w, A3
                  ; lea     (Bg_Mem_Start_Address).w, A4                 ; $FFFF8080
                    lea     (Level_Background_Index).w, A4 
                    move.w  #$6000, D2
                    bsr     Offset_0x00DB7A        
                    lea     ($FFFFEEA4).w, A2
                    lea     ($FFFFEE70).w, A3
                    bsr     Offset_0x00DC4A
                    lea     ($FFFFEEA6).w, A2
                    lea     ($FFFFEE78).w, A3
                    bsr     Offset_0x00DD3E
                    tst.w   (Two_Player_Flag).w                          ; $FFFFFFB8
                    beq.s   Offset_0x00DA66
                    lea     ($FFFFEEA8).w, A2
                    lea     ($FFFFEE80).w, A3
                  ; lea     (Fg_Mem_Start_Address).w, A4                 ; $FFFF8000
                    lea     (Level_Foreground_Index).w, A4   
                    move.w  #$6000, D2
                    bsr     Offset_0x00DB14
    Offset_0x00DA66:
                    lea     ($FFFFEEA0).w, A2
                    lea     ($FFFFEE60).w, A3
                  ; lea     (Fg_Mem_Start_Address).w, A4                 ; $FFFF8000
                    lea     (Level_Foreground_Index).w, A4  
                    move.w  #$4000, D2
                    tst.b   (Refresh_Level_Layout).w                     ; $FFFFF72C
                    beq.s   Draw_FG                                ; Offset_0x00DAAE
                    move.b  #$00, (Refresh_Level_Layout).w               ; $FFFFF72C
                    moveq   #$FFFFFFF0, D4
                    moveq   #$0F, D6
    Draw_All:    
    
    


    And
    Calc_Chunk_RAM_Pos:                                            ; Offset_0x00E05E
                    movem.l D4/D5, -(A7)
                    move.w  D4, D3
                  ; add.w   D3, D3              ; Neto - Sonic 2 Delta
                  ; andi.w  #$0F00, D3          ; Neto - Sonic 2 Delta
    ;-------------------------------------------------------------------------------
    ; Neto - Sonic 2 Delta ->>>
                    andi.w  #$0780, D3          ; Y Wrap     
                    lsr.w   #$05, D3       
                    lea     (A4, D3), A0   
                    movea.w (A0), A0       
    ; Neto - Sonic 2 Delta <<<-
    ;-------------------------------------------------------------------------------                  
                    lsr.w   #$03, D5
                    move.w  D5, D0
                    lsr.w   #$04, D0
                    andi.w  #$007F, D0
                  ; add.w   D3, D0              ; Neto - Sonic 2 Delta
                    moveq   #$FFFFFFFF, D3
                    clr.w   D3   
                  ; move.b  $00(A4, D0), D3     ; Neto - Sonic 2 Delta
    ;-------------------------------------------------------------------------------
    ; Neto - Sonic 2 Delta ->>>   
                    move.b  $00(A0, D0), D3
    ; Neto - Sonic 2 Delta <<<-
    ;-------------------------------------------------------------------------------            
                    lsl.w   #$07, D3
                    andi.w  #$0070, D4
                    andi.w  #$000E, D5
                    add.w   D4, D3
                    add.w   D5, D3
                    move.l  D3, A0
                    movem.l (A7)+, D4/D5
                    rts                
    
    


    and

    ;===============================================================================
    ; Sub Rotina Draw_Blocks - Rotina para desenhar os blocos  
    ; [ Início ]
    ;===============================================================================
    Draw_Blocks:                                                   ; Offset_0x00E204     
                    add.w   (A3), D5  
                    add.w   $0004(A3), D4
                    lea     (Blocks_Mem_Address).w, A1                   ; $FFFF9000
                    move.w  D4, D3                  ; Neto - Sonic 2 Delta
                  ; add.w   D3, D3                  ; Neto - Sonic 2 Delta
                  ; andi.w  #$0F00, D3
    ;-------------------------------------------------------------------------------
    ; Neto - Sonic 2 Delta ->>>
                    andi.w  #$0780, D3              ; Y Wrap  
                    lsr.w   #$05, D3       
                    lea     (A4, D3), A0   
                    movea.w (A0), A0    
    ; Neto - Sonic 2 Delta <<<- 
    ;-------------------------------------------------------------------------------             
                    lsr.w   #$03, D5
                    move.w  D5, D0
                    lsr.w   #$04, D0
                    andi.w  #$007F, D0
                  ; add.w   D3, D0
                    moveq   #$FFFFFFFF, D3
                    clr.w   D3
                  ; move.b  $00(A4, D0), D3   ; Chunk 128x128 a ser desenhado
    ;-------------------------------------------------------------------------------
    ; Neto - Sonic 2 Delta ->>>   
                    move.b  $00(A0, D0), D3
    ; Neto - Sonic 2 Delta <<<-
    ;-------------------------------------------------------------------------------               
                    lsl.w   #$07, D3
                    andi.w  #$0070, D4
                    andi.w  #$000E, D5
                    add.w   D4, D3
                    add.w   D5, D3
                    move.l  D3, A0
                    move.w  (A0), D3
                    andi.w  #$03FF, D3
                    lsl.w   #$03, D3
                    adda.w  D3, A1
                    rts
    ;===============================================================================
    ; Sub Rotina Draw_Blocks - Rotina para desenhar os blocos  
    ; [ Término ]
    ;===============================================================================
     
    


    Load_Tiles_From_Start:                                         ; Offset_0x00E2C0 
                    lea     (VDP_Control_Port), A5                       ; $00C00004
                    lea     (VDP_Data_Port), A6                          ; $00C00000                 
    ;=============================================================================== 
    ; Carrega os Tiles durante o Início da Fase                    ; Neto - Sonic 2D      
    ; Usado na seqüência do final
    ; [ Início ]
    ;===============================================================================                 
                    tst.w   (End_Sequence_Flag).w   
                    bpl.s   No_Credits_Running  
    Credits_Running:                                
                    lea     ($FFFFEE00).w, A3
                  ; lea     (Fg_Mem_Start_Address).w, A4                  ; FFFF8000
    ;-------------------------------------------------------------------------------
    ; Neto - Sonic 2 Delta ->>>              
                    lea     (Level_Foreground_Index).w, A4  
    ; Neto - Sonic 2 Delta <<<-                
    ;-------------------------------------------------------------------------------                
                    move.w  #$4000, D2
                    bsr.s   Draw_Bg    
    No_Credits_Running:
    ;=============================================================================== 
    ; Carrega os Tiles durante o Início da Fase                    ; Neto - Sonic 2D
    ; Usado na seqüência do final
    ; [ Término ]
    ;===============================================================================                   
                    lea     ($FFFFEE08).w, A3
                  ; lea     (Bg_Mem_Start_Address).w, A4                 ; $FFFF8080
    ;-------------------------------------------------------------------------------
    ; Neto - Sonic 2 Delta ->>> 
                    lea     (Level_Background_Index).w, A4    
    ; Neto - Sonic 2 Delta <<<-
    ;-------------------------------------------------------------------------------   
                    move.w  #$6000, D2
                    moveq   #$00, D4
                    cmpi.b  #$0C, (Level_Id).w                           ; $FFFFFE10
                    beq     Draw_CNz_Bg                            ; Offset_0x00E2F8
                    tst.w   (Two_Player_Flag).w                          ; $FFFFFFB8
                    beq     Draw_Bg                                ; Offset_0x00E2F6
                    cmpi.b  #$0B, (Level_Id).w                           ; $FFFFFE10
                    beq     Draw_MCz_2P_Bg                         ; Offset_0x00E356
    Draw_Bg:                                                       ; Offset_0x00E2F6
                    moveq   #$FFFFFFF0, D4
    Draw_CNz_Bg:    
    
    
  2. In Topic: Help with porting S3K's layout format?

    29 May 2015 - 02:51 PM

    View PostClownacy, on 26 May 2015 - 05:10 PM, said:

    Where to begin... Well, I ported S3K's layout format to my S2 hack. I thought I had a pretty good idea of how it all worked, and have been able to track down and fix every issue encountered (outside of a recently-discovered bug in WFZ I'm sure I can fix). All but one, anyhow.

    MCZ's background now loads incorrect blocks as you progress through the level. I've been unable to find any code remotely related to layout reading outside of what I've already changed, so I'm lost as to what the problem could possibly be. It's not something I've encountered with any other level, and it appears even in otherwise-stock S2. That said, making MCZ use the 'standard' BG deformation instead of its own doesn't seem to incur the bug. I'll add some pics or a ROM when I get the chance.

    So, erm, yeah. Can anyone spare a little help, here?

    Did you updated the LoadTilesAsYouMove/LoadTilesFromStart Routines? Because a lot of change are necessary to get S3 Y Indexed to work?

    For WFz you will need some code inside object B2 due to tile change on Transition for Death Egg.
    If you want I can provide Sonic 2 Delta source with these routines inside.

    Block code from Sonic 2 Delta Object B2 in WFz transition new RAM Address of Tiles
    Offset_0x03A6EC:
                    bsr     Offset_0x03A9CE
                    btst    #$03, Obj_Status(A0)           ; btst    #$03, $0022(A0)
                    beq.s   Offset_0x03A72A
                    addq.b  #$02, Obj_Routine_2(A0)        ; addq.b  #$02, $0025(A0)
                    move.w  #$0020, Obj_Custom_Var_02(A0)  ; move.w  #$0020, $002E(A0)
                    lea     ($FFFF883A).w, A1              ; lea     ($FFFF80D2).w, A1  
                    move.l  #$501F0025, (A1)+
                    lea     ($FFFF88BA).w, A1              ; lea     ($FFFF81D2).w, A1 
                    move.l  #$25001F50, (A1)+
                    lea     ($FFFF8DBE).w, A1              ; lea     ($FFFF8BD6).w, A1 
                    move.l  #$501F0025, (A1)+
                    lea     ($FFFF8E3E).w, A1              ; lea     ($FFFF8CD6).w, A1 
                    move.l  #$25001F50, (A1)+                    
    
    
  3. In Topic: Sonic 2 Delta v0.25

    24 April 2015 - 10:37 PM

    View PostTechokami, on 20 April 2015 - 09:25 AM, said:

    Bug report: ...

    -Wood Zone Boss Music - fixed.
    -Wood Zone Boss Pilar bug - fixed.
    -SS Results Screen Error - fixed.

    -Level Select Menu music - fixed
    -Scrap Brain 2 can't be completed - fixed.
    -Random crashes in Mystic Cave 2P - fixed.
    and more....

    Real Hardware compatible

    http://sonichacking..../deltav025a.rar or http://esraelneto.co.../deltav025a.rar

    -----------------------------------------------------------------------------------------------------

    Next generation prototype updated with more object port: (40 MBit Rom without bank switch emulator only)
    http://sonichacking....s/deltanext.rar or http://esraelneto.co...s/deltanext.rar
  4. In Topic: Esrael Neto Assembler Editor v0.10

    18 October 2014 - 04:17 PM

    View PostKingofHarts, on 18 October 2014 - 03:36 PM, said:

    Esrael! You're back! I'll definitely be trying this out. Any other surprises you've got in store for us?


    I am still working in projects, but due to my job I had less time.
    Sonic 2 Delta is still in development.

    I made some Hardware Hacks like a Game Gear consolized using a Master System I Shell (Card Input as GG Cart). Digital GG Video To Analog Video Pal-M outputs used in Brazilian
    And the infamous S-Video Mod to MC1377P used in SMS I e II Tec-Toy
  5. In Topic: Sonic 2 Delta v0.24

    28 August 2012 - 06:13 AM

    View PostMike Arcade, on 27 August 2012 - 11:50 PM, said:

    A new build, excellent as always Esrael! I gotta say (and you probably get this a lot) I'm a big fan of your work, your hack of Sonic 2 Delta II way back when is what got me into Sonic Retro and Hack Games in the first place, I thank you for that and I'm so glad your back and around here again. If I see any bugs I'll report them.

    Also, what's the music for Genocide City?


    Destruction Power from Knuckles Chaotix (Bad Ending).

Friends