Actions

SCHG

Difference between revisions of "Sonic Jam 6"

From Sonic Retro

m (Text replacement - "{{SCHGuides}}" to "==References== <references /> {{SCHGuides}}")
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This is the '''[[Sonic Community Hacking Guide]] for ''[[Sonic Jam 6]]'''''. The Guide is based on notes by [[Shibunoa]] which can be found [http://tails92.sepwich.com/files/misc/sjam6hack.txt here]. This guide was built with the '''[f1]''' version in mind.
+
__NOTOC__
 +
{{SCHG SJ6}}
 +
This is the '''[[Sonic Community Hacking Guide]] for ''[[Sonic Jam 6]]'''''. The Guide is based on notes by [[User:Shibunoa|Shibunoa]]. This guide was built with the '''[f1]''' version in mind.
  
==ROM related==
+
==References==
{|class="prettytable"
+
<references />
!Offset||Description||Note
 
|-
 
|0x1430
 
|Array which contains music numbers for each map (WORD ARRAY).
 
|
 
|-
 
|0x0ad2
 
|Demo properties (structure array, 0xe bytes long).
 
|
 
*0 (w), Level map number
 
*2 (w), ???
 
*4 (w), ???
 
*6 (w), ???
 
*8 (w), ???
 
*A (w), ???
 
*C (w), ???
 
|-
 
|0x0dde
 
|Level map world-level number (structure array, 0x4 bytes long).
 
|
 
*0 (w), World number tile
 
*2 (w), Level number tile
 
*To put a number just write <number> + 0x1A, zero extended
 
|-
 
|0xff0096
 
|Number of seconds left (unsigned short).
 
|-
 
|76543210
 
|Joystick Bitmap.
 
|SACBRLDU
 
|-
 
|0xff001a
 
|Buttons pressed on joypad (follows bitmap above) (BYTE).
 
|-
 
|0xff001c
 
|Buttons pressed on joypad (bits set only when button is pressed for the first time after being released) (BYTE).
 
|-
 
|0xff0042
 
|Number of current level map (WORD).
 
|-
 
|0x00
 
|Level 1-1
 
|-
 
|0x01
 
|Level 1-2
 
|-
 
|0x02
 
|Level 1-1 Bonus
 
|-
 
|0x03
 
|Level 1-3
 
|-
 
|0x04
 
|Level 1-4
 
|-
 
|0x05
 
|Level 1-2 Bonus
 
|-
 
|0x06
 
|Level 2-1
 
|-
 
|0x07
 
|Level 2-2
 
|-
 
|0x08
 
|Level 2-3
 
|-
 
|0x09
 
|Level 2-4
 
|-
 
|0x0A
 
|Level 3-1
 
|-
 
|0x0B
 
|Level 3-2
 
|-
 
|0x0C
 
|Level 3-3
 
|-
 
|0x0D
 
|Level 3-4
 
|-
 
|0x0E
 
|Level 4-1
 
|-
 
|0x0F
 
|Level 4-2
 
|-
 
|0x10
 
|Level 4-3
 
|-
 
|0x11
 
|Level 4-4
 
|-
 
|0x12
 
|Level 5-1
 
|-
 
|0x13
 
|Level 5-2
 
|-
 
|0x14
 
|Level 5-3
 
|-
 
|0x15
 
|Level 5-4
 
|-
 
|0x16
 
|Level 6-1
 
|-
 
|0x17
 
|Level 6-2
 
|-
 
|0x18
 
|Level 6-3
 
|-
 
|0x19
 
|Level 6-4
 
|-
 
|0x1A
 
|Level 7-1
 
|-
 
|0x1B
 
|Level 7-2
 
|-
 
|0x1C
 
|Level 7-3
 
|-
 
|0x1D
 
|Level 7-4
 
|-
 
|0x1E
 
|Level 8-1
 
|-
 
|0x1F
 
|Level 8-2
 
|-
 
|0x20
 
|Level 8-3
 
|-
 
|0x21
 
|Level 8-4
 
|-
 
|0x22
 
|Level 8-4 Pipe #1
 
|-
 
|0x23
 
|Level 8-4 Pipe #2
 
|-
 
|0x24
 
|Level 8-4 Water Part
 
|-
 
|0x25
 
|Level 8-4 Final
 
|-
 
|0xff00a4
 
|Water level flag (0x0000 = disabled, 0x0001 = enabled).
 
|If this is enabled, you swim, otherwise you don't (WORD).
 
|-
 
|0xff008a
 
|'???' level flag (WORD).
 
|-
 
|0x0002
 
|Continuing level, when you go into a pipe, continue the level and don't treat it as a seperate level.
 
|-
 
|0xff0092
 
|Number of coins (WORD).
 
|-
 
|0xff0094
 
|Number of lives (WORD).
 
|-
 
|0xff00ba
 
|Number of lives "mirror" (WORD).
 
|This exists likely due to sloppy programming. At a place it's set to the number of lives you get when you start a new game, and then copied to 0xff0094 (the usual lives address). Other places in the game only copy from this to '0094 or the other way around. It is not updated when lives become 0, as the game won't run the code to copy '0094 back to '00ba then. All the checks on lives take place on '0094, so you don't need to care about this one.
 
|-
 
|0xff7140
 
|Character sprite X position on screen (WORD) (in genesis format, 0 = 0x80).
 
|-
 
|0xff7142
 
|Character sprite Y position on screen (WORD) (in genesis format, 0 = 0x80).
 
|}
 
 
 
==Title Screen==
 
{|class="prettytable"
 
!Offset||Description
 
|-
 
|0xff008a
 
|'Go away from title screen and play game' flag (0x0000 = false, 0x0001 true) (WORD). Set when either {{A}}, {{B}}, {{C}} or {{Start}} are pressed.
 
|-
 
|0x84e
 
|is the title screen loop ?
 
|}
 
 
 
==Title Screen Functions==
 
{|class="prettytable"
 
!Offset||Description
 
|-
 
|ROM:00000B18
 
|title_screen_check_buttons CODE XREF: sub_84E+15C�p.
 
|-
 
|ROM:00000B18
 
|btst #5,(word_FF001C).l ; Check {{C}} button.
 
|-
 
|ROM:00000B20
 
|bne.w loc_B4C ; If it's pressed, branch.
 
|-
 
|ROM:00000B24
 
|btst #7,(word_FF001C).l ; Check {{Start}} button.
 
|-
 
|ROM:00000B2C
 
|bne.w loc_B4C ; If it's pressed, branch.
 
|-
 
|ROM:00000B30
 
|btst #6,(word_FF001C).l ; Check {{A}} button.
 
|-
 
|ROM:00000B38
 
|bne.w loc_B4C ;If it's pressed, branch.
 
|-
 
|ROM:00000B3C
 
|btst #4,(word_FF001C).l ; Check {{B}} button.
 
|-
 
|ROM:00000B44
 
|bne.w loc_B4C ; If it's pressed, branch.
 
|-
 
|ROM:00000B48
 
|bra.w locret_B6A ; No button pressed, branch to this other one.
 
|}
 
  
 
{{SCHGuides}}
 
{{SCHGuides}}
 
[[Category:Sonic Community Hacking Guide]]
 
[[Category:Sonic Community Hacking Guide]]

Latest revision as of 15:51, 24 March 2020

SCHG: Sonic Jam 6
Main Article
ROM Editing
Editing ROM
Values
Functions
Title Screen
Levels
Bonus Level
Sound Driver
Play BGM
Play SFX
RAM Editing
Editing RAM
Art Editing
Editing Art
Title Screen
Title Screen Palette
Levels
Level Palettes
Value Reference
Value Reference
Level Map Numbers
SFX Numbers

This is the Sonic Community Hacking Guide for Sonic Jam 6. The Guide is based on notes by Shibunoa. This guide was built with the [f1] version in mind.

References


Sonic Community Hacking Guide
General
SonED2 Manual | Subroutine Equivalency List
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic CD (2011) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (Master System) | Sonic 3 | Sonic 3 & Knuckles | Chaotix | Sonic Jam | Sonic Jam 6 | Sonic Adventure | Sonic Adventure DX: Director's Cut | Sonic Adventure DX: PC | Sonic Adventure (2010) | Sonic Adventure 2 | Sonic Adventure 2: Battle | Sonic Adventure 2 (PC) | Sonic Heroes | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Colours | Sonic Generations | Sonic Forces
Technical information
Sonic Eraser | Sonic 2 (Nick Arcade prototype) | Sonic CD (prototype; 1992-12-04) | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Tails Adventures | Sonic Crackers | Sonic 3D: Flickies' Island | Sonic & Knuckles Collection | Sonic R | Sonic Shuffle | Sonic Advance | Sonic Advance 3 | Sonic Battle | Shadow the Hedgehog | Sonic Rush | Sonic Classic Collection | Sonic Free Riders | Sonic Lost World
Legacy Guides
The Nemesis Hacking Guides The Esrael Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)
Move to Sega Retro
Number Systems (or scrap) | Assembly Hacking Guide | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | SMPS Music Hacking Guide | Mega Drive technical information