Fachleute für Z80 sind andere wie M. J.
Öh, ich habe die CPC-Programmierung von oobdoo gelernt.
Hallo Besucher, der Thread wurde 32k mal aufgerufen und enthält 251 Antworten
letzter Beitrag von Ebster am
NEW C16 Vertical Arcade Game: PHOENIX-recovered
- Sorbas2020
- Erledigt
-
-
M. J. Ich hab das direkt aus dem Mame debugger, der zeigte Intel 8085A an. Ich dachte immer dass der kompatibel zum Z80 ist. (ok scheinbar nicht)
Ich schau mal ob ich ein Onlinetool finde. -
M. J. Ich hab das direkt aus dem Mame debugger, der zeigte Intel 8085A an. Ich dachte immer dass der kompatibel zum Z80 ist. (ok scheinbar nicht)
Der 8080/8085 ist zum Z80 kompatibel. Umgekehrt nicht, weil der Z80 einen erweiterten Befehlssatz hat.
Ich schau mal ob ich ein Onlinetool finde.
https://onlinedisassembler.com/odaweb/
https://www.heise.de/download/product/ghidra kann alle möglichen Prozessoren.
-
M. J. Ok, muss mich jetzt erst mal mit Ghidra etwas vertraut machen, aber hier mal ein Listing in pdf.
-
Ich dachte immer dass der kompatibel zum Z80 ist
Ja, ist er, aber die Assemblersprache ist anders. Zilog hat bei Einführung des Z80 die Syntax (sinnvoll) überarbeitet. So wurde z. B. aus "mov m, a" ein "ld (hl), a" und aus "ana a" ein "and a" wie auch aus "ani 3" ein "and #3" usw.
Ok, muss mich jetzt erst mal mit Ghidra etwas vertraut machen, aber hier mal ein Listing in pdf.
Danke, allerdings würde ich eine reine Textdatei bevorzugen, da man diese auch beliebig bearbeiten kann. Nebenbei: Du kannst auch oobdoos Disassembler nehmen.
Ach, weißt Du was, schick mir doch bitte einfach die Romdatei, dann kann ich das Disassembly selber anfertigen. (Hab meinen eigenen Disassembler, der auch gleich eine reassemblierbare Programmdatei ausspuckt.)
-
Ging es hier nicht mal um ein künftiges und tolles C16 Spiel a la Phoenix?
-
Nebenbei: Du kannst auch oobdoos Disassembler nehmen.
Nein kann er nicht, weil der noch nicht fertig ist.
-
Ja es geht am Ende um ein Game für den 6502 aber für den Bird Level würde mich interessieren wie beim Original Arcade game die horizontalen Bewegungen (die vertikale durch HW-scroll ist mir klar), realisiert wurden. Also wie und wo die Felder: Shape id(0-30), Y-pos (0-25), Number of V-Blanks (0-x) in Tabellen organisiert sind. (Und das aber für insgesamt 8 Birds!) Und vor allem wie viele Tabellen dafür genutzt wurden. Rev-eng vom ROM file könnte da vielleicht Antworten darauf geben. Und Ghidra scheint dafür geeignet.
M. J. hier das rom file. -
Mir ist noch nicht ganz klar ob es bei den Phoenix-Birds auch eine Art von KI gibt, oder alles in Tabellen fix hinterlegt ist. Oder gar eine Kombination aus beiden.
Bisher hab ich in Mame64 mit: "Plugin Options / Cheat / Invincibility" beobachten können, dass sich die Birds teilweise gerne zur Player Ship position hin bewegen.Ja stimmt. Bei vielen meiner eigenen "Phoenix" Partien konnte ich auch feststellen, dass es manchmal so ist, dass die Gegner des ersten und zweiten Levels relativ weit nach unten kommen, dann einer von ihnen seitlich kurz aus dem Bildschirm verschwindet, um dann circa auf der Höhe des Spielers seitlich wieder in's Bild hineinzukommen. Fast als wollte er den Spieler berühren oder ihm unten einen Teil des Weges abschneiden. Hier hilft dann oft, sich knapp vor den näherkommenden Gegner zu stellen, den Schutzschirm zu aktivieren und zu warten, bis der Gegner einen dann rammt, sodaß er draufgeht, man selbst aber überlebt. Aber ob da nun eine bestimmte KI bei den Gegnern dahintersteckt oder ob das eher simplen Mustern bei den Angriffen folgt, unabhängig von der Spieler-Position, kann ich auch nicht sagen. Bei der Atari-2600 Version ist es mit Sicherheit Letzteres, aber bei der Arcade-Version nicht einfach zu sagen.
-
Hallo,
hier ein kurzes update zum Stand der Dinge.
Hab die DrawShape Routine so überarbeitet, dass jetzt Darstellungen im teilweise sichtbaren Bereich auch möglich sind.
Dh. das PlayerShip kann sich jetzt auch ganz nach rechts und links bewegen und Objekte werden nicht mehr plötzlich
abgeschnitten bevor sie das Spielfeld verlassen.Der Overall game flow ist fertig.
Mit der WAVE_2 Entwicklung warte ich noch auf die Bewegungsdaten vom Original. ( M. J. )
Ich arbeite gerade an der WAVE_3, also am Mothership (Boss) Level.Da der C16 keine HW-Sprites kann, und alles mit Chr's aufgebaut ist, kommt es da eben zu unschönen Auslöschungen,
wenn die Aliens das Mothership überfliegen.Wird man aber wohl in Kauf nehmen müssen.
Ich möchte auf die Aliens in dieser WAVE nicht verzichten.
Ich hab aber jetzt auch nicht vor das Game auf Bitmap Grafik umzustellen.(ich denke das wär die einzig perfekte Lösung).Code für: 'degree of destruction' (für bunker und rotating-layer) kommt jetzt dann als nächstes dran.
(das ist der komplexere Teil an der Sache.. )
-
Ich glaube die Bewegungsdaten (Muster) sind das A und O von Phönix, die machen das Gameplay so schön gemeint. Besonders die ersten beiden Level sollten so genau wie möglich sein. Habe Dank Dir bisher ein paar Stunden Phönix auf Mame gezockt (Ohne den Monitor zu drehen, obwohl ich es könnte dank Pivot).
Im Original gibt es durch die Hardware auch Fehldarstellungen, das gehört zum Spiel dazu. In Sachen Kollision finde ich das Original relative ungenau, nur wenn der Schuss genau von vorne trifft, wird dieser als Treffer gewertet.
-
Hallo,
der komplexere Teil am Mothership ist jetzt fertig (Collisiondedection am Shield und rotating layer).
Jetzt bin ich an der ScoreBerechnung dran (1000-9000 abhängig von verschiedenen Faktoren).
Mothership : 1,000 - 9,000 points (may depend on how close the mothership is to you fighter when you kill the Alien Queen; may also depend on the amount of damage to the mothership, speed of destruction, as well as the number of spaceships destroyed). Usually, first 9 spaceships would increase by a thousand, then will be followed by nine 9000 point spaceships, then back to the first nine set, etc...
Siehe: https://www.arcade-history.com/index.php?page=detail&id=1961
Dann die Explosionsanimation.
-
Das sieht richtig gut aus!
-
Versteht irgendjemand eigentlich den letzten Satz?
Usually, first 9 spaceships would increase by a thousand, then will be followed by nine 9000 point spaceships, then back to the first nine set, etc...
-
Vielleicht so: das erste Mothership ergibt 1000 Punkte, beim zweiten Mal gibt es 2000 Punkte usw. bis zum 9., da gibt es 9000 Punkte. Dann gibt es für die nächsten 9 nochmals jeweils 9000 Punkte, und dann geht es wieder von vorne los (also mit 1000 Punkten).
-
Kosmas das deckt sich aber nicht mit meinen Beobachtungen!
Ich glaub nicht dass es für den MothershipScore einen Mechanismus über mehrere Spielrunden gibt.
Ich werd das jetzt so implementieren:
Die 17 möglichen X-Positionen werden über eine Table den Werten von 0, 1400, 2400, ...7400 fix zugeordnet. Plus 50 für jeden vollständig zerstörten Balken (shield) und 50 für jeden RotatingLayerTeil. Ergibt dann max: 9200. Das deckt sich zwar auch nicht 100%ig mit meinen Beobachtungen, ist aber logisch und fair.
-
Hallo,
Die Version für den C16 ist jetzt kurz vor der Fertigstellung. Das heißt: Die beiden Bigbirds Level sind fertig und es geht ans Feintuning und Testen.
-
Cool, freue mich schon auf den Release. Besonders auf den der 4:3 C64 Version. Phoenix ist einfach ein prima Klassiker, den ich sowohl in der Arcade, als auch in der C64 und besonders in der Atari VCS-2600 Version, sehr gerne spiele.
-
Hallo,
Aus meiner Sicht ist das Game soweit jetzt fertig. Natürlich gäbe es noch die eine oder andere weitere Funktion die man noch einbauen könnte.....
Aber es würde sonst immer so weiter gehen.... Es würde niemals fertig werden und nie zu einer Release kommen.
Und deshalb präsentiere ich jetzt nach ca. 1.5 Jahren Entwicklungszeit (in der Freizeit ) die Version für den C16/Plus4. (C64 Version gibts dann auch bald).
Also, wie immer, Bug findings, Erfahrungsberichte, Highscores, und konstruktive Kritik sind wie immer erwünscht.
Viel Spaß
Sorbas
-
Hab es gerade mal im YAPE und in der VICE plus4.exe ausprobiert. Insgesamt gefällt es mir gut, also gute Arbeit. Zwei Sachen fielen mir aber auf, wo ich nochmal nachfragen wollte.
- das Aktivieren des Schutzschirms ist scheinbar wieder auf "nach oben lenken" (zumindest im VICE ist es so), dabei ist es in allen anderen Heimversionen des Spiels auf "nach unten lenken", was ja auch schon ein paarmal im Thread angesprochen wurde. Kann man das nicht anpassen, daß es hier genauso wie bei den ganzen anderen Heimversionen des Spiels ist? Ich drücke instinktiv immer nach unten um den Schirm einzuschalten, weil ich das einfach von der Atari VCS-2600 Version und von "Eagle Empire" am C64 so gewohnt bin. Wird sicher vielen genauso gehen, die Macht der Gewohnheit ist nicht zu unterschätzen, da tut man sich schwer, es umzustellen und warum auch eigentlich? Kann man ja hier auch auf "nach unten lenken" legen.
- wenn in den Leveln 3 und 4 die Vögel anfangs auftauchen und noch in diesen Bällen drin sind, dann ruckelt es ziemlich stark am Screen. Auch wenn die Vögel fliegen, gibt es irgendwie ruckartige Bewegungen bei ihnen. Ich vermute, das war am C16 nicht anders umsetzbar? Bei der C64 Version denke ich mal, sollte dieses Ruckeln dann ja behebbar sein, oder wie siehst du das? Vor allem für die normale 4:3 Version des C64 Ports (also die nicht-gedrehte) wäre es gut zu wissen.