Sonic and Sega Retro Message Board: Eduardo Knuckles - Viewing Profile - Sonic and Sega Retro Message Board

Jump to content

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

Group:
Member: Members
Active Posts:
378 (0.12 per day)
Most Active In:
Engineering & Reverse Engineering (196 posts)
Joined:
07-January 07
Profile Views:
5398
Last Active:
User is offline Jun 11 2015 08:22 PM
Currently:
Offline

My Information

Age:
31 years old
Birthday:
February 17, 1984
Gender:
Male Male
Location:
You don't need to know it.
Interests:
XM composing, Sonic Hacking, Help people on music porting.

Previous Fields

Other Contact Info:
Steam: eduardo_knucklez
Project:
Sonic Harder Levels: Rebirth
National Flag:
None
Wiki edits:
66

Latest Visitors

Topics I've Started

  1. [SONIC 1] How to add more samples using S1HL custom driver

    28 April 2009 - 02:27 PM

    First of all, all who wants to use this driver needs to give total credits and thanks for HPZMan, that is the author of it. Without him and his large knowledge with samples, this wouldn't have been possible. I thank him especially for the enormous work which he had with this driver for Sonic 1 Harder Levels. Now I let it available to the entire community.


    HPZMan notes:
    "I made this custom driver using the Sonic 1 z80 disassembler by Puto. This was made for use in Sonic 1 Harder Levels. I'm posting it authorized by Eduardo Knuckles. With this driver you can use up to one bank per sample if you want. I know that this is nothing new but it may help someone."


    Before start the work, download the custom sound drive's source code here:
    DOWNLOAD
    (If the link is broken, send a PM for Eduardo Knuckles for re-upload the file)




    1 - Defining the bank

    Go to PCM_Table:
    Every pointer uses 4 lines in word (4 bytes). The first byte on the fourth line in all the pointer defines the bank. To set the bank, get the location of the sample and divide by $10000, and modify the byte to the location divided. If you want, for example, another bank to sample $82, just go in his pointer in the first byte of the fourth line, put the location of the bank (which is the location of the sample divided by $10000).
    The samples should always be located at $8000-$FFFF in banks. This is the limit for every samples bank.




    2 - How to expand the slots

    Sonic 1, by default, uses a routine in 68K to change the speed of the Timpani drum, I just don't think this is a good idea because it could interfere when you are creating more slots. I will explain below how to remove this "pitch changer" mechanism.
    Well, go to PCM_Table: you will see this:

    PCM_Table:
    	dw	DAC1_Location; Kick sample
    	dw	DAC1_Size
    	dw	0017h; Pitch = 17h
    	dw	0000h
    	
    	dw	DAC2_Location; Snare sample
    	dw	DAC2_Size
    	dw	0001h; Pitch = 1h
    	dw	0000h
    	
    	dw	DAC3_Location; Timpani sample
    	dw	DAC3_Size
    	dw	001Bh; Pitch = 1Bh
    	dw	0000h
    



    Sonic 1 has actually 3 instruments. To expand, change it to:
    PCM_Table:
    	dw	DAC1_Location; Kick sample
    	dw	DAC1_Size
    	dw	0017h; Pitch = 17h
    	dw	0000h
    	
    	dw	DAC2_Location; Snare sample
    	dw	DAC2_Size
    	dw	0001h; Pitch = 1h
    	dw	0000h
    	
    	dw	DAC3_Location; Timpani sample
    	dw	DAC3_Size
    	dw	001Bh; Pitch = 1Bh
    	dw	0000h
    	
    	dw	DAC4_Location; Timpani sample
    	dw	DAC4_Size
    	dw	001Bh; Pitch = 1Bh
    	dw	0000h
    

    To create a variation of a instrument, just create another pointer pointing to the same sample, but using a different speed.



    3 - Setting up the sample size and location

    Go to DAC1_Location, you will see this:

    DAC1_Location   equ	 0000h
    DAC2_Location   equ	 0000h
    DAC3_Location   equ	 0000h
    


    Change the 0000h to the location of the sample >ON THE BANK<.
    For example, suppose you put the sample $81 and $82 in a bank located in $080000, and if the sample $82 is located at

    $088A1C, you should change to:

    DAC2_Location   equ	 8A1Ch
    


    If the sample $83 is located at the begining of a new bank, the location for it should be 8000h.
    To define the size, go to DAC_Samples_size:, and change the 0000h for the size of the sample.



    4 - Removing the 68k speed changer:

    In Sonic1.asm from your hack make a search for loc_71C88:, and you will see this:

    		btst	#3,d0
    		bne.s	loc_71CAC
    

    Just remove or comment these lines.



    5 - Including your new sound driver to your source code

    Just go to Kos_Z80:, and you should view this:

    Kos_Z80:	incbin	sound\z80_1.bin
    		dc.w ((SegaPCM&$FF)<<8)+((SegaPCM&$FF00)>>8)
    		dc.b $21
    		dc.w (((EndOfRom-SegaPCM)&$FF)<<8)+(((EndOfRom-SegaPCM)&$FF00)>>8)
    		incbin	sound\z80_2.bin
    



    Change to this:
    Kos_Z80:	incbin	z80.bin
    		even
    



    And you need to include the samples banks too. Go to ; end of 'ROM', and add this:

    ; S1HL DAC samples banks:
    		align $240000
    		incbin 'S1HLDACBank.bin'
    				align $250000
    

    This will add the samples bank align it to the offset $240000 in it.
    Then, create your samples bank file putting it on the same directory as the Sonic1.asm file, and starting put your samples on your new driver.
    note: *the example I used shows S1HLDACBank.bin as a example of the file name.

    The result will be:
    ; S1HL DAC samples banks:
    		align $240000
    		incbin 'S1HLDACBank.bin'
    				align $250000
    ; end of 'ROM'
    EndOfRom:
    


    Just for remember, this driver use compressed samples, as the original Sonic 1 sound driver.
    Make it useful. Please don't forget to credit HPZMan when you use it. Don't credit me, because all the work on it was made by him.
    Thanks Puto for the Sonic 1 Z80 driver disassembly.
  2. Crayon Shin-Chan music locations

    16 December 2008 - 04:14 PM

    Here are the music locations I found from Crayon Shin-Chan - Arashi o Yobu Sono Ko.


    Pointer index: $001301EC - Engine: SMPS 68k (Relative pointers)




    $001331BE -> $00133E06 - Title Theme (Need coordination flags fix)
    $00133E06 -> $0013477E - Main Theme
    $0013477E -> $001358D8 - Sound Test 03
    $001358D8 -> $001360A8 - Sound Test 05
    $001360A8 -> $0013669C - Sound Test 06
    $0013669C -> $00136F1C - Sound Test 07
    $00136F1C -> $0013761A - Sound Test 08
    $0013761A -> $00137F6A - Sound Test 09
    $00137F6A -> $001385DC - Sound Test 0A
    $001385DC -> $00138B7E - Sound Test 0B
    $00138B7E -> $00139144 - Sound Test 0C
    $00139144 -> $00139376 - Sound test 0D (Some fanfare music)
    $00139376 -> $00139682 - Introduction (Need coordination flags fix)
    $00139682 -> $0013A1C8 - Sound Test 0F (Staff Roll)
    $0013A1C8 -> $0013A3E0 - Continue (Fanfare)
    $0013A3E0 -> ???????? - Sound Test 11 (Fanfare)


    Enjoy! :psyduck:
    Comments and critiques are welcome.
  3. Sonic 1 Harder Levels

    21 March 2008 - 05:46 PM

    As amount of people already knowns, the Sonic Harder Project is a project created by me that include all the Sonic games. It aims to turn the games more extensive, and atractive, turning the levels more harder... In the Course of time, I've found more experience hacking, sure with help of a few friends, many do quite well known in the hacking scene.

    I am actually working in the first Harder Project, that is working on Sonic 1 from Mega Drive. The game shows a lot of ported musics, new sonic animations, new level graphics, and new modified sound effects, and exclusively edited level layouts and palettes.

    The most exclusively part from the hack is that him aims to restore features from another Sonic games, as the 'arrow/continuation' monitor, and musics from Master System's version of Sonic series.

    There's the playlist that the game plays into the levels:

    Green Hill Act 1 Green Grove Act 1 (Sonic 3D Blast)
    Green Hill Act 2 Angel Island Act 2 (Sonic 3)
    Green Hill Act 3 Evening Star (Knuckles Chaotix)

    Marble Act 1 Aquatic Ruin *Original* (Sonic 2 Final)
    Marble Act 2 Aquatic Ruin *Edited* (Sonic 2 Beta)
    Marble Act 3 Volcano Valley Act 1 (Sonic 3D Blast)

    Spring Yard Act 1 Casino Night (Sonic 2 Final)
    Spring Yard Act 2 and 3 Casino Night (Sonic 2 Beta)

    Labyrinth Act 1 Mystic Cave 2 Players (Sonic 2 Final)
    Labyrinth Act 2 Mystic Cave 2P/Hidden Palace (Sonic 2 Beta)
    Labyrinth Act 3 Hidden Palace (Sonic 2 Final)

    Star Light Act 1 Rusty Ruin Act 1 (Sonic 3D)
    Star Light Act 2 Rusty Ruin Act 2 (Sonic 3D)
    Star Light Act 3 Mystic Cave (Sonic 2 Final)

    Scrap Brain Act 1 Electric Egg (Sonic Chaos - Master System)
    Scrap Brain Act 2 Scrap Brain in SMS version (Sonic 1 - Master System)
    Scrap Brain Act 3 Panic Puppet Act 2 (Sonic 3D Blast)

    Final Zone The Doomsday (Sonic & Knuckles)


    First of all, thanks to all who have helped me with the bugs I've found in the wa of the work on this release.

    Special credits to:

    Nineko to create your fabulous xm2smps and xm3smps tool. Without it, my ports of SMS would not have been possible, and your music per-act tutorial.
    Mistergambit to give me permission to use his beautiful beta backgrounds in my hack.
    Tweaker to the help with sound effect porting.
    Master3k by the s3 drum styles that have sended an special effect to the musics into my hack.
    Puto to create the tutorial to add ss2 full spindash.
    SCAA to the Sonic CD's sprites like Buzzbomber and Motobug.

    All the people that got patience and gives me all the touch about the game details to improve.


    An screenshot from the arrow monitor working on the hack:
    Posted Image

    Let's enjoy the hack !

    Here's the download link (Hacking Contest 2013 Demo)
    *Lastly updated: 8/30/2013*