- 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:
Jul 23 2015 06:17 AM- Currently:
- Offline
My Information
- Age:
- 37 years old
- Birthday:
- September 5, 1977
- Gender:
-
Male
- Location:
- Brazil, São Paulo, Guarulhos
Contact Information
- E-mail:
- Click here to e-mail me
- Website:
-
http://www.sonichacking.com/
Previous Fields
- Project:
- Esrael Neto Assembler Editor / Sonic 2 Delta
- National Flag:
- br
Latest Visitors
-
NeoFusionBox 
20 Jul 2015 - 15:24 -
TailsEver 
20 Jul 2015 - 13:19 -
Hivebrain 
02 Jul 2015 - 17:37 -
Sonadver 
24 Jun 2015 - 12:42 -
Ritz 
11 Jun 2015 - 00:16
Posts I've Made
-
In Topic: Help with porting S3K's layout format?
29 May 2015 - 09:08 PM
Clownacy, 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: -
In Topic: Help with porting S3K's layout format?
29 May 2015 - 02:51 PM
Clownacy, 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)+ -
In Topic: Sonic 2 Delta v0.25
24 April 2015 - 10:37 PM
Techokami, 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 -
In Topic: Esrael Neto Assembler Editor v0.10
18 October 2014 - 04:17 PM
KingofHarts, 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 -
In Topic: Sonic 2 Delta v0.24
28 August 2012 - 06:13 AM
Mike 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).

Find My Content
Jul 23 2015 06:17 AM
Male