Mini Competition für "Grid"-Problem

Es gibt 165 Antworten in diesem Thema, welches 26.316 mal aufgerufen wurde. Der letzte Beitrag (5. September 2022 um 11:55) ist von -trb-.

  • neue regel: Groesse muss ueber 25 Byte bleiben :)
    Mist - ich glaub ich raff mich nicht zu einem ganz neuen Ansatz auf und zweifel meins noch beschneiden zu koennen....
    Bin ja mal gespannt - bin aber erst Montag wieder hier.
    Viel Spass noch!

    Es ist echt besser keinen source zu posten und bei so kleinen evtl. nichtmal die Groesse obwohl das immer ein ganz cooler Ansporn ist.

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Zitat

    Original von Roland
    yo....es gibt da unterschiedliche ROM versionen.......

    Ok, trotzdem versteh ich das nicht.
    Ich beschreibs nochmal, falls es etwas unklar war:

    Wenn ich die 8 bytes für das "Gitter-Fragment-Zeichen" in den Speicher lege und dann per poke $d018 ändere, sollte ja eigentlich alles auf dem Screen was LEER ist das neue Zeichen erhalten. Klappt beim Aldi-C64 auch prima - sollte wohl eigentlich auch so sein.
    Bei dem Uralt-Brotkasten funzt es nicht.
    Irgendwas ist da faul, da der Cevi plötzlich auf ein und dem selben Bildschirm beide Zeichen (das alte LEERE und das neue Gitter-Dingens) darstellt. Eigentlich sollte er doch nur eins von beiden kennen, wie kann er da beide darstellen.
    Das lustige daran : das alte LEERZeichen bleibt überall da, wo (scheinbar seit dem letzten CLRSCR) nichts passiert ist erhalten.
    Wenn ich vor dem Poke aber eine Zeile mit SPACE fülle, ist diese dann richtig dargestellt - nämlich mit dem Gitter.

    Wie soll das denn funktionieren ???? ?( ?(

  • Zitat

    Original von DrCreep

    Ok, trotzdem versteh ich das nicht.
    Ich beschreibs nochmal, falls es etwas unklar war:

    Wenn ich die 8 bytes für das "Gitter-Fragment-Zeichen" in den Speicher lege und dann per poke $d018 ändere, sollte ja eigentlich alles auf dem Screen was LEER ist das neue Zeichen erhalten. Klappt beim Aldi-C64 auch prima - sollte wohl eigentlich auch so sein.
    Bei dem Uralt-Brotkasten funzt es nicht.
    Irgendwas ist da faul, da der Cevi plötzlich auf ein und dem selben Bildschirm beide Zeichen (das alte LEERE und das neue Gitter-Dingens) darstellt. Eigentlich sollte er doch nur eins von beiden kennen, wie kann er da beide darstellen.
    Das lustige daran : das alte LEERZeichen bleibt überall da, wo (scheinbar seit dem letzten CLRSCR) nichts passiert ist erhalten.
    Wenn ich vor dem Poke aber eine Zeile mit SPACE fülle, ist diese dann richtig dargestellt - nämlich mit dem Gitter.

    Wie soll das denn funktionieren ???? ?( ?(

    es gibt bei sehr alten c64s eine rom version, in der die FARBEN die in $d800 bei einem Clearscreen (jsr e544) gesetzt werden NICHT aus der cursorfarbe ($0286) kommt, sondern aus $D021 ....
    Daher haben dann die Spaces auf dem Bildschirm die selbe Farbe wie der Hintergrund (und du kannst das veränderte Zeichen nicht sehen).

    Ist aber nur eine sehr geringe Anzahl an C64s, bei denen dass noch so ist.

  • Zitat

    Original von Roland
    es gibt bei sehr alten c64s eine rom version, in der die FARBEN die in $d800 bei einem Clearscreen (jsr e544) gesetzt werden NICHT aus der cursorfarbe ($0286) kommt, sondern aus $D021 ....
    Daher haben dann die Spaces auf dem Bildschirm die selbe Farbe wie der Hintergrund (und du kannst das veränderte Zeichen nicht sehen).

    Das erklärt alles. :D

    Zitat


    Ist aber nur eine sehr geringe Anzahl an C64s, bei denen dass noch so ist.

    Aber ausgerechnet an so einem verflixten Exemplar hab ich die ganze Zeit verzweifelt gearbeitet.
    Ansonsten nur im Vice - hab halt gedacht das wäre der Unterschied zw. Emu und Original.
    Da aber alles nichts half hab ich dann als letzten Versuch den Aldi-C64 rausgekramt und siehe da - es lief.
    Da hätt ich ne Menge Zeit sparen können ! :grr: :aerger: :grr:

  • nicht jammern - lernen :)
    (und vice viiiel weniger vertrauen)

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Zitat

    Original von enthusi
    nicht jammern - lernen :)
    (und vice viiiel weniger vertrauen)

    jetz tu nich so als hättest Du das gewusst :D


    ps: fordere neue Regel : es muß auf jedem Cevi laufen - egal wie alt. Emus sind außen vor. Dann könnt ihr die 24 Bytes knicken :D

    Einmal editiert, zuletzt von DrCreep (16. Dezember 2005 um 20:36)

  • haette ich sogar - aber nur weil ich drauf gestossen bin als ich fuer den code nen romlisting gelesen hab. Da gibt es ja so nen bug mit dem ersten char und dessen Farbe blabla.
    Also ich haette es nicht GANZ gewusst :)
    Ausserdem war mir grade nach Klugscheissen :o)
    Naja, auf kaputten C64s (inkl. vice) muss es nicht laufen finde ich.
    Jammer ja auch nicht wenn das auf dem DTV nicht gehen sollte.
    wenns ab $0400 liefe liesse sich das ja sogar per joy direkt eingeben :)

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Wie waere es mal mit folgenden Regeln fuer den naechsten kleinen Wettbewerb :

    1. Keine ROM-Routinen.
    2. Kein Posten von Ergebnissen. Hoechstens mal kleine Routinen oder Laenge in Bytes.
    3. Start mit Basiczeile ($0801)

    Zu 1.: dann haette ich eine bessere Chance. :) Muss mich erstmal durchs ROM-Listing arbeiten. Das duerfte dann allen anderen auch so gehen. Das wird dann mehr Programmierung als Wissen ueber das C64-ROM-Listing, imo.
    2.: Kurze Hilfen sollten kein Problem sein, aber die eigentlichen Ergebnisse sollten erst zur Abgabe erscheinen.
    3.: Bequem. :)

    Die Aufgabe : keine Ahnung. Was koennte man da nehmen ?

    Ist nur ein Vorschlag. Ich programmiere gelegentlich fuer den PET und andere CBMs. Da ist moeglichst unabhaengiges Programmieren von den ROMs sehr empfehlenswert. Vieleicht ist es auch mal eine Idee fuer den C64 ?

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • 24 byte (natuerlich inkl header) und laeuft in vice (falls es jemanden interessiert :)
    md5: f621a19a1a0930c629de48128ee0890b
    Hm, aber da landen vermutlich einige.
    Gruss,
    enthusi

    PS: von 'regeln' halte ich nichts.
    c64 - fertig. Nur so lernt man ja das rom ein wenig - ich hatte das auch nich im kopf.
    Aber reine 6502-asm-compos waren auch mal spannend - stimmt schon.
    Sollte man aber trennen. Das macht ja grade den c64 aus und unterscheidet ihn vom appleII oder sowas...

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

    Einmal editiert, zuletzt von enthusi (17. Dezember 2005 um 13:47)

  • hehe, hab eine viel schoenere Alternative gefunden, aber genauso lang leider (noch) :)

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Jaja, "from scratch" ist nicht jedermanns Sache. ;) Wenn man wirklich optimierte Programme ohne die ueblich ROM-Gruetze schreiben muesste, ginge das auch nicht ohne Nachschlagen.

    Habe im Moment sowieso nicht die Zeit dazu. Aber irgendwann werde ich mal soetwas anleiern. Mal sehen wer sich traut.

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Zitat

    Original von Roland

    es gibt bei sehr alten c64s eine rom version, in der die FARBEN die in $d800 bei einem Clearscreen (jsr e544) gesetzt werden NICHT aus der cursorfarbe ($0286) kommt, sondern aus $D021 ....
    Daher haben dann die Spaces auf dem Bildschirm die selbe Farbe wie der Hintergrund (und du kannst das veränderte Zeichen nicht sehen).

    Ist aber nur eine sehr geringe Anzahl an C64s, bei denen dass noch so ist.

    Genau das meinte ich mit der Aussage das es auf allen Cevis gleich aussehen soll, weil ich hier einige mit $e544 arbeiten gesehen habe, aber keiner hatte $d021 beachtet.....

  • das wuerde ich aber auch als bug verstehen.

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

    Einmal editiert, zuletzt von enthusi (17. Dezember 2005 um 15:21)

  • Zitat

    Original von Roland
    es gibt bei sehr alten c64s eine rom version, in der die FARBEN die in $d800 bei einem Clearscreen (jsr e544) gesetzt werden NICHT aus der cursorfarbe ($0286) kommt, sondern aus $D021 ....

    Hat jemand vielleicht einen Link zu dem entsprechenden ROM-Listing ??
    Hab leider nur das neue ;(

  • Iirc gibt es vom ersten leicht feherhaften Kernal-ROM 901227-02 kein Listing.
    Dieses ROM wuerde ich eher als Raritaet ansehen. Die wurden nur in den ersten C64-A von 1982 verbaut.

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Zitat

    Original von cbmhardware
    Iirc gibt es vom ersten leicht feherhaften Kernal-ROM 901227-02 kein Listing.
    Dieses ROM wuerde ich eher als Raritaet ansehen. Die wurden nur in den ersten C64-A von 1982 verbaut.


    So einen hab ich, und deshalb hat GoDot den "Fehler" berücksichtigt. GoDot zeigt also auf allen C64 alles. :]

    (Hehe, sowieso!)

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Zitat

    Original von cbmhardware
    Iirc gibt es vom ersten leicht feherhaften Kernal-ROM 901227-02 kein Listing.


    Schade !!!
    Gibts denn wenigstens irgendwo eine Liste mit den Unterschieden zw. alt und neu.
    Wie soll ich das denn sonst jemals rausfinden ? :D

  • Zitat

    Schade !!!
    Gibts denn wenigstens irgendwo eine Liste mit den Unterschieden zw. alt und neu.
    Wie soll ich das denn sonst jemals rausfinden ?

    In irgendeiner 64'er 93 oder 94 gabs in der Assembler Corner mal ne kleine Folge (2?) von Nikolaus Heußler zu dem Thema. Ich schau mal nach in welcher das war.
    Wenn du die Ausgaben nicht haßt, dann kann ich sie dir auch scannen.

  • Zitat

    Original von Doctor64
    Wenn du die Ausgaben nicht haßt, dann kann ich sie dir auch scannen.

    Das wäre prima - Danke ! ;)