beispiel für ein rasterinterupt in cc65

  • nö, mit 2.12.9, wie schon gesagt.... jetzt muss ich doch nochmal deinen source checken :)


    edit: yo, gesagt getan... es ist ein compiler bug, wenn bei der zuweisung ein function-pointer auf der rechten seite steht wird der cast ignoriert anscheinend. habs mal auf der cc65 mailingliste reported.


  • Was hat ein cast jetzt in diesem cc65-programm für eine Bedeutung?
    Was wird da für "CINV" umgewandelt?


    mfg

  • Was hat ein cast jetzt in diesem cc65-programm für eine Bedeutung?
    Was wird da für "CINV" umgewandelt?


    in diesem beispiel wird auf der "bitebene" gar nix umgewandelt.


    aber weil die neueste version von cc65 die einfache zuweisung


    CINV = newirq;


    nicht mehr akzeptiert, mussen wir auf den expliziten cast


    CINV = (uint16_t) newirq;


    zurückgreifen. frühere versionen des compilers haben nur eine warnung ausgegeben.

    (newirq ist die adresse der newirq()-funktion. CINV aber erwatet einen integerwert.)

  • es ist ein compiler bug, wenn bei der zuweisung ein function-pointer auf der rechten seite steht wird der cast ignoriert anscheinend. habs mal auf der cc65 mailingliste reported.


    der fehler wurde inzwischen geflickt: http://www.cc65.org/mailarchive/2008-12/6300.html


    Quote

    It happens whenever a symbol is involved and it is fixed. The fix should
    appear in the next automatic build.