Wrapper für Basicfunktionenverbindung

Es gibt 59 Antworten in diesem Thema, welches 4.841 mal aufgerufen wurde. Der letzte Beitrag (4. Februar 2009 um 19:04) ist von sauhund.

  • Alle ROMs abschalten. Da ist eh kaum etwas brauchbares drin.


    Das sind harte Worte, aber aus Profisicht nicht ganz unrichtig ... :roll2:

    Zumindest die Reset Initialisierung braucht man immer. Die IO Routinen des Kernel für IEC Zugriff wird man normal auch nicht zu 100% ersetzen.


    Im Falle der Float Unterstützung für der CC65, - da macht die Verwendung der ROM Routinen schon Sinn, weil die halt keinen Platz im wertvollen RAM Speicher wegnehmen.


    Die bessere Alternative zu ROM komplett ausblenden wäre ein spezielles CC65 ROM! Dann hätte man 64KB + 16KB (für Stdlib + float).

    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.


  • Im Falle der Float Unterstützung für der CC65, - da macht die Verwendung der ROM Routinen schon Sinn, weil die halt keinen Platz im wertvollen RAM Speicher wegnehmen.


    Platz im RAM geht eh verloren, da CBM ein eigenes float-Format hat, welches nicht Bitte melde dich an, um diesen Link zu sehen. konform ist. Man müsste also ständig zwischen IEEE 754 und CBM float hin- und herkonvertieren.

    Zitat


    Die bessere Alternative zu ROM komplett ausblenden wäre ein spezielles CC65 ROM! Dann hätte man 64KB + 16KB (für Stdlib + float).


    Oder RR/MMCR/1541u RAM/ROM dafür verwenden.

  • Schoen finde ich immer die Blockverschieberoutine im ROM.
    Die Beispiele in den zig Buechern sind immer in etwa so gross wie eigener code :wink:

    Und wer Grafik will sollte KEINEN Wrapper fuer sin/cos verwenden... Es sei denn natuerlich um nette Tabellen vorher anzulegen...
    Irgendwie wuerde ich auch jedem raten vernuenftig assembler zu lernen statt C fuer C64 aber naja :smile:

    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.

  • Oder RR/MMCR/1541u RAM/ROM dafür verwenden.


    DAS wäre natürlich END-GENIAL!!! :juhu:


    Eine CC65 / MMC-Replay edition!! Durch das MMC-Replay wäre man nicht auf 16KB beschränkt, sojndern man hätte bis zu 512KB. Alle runtime Libs als binary im EEprom!! Mit automatischen Banking je nachdem welche Routine man aufruft.

    Die CC65 Programme wären sehr klein, auch wenn man printf und float verwenden würde.

    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.

  • Irgendwie wuerde ich auch jedem raten vernuenftig assembler zu lernen statt C fuer C64 aber naja :smile:

    Richtig, nur so kann man das Gerät richtig kennenlernen. Und wer Assembler kann wird C auch viel besser verstehen.

    Aber: Lieber ein fertiges Programm in C als ein aus Zeitmangel aufgegebenes in Assembler oder ein nicht funktionierendes in BASIC.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    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.

  • Richtig, nur so kann man das Gerät richtig kennenlernen. Und wer Assembler kann wird C auch viel besser verstehen.


    Sorry aber dem kann ich nicht zustimmen.

    Ich MUSS auch in C ein Gerät wie den C64 sehr gut kennen, sonst wird das nix. Und ich kenne persönlich viele Leute die sehr gut C können aber mit Assembler nix am Hut haben.


    Ein Argument lasse ich gelten: Die Architektur des C64 ist nicht sehr gut geeignet für C. Aber sonst hat C nur Vorteile, ganz davon zu schweigen dass ich den Code mitnehmen kann auf andere Hardware und auch meine Programmiererfahrung. Wenn ich Assembler kann, dann nützt mir das heutzutage nirgendwo etwas (außer am C64 im Extrembereich) ...

    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.


  • Sorry aber dem kann ich nicht zustimmen.

    Ich MUSS auch in C ein Gerät wie den C64 sehr gut kennen, sonst wird das nix. Und ich kenne persönlich viele Leute die sehr gut C können aber mit Assembler nix am Hut haben.

    Wahscheinlich meinst Du fast das gleiche wie ich. War etwas misverständlich. Also formuliere ich meinen Satz etwas ausführlicher:
    Wer auf dem C64 schon Erfahrungen mit Assembler hat, kennt die Maschine in der Regel besser als jemand, der nur BASIC programmiert hat. Und diese Kenntnis ist auch eine gute Voraussetzung, um C zu lernen (z.B. Zeiger, Stack u.ä. sind kein komplettes Neuland)

    Jetzt einverstanden? :smile:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    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.

  • Jetzt einverstanden? :smile:


    natürlich.

    Im Prinzip hast du ja auch mit der vorherigen Aussage Recht. Ich will nur vermeiden dass Anfänger Assembler lernen. Ich glaube von C haben die mehr und Assembler können die dann in Grenzfällen immer noch zusätzlich machen.

    Begründung

    • Assembler - man muss dafür geboren sein. Viele Menschen verzweifeln/scheitern daran
    • Ich halte einen C/Assembler Hybriden fpr die bessere Lösung als puren Assembler
    • Assembler ist selbst für den Entwickler selbst mit der Zeit unleserlich
    • Der Zeitaufwand ist 10 mal so hoch wie in C
    • Assembler ist praktisch unportierbar
    • Das Wissen das man in Assembler aufbaut ist nur sehr begrenzt einsetzbar (nur auf der selben CPU Type oder sehr ähnlich).

    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.

  • Ich will nur vermeiden dass Anfänger Assembler lernen.

    Naja, wenn man explizit eben nur für den C64 etwas machen will, dann ist Assembler schon das einzig wahre. Insbesondere wenn man Demos oder flotte Spiele coden will. Für Tools kann ich mir C aufm CeVi prima vorstellen - wenn das Ergebnis eben nicht "ganz so flott" laufen muss.

    Kommt eben immer auf die Zielsetzung an. Klar, wenn man was portieren will, dann ist das in Assembler wohl schwierig.

    Also ich hab's ja andersherum gemacht: erst Assembler und schaue mir jetzt den C-Kurs an. Ich bereue nichts ;)

  • Naja, wenn man explizit eben nur für den C64 etwas machen will, dann ist Assembler schon das einzig wahre. Insbesondere wenn man Demos oder flotte Spiele coden will.


    bei demos, die 100% genaues timing brauchen, gebe ich dir recht. aber mein anspruch ist es schon, ein "flottes spiel" in c zu programmieren. mal schauen, wie weit ich damit komme ...

  • bei demos, die 100% genaues timing brauchen, gebe ich dir recht. aber mein anspruch ist es schon, ein "flottes spiel" in c zu programmieren. mal schauen, wie weit ich damit komme ...


    Von der Geschwindigkeit dürfte das kein Problem sein, davor bekommst du Platzprobleme.

    Wenn es wirklich eng wird mit der Geschwindigkeit hilft immer noch kleinere ASM Teile für kritische Sachen.

    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.

  • mein anspruch ist es schon, ein "flottes spiel" in c zu programmieren. mal schauen, wie weit ich damit komme ...

    Kommt natürlich immer darauf an, was man mit "flott" meint - hab ich etwas schlecht ausgedrückt, meinte damit "flotte Grafik" - im Sinne von schnellem Scrolling etc... Und da würde ich mal sagen, dass Du in C eben genau "bis dahin" kommst und ab da Assembler einsetzen musst ;)

    Grob gesagt: etwas wie Joe Gunn wäre vermutlich in C möglich. Enforcer 2 sicherlich nicht mehr :)

  • Wenn es wirklich eng wird mit der Geschwindigkeit hilft immer noch kleinere ASM Teile für kritische Sachen.


    ja, in sachen musik muss mal wohl auf einen player in assembler zurückgreifen, weil ich da bisher nix brauchbares gefunden habe in c.

    (...) meinte damit "flotte Grafik" - im Sinne von schnellem Scrolling etc... Und da würde ich mal sagen, dass Du in C eben genau "bis dahin" kommst und ab da Assembler einsetzen musst


    wenn du den c-kurs weiterhin verfolgst, wirst du dich noch wundern, was alles in c möglich ist ; )

  • Alle ROMs abschalten. Da ist eh kaum etwas brauchbares drin.

    Na, jetzt siehst du, auch scheisse ließ sich millionmal verkaufen.
    Waren alle User Blöd , die Jahrelang mit Basic und Basiccompiler gearbeitet haben und wunderbare Programme geschaffen habe obwohl die Compiler das Rom mit benutzt haben? :bia

  • Im Falle der Float Unterstützung für der CC65, - da macht die Verwendung der ROM Routinen schon Sinn, weil die halt keinen Platz im wertvollen RAM Speicher wegnehmen.

    Hach..., jawoll ja sprach die Olga und stieg vom Pferd... :winke:

    mfg

  • Assembler - man muss dafür geboren sein.

    ..oder..., es kann noch nicht geclont werden.

    Dann haben wir aber viele fehlgeburten im wahrsten Sinne des Wortes... :bia weil doch dann viele fehlgeburten mit ASM proggen und die Hebamme konnte auch kein ASM.

    mfg

  • Alle ROMs abschalten. Da ist eh kaum etwas brauchbares drin.
    Na, jetzt siehst du, auch scheisse ließ sich millionmal verkaufen.
    Waren alle User Blöd , die Jahrelang mit Basic und Basiccompiler gearbeitet haben und wunderbare Programme geschaffen habe obwohl die Compiler das Rom mit benutzt haben? :bia


    Nein. Die meisten haben sich das BASIC zwangsweise gekauft, da es nunmal beim C64 dabei war, welchen man für die ganzen schönen Spiele brauchte, die die ganzen Klassenkameraden hatten. Wenn sie das BASIC interessiert hätte, dann hätten die sich bestimmt keinen C64 sondern eher einen Atari XL oder Schneider CPC geholt.

    Wer dann auf dem C64 doch programmieren wollte merkte recht schnell: "Ich muss Assembler lernen". Übrigens ein Grund, warum der C64 so viele Assemblerprogrammierer hatte, während auf anderen Rechnern die Leute versuchten mit Sprachen wie "Turbo BASIC XL" usw Spiele zu schreiben :)

  • Also ich komm mit dem Basic auch gut zurecht.
    Ohne diesem Basic hätte es die Computer zu der damaligen Zeit nicht gegeben für uns Privatmenschen, unbezahlbar wäre ein Compiler gewesen.

    mfg

  • es gab schon 1984 compiler die durchaus weniger gekostet haben als so manches spiel =P

  • Und nicht zu vergessen: Da das BASIC kaum etwas konnte, konnte auch das comilierte BASIC kaum etwas. An Assembler führte kein Weg vorbei.