TrapThem64 - WIP

Es gibt 1.096 Antworten in diesem Thema, welches 187.974 mal aufgerufen wurde. Der letzte Beitrag (25. Februar 2020 um 20:49) ist von Vernunftmensch.

  • :thumbup: :thumbup: :thumbup:


    Aber größten Respekt vor der Arbeit. Denke auch -wie schon von jmd. erwähnt-, wenn VM erst überlegen würde, welches Gerüst her muss und möglich wäre und dann nach dieser -vorher durchdachten- Struktur coden würde, dann würde er 'was gutes Hinbringen. Hochbegabt genug isser ja wirklich schonmal locker :D .. .

    Beim ersten Start der Engine hab' ich aber auch erstmal blöd geguckt. "Wo ist die Steuerung ?" dachte ich. Ständig welchselte das Charset zu etwas ansehlich noch Kryptischerem (vermutlich Interrupteffekte / halbe aber lustigerweise nicht komplette -Prg. freezes, sobald man irgendeine 'Taste' etc. betätigte), als ich versuchte die Figur (Port 1) zu steuern u. zudem spontan keine Aktion per Feuertaste festgestellt, sondern immer sense sobald man ein (Erd-)Char erreichte. Einzig das Gamemenü / Enginemenü erschien immer 'mal wieder auf 'unvorhergesehene Weise' (per Feuerknopf oder mit welchem Eingabebefehl auch immer :nixwiss:, -sobald einmal mit Enter aktiviert kommt es selbst per Joy Eingabe immer wieder: on/off on/off das Menü, das einzige 'was dann noch läuft / Spielfigur bewegt sich dann nur noch Charweise, Feuerknopf auf beiden Ports plötzlich = Menü etc.-) usw. .. :).

    Naja bis ich merkte, dass sich zumindest bei Port 2 dann ja doch 'was tut, man kann schonmal die Figur smooth in alle 4 Richtungen bewegen, bis zum nächsten Zeichensatz Char... ... ;).

  • Ich denke einfach ihr beiden würdet das bessere TrapThem bauen können...

    Na, ich werde doch nicht J-Snakes Millionenspiel plagiieren! :D
    ...genaugenommen habe ich bisher weder die PC- noch die C64-Version überhaupt ausprobiert. Bei ersterer wird sich das vermutlich auch nie ändern.

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..

  • Die Dreher funktionieren auch prima im vierten Level.

    Wie schon im dritten Level doppelt groß, leider ist die Blockphysik hier noch diskret.

  • Diese Fehlermeldung bekomme ich bei VICE "andauernd" (übertrieben gesagt). Bei Demos wohl vor allem, je nach Code.. . Ein Grund warum mir VICE nicht immer zusagt.

  • Zitat

    Denke auch -wie schon von jmd. erwähnt-, wenn VM erst überlegen würde, welches Gerüst her muss und möglich wäre und dann nach dieser -vorher durchdachten- Struktur coden würde

    Speicherbelegungsplan TrapThem64

    $fffe bis $ffff IRQ-Vektor (2 Bytes)
    $fec0 bis $fffe Frei (62 Bytes)
    $fcc0 bis $fec0 Feste Blöcke für die acht Sprites. (64*8 Bytes)
    $fa40 bis $ffc0 Explosionsspriteanimation (10 Einzelbilder).
    $f950 bis $fa40 Kleine Spritesanimationen (30 Einzelbilder).
    $f550 bis $f950 Zeitzündersprites (256 Kleinzahlen)
    $f470 bis $f550 Erw. Viechdatenblöcke (7 reale Sprites).
    $f000 bis $f470 Markierungsstack (1.136 Bytes)
    $e800 bis $f000 Bildzeichensatz (2kb)
    $e400 bis $e800 Einfrierbildschirm mit Anhang (1kb)
    $e000 bis $e400 Sichtbarer Bildschirm mit Anhang (1kb)
    $dbe8 bis $e000 Dreherschlangen (1048 Bytes)
    $d000 bis $dbe8 Diamantenfeld (1.000 Bytes)
    $cbe8 bis $d000 cc65-Stack (1.048 Bytes)
    $c800 bis $cbe8 Zustandsfeld (1.000 Bytes)
    $1b00 bis $c800 Oberer Spielcode (44.288 Bytes)
    $0ffe bis $1b00 Musik (2.818 Bytes)
    $07ff bis $0ffe Unterer Spielcode (2.047 Bytes)
    $0400 bis $07ff Startfeld mit Auswahlspriteanhang (1kb)
    $00ff bis $0400 Erweiterte Zeropage (1kb)
    $1c bis $ff Zeigerspeicher (227 Bytes)
    $00 bis $1c cc65-ZP (28 Bytes)

  • Und schon gleich einen Fehler eingebaut.

    Speicherbelegungsplan TrapThem64

    $fffe bis $ffff IRQ-Vektor (2 Bytes)
    $fec0 bis $fffe Frei (62 Bytes)
    $fcc0 bis $fec0 Feste Blöcke für die acht Sprites. (64*8 Bytes)
    $fa40 bis $ffc0 Explosionsspriteanimation (10 Einzelbilder).
    $f950 bis $fa40 Kleine Spritesanimationen (30 Einzelbilder).
    $f550 bis $f950 Zeitzündersprites (256 Kleinzahlen)
    $f470 bis $f550 Erw. Viechdatenblöcke (7 reale Sprites).
    $f000 bis $f470 Markierungsstack (1.136 Bytes)
    $e800 bis $f000 Bildzeichensatz (2kb)
    $e400 bis $e800 Einfrierbildschirm mit Anhang (1kb)
    $e000 bis $e400 Sichtbarer Bildschirm mit Anhang (1kb)
    $d800 bis $e000 Spezialleveldaten (1.024 Bytes)
    $d800 bis $dc00 Beißeraufwachfeld mit Zusatzinformation (1.024 Bytes)
    $d400 bis $d800 Drehervierrichtungsfeld mit Zusatzinformation (1.024 Bytes)
    $d000 bis $d400 Diamantenanzahlfeld mit Zusatzinformation (1.024 Bytes)
    $cbe8 bis $d000 cc65-Stack (1.048 Bytes)
    $c800 bis $cbe8 Zustandsfeld (1.000 Bytes)
    $1b00 bis $c800 Oberer Spielcode (44.288 Bytes)
    $0ffe bis $1b00 Musik (2.818 Bytes)
    $07ff bis $0ffe Unterer Spielcode (2.047 Bytes)
    $0400 bis $07ff Startfeld mit Auswahlspriteanhang (1kb)
    $00ff bis $0400 Erweiterte Zeropage (1kb)
    $1c bis $ff Zeigerspeicher (227 Bytes)
    $00 bis $1c cc65-ZP (28 Bytes)

  • Da du ja offensichtlich einen Speicherbelegungsplan hast, würde ich dir empfehlen, entsprechende Konstanten in deinem Source zu definieren und dann auch zu benutzen. Das erhöht die Lesbarkeit, das Verständnis und macht den Code weniger fehleranfällig. Und falls du mal aus irgendwelchen Gründen deine Speicherbelegung ändern musst, änderst du im optimalen Fall nur den Wert einer Konstanten.

  • Zitat

    Diese Fehlermeldung bekomme ich bei VICE "andauernd" (übertrieben gesagt). Bei Demos wohl vor allem, je nach Code.. . Ein Grund warum mir VICE nicht immer zusagt.


    dir sagt vice nicht zu weil die kaputten programme die du startest tatsächlich auch abstürzen? na dann!


  • Vermutlich fängt deine extended zeropage auch erst bei $0100 an.
    Da sind dann auch noch ein paar andere 'Doppelbelegungen' dieser Art.
    Den Tipp unten mit den Konstanten solltest du wirklich ernst nehmen.
    Das hilft ungemein, sowohl dir als auch Leuten die deinen Code lesen sollen.

    LG -duke!


  • dir sagt vice nicht zu weil die kaputten programme die du startest tatsächlich auch abstürzen? na dann!

    Das sind keine kaputten Programme, ..das sind ganz offizielle Demos und Prg., bei denen das Auftritt (weil die CPU Emulation irgendwas nicht mitmacht oder so in der Art).
    Werde das aber 'mal auf org. Hardware testen. Vlt. kann ich 'mal Beispiele geben, bei denen VICE scheinbar schlapp macht, hab' jetzt auswendig keine Demo od. Spiel im Kopf.

  • Speicherbelegungsplan TrapThem64

    $fffe bis $ffff IRQ-Vektor (2 Bytes)
    $fec0 bis $fffd Frei (62 Bytes)
    $fcc0 bis $febf Feste Blöcke für die acht Sprites. (64*8 Bytes)
    $fa40 bis $ffbf Explosionsspriteanimation (10 Einzelbilder).
    $f950 bis $fa3f Kleine Spritesanimationen (30 Einzelbilder).
    $f550 bis $f94f Zeitzündersprites (256 Kleinzahlen)
    $f470 bis $f54f Erw. Viechdatenblöcke (7 reale Sprites).
    $f000 bis $f46f Markierungsstack (1.136 Bytes)
    $e800 bis $efff Bildzeichensatz (2kb)
    $e400 bis $e7ff Einfrierbildschirm mit Anhang (1kb)
    $e000 bis $e3ff Sichtbarer Bildschirm mit Anhang (1kb)
    $dc00 bis $dfff Spezialleveldaten (1.024 Bytes)
    $d800 bis $dbff Beißeraufwachfeld mit Zusatzinformation (1.024 Bytes)
    $d400 bis $d7ff Drehervierrichtungsfeld mit Zusatzinformation (1.024 Bytes)
    $d000 bis $d4ff Diamantenanzahlfeld mit Zusatzinformation (1.024 Bytes)
    $cbe8 bis $cfff cc65-Stack (1.048 Bytes)
    $c800 bis $cbe7 Zustandsfeld (1.000 Bytes)
    $1b00 bis $ctff Oberer Spielcode (44.288 Bytes)
    $0ffe bis $1aff Musik (2.818 Bytes)
    $07ff bis $0ffd Unterer Spielcode (2.047 Bytes)
    $0400 bis $07fe Startfeld mit Auswahlspriteanhang (1kb)
    $0100 bis $03ff Erweiterte Zeropage (1kb)
    $001c bis 00$ff Zeigerspeicher (227 Bytes)
    $0000 bis $1b cc65-ZP (28 Bytes)

    $e000 bis $ffff Kernal (Über $1 zu schalten)
    $d800 bis $dbe7 Zusätzlicher Farbspeicher (IO)
    $d000 bid $dfff IO (Über $1 einzuschalten)
    $0ffe bis $1aff Levelstart (Codeein u. -auslagerung über Diskette)
    $0400 bis $07ff Sichtbarer Bildschirm (Im Tausch mit $e400 während Menüführung)

  • Die CPU Emulation ist so ziemlich das Simpelste bei einem Emu, Bugs sind da hinreichend unwahrscheinlich - welche VICE-Version soll das denn sein?

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..

  • Zitat

    Das sind keine kaputten Programme, ..das sind ganz offizielle Demos und Prg., bei denen das Auftritt (weil die CPU Emulation irgendwas nicht mitmacht oder so in der Art).


    ich fürchte die CPU emulation ist durchaus korrekt und auch viele "offizielle" demos und programme stürzen mal ab. ansonsten nenne doch mal ein konkretes beispiel, dann liesse sich diese behauptung leicht überprüfen.