Hallo Besucher, der Thread wurde 5,3k mal aufgerufen und enthält 26 Antworten

letzter Beitrag von cbm-warrior am

Aufgefrischte C16 und Plus/4-Programme, Nachbesserungen und Cracks

  • Programm: Udo Gertz Graphic Editor
    Commodore Plus/4 World: http://plus4world.powweb.com/s…/Udo_Gertz_Graphic_Editor


    Fix: Basic Loader entfernt , die "MG"-Abfrage ausgehebelt und mit Exomizer (-17 Blocks) gepackt.


    Typ: PRG



    Der Editor ist nun ein auf dem Commodore Plus/4 ausführbares PRG. Funktionierte im VICE und YAPE einwandfrei. Vielleicht kann es ausser mir noch jemand gebrauchen.


    Ich habe dieses separate Thema aufgemacht, da ich in nächster Zeit noch weitere C16 und P/4 Programme entkäsen möchte.

  • Rockman für den Plus/4


    Ist jetzt ein One-File und es sollte keine Probleme mehr mit der Zeichensatz-Darstellung geben.

  • Soundbug drinnen, Grafikmüll im Titelbild.


    Eine Plus/4 fähige Version ist auf der Plus/4 World als prg zu finden.


    Ach, herrje. Dieses Geschräpe muss viel hochfrequenter sein, kannte das Original nicht. Mache mal einen Screenshot vom Grafikmüll. Könnte wieder ein Bug im Yape sein. Werde es kurz nachbessern und vielleicht noch einen Trainer einbauen. Hatte die PRG-Version übersehen.


    Edit: Sound 1,770,0: Sound 2,770,0 ist wohl der übliche Workaround für den Sound-Bug im Spiel.

  • Soundbug drinnen, Grafikmüll im Titelbild.

    Der Fehler lag in der Emulation:


    Yape

    Vice


    Habe den kleinen Soundfehler nachgebessert. Ist vollständig Assembler und kein Speicherabbild mit Basiczeile wie die Version bei Plus/4 World. Nur Trainer wurden es nicht. Die Tastaturabfrage mit dem P/4 ist ein echter Horror und ich hatte nur Bock mal ein bisschen in 6502 ASM zu machen. Das ist hiermit erst mal wieder befriedigt. :) Jetzt geht es wieder an QT und C++ ...

  • Man müsste es mal auf einem echten Plus/4 testen. Dann kann man sehr genau sagen, welcher Emulator wirklich Mist ist. :)


    Der Vice hat Schwächen im Rasterzeilen-IRQ, Yape im Modulbereich ... ist alles Software in der Entwicklung.

  • Man müsste es mal auf einem echten Plus/4 testen. Dann kann man sehr genau sagen, welcher Emulator wirklich Mist ist. :)

    Wofür testen? Es lag eine für den Plus/4 voll funktionsfähige Version vor, die auf dem YAPE einwandfrei funktioniert. Stattdessen wird diese ignoriert und und eine neue vermurkste Version in den Raum geworfen.

  • Um herauszufinden wo das Problem liegt. Und ich habe es getestet: es handelt sich um einen Fehler im VICE der mich irregeführt hat. Und ich kann den Entwicklern da nicht mal einen Vorwurf machen, wäre sowieso unangebracht, aber da stehe ich im Moment selbst auf dem Schlauch.


    Wenn ich mit #$3c die Register für die Zeichensatzlage nach $ff13 schreibe, läuft das Programm im VICE anstandslos. Im Yape und dem echten Plus/4 sieht es eher mürbe aus.


    Ich weiß ja nicht was du da in den Code herumgehackt hast um den Grafikfehler auszubessern. Würde der mit den richtigen Befehlen behoben, würde es richtig starten.


    Das Programm startet richtig und die richtigen Befehle :) sind für einen Programmierer eher Werte ins Register.


    Läuft leider doch nicht richtig. Aber es kann sehr gut dazu dienen, um den Mangel im VICE zu beheben. Daher ist es auch richtig dass man manchmal einfach etwas macht, auch wenn es man Ende nicht ganz das macht was es soll :) , kann es dennoch anderen bei der Fehlersuche helfen. Werde mal versuchen ob ich jemandem das vom VICE-Team schicken kann.


    So ein altes trötendes Klötzchenspiel ist keine heilige Kuh, die niemand anrühren darf, weil es doch schon 1985 so war und man Angst vor Veränderung hat.

  • Zitat

    Habe den kleinen Soundfehler nachgebessert. Ist vollständig Assembler und kein Speicherabbild mit Basiczeile wie die Version bei Plus/4 World. Nur Trainer wurden es nicht. Die Tastaturabfrage mit dem P/4 ist ein echter Horror und ich hatte nur Bock mal ein bisschen in 6502 ASM zu machen. Das ist hiermit erst mal wieder befriedigt. :) Jetzt geht es wieder an QT und C++ ...

    Err...seems it hasn't been fixed yet, even in the newer version: $FF12 bit 2 should be off. Moreover, you might bytepacking it to make it work on 16K machines too.

  • Yes, you get right. There may be also an issue with the $FF12 Reset-defaults in the VICE xplus4. Unfortunately this time I need some space above $4000 to place the improved code.With a full reassembly there are surely a lot of possibilities to strip the code to 16k including some improvements.

    For this version: $4100> soundfix and improved game main-routine , $4200> short intro


    Noch kurz in Deutsch ... habe den Fehler nun gefunden: es ist wie Luca schon erwähnte $FF12 und der Vice hat nach dem Reset scheinbar einen falschen Wert im Register. Auch 16k konnte ich es mit der schnellen Version jetzt nicht schaffen, da müsste man es schon gründlich mit dem Reassembler auseinander nehmen. Und das ist mir im Moment zu viel Arbeit.

  • Auch 16k konnte ich es mit der schnellen Version jetzt nicht schaffen, da müsste man es schon gründlich mit dem Reassembler auseinander nehmen. Und das ist mir im Moment zu viel Arbeit.

    Ich sehe nur mit einen Maschinensprachemonitor auf Anhieb genug freien Speicher, wo die Routinen abgelegt werden können innerhalb des 16 KB Adressraumes … aber interessiert ja hier niemanden.

  • Dann kreuze die Stelle mal kurz an. Der Bereich von $1000-10da reicht nicht aus und der Zeichensatz sollte drin bleiben.



  • Zunächst frage ich mich, wofür der Code von $4000 bis 4067.


    Der Fehler liegt einzig und allein beim Zugriff auf $FF13. Man hätte im Originalcode den Wert ändern können und fertig. Genau so hat Mastertronic übrigens selber den Code korrigiert, damit das Programm auch an einen Rechner mit Erweiterung oder Plus/4 abläuft.


    Für den Rest stehen in der erweiterten Zeropage genug freie Stellen zur Verfügung. Man müßte mal eben prüfen, ob der Kassettenpuffer vom Programm genutzt wird, daneben sehe ich ab $065E auch nichts vom Programm.

  • Wie Luca schon erwähnte gibt keine korrigierte Version und warum sieht auch jeder mit etwas Ahnung auf den ersten Blick. Die Game Main-Routine liegt ab $1cc7 im Speicher und ist eine Kette JSR-Befehlen mit etwa 1-2kb Speicherbedarf. Da müssten die Umschaltungen der Zeichensatz-Bänke eingeschleift werden, damit es auch immer sauber funktionieren kann. Also vor der Intro, danach zum Menü und letztlich zum Spielstart.

    In diesen Bereich kann man nicht eingreifen, weil man nicht sicher weiss, ob Rücksprünge bei Verschiebungen dann falsch ankommen. Vorne angestellt wird dann noch die kleine Assembler-Routine für die zwei Sound-Befehle, die dann locker in den Bereich ab $1000 passt.

    Man müsste tiefgreifend das Programm ändern und dabei auf Glück mit dem Murks hoffen. Jemand mit etwas Ahnung greift dann zum Reassembler und strukturiert es neu. Dann könnte auch die hakelige Tastaturabfrage im Menü nachgebessert werden.

    Mit ein paar Byte Zeropage, Tapebuffer oder anderen Kinkerlitzchen kann man da gar nichts machen.


    Aus den eben genannten Gründen habe ich diese ganze Hauptroutine mit Nachbesserungen im Bereich am $4000 untergebracht. Das ist beim Plus/4 sowieso herzlich egal und für den C16 kann immer noch das Speicherabbild von Plus/4 World verwendet werden.