- Member: Members
- Active Posts:
- 354 (0.15 per day)
- Most Active In:
- Engineering & Reverse Engineering (179 posts)
- 07-January 07
- Profile Views:
- Last Active:
- Today, 07:20 AM
- Member Title:
- I hate myself
- 29 years old
- February 17, 1984
- Sâo Paulo, Brazil
- XM composing, Sonic Hacking, Help people on music porting.
- Other Contact Info:
- Steam: Edu4rd0 Qnuckl3z
- Harder Levels Project
- National Flag:
- Wiki edits:
19 May 2013 - 20:18
08 May 2013 - 16:22
22 Apr 2013 - 20:48
01 Apr 2013 - 09:32
30 Mar 2013 - 13:58
21 Mar 2013 - 22:34
19 Mar 2013 - 19:48
Midway the Ec...
18 Mar 2013 - 20:16
17 Mar 2013 - 16:05
17 Mar 2013 - 11:09
Topics I've Started
28 April 2009 - 02:27 PMFirst 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.
"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:
(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.
16 December 2008 - 04:14 PMHere 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)
Comments and critiques are welcome.
21 March 2008 - 05:46 PMAs 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:
Let's enjoy the hack !
Here's the download link
*Updated at 3/17/2010*