Hallo Besucher, der Thread wurde 21k mal aufgerufen und enthält 69 Antworten

letzter Beitrag von Phoenix0870 am

LocoBasic vs. Basic 3.5/7.0

  • Hier das gepatchte DSK Image und das Listing als Printout. Ich habe sicherheitshalber nochmal das Original von Odo genommen und folgendes gepatched:


    Das hast Du richtig erkannt mit der Zeile 900. Das war ein Abtippfehler im letzten Jahr, als ich das nach Z80 konvertieren wollte und eine lauffähige BASIC Version haben wollte.

    900 ggx=gx:ggy=gy:gy=gy+gs:SOUND 2,284,10,15,1,1


    Du hast recht, die Zeile 2835 ist überflüssig und wurde von mir zum Debuggen eingebaut. Ist ja doof, wenn das Programm aussteigt und alle Farben auf schwarz stehen.

    2835 ist gelöscht


    Zeile 2680 korrigiert (EI statt lei):
    2680 GOSUB 2760:GOSUB 2870:GOSUB 2850 :EI:RETURN


    Printout.txt
    FruttyMan_Patched_v1.2.7z


    Ich verkomme ja hier noch zum CPC Sklaven :bgdev

  • Und der nächste Fehler. :D


    Zeile 2730 ist eine Kopie von Zeile 2530 (FOR/PEN/LOCATE/PRINT/NEXT), sollte laut Heftlisting aber eigentlich lauten: 2730 LOCATE 1, 24:PRINT "HSC :"; hsc


    @sys: Zeile 2690 kann raus, das ist dead code.

  • Und der nächste Fehler. :D


    Zeile 2730 ist eine Kopie von Zeile 2530 (FOR/PEN/LOCATE/PRINT/NEXT), sollte laut Heftlisting aber eigentlich lauten: 2730 LOCATE 1, 24:PRINT "HSC :"; hsc


    @sys: Zeile 2690 kann raus, das ist dead code.

    2690 ist gelöscht
    2730 LOCATE 1,24:PRINT"HSC :";hsc


    Hier noch eine Diskrepanz: Die Zeile 2740 ist im Listing beim Printen der Variable MA ohne Semikolon abgebildet, in Odos Fassung ist mit Semikolon. Ich nehme an, es soll mit sein, wie in Zeile 2730.
    2740 LOCATE 1,25:PRINT"MAN :";ma


    Neue Version im Anhang.
    Frutty-Source.txt
    FruttyMan_Patched_v1.3.7z



    <EDIT> Interessant ist es schon zu sehen, wie fehleranfällig die Eingabe so ist. Der Screeneditor des C64 hat auch seine Vorzüge: Beim CPC kann man nicht einfach eine BASIC Zeile mit LIST ausgeben und diese direkt editieren und mit ENTER einfach bestätigen. Nein, man muss EDIT <Zeile> eingeben. Finde ich eher mühsam. Im Emulator WinCPC kann ich auch nicht wie im VICE Copy & Pasten, zumindest geht CTRL + C / V nicht und auch im Menu finde ich nix.


    <EDIT2>Ah, es geht als Tastatur-Eingabe-Simulation per CTRL + F11 (LOL, man kann das *ganze Listing so eintippen lassen! Dauert halt eine Weile, ausser man setzt die Refreshrate auf 50x / Sek rauf...), was im Clipboard ist.
    Für ein ganzes Listing BAS <---> TXT geht im WinPAE auch der folgende Weg:

  • Wenn das Spiel tatsächlich in einem 20x25 Textmodus mit umdefinierten Zeichen läuft, wäre der VC-20 die geeignetste Plattform für eine Umsetzung

    Das war auch schon mal mein Gedanke, als ich mit oobdoo da mal rumgekaspert habe (siehe #29): Wert in Excel suchen


    Bietet sich ja wirklich an. Ich hatte auch mal kurz angefangen, dann aber wieder an anderen Sachen gebastelt.

  • Und noch einer. Zeile 540 lautet 540 IF gy<t THEN GOSUB 880, korrekt ist aber 540 IF gy<y THEN GOSUB 880.

    Done:


    Printout.txt
    FruttyMan_Patched_v1.4.7z

  • EI statt lei

    "EI" :D (Easter Egg...?!?). Ich dachte schon weiter oben erst: DAS kann doch kein Befehl sein?!? Was schreibt der 'sys' denn da... :S . Hab' dann aber doch lieber noch mal gegooglet: Gibbet ja tatsächlich: 'EI' & 'DI'. Sachen gibt's... :schande::drunk:

  • So, Schluss für heute. Beim Entwirren des Programmflusses hab ich gerade bemerkt, dass einige Unterprogramme per GOTO zurück in die Hauptschleife springen. Somit wird, wenn man es nur lang genug spielt, unweigerlich der Stack überlaufen. Kann man natürlich alles fixen, aber nicht jetzt. :D


    Mein aktueller Stand (nicht lauffähig, da teilweise mit BBC-Basic-Keywords):

  • "EI" (Easter Egg...?!?). Ich dachte schon weiter oben erst: DAS kann doch kein Befehl sein?!? Was schreibt der 'sys' denn da... . Hab' dann aber doch lieber noch mal gegooglet: Gibbet ja tatsächlich: 'EI' & 'DI'. Sachen gibt's...

    Ich verzeihe Dir diesen Faux-Pas zu so fortgeschrittener Stunde, aber weiter oben hat das jemand schon verlinkt/herausgefunden :D

  • Ich verzeihe Dir diesen Faux-Pas zu so fortgeschrittener Stunde, aber weiter oben hat das jemand schon verlinkt/herausgefunden

    Ich sehe/finde es nicht... :cry: - :search: wohl zu klein. Egal ^^ .


    Edit: Die Links in #39? DIE hab ich mir allerdings nicht angeguckt... Nunja...

  • Edit: Die Links in #39? DIE hab ich mir allerdings nicht angeguckt... Nunja...

    Nein sorry. Ich finde es auch nicht mehr.
    Wird wohl in einer Diskussion in der SB gewesen sein, dort wurden die Interrupt Befehle wohl verlinkt:
    DI
    EI


    Sorry, my bad.

  • Noch eine Info zum Copy Cursor und zum editieren im WinCPC Emulator statt Windows Texteditor:


    Mode 2
    Macht 80 Zeichen. Fühlt sich fast Amiga-haft an auch von der Schrift her. Mode 1und Mode 0 machen weniger Zeichen bei mehr Farben. Mode 1 hat 4, mode 0 hat 27 und Mode 2 hat 2 Farben.


    List 200-300
    Delete 210-250
    -> listen und auch löschen mehrerer Zeilen


    Wenn Zeilen am Bildschirm stehen und unser cursor ganz links und eine Zeile die uns interessiert 5 Zeilen über uns:


    Shift halten, dabei mit dem Cursor auf die interessante Zeile. Ein zweiter Cursor löst sich aus dem ersten und ruht am Beginn der oberen Zeile.


    Dann Shift loslassen und Alt drücken. Jeder Druck auf Alt kopiert ein Zeichen von oben nach unten und bewegt den Cursor weiter. Zeichen beim Kopieren auslassen durch Shift Cursor rechts statt Alt.


    Wegen so was programmiere ich tatsächlich auch im CPC direkt. Für den C64 wegen Augen Krebs und Umstand nur noch in PSPad. Der CPC kann auch 256 Zeichen pro Zeile statt 80. Was dann aber nicht gut für die Übersicht ist sondern nur für 10 Liner Compos.


    Überschreiben von listings unter gleichem Namen mit save"name ist kein Problem. Er legt immer eine .bak Datei gleichen Namens zusätzlich an die man laden kann.


    Löschen :


    |era,"file.bas"


    Peripherie Wechsel :


    |a:
    |b:
    |tape
    |cpm

  • Und wenn jetzt schon ein paar Leute mehr als sonst den CPC im Auge haben, hänge ich hier meine letzten Basic Demos an. Jeweilige Diskette nach Laufwerk A rein und


    run"disc


    eingeben.


    bzw. run"-disc


    bei Triangles-Demo.


    Das ist alles reines Basic und es geht schon was mit dieser Kiste was andere 8 Bitter so out of the bbox nicht hinkriegen. Natürlich bleibe ich dem C64 weiter treu. Aber eher in Richtung ASM. Wenn man vor lauter lda und cmp mal zuviel hat und eine Hochsprache will, dann ist es bei mir eben immer öfter Amstrad Basic statt V2 Basic, bzw. seit Kurzem auch basic 3.5 auf dem Plus/4. Soweit auch ganz befriedigend im Vergleich zu V2.

  • Anbei noch ein nacn MacBacons Methode extrahiertes Listing das die Macht des "tag" Befehls zeigt:


    Der "dir" Befehl beim CPC heißt einfach cat


    Also nix mit load"$",8:list

  • Es gibt sogar zwei "dir" Befehle - catalog und directory. Und bevor über die Länge des Befehls gejammert wird - einfach F3 auf dem 128er drücken und das Inhaltsverzeichnis wird angezeigt, Information at your fingertips anno 1986. Falls ein Floppyfehler auftrat, kann dieser mit print ds$ angezeigt werden. :D


    load"$",8:list ist doch sowas von Basic V2.0 :D


    Ach ja, wer wissen will, wie die Funktionstasten belegt sind: key verrät es. Über den gleichen Befehl können die Tasten auch neu belegt werden.

  • @ Tale-X


    Erstmal erkunde ich den Plus4. Und dann komme ich evtl. doch beim C128 an. Es scheint eine geile Entwicklermaschine zu sein. Warum dann nicht wenigstens die Demoszene darauf angesprungen ist wundert mich.
    Vielleicht weil für den C64 das Publikum einfach größer war und sich sonst optisch zu wenig unterscheidet in der Darstellung.

  • Und wenn Frutty Man sowieso zur Zur Zeit auf dem OP Tisch liegt und von Sourcecode Chirurgen untersucht wird, wäre ich dafür, evtl. das Gameplay besser zu machen. Es würde schon reichen das Gegner-Sprite einen Tick langsamer zu machen. Bisher ist Frutty technisch nett, aber dann doch eher unspielbar wenn man weiter kommen will.

  • Bisher ist Frutty technisch nett, aber dann doch eher unspielbar wenn man weiter kommen will.

    vs:

    @syshack
    Unspielbar? Nö, Du bist einfach nur alt

    :biglach:



    Hey Leute, das geht doch nicht. Wir können doch nicht FM64 für Odo machen. Der kriegt uns noch eine Midlife-Sinnkrise! :prof:
    Der wollte das doch selbst in 6505 ASM machen.... Nehmt ihm doch den Spass nicht weg....das ist sein Baby! :spassbremse: