Borderabfrage kleines Prob!

Es gibt 20 Antworten in diesem Thema, welches 3.871 mal aufgerufen wurde. Der letzte Beitrag (28. April 2007 um 15:56) ist von sauhund.

  • Hi Leute,

    ich mache grad den Asm Kurs im 64Intern, läuft soweit ganz gut.
    Nun bin ich an dem Teil Tastaurabfrage und Steuerung angelangt.
    Es handelt sich um ein einfaches Prg. welches einen Ball (Tastaturgrafik)
    auf den Screen zeichnet den man mittels Pfeiltasten steuern kann.
    Es wird der Rahmen abgefragt damit der Ball nicht aus den Screen laufen kann. Das funktioniert oben und links sehr gut,
    Nur unten und rechts werden plötzlich unkontrolliert Bälle gezeichnet wenn der Ball den Rahmen an diesen Stellen trifft.
    Nur wenn ich eine Spalte / zeile zusätlich zwischen Ball und rechten bzw. unterem Rahmen einfüge klappts.
    Wisst ihr wie ich das ändern kann, ich hab den Quelltext mal an gehängt !
    Wäre klasse wenn ihr mir helfen könntet !

    Danke schonmal vorab
    ;)
    Spindizzy

  • stell mal den asm-code rein, sonst kann es nicht beurteilen.

    mfg

  • Hi Super Castle,

    ich hab die Datei angehängt, da ich es mit dem Mon von FC III direkt im Vice gehackt habe hab kann ich den code leider nicht herauskopieren :nixwiss:


    ;)
    Spindizzy

  • kannst du das nicht als asm abspeichern?

    mfg

  • hi leutz,

    hier mal schnell der Code via Cut&Paste. :)

    p3p3

  • Hi p3p3,

    vielen dank, hast Du das ausm Vice irgendwie rauskopiert ?


    regards
    ;)
    Spindizzy

  • Wird er wohl mit dem intregierten Monitor gemacht haben.

    Aber wieso baust du, wenn du eh mit Emu arbeitest, so kompliziert?
    Schaf dir nen Crossassembler an, ACME ist ganz gut, und programmier mit WatWeisIch Notepad. Wenn du eh nicht an der echten Maschine sitzt ist das doch viel komfortabler :)

    Blog: Bitte melde dich an, um diesen Link zu sehen. - The Seventies Board: Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ein Terminal und ein Z80 :D

  • Hi BastetFurry,

    stimmt hab relaunch uns Acme, ich fands einfach ne Weile lang kultiger wieder direckt in den Speicher zu hacken ;) !

    Hat sich aber wieder gelegr (man is halt verwöhnt) ;)


    regards
    Spindizzy

  • @Spindizzy:
    habe das file in VICE geladen dann Alt+M und im Monitor einfach " D c000 c05f" eingetippt. alles markiet und via Strg+C und Strg+V hierrein gepostet.

    Leider habe ich noch keine Zeit gefunden denn code zu checken. Man muss halt bei so ein scheenes Wetter arbeiten :(.


    mfg
    p3p3

  • vermutlich liegt es an der $FFD2.

    wenn du ein zeichen per tastatur in die 40. spalte schreibst, wird ja auch der screen um eine zeile nach unten verschoben und die zeile quasi auf 80 zeichen erweitert.

    der $FFC0 setzt wohl die cursorposition auf x und y. schau mal, wo die "echte" position dann abgelegt wird (wird wohl irgendwelche zeropageaddressen sein,
    die die bildschrimposition als speicherstelle repräsentiert).
    schreibe DA dann einfach hin, anstatt den $JSR $FFD2 zu nehmen...

  • Hi Roland;),

    >wenn du ein zeichen per tastatur in die 40. spalte schreibst, wird ja >auch der screen um eine zeile nach unten verschoben und die zeile >quasi auf 80 zeichen erweitert.

    klingt einleuchtend !

    >schau mal, wo die "echte" position dann abgelegt wird..

    wie und wo kann ich das sehen ?


    Danke für Deine Mühe
    ;)
    Spindizzy

  • kannst ja einfach mal jsr $ffc0 mit x=3 und y=2 aufrufen, und danach schauen,
    wo $0453 in der zeropage steht
    (also, erst #$53 und in einer darauf folgenden zeropage $Bitte melde dich an, um diesen Link zu sehen.).

    das werden dann vermutlich die adressen sein, wo es $ffc0 ablegt
    (kannst natürlich auch versuchen, den code ab $ffc0 nachzuvollziehen...aber anders gehts wohl schneller)

    zum testen dann eindach nochmal mit anderen x und y werten überprüfen....

  • äh ???

    der Pointer auf die aktuelle Video Adresse liegt in der ZP $00d1-$00d2 !

    hier eine schöne site dazu: Bitte melde dich an, um diesen Link zu sehen.

    p3p3

  • Zitat

    Aber wieso baust du, wenn du eh mit Emu arbeitest, so kompliziert? Schaf dir nen Crossassembler an, ACME ist ganz gut, und programmier mit WatWeisIch Notepad. Wenn du eh nicht an der echten Maschine sitzt ist das doch viel komfortabler

    wer nicht mindestens mal ein kleines intro im monitor gecoded hat lernt es nie :)

  • du kannst auch dein programm über die schnittstelle vom pc zum c64 übertragen.

    der relaunch64 mit acme ist ein schnelles tool zum entwickeln und testen.
    man lernt auch hier besser die befehle kennen für den 65..ziger prozessor.


    mfg

  • Zitat

    man lernt auch hier besser die befehle kennen für den 65..ziger prozessor.

    genau das wage ich sehr zu bezweifeln. grade die essentiellen grundlagen lassen sich in einem monitor viel besser lernen.

  • ich zum beispiel code (wenn denn mal) fast ausschließlich nur im monitor. habs nicht anders gelernt. hat alles vor- und nachteile...

  • Zitat

    Original von sauhund
    genau das wage ich sehr zu bezweifeln. grade die essentiellen grundlagen lassen sich in einem monitor viel besser lernen.


    Sorry dass ich das so drastisch sagen muss, aber: SCHWACHSINN!

    Wie andere schreiben hat beides Vor- und Nachteile. Hier aber so zu tun, als ob man nur per im Monitor "die essentiellen Grundlagen" lernen kann, ist total daneben.

    Genau so gut könnte ich behaupten, dass man die essentiellen Sachen nur lernt, wenn man sein Programm per Hand in die Binärcodes übersetzt und dann per Schalter und Taster direkt in den Speicher eintippert... Ist genau so dämlich.

    Gruß,
    - Spiro.