Prototyp:Sonic the Hedgehog 2 (Mega Drive)/Prototyp Nick Arcade
To jest podstrona Proto:Sonic the Hedgehog 2 (Genesis)/Nick Arcade Prototype.
Do Zrobienia:
|
Ten prototyp jest udokumentowane na Hidden Palace.
Pobierz Sonic the Hedgehog 2 (Prototyp Nick Arcade)
Plik: Sonic The Hedgehog 2 (Nick Arcade Prototype).bin (1 MB) (info)
|
Prototyp Nick Arcade Sonic the Hedgehog 2 to bardzo wczesna kompilacja z wieloma widocznymi pozostałościami po Sonic 1, takie jak nazwy poziomów i muzyka. Jest bardzo niekompletny, z brakującymi wrogami i poziomami oraz wszędzie występują usterki graficzne. Jednak podstawowe układy dla kilku poziomów zostały ukończone, a Tails został zaimplementowany.
Prototyp został zrzucony przez drx i udostępniony publicznie 7 listopada 2006 roku. Swoją nazwę nadano mu ze względu na podobieństwo do wersji „Sonic 2”, która została zaprezentowana w co najmniej dwóch odcinkach teleturnieju Nick Arcade, ponieważ ta konfiguracja wydaje się być bardzo zbliżona (jeśli nie dokładnie taka sama) do konfiguracji użytej w programie. Kolejna podobny build został użyty na Summer Consumer Electronics Show (SCES) w dniu 28 maja 1992 roku, a także podczas Tokyo Toy Show w 1992 roku[1].
Dodatkowa uwaga: jest to jedyny znany kartridż Mega Drive wykorzystujący etykietę holograficzną, która została porzucona, ponieważ bardzo podniosłaby koszty produkcji kartridża.
Contents
Podstrony
Strefy Hidden Palace, Emerald Hill...Green Hill?! |
Leftovers
Leftovers Oh boy, there's a lot here. |
Symbol Tables How big are they?! |
Ogólne Różnice
- W tym momencie rozwoju Tails jest quasi-niezależny: Gracz 2 jest w stanie kontrolować Tailsa, z wyjątkiem tego, że będzie również podążał za Sonicem. Co więcej, Tails nie może samodzielnie ukończyć poziomu, ponieważ gra ładuje znak celu tylko wtedy, gdy zbliża się do niego Sonic. Jeśli Tails zostanie ranny, może stracić pierścienie Sonica. Sztuczna inteligencja jest również znacznie prostsza: Tails kopiuje ruchy Sonica i nie próbuje nadążyć za nim.
- Tryb 2 graczy jest jeszcze mniej kompletny ze względu na różnego rodzaju dziwne usterki i nie jest włączony dla każdej strefy.
- Niezwyciężoność nie pokazuje efektu gwiazdy, choć muzyka jest nadal odtwarzana. Muzyka i nietykalność trwają do końca Aktu.
- Istnieje mechanika polegająca na tym, że Sonic odbija się od ścian, jeśli wpada na nie z dużą prędkością, używając sprite'ów, które nie były używane przez prototyp Simona Wai, chociaż sprite, w którym wstawał, został później poprawiony i ponownie użyty, gdy Sonic opuści swoją animację bezczynności „leżenia na ziemi”.
- Spin dash jest w trakcie prac nad nim, ponieważ Sonic i Tails mogą go naładować tylko raz; ponadto można usłyszeć dźwięk turlającego się Sonica z Sonic 1, ponieważ nie ma jeszcze określonego efektu dźwiękowego dla spindashu.
- Zachowanie obrażeń od kolców działa tak samo, jak w przypadku Sonic 1.
- Ograniczenie prędkości względem ziemi z Sonic 1 jest nadal obecne.
- Sprite'y eksplozji są takie, jakie są w Sonic 1.
- Tryb debugowania jest zgodny z logiką Sonic 1.
- Szybkość i prędkość Sonica nie są resetowane podczas wychodzenia z debugowania.
- Sonic zostanie odrzucony tylko wtedy, gdy zostanie trafiony bez pierścieni.
- Sonic nie może wejść do debugowania, gdy jest odrzucany.
- Sonic nie może wejść do debugowania, gdy jest w swojej animacji śmierci.
- Wchodzenie i wychodzenie z debugowania w zanurzeniu nie spowoduje zresetowania zegara podwodnego Sonic.
- Sonic zachowuje prędkość na lądzie, jeśli wchodzi do debugowania z wody i wychodzi na ląd.
- Jeśli Sonic minął drogowskaz, wejście i wyjście z debugowania nie pozwoli graczowi odzyskać możliwości kontrolowania go.
- Połącznie tego prototypu z Sonic & Knuckles odblokuje pełną grę Blue Sphere.
- Licznik resetuje się do 9:00 przed osiągnięciem 9:59, umożliwiając graczowi testowanie etapów przez dłuższy czas.
- Jeśli Sonic i Tails zostaną trafieni w tym samym czasie, niosąc co najmniej jeden pierścień, pojawi się duża ilość pierścieni, niezależnie od tego, ile faktycznie posiadają.
- Ekran nie przewija się w górę ani w dół, gdy patrzysz w górę lub w dół przez określony czas.
- Wskoczenie na sprężynę skierowaną w dół powoduje, że Sonic podczas upadku używa animacji umierania.
Kody
- Wybór Poziomu - Góra, Dół, Dół, Dół, Dół, Góra, A + Start.
- 2-Player Mode - W oknie wyboru poziomu naciśnij B + Start na dowolnym poziomie.
- Tryb Debugowania - C, C, Góra, Dół, Dół, Dół, Dół, Góra, A + Start. Debugowanie można również włączyć za pomocą kodu Pro Action Replay FFFFFA:0001. Jak w Sonic 1, C wystarczy nacisnąć dwukrotnie przed ostatecznym wprowadzeniem Góra.
- Tryb Debugowania i Wybór Poziomu - Góra, Dół, Dół, Dół, Dół, Góra, UDLR, Góra, Dół, Dół, Dół, Dół, C, C, Góra, A + Start. "UDLR" oznacza po prostu naciśnięcie dowolnego kierunku na D-Pad, aby zresetować kod wykrywania oszustw. W przeciwieństwie do wersji finanej, w której zarówno tryb debugowania, jak i wszystkie szmaragdy można włączyć, grając 19921124126 na ekranie wyboru poziomu, ostatna Góra kodu Level Select nie może „nachodzić” na pierwszą Góra kodu trybu debugowania.
Tryb Przyciągania
Nick Arcade do 21 Sierpień 1992 | 14 Wrzesień, 1992 do Beta 4 | Beta 5 i dalsze |
---|---|---|
Ekran tytułowy jest inny, ze szczególnie znanym designem: nie tylko pojawia się w późniejszej wersji Simon Wai, pojawia się również w instrukcji obsługi gry, a także wersjach Master System i Game Gear. Wersja widoczna w instrukcji obsługi jest taka sama jak na drugim zdjęciu powyżej.
Demo 1 | Demo 2 |
---|---|
Demo 3 | Demo 4 |
Gra przechodzi przez cztery wersje demonstracyjne: Chemical Plant, Emerald Hill (2 Graczy), Hidden Palace, i Hill Top. Byłby to ostatni raz, kiedy nowe dema zostały nagrane do gry przed ostateczną kompilacją; wszystkie inne prototypy używają danych wejściowych z tej kompilacji.
Zmieniona Grafika
Sonic i Tails
Sonic 1 | Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|---|
Sprite Sonica w Nick Arcade i kompilacjach Simona Waia jest znacznie bliższy jego projektowi w Sonic 1. Jego bezczynna sylwetka jest identyczna, z wyjątkiem krótszych butów i dodatkowego połysku z boku głowy. Build z 21 sierpnia zmienia kształt oczu Sonica i dodaje trochę cieniowania w górnej części oka.
Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|
Migająca ramka Sonica we wcześniejszych prototypach jest nieco dziwna. Wygląda mniej jakby miał zamknięte oczy, a bardziej jakby jego źrenice były na samym dole. Ostatecznie gra na szczęście dodaje Sprite'owi powieki w kolorze cielistym.
Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|
Projekt oka Sonica nie został zaktualizowany we wszystkich klatkach: w jego animacjach patrzenia w górę i kucania po prostu dodali cieniowanie w górnej części oka, nie zmieniając jego kształtu.
Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|
Animacja chodzenia Sonica ma 12 klatek animacji we wcześniejszych wersjach w porównaniu z 8 klatkami widzianymi w ostatecznej wersji. Minimalna prędkość animacji jest również dwukrotnie większa niż w ostatecznej grze i pokazuje znacznie więcej amerykańskiego projektu „mohawk”.
Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|
Jedna z najłatwiejszych do zauważenia zmian: w kompilacji Nick Arcade i Simon Wai, gdy Sonic biegnie, jego buty i nogi zamieniają się w kreskówkową plamę. Zostało to stonowane w ostatecznej wersji, tak jak w Sonic 1, co wpłynęło tylko na jego trampki. Co dziwne, te wczesne sprite'y zostały użyte w zwiastunie Sonic 4 - Episode I. Ten rodzaj sprite'a został później ponownie użyty w Sonic Mania, gdy on lub Knuckles poruszają się z pełną prędkością.
Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|
Animacja poślizgu Sonica jest tutaj zupełnie inna. Zaczyna się od nowego, unikalnego początku, po czym ponownie wykorzystuje kilka klatek z Sonic 1, po czym odwraca się i zaczyna pchać w innym kierunku. Ostatnie dwie klatki będą zapętlone, aż Sonic albo całkowicie się zatrzyma, albo wykona inną akcję. Początek animacji został później ponownie wykorzystany na Sonic Mania.
Sonic 1 | Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|---|
W oryginalnej grze ciało Sonica porusza się, ale jego ręce nie. We wczesnych prototypach jego ręce poruszają się, ale jego ciało pozostaje w poziomie. Końcowy sprite dzieli różnicę i porusza ciałem i rękami w różnych klatkach. Co dziwne, na jego butach jest pomarańczowe zabarwienie, ponieważ sprite'y powstały z Sonic 1 z drobnym niedopatrzeniem kolorystycznym. Ten pomarańczowy odcień byłby najciemniejszym odcieniem czerwieni, gdyby wziąć pod uwagę główną paletę pierwszej gry.
Sonic 1 | Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|---|
Animacja balansowania jest po prostu szybszą wersją animacji „Sonic 1” z dodatkowym blaskiem głowy i pomarańczowymi ustami, ponieważ sprite'y są oparte na tych z Sonic 1 i podobnie jak animacja pchania, mają niedopatrzenia w swojej kolorystyce. Ostateczna gra dodaje cztery nowe animacje balansujące w oparciu o to, jak daleko Sonic jest od krawędzi i czy stoi twarzą do krawędzi.
Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|
Jedyna różnica w grafice Tailsa to dodatkowy blask jego wirującego sprite'a.
Badniki
Nick Arcade/Simon Wai | 21 Sierpnia i później |
---|---|
Sprite Buzzera został nieco poprawiony między buildem Simona Wai a 21 sierpnia: jego głowa została przeprojektowana, aby była mniej podobna do mrówki, dodano więcej szczegółów do brzucha, a dysze zostały wyprostowane.
Nick Arcade to August 21st | 14 Września Prototyp | CENSOR dalej |
---|---|---|
Wczesny sprite Crawla (0xA9580 w pamięci ROM) bardzo różni się od ostatecznego projektu, brakuje mu jakiejkolwiek animacji chodzenia i jest w stanie unieść tarczę tylko w jednym kierunku.
Inne Sprite'y
Nick Arcade | Simon Wai dalej |
---|---|
Wszystkie trzy drogowskazy były pierwotnie symetryczne. Ostatecznie symetryczny pizostał tylko Robotnik.
Nick Arcade | Simon Wai i dalej |
---|---|
Pod addressem 0xA3C16 jest sprite czegoś, co wygląda jak łamliwe klocki z Sonic 1. Jest tak ogólny, że mógłby być na każdym etapie, ale najbardziej przypomina klocki Hill Top. Były to z Sonic 1, a także tam nieużywane.
Nick Arcade | Simon Wai i dalej |
---|---|
Pod addressem 0xA4368 jest grafika przedstawiająca kulę ognia. Boss Hill Top w finalnej grze może strzelać ognistymi kulami, ale te kule ogniste rosną i kurczą się oraz mają trzy klatki animacji. Starszy sprite byłby prawdopodobnie ożywiony jak ogniste kule w Strefie Marble w Sonic 1:
Nieużyte grafiki
Sonic
Grafika | ID Klatki | Opis |
---|---|---|
0A-0B | Niewykorzystane sprite'y obracania się Sonic. Deweloperzy mogli mieć zamiar by Sonic obracał się podczas zmiany kierunku zamiast natychmiastowego zwrócenia się w drugą stronę, lub być może jest to zwycięska poza podobna do znaku celu Sonica w tej wersji. | |
40-43 4C-4F 58-5B 64-67 |
Sprite'y dla Sonica poruszającego się jeszcze szybciej niż normalnie. | |
44-47 50-53 5C-5F 68-6B |
Więcej sprite'ów dla Sonica prawdopodobnie osiągającego maksymalną prędkość. Spójrz na niego, jak tylko wystawia głowę. Tails ma animację pełnej prędkości, chociaż jedyną zmianą jest to, że jego dwa ogony używają tylko dwóch sprite'ów. | |
7B-7D | Niewykorzystana animacja Sonica ciągnącego lub niosącego coś. Mogły być zaplanowane elementy puzzlowe polegające na ciągnięciu lub przenoszeniu rzeczy. | |
8B-8C | Nieużywana animacja balansowania przez Sonica na krawędzi. Prawdopodobnie miało to być używane, gdy graczowi brakowało zaledwie kilka pikseli od upadku. Wygląda podobnie do animacji balansowania na krawędzi widzianej w Sonic the Hedgehog 3. |
Pozostałe
Grafika | Offset | Kompresja | Opis |
---|---|---|---|
0x27098 | Żadna | Element tła przedstawiający jaskinię przesłoniętą stalagmitami (i stalaktytami), a nie dziwną fioletową plamę. Używana we wczesnej wersji tła Hidden Palace widocznego na próbnym zrzucie, ale nie w żadnym prawdziwym (znanym) prototypie. | |
0x27798 | Żadna | Animowane kafelki, które nie są ładowane w żadnej strefie, ale wydają się całkiem dobrze pasować do palety poziomu Zakładów Chemicznych. Kod źródłowy pozostawiony z wcześniejszej wersji Sonic 2 sugeruje, że miały one zostać załadowane do pamięci VRAM w Chemical Plant Act 3 dla bossa. Boss Zakładów Chemicznych był określany jako „vacume” w pozostałym kodzie źródłowym i z jakiegoś powodu został usunięty, a cały jego unikalny kod został usunięty z tej kompilacji. | |
0x27DD8 | Żadna | Więcej animowanych kafelków przy użyciu palety Chemical Plant. W końcowej grze nie ma żadnych śmigieł ani wody na pierwszym planie | |
0xA44A0 | Nemesis | Coś co wygląda jak płonący kawałek czegoś. Wczesne grafiki koncepcyjne przedstawiają pszczołę podobną do Buzzera, która może niszczyć mosty, spalając je ognistymi kulami — to może być pozostałość tego pomysłu. | |
0xA4BCE | Nemesis | To jest jednokierunkowa brama Hill Top. Jest identyczna z tą w finalnej grze, po prostu nie została jeszcze zakodowana. | |
0xA5826 | Nemesis | Grafika dla obiektu Hidden Palace, prawdopodobnie pływającej platformy. Nie jest jasne, w jaki sposób zostałyby zmontowane. Podobny obiekt jest widziany w reedycji z 2013 jako platforma wodna. | |
0xA59C0 | Nemesis | Rozpraszająca się chmura, prawdopodobnie przeznaczona do źródeł pary w Strefie Metropolis. | |
0xA5D9E | Nemesis | Standardowy przełącznik Sonic 2 został już narysowany i zdigitalizowany w tym momencie, po prostu nie został jeszcze zakodowany. | |
0xA8CA0 | Nemesis | Kręcąca się metalowa kulka. Widoczna na niektórych wczesnych grafikach koncepcyjnych – działałaby jako przeszkoda, stale podskakując po podłodze po wysokim łuku. Co ciekawe, kod dla tego obiektu jest zaimplementowany w kompilacji Alpha. Odbijała się w losowym kierunku raniąc gracza w przypadku dotknięcia, zmieniałby kierunek po dotknięciu ściany. Można ją znaleźć w reedycji z 2013 za pośrednictwem trybu debugowania, chociaż używa innej palety i eksploduje, gdy unosi się nad głową gracza. | |
0xA8F36 | Nemesis | Niedokończony badnik o imieniu Bubbler's Mother. Latał po scenie, zrzucając na podłogę cząsteczki, które zamieniały się w Bubblery. Pojawiają się one również w wersji z 2013 za pośrednictwem trybu debugowania. W wersji z 21 sierpnia istnieje kod dla Bubbler's Mother, jednak pociski są niedokończone i nie tworzą Bubblerów. Zgodnie z grafiką koncepcyjną był przeznaczony dla „Chemical Factory Zone”, która ostatecznie stała się Chemical Plant Zone. | |
0xA9162 | Nemesis | Bubbler upuszczony przez Bubbler's Mother. Przykleiłby się do podłogi, zanim eksplodował w trzy bąbelki. W kompilacji z 21 sierpnia istnieje niedokończony kod dla Bubblera. Zgodnie z grafiką koncepcyjną był przeznaczony dla „Chemical Factory Zone”, która ostatecznie stała się Chemical Plant Zone. | |
0xA9580 | Nemesis | W duszkach Crawla jest coś, co wydaje się być skałami lub grudkami piasku. Crawl pierwotnie miał wyskoczyć z ziemi, a pod nim pojawił się piasek/skały. Pomysł został prawdopodobnie odrzucony po tym, jak Crawl został zmieniony na Strefę Casino Night. Co ciekawe, sprite jest używany w kompilacji z 21 sierpnia, jeśli zostanie przywrócona grafika Crawla. Piasek/skały były również widoczne w szkicu projektu Crawla. |
Używany | Zamierzony |
---|---|
Badnik BBat używa palety 01, ale wygląda to trochę dziwnie. Jeśli jest ustawiony na używanie palety 00 (Paleta Sonica i Tailsa), kolory ucha i płomienia wyglądają o wiele lepiej. Nie zostało to naprawione w żadnej wersji gry, zanim jego grafika i kod zostały całkowicie usunięte z ROM-u.
Nieużywane Obiekty
Octus
ID Obiektu: 4A
Ten badnik pojawia się w Strefie Oil Ocean w finalnej grze, choć jego zachowanie jest tutaj nieco inne:
- W tej i wersji Simona Waia unosi 32 piksele z ziemi, wystrzeliwuje pojedynczy strzał w Sonica, a następnie szybko leci w lewo lub w prawo, aż zniknie.
- We wszystkich innych wersjach po wystrzeleniu pocisku nie odleci, ale po prostu wyląduje na ziemi i powtórzy proces
Stego
Badnik typu triceratops, który pojawił się na próbnym zrzucie ekranu Strefy Hidden Palace. Powoli porusza się w przód i w tył, a kiedy Sonic się do niego zbliża, aktywuje silniki i szarżuje na niego jak ślimak-badnik. Można go umieścić w Hidden Palace w trybie debugowania, ale jego grafika jest zniekształcona bez użycia kodu PAR.
Gator
Badnik typu krokodyl, po raz pierwszy widziany na próbnym zrzucie ekranu z usuniętej strefy pustynnej, choć nie jest jasne, czy ten wróg miał się tam pojawić. Powoli porusza się w przód i w tył, otwierając szczęki, jeśli jest zwrócony w stronę Sonica i znajduje się w odległości 64 pikseli od niego. Można go umieścić używając debugowania w Strefie Hidden Palace, ale jego grafika jest zniekształcona bez użycia kodu PAR.
Aquis
Do Zrobienia: Uzyskaj materiał filmowy z ich zachowań. |
Badnik konik morski ze Strefy Oil Ocean ma dwa różne warianty, z których żaden nie pasuje do tego, jak zachowuje się w końcowej grze.
Obiekt 50 ("Konik Morski"):
- Porusza się po prostej ścieżce, od lewej do prawej iz powrotem. Zakres ruchu wynosi 16×(niższe cztery bajty podtypu) szerokości w pikselach.
- Po upłynięciu 256×(górne cztery bajty podtypu) klatek czasu, „tryb strzelania” zostaje włączony. Jeśli Sonic zbliży się do badnika, gdy jest on w trybie strzelania, a Sonic jest w zasięgu wzroku, wystrzeli pojedynczy strzał, a następnie zeskoczy do współrzędnych Y 0398. Wydaje się, że ta wartość jest zakodowana na stałe.
- Jeśli jego początkowa współrzędna Y jest większa niż 0398, powoli podniesie się do 0398. Następnie, gdy odda strzał, szybko wróci do swojej początkowej współrzędnej Y.
- Jeśli górne cztery bajty podtypu to 00, zegar jest ustawiony na FFFF skutecznie uniemożliwiając strzelanie.
- Zwróć uwagę na słowo „włączone”. Badnik może wyjść z trybu strzelania, jeśli minie wystarczająco dużo czasu.
Obiekt 51 (Konik powietrzny):
- Porusza się jak pierwszy Aquis na ustalonej ścieżce, ale będzie również śledzić pozycję Y Sonica do pierwotnej wysokości odrodzenia.
- Licznik odlicza czas dla każdej klatki, w której Sonic znajduje się w polu widzenia tego badnika. Jest to początkowo ustawione na 180 klatek. Gdy licznik osiągnie zero, wystrzeliwuje pojedynczy strzał w Sonica. Przed ponownym uruchomieniem timera strzału występuje dodatkowe 36 klatek opóźnienia.
- W przeciwieństwie do finałowej gry, nie ma ograniczeń co do liczby pocisków, które ten wróg może wystrzelić.
- Wykorzystuje alternatywną grafikę ciała z rakietą zamiast płetwy. Grafika tego ciała została usunięta z jego zestawu klocków począwszy od wersji Beta 4.
BFish
Badnik typu piranii. Poruszy się 32×(niższe cztery bajty podtypu) pikseli w prawo przed skokiem, a następnie wyskoczy wysokim łukiem. Dokładnie, jak to działa, zależy od jego początkowej i aktualnej pozycji Y:
- Jeśli jego początkowa pozycja Y jest mniejsza lub równa 0380 (podobnie jak Aquis, wydaje się, że jest to zakodowane na sztywno), podskoczy, a następnie będzie spadać, aż osiągnie współrzędną Y 0380. Następnie wykona skoki z tej pozycji Y, aż zniknie.
- Jeśli jego początkowa pozycja Y jest większa niż 0380, będzie animował się wolniej i podskakiwał po niższym łuku niż zwykle. Gdy osiągnie swoją początkową współrzędną Y, skacze ponownie.
Można go umieścić z pomocą debugowania w Strefie Hidden Palace, ale jego grafika jest zniekształcona bez użycia kodu PAR.
Lamppost
Jest to latarnia Sonic 1 o bardzo odmiennym designie niż ta widziana w ostatecznej wersji Sonic 2. Można ją umieścić w trybie debugowania w Strefach Emerald Hill i Hill Top. Pojawiają się w Emerald Hill, ale ich grafika jest zniekształcona.
Nieużywane Podtypy
Monitory
00: Monitor statyczny. Po zniszczeniu nic nie robi. W końcowej wersji gry (gdzie również nie jest używany), zadaje obrażenia graczowi.
03: Monitor Robotnik. Również nie robi nic w proto i uszkadza gracza w wersji finalnej, ale ten jest ostatecznie używany w trybie dla 2 graczy.
08: Tajemniczy monitor. Po zepsuciu nic nie robi... w tej wersji. W prototypie Simona Wai aktywuje paletę Super Sonic, a pozostałe atrybuty są później aktywowane w prototypach 21 sierpnia i przed beta, zanim zostaną zastąpione monitorem teleportacji w późniejszych wersjach.
09: Sprężynowy monitor. Obecny tylko w tym prototypie i kompilacji Simona Wai, ale nie robi nic, gdy jest zniszczony. Dwa domysły, jak by mógł działać:
- Jak monitor Pogo Spring w znacznie późniejszym Sonic the Hedgehog Triple Trouble, gdzie umieszcza Sonica/Tailsa na sprężynie pogo, która podskakuje w górę i w dół, dopóki nie odniosą obrażeń.
- Zwiększono wysokość skoku gracza. Pomogłoby to wyjaśnić moce Super Sonica: jest niepokonany (pasuje do wzmocnienia z monitora niezwyciężoności) i ma zwiększoną prędkość (jak monitor Speed Shoes), ale nie ma monitora odpowiadającego jego zwiększonej wysokości skoku.
Platformy Chemical Plant Zone
Wydaje się, że kod w tej wersji został ponownie wykorzystany z obiektu 52 w Sonic 1, który został użyty do ruchomych bloków w strefach Marble, Labyrinth, i Scrap Brain. Podtypy 02-03 (klocek Marble Zone, który porusza się w prawo po nadepnięciu, a następnie spada, gdy uderza w solidną płytkę), 04-07 (ukryty blok w akcie 1 strefy labiryntu aktywowany przełącznikiem, który prowadzi do szybszej trasy), i 09-0A (platformy przesuwne w Strefie Scrap Brain) są nieużywane w tej kompilacji.
Boss
00: Chemical Plant Zone boss. The code was completely removed and the pointers to it are set to 0. Leftover symbol data call the subobjects "bossvac" and "vacumeguy". Its graphics do remain in the ROM, alongside leftover entries for loading them. However, the code was rediscovered in the August prototype, and can be ported over to the Nick Arcade prototype. With just some small object ID and pointer fixes and restoration of those graphics load entries, it'll work just about right out of the box, as shown in the above video.
The behavior is different to the final, generally having slower movement.
Dziwności w Kodzie
- Gra ładuje układ i fragmenty Green Hill Zone z inną rutyną niż pozostałe etapy; próbuje również zastosować to do "Labyrinth Zone", ale nie działa z powodu wykorzystania danych Chemical Plant.
- Rutyna ładowania animowanych kafelków poziomów zawiera listę etapów aż do $0F, chociaż jest tylko $06 poziomów (w tym zakończenie Sonic 1); wydaje się to sugerować, że programiści już przesuwali identyfikatory etapów, co dodatkowo potwierdza fakt, że Hidden Palace jest wymieniony jako $08, który jest jego slotem zaczynając od wersji Simona Wai i dalszych.
- Jakoś, kompresja z Kid Chameleon znalazła się w kodzie, a nawet jest używana w kawałkach Green Hill!
Lista Obiektów/Kod Zródłowy
Ogromną listę obiektów można znaleźć w pamięci ROM, wraz z surowym kodem źródłowym.
addsym nolist include "equ.lib" include "macro.lib" list xref colichgpat xref ringpat,itempat,butapat,kanipat,hachipat,togepat xref fishpat,fish2pat,mogurapat,shimapat2,jyamapat xref musipat,sjumppat,kamerepat,arumapat,kagebpat,ballpat xref firepat,fblockpat,signalpat,bobinpat,yoganpat,yogan2pat xref usapat,yadopat,boxpat,bryukapat,daipat,break2pat,yogancpat xref batpat,z5daipat,dai2pat,switch2pat,z4daipat xref elevpat,pedalpat,steppat,funpat,sisoopat,hassyapat xref brobopat,unipat,yaripat,udaipat,dai3pat,kazaripat,kassyapat xref awapat,mizupat,boupat,benpat,fetamapat,mawarupat,hagurumapat xref patapat,yukafpat,nokopat,dai4pat,doorpat,yukaepat,fire6pat xref elepat,yukaipat,scolipat,imopat,savepat,bigringpat,btenpat xref actionsub,actwkchk,frameout,playpat,dualmodesub xref flicpat,usagipat,pengpat,azarpat,fbutapat,niwapat,risupat xref kaitenpat,prodaipat,buranko0dpat xref frntlitpat,gempat,wfallpat,pltfrmpat xref takipat,banepat,dai00pat xref redzpat,bfishpat,seahorsepat,horsepat xref stegopat,wasppat,gatorpat,bbatpat,octpat,wfish2pat,snailpat xdef edit ;------------------------------------------------------------------------------ edit: moveq #0,d0 move.b editmode,d0 move.w edit_move_tbl(pc,d0.w),d1 jmp edit_move_tbl(pc,d1.w) edit_move_tbl: dc.w editinit-edit_move_tbl dc.w editmove-edit_move_tbl editinit: addq.b #word,editmode move.w scralim_up,editstack move.w scralim_n_down,editstack2 move.w #$0000,scralim_up move.w #$0720,scralim_n_down andi.w #$07ff,playerwk+yposi andi.w #$07ff,scra_v_posit andi.w #$03ff,scrb_v_posit move.b #0,patno(a0) move.b #0,mstno(a0) cmpi.b #spgamemd,gmmode bne.b .jump0 * move.b #7-1,stageno * move.w #$000,rotspd * move.w #$000,rotdir moveq #7-1,d0 bra.b .jump1 .jump0: moveq #0,d0 move.b stageno,d0 .jump1: lea edittbl,a2 add.w d0,d0 adda.w (a2,d0.w),a2 move.w (a2)+,d6 cmp.b editno,d6 bhi.b .jump move.b #0,editno .jump: bsr.w editpatchg move.b #12,edittimer move.b #1,edittimer+1 editmove: moveq #7-1,d0 cmpi.b #spgamemd,gmmode beq.b .jump moveq #0,d0 move.b stageno,d0 .jump: lea edittbl,a2 add.w d0,d0 adda.w (a2,d0.w),a2 move.w (a2)+,d6 bsr.w editwalk * bsr.w dirsprset jmp actionsub editwalk: moveq #0,d4 move.w #1,d1 move.b swdata1+1,d4 andi.w #$0f,d4 bne.b .jump0 move.b swdata1,d0 andi.w #$0f,d0 bne.b .jump move.b #12,edittimer move.b #$0f,edittimer+1 bra.w .lend .jump: subq.b #1,edittimer bne.b .jump1 move.b #1,edittimer addq.b #1,edittimer+1 * cmpi.b #255,edittimer+1 bne.b .jump0 move.b #255,edittimer+1 .jump0: move.b swdata1,d4 .jump1: moveq #0,d1 move.b edittimer+1,d1 addq.w #1,d1 swap d1 asr.l #4,d1 move.l yposi(a0),d2 move.l xposi(a0),d3 btst.l #0,d4 *swdata+0 beq.b .jump2 sub.l d1,d2 *yposi bcc.b .jump2 moveq #0,d2 .jump2: btst.l #1,d4 *swdata+0 beq.b .jump3 add.l d1,d2 *yposi cmpi.l #$7ff0000,d2 bcs.b .jump3 move.l #$7ff0000,d2 .jump3: btst.l #2,d4 *swdata+0 beq.b .jump4 sub.l d1,d3 *xposi bcc.b .jump4 moveq #0,d3 .jump4: btst.l #3,d4 *swdata+0 beq.b .jump5 add.l d1,d3 *xposi .jump5: move.l d2,yposi(a0) move.l d3,xposi(a0) .lend: btst.b #6,swdata1+0 beq.b .jump7 btst.b #5,swdata1+1 * c button check beq.b .jump77 subq.b #1,editno bcc.b .jump6 add.b d6,editno bra.b .jump6 .jump77: btst.b #6,swdata1+1 beq.b .jump7 addq.b #1,editno cmp.b editno,d6 bhi.b .jump6 move.b #0,editno .jump6: bra.w editpatchg .jump7: btst.b #5,swdata1+1 * c button check beq.b .jump8 jsr actwkchk bne.b .worknai ;z=0:ok z=1:no move.w xposi(a0),xposi(a1) move.w yposi(a0),yposi(a1) move.b patbase(a0),actno(a1) move.b actflg(a0),actflg(a1) move.b actflg(a0),cddat(a1) andi.b #$7f,cddat(a1) moveq #0,d0 move.b editno,d0 lsl.w #3,d0 move.b 4(a2,d0.w),userflag(a1) rts .worknai: .jump8: btst.b #4,swdata1+1 * b button check beq.b .jump9 moveq #0,d0 move.w d0,editmode move.l #playpat,playerwk+patbase move.w #$0780,playerwk+sproffset tst.w dualmode ; dual mode check beq.b .end move.w #$0780/2,playerwk+sproffset .end: move.b d0,playerwk+mstno move.w d0,xposi+2(a0) move.w d0,yposi+2(a0) move.w editstack,scralim_up move.w editstack2,scralim_n_down cmpi.b #spgamemd,gmmode bne.b .jump9 * clr.w rotdir * move.w #$040,rotspd * move.l #playpat,playerwk+patbase * move.w #$0780,playerwk+sproffset move.b #02,playerwk+mstno bset.b #cd_ball,playerwk+cddat bset.b #cd_jump,playerwk+cddat .jump9: rts editpatchg: moveq #0,d0 move.b editno,d0 lsl.w #3,d0 move.l 0(a2,d0.w),patbase(a0) move.w 6(a2,d0.w),sproffset(a0) move.b 5(a2,d0.w),patno(a0) * move.b 4(a2,d0.w),userflag(a0) bsr.w dualmodesub rts dcblw macro \1,\2,\3,\4,\5 dc.l (\1)*$1000000+(\2) dc.w (\4)+(\5)*$100 dc.w (\3) endm edittbl: dc.w edit1tbl-edittbl dc.w edit2tbl-edittbl dc.w edit3tbl-edittbl dc.w edit4tbl-edittbl dc.w edit5tbl-edittbl dc.w edit6tbl-edittbl dc.w edit7tbl-edittbl edit1tbl: dc.w 14 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw item_act,itempat,$0680,0,$00 ;2: dcblw kani_act,kanipat,$0400,0,$00 ;3: dcblw hachi_act,hachipat,$0444,0,$00 ;4: dcblw fish_act,fishpat,$0470,0,$00 ;5: dcblw toge_act,togepat,$04a0,0,$00 ;6: dcblw shima_act,shimapat2,$4000,0,$00 ;7: dcblw jyama_act,jyamapat,$66c0,0,$00 ;8: dcblw musi_act,musipat,$04e0,0,$00 ;9: dcblw sjump_act,sjumppat,$04a8,0,$00 ;10: dcblw kamere_act,kamerepat,$249b,0,$00 ;11: dcblw kageb_act,kagebpat,$434c,0,$00 ;12: dcblw save_act,savepat,$26bc,0,$01 ;13: dcblw colichg_act,colichgpat,$26bc,0,$00 ;14: edit2tbl: edit3tbl: ;zone0d dc.w 07 dcblw ring_act,ringpat,$26bc,0,$00 ;01: dcblw item_act,itempat,$0680,0,$00 ;02: dcblw sjump_act,sjumppat,$04a8,0,$00 ;03: dcblw colichg_act,colichgpat,$07bc,0,$00 ;04: dcblw kaiten_act,kaitenpat,$e000,0,$00 ;05: dcblw prodai_act,prodaipat,$e418,0,$00 ;06: dcblw buranko_act,buranko0dpat,$2418,0,$08 ;07: edit4tbl: ;zone00 dc.w 18 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw item_act,itempat,$0680,0,$00 ;2: dcblw save_act,savepat,$047c,0,$01 ;3: dcblw colichg_act,colichgpat,$26bc,0,$00 ;6: dcblw taki_act,takipat,$23ae,0,$00 ;7: dcblw taki_act,takipat,$23ae,3,$02 ;7: dcblw shima_act,dai00pat,$4000,0,$01 ;8: dcblw shima_act,dai00pat,$4000,1,$0a ;8: dcblw toge_act,togepat,$2434,0,$00 ;10: dcblw sisoo_act,sisoopat,$03ce,0,$00 ;9: dcblw sjump_act,banepat,$045c,0,$80 ;3: banev dcblw sjump_act,banepat,$0470,3,$90 ;3: baneh dcblw sjump_act,banepat,$045c,6,$a0 ;3: banevr dcblw sjump_act,banepat,$043c,7,$30 ;3: bane45 dcblw sjump_act,banepat,$043c,10,$40 ;3: bane45r dcblw wasp_act,wasppat,$03e6,0,$00 ;25 "" "" dcblw snail_act,snailpat,$0402,0,$00 ;25 "" "" dcblw wfish2_act,wfish2pat,$041c,0,$00 ;21 "" "" dcblw redz_act,redzpat,$0500,0,$00 ;20: will change dcblw bfish_act,bfishpat,$2530,0,$00 ;21 "" "" dcblw seahorse_act,horsepat,$2570,0,$00 ;22 "" "" dcblw skyhorse_act,horsepat,$2570,0,$00 ;23 "" "" dcblw stego_act,stegopat,$23c4,0,$00 ;24 "" "" dcblw wasp_act,wasppat,$032c,0,$00 ;25 "" "" dcblw gator_act,gatorpat,$2300,0,$00 ;26 "" "" dcblw bbat_act,bbatpat,$2350,0,$00 ;27 "" "" dcblw oct_act,octpat,$238a,0,$00 ;28 "" "" edit5tbl: edit6tbl: edit7tbl: ;zone08 dc.w 15 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw item_act,itempat,$0680,0,$00 ;2: dcblw bgspr_act,frntlitpat,$e485,3,$21 ;3: dcblw wfall_act,wfallpat,$e415,4,$04 ;4: dcblw break_act,pltfrmpat,$4475,0,$00 ;5: dcblw colichg_act,colichgpat,$26bc,0,$00 ;6: dcblw redz_act,redzpat,$0500,0,$00 ;20: will change dcblw bfish_act,bfishpat,$2530,0,$00 ;21 "" "" dcblw seahorse_act,horsepat,$2570,0,$00 ;22 "" "" dcblw skyhorse_act,horsepat,$2570,0,$00 ;23 "" "" dcblw stego_act,stegopat,$23c4,0,$00 ;24 "" "" dcblw wasp_act,wasppat,$032c,0,$00 ;25 "" "" dcblw gator_act,gatorpat,$2300,0,$00 ;26 "" "" dcblw bbat_act,bbatpat,$2350,0,$00 ;27 "" "" dcblw oct_act,octpat,$238a,0,$00 ;28 "" "" ;------------------------------------------------------------------------------ align ;------------------------------------------------------------------------------ end edit2tbl: dc.w 25 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw item_act,itempat,$0680,0,$00 ;2: dcblw sjump_act,sjumppat,$0523,0,$00 ;3: dcblw fish2_act,fish2pat,$2486,0,$08 ;4: dcblw mogura_act,mogurapat,$84a6,2,$00 ;5: dcblw yari_act,yaripat,$03cc,0,$00 ;6: dcblw yari_act,yaripat,$03cc,3,$02 ;7: dcblw box_act,boxpat,$43de,0,$00 ;8: dcblw switch2_act,switch2pat,$0513,0,$00 ;9: dcblw toge_act,togepat,$051b,0,$00 ;10: dcblw dai_act,udaipat,$43bc,0,$04 ;11: dcblw dai3_act,dai3pat,$43e6,0,$01 ;12: dcblw dai3_act,dai3pat,$43e6,1,$13 ;13: dcblw dai3_act,dai3pat,$43e6,0,$05 ;14: dcblw kazari_act,kazaripat,$443e,0,$00 ;15: dcblw dai3_act,dai3pat,$43e6,2,$27 ;16: dcblw dai3_act,dai3pat,$43e6,3,$30 ;17: dcblw kassya_act,kassyapat,$03f6,0,$7f ;18: dcblw uni_act,unipat,$0467,0,$00 ;19: dcblw awa_act,awapat,$8348,19,$84 ;20: dcblw mizu_act,mizupat,$c259,2,$02 ;21: dcblw mizu_act,mizupat,$c259,9,$09 ;22: dcblw bou_act,boupat,$43de,0,$00 ;23: dcblw ben_act,benpat,$4328,0,$02 ;24: dcblw save_act,savepat,$26bc,0,$01 ;25: * dcblw dai4_act,dai4pat,$41f0,4,$80 ;25: edit3tbl: dc.w 18 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw item_act,itempat,$0680,0,$00 ;2: dcblw hachi_act,hachipat,$0444,0,$00 ;3: dcblw toge_act,togepat,$051b,0,$00 ;4: dcblw sjump_act,sjumppat,$0523,0,$00 ;5: dcblw mfire_act,firepat,$0345,0,$00 ;6: dcblw fblock_act,fblockpat,$4000,0,$00 ;7: dcblw myogan_act,yoganpat,$63a8,0,$00 ;8: dcblw yogan2_act,yogan2pat,$63a8,0,$00 ;9: dcblw box_act,boxpat,$42b8,0,$00 ;10: dcblw yado_act,yadopat,$247b,0,$00 ;11: dcblw bryuka_act,bryukapat,$42b8,0,$00 ;12: dcblw dai_act,daipat,$02b8,0,$00 ;13: dcblw break2_act,break2pat,$62b8,0,$00 ;14: dcblw yoganc_act,yogancpat,$8680,0,$00 ;15: dcblw bat_act,batpat,$04b8,0,$00 ;16: dcblw imo_act,imopat,$24ff,0,$00 ;17: dcblw save_act,savepat,$26bc,0,$01 ;18: edit4tbl: dc.w 15 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw item_act,itempat,$0680,0,$00 ;2: dcblw elev_act,elevpat,$4000,0,$00 ;3: dcblw break2_act,break2pat,$44e0,2,$00 ;4: dcblw shima_act,z4daipat,$4000,0,$00 ;5: dcblw pedal_act,pedalpat,$4000,0,$00 ;6: dcblw step_act,steppat,$4000,0,$00 ;7: dcblw fun_act,funpat,$43a0,0,$00 ;8: dcblw sisoo_act,sisoopat,$0374,0,$00 ;9: dcblw sjump_act,sjumppat,$0523,0,$00 ;10: dcblw mfire_act,firepat,$0480,0,$00 ;11: dcblw bgspr_act,hassyapat,$44d8,0,$00 ;12: dcblw brobo_act,brobopat,$0400,0,$00 ;13: dcblw uni_act,unipat,$2429,0,$00 ;14: dcblw save_act,savepat,$26bc,0,$01 ;15: edit5tbl: dc.w 15 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw item_act,itempat,$0680,0,$00 ;2: dcblw toge_act,togepat,$051b,0,$00 ;3: dcblw sjump_act,sjumppat,$0523,0,$00 ;4: dcblw aruma_act,arumapat,$04b8,0,$00 ;5: dcblw signal_act,signalpat,$0000,0,$00 ;6: dcblw bobin_act,bobinpat,$0380,0,$00 ;7: dcblw kani_act,kanipat,$0400,0,$00 ;8: dcblw hachi_act,hachipat,$0444,0,$00 ;9: dcblw yado_act,yadopat,$247b,0,$00 ;10: dcblw shima_act,z5daipat,$4000,0,$00 ;11: dcblw dai2_act,dai2pat,$4000,0,$00 ;12: dcblw switch2_act,switch2pat,$0513,0,$00 ;13: dcblw imo_act,imopat,$24ff,0,$00 ;14: dcblw save_act,savepat,$26bc,0,$01 ;15: edit6tbl: dc.w 29 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw item_act,itempat,$0680,0,$00 ;2: dcblw brobo_act,brobopat,$0400,0,$00 ;3: dcblw uni_act,unipat,$0429,0,$00 ;4: dcblw imo_act,imopat,$22b0,0,$00 ;5: dcblw buranko_act,fetamapat,$4391,2,$07 ;6: dcblw haguruma_act,hagurumapat,$c344,00,$e0 ;7: dcblw dai_act,daipat,$22c0,2,$28 ;8: dcblw switch2_act,switch2pat,$0513,0,$00 ;9: dcblw pata_act,patapat,$4492,0,$03 ;10: dcblw pata_act,yukafpat,$04df,0,$83 ;11: dcblw noko_act,nokopat,$43b5,0,$02 ;12: dcblw break2_act,break2pat,$43f5,0,$00 ;13: dcblw dai_act,daipat,$4460,3,$39 ;14: dcblw dai4_act,dai4pat,$22c0,0,$00 ;15: dcblw door_act,doorpat,$42e8,0,$00 ;16: dcblw dai4_act,dai4pat,$22c0,1,$13 ;17: dcblw noko_act,nokopat,$43b5,0,$01 ;18: dcblw dai4_act,dai4pat,$22c0,1,$24 ;19: dcblw noko_act,nokopat,$43b5,2,$04 ;20: dcblw dai4_act,dai4pat,$22c0,1,$34 ;21: dcblw yukae_act,yukaepat,$44c3,0,$00 ;22: dcblw fire6_act,fire6pat,$83d9,0,$64 ;23: dcblw fire6_act,fire6pat,$83d9,11,$64 ;24: dcblw ele_act,elepat,$047e,0,$04 ;25: dcblw yukai_act,yukaipat,$42f0,0,$00 ;26: dcblw scoli_act,scolipat,$8680,0,$11 ;27: dcblw buta_act,butapat,$2302,0,$04 ;28: dcblw save_act,savepat,$26bc,0,$01 ;29: * dcblw ring_act,playpat,$0780,50,$00 ;28: * dcblw usa_act,usapat,$0448,0,$00 ;5: * dcblw mawaru_act,mawarupat,$4348,16,$00 ;7: edit7tbl: dc.w 02 *13 dcblw ring_act,ringpat,$26bc,0,$00 ;1: dcblw ring_act,ringpat,$26bc,8,$00 ;2: * dcblw bobin_act,bobinpat,$0380,0,$00 ;2: * dcblw usagi_act,flicpat,$05a0,0,$0a ;3 * dcblw usagi_act,flicpat,$05a0,0,$0b ;4 * dcblw usagi_act,flicpat,$05a0,0,$0c ;5 * dcblw usagi_act,usagipat,$0553,0,$0d ;6 * dcblw usagi_act,usagipat,$0553,0,$0e ;7 * dcblw usagi_act,pengpat,$0573,0,$0f ;8 * dcblw usagi_act,pengpat,$0573,0,$10 ;9 * dcblw usagi_act,azarpat,$0585,0,$11 ;10 * dcblw usagi_act,fbutapat,$0593,0,$12 ;11 * dcblw usagi_act,niwapat,$0565,0,$13 ;12 * dcblw usagi_act,risupat,$05b3,0,$14 ;13
Warto zwrócić uwagę na tę grupę kodu:
dcblw redz_act,redzpat,$0500,0,$00 ;20: will change dcblw bfish_act,bfishpat,$2530,0,$00 ;21 "" "" dcblw seahorse_act,horsepat,$2570,0,$00 ;22 "" "" dcblw skyhorse_act,horsepat,$2570,0,$00 ;23 "" "" dcblw stego_act,stegopat,$23c4,0,$00 ;24 "" "" dcblw wasp_act,wasppat,$032c,0,$00 ;25 "" "" dcblw gator_act,gatorpat,$2300,0,$00 ;26 "" "" dcblw bbat_act,bbatpat,$2350,0,$00 ;27 "" "" dcblw oct_act,octpat,$238a,0,$00 ;28 "" ""
Te wiersze kodu znajdują się w bloku, który tworzy listę debugowania Strefy Hidden Palace z wcześniejszej kompilacji. Zawartość listy wydaje się być identyczna z faktycznie skompilowaną wersją w pamięci ROM; jednak daje nam informacje o obiektach w Strefie, które mogły być wcześniej nieznane:
- Redz to czerwony badnik T-rex, który pojawia się w Hidden Palace.
- Bfish to skaczący rybny badnik, którego nie używał prototyp Simona Wai.
- Seahorse to Aquis, morski badnik, który ostatecznie był w Strefie Oil Ocean.
- Skyhorse jest najprawdopodobniej drugim obiektem Aquis na liście debugowania Hidden Palace (wersja, która wystrzeliwuje nieszkodliwy pocisk).
- Stego to badnik triceratops, którego nie używał prototyp Simona Wai.
- Wasp to Buzzer, pszczoła badnik, która znajduje się w Emerald Hill we wszystkich znanych wersjach „Sonic 2”. W tym prototypie ma również miejsce na liście debugowania Hidden Palace.
- Gator to aligator/krokodyl badnik, którego nie używa prototyp Simona Wai.
- Bbat to nietoperz bombardujący, który pojawia się w Strefie Hidden Palace.
- Oct to Octus, ośmiornicowy badnik, który ostatecznie był w Strefie Oil Ocean.
Te same wiersze są zduplikowane na liście debugowania Emerald Hill, ale nie są używane, ponieważ gra jest poinformowana, że lista debugowania Emerald Hill będzie zawierała 18 wpisów, a wszyscy wrogowie z Hidden Palace znajdują się po wpisie numer 18.
Ten fragment nieskompilowanego kodu wskazuje również, że kolejność stref obecna w tej kompilacji zostanie zmieniona nawet na tym wczesnym etapie. Lista debugowania Emerald Hill jest oznaczona jako Strefa 00, co oznacza Zielone Wzgórze w tej kompilacji, ale Emerald Hill w późniejszych kompilacjach. Podobnie Hidden Palace jest oznaczony jako Strefa 08, gdzie znajduje się w późniejszych kompilacjach i finalnie.
Drugi zestaw etykiet editXtbl wydaje się odpowiadać listom debugowania „Sonic 1”, ale nie pasuje dokładnie do żadnej istniejącej wersji. Warto zauważyć, że listy edit2tbl i edit6tbl mają wpisy poprzedzone gwiazdkami, które nie pojawiają się w ostatecznej wersji gry. Wpisy oznaczone gwiazdką w edit7tbl istnieją tylko w Sonic 1 REV00.
Misc. Leftovers/Earlier Versions of Objects
Inside the ROM, mixed in with the symbol tables and debug mode source code is what appears to be leftover RAM contents from the assembler that includes additional symbols, and also assembled code. What should be noted is that the data is from a previous build, and some objects do indeed have different code.
Emerald Hill Zone Boss
Differences include different positioning, a lack of hitbox for the drill, and a weird bobbing movement for the ship's body. The wheels also do not detect floor collision until they fall off the body.