Posts by Jan1980

    Hallo.


    Auf meinem Hauptrechner habe ich CBM Studio und den Vice Emulator. Wenn ich da was programmiere, kann ich direkt den Source assemblieren und im Emulator starten. Das klappt wunderbar. Ich hab mir einen Laptop gekauft, ebenfalls mit Windows 10. Da hab ich jetzt auch das CBM Studio und den Vice installiert. Wenn ich mein Programm starten will, sieht man nur ganz kurz das Fenster des Emulator und dieser geht dann wieder zu. Hat jemand eine Idee ?



    Vielen Dank !


    Gruß Jan

    Hallo.


    Ich habe hier eine wunderschöne, ich würd sagen optisch neuwertige, 1541C. Einziger Nachteil, sie ist dejustiert und funktioniert deswegen natürlich nicht. :-(


    Vorab eine Frage. Im Gegensatz zu den alten 1541ern hat die 1541c eine Track 00 Lichtschranke. Trotzdem rattert sie immer gegen den Endanschlag. Ich hab irgendwo gelesen, dass sei auch bei dem Modell

    normal. Dann verstehe ich allerdings den Sinn der Lichtschranke nicht ?!


    Zur Justage. Ich habe hier mehrere Möglichkeiten. Die Softwarelösungen habe ich bereits probiert. Das Problem ist, bei ca 2/3 der Tracks stimmt lt. Programm die Spurlage. Bei den anderen findet er die Tracks nicht,

    er gibt dann bei der ID teilw. 255 aus anstatt die Tracknummer. Ich weiß ehrlich gesagt nicht, was ich von diesen Justageprogrammen halten soll ?! Vielleicht ist auch der Steppermotor im Argen ?!


    Ich habe hier 2 Analogdisketten liegen.

    Ich will die Spurlage jetzt mal mit dem Oszi einstellen. Aber wo sind bei der 1541C die Messpunkte ? Im Service Manual d. 1541 steht nur das alte Modell mit Longboard oder Shortboard. Dann gibts da noch

    das Manual zur 1541II. Aber zu der 1541C hab ich nirgends was gefunden. Kann mir da jemand weiterhelfen ?



    Vielen Dank !


    Gruß Jan

    Ich benutze am PC das CBM Studio und am C64 den Turboassembler, der im U1541 und Retroreplay vorinstalliert ist. Einfach im Basic dann TASM eingeben.

    Die besagte Startzeile kann man im CBM Studio mit ein paar Mausklicks vor den Source setzen.



    Gruß Jan

    Hallo.


    Ich habe hier 3 VC20. Einer davon ist die Ur-Version mit der PET-Style Tastatur, der zweite hat bereits die C64 Tastatur mit orangenen F-Tasten und der dritte hat ebenfalls die C64 Tastatur schon mit den grauen F-Tasten. Alle 3 Rechner haben noch das alte Netzteil mit dem 2pol Stecker, also es sind quasi alle welche der ersten Modelle. Bei dem anscheinend neuesten mit den grauen F-Tasten ist das Bild einwandfrei, schön hell, mit kräftigen Farben. Bei dem mit den Pet-Style Tasten und bei dem mit den orangenen F-Tasten ist das Bild zwar auch da, aber dunkler und die Farben sind nicht so kräftig. Alle Rechner wurden an einem 1701 und an einem 1702 Monitor getestet vorne über den Composite-Eingang. Ich kann mir nicht vorstellen, dass das ab Werk so war ! Ich glaube mich dran erinnern zu können, dass hier mal irgendwo stand, das wäre normal. Aber vielleicht kann man das Problem ja irgendwie lösen ?! Habt ihr ne Idee ?


    Gruß Jan

    Ich bin mir jetzt nicht mehr 100% sicher. Aber hatten die Doppellaufwerke nicht 2 Prozessoren 6502 ? Einer für den Datenaustausch mit dem Rechner und einer für die internen Laufwerksoperationen ? Oder habe ich das falsch in Erinnerung. Ich kann am Wochenende gerne mal die 4040 öffnen und ein Bild von der Platine posten.



    Gruß Jan

    Ich habe ein IEEE-488 Interface für den Cevi. Da ich mehrere CBM Rechner habe, habe ich auch die dementsprechenden Laufwerke. 4040, 8050, SFD1001 und eine 1541 auf IEEE-488 umgebaut. Ich hatte die 4040 am Cevi und das funktioniert natürlich. Durch den IEEE-488 Bus parallel lädt die Software natürlich wesentlich schneller. Man hat allerdings aufgrund der Größe der 4040 einen größeren Platzbedarf und außerdem rattern und knattern die Laufwerke natürlich lauter, als bei einer 1541. Allerdings funktionieren Nachladespiele natürlich nicht, da die Software dann auf das Kernal und somit auf den IEC zurückgreift und nicht mehr auf das IEEE-488 Interface. Im Grunde genommen hat man also mehr Nachteile als Vorteile.


    Gruß Jan

    Ihr hattet alle Recht ! Es funktioniert jetzt ! :-)


    Die Hauptursache war, dass ich bei d$011 das Bit #6 für den extended background mode nicht gesetzt hatte. In dem geposteten Code waren unten die Zeile mit dem Incbin auch falsch. Da hatte ich aber vorher "alle" Variationen schon ausprobiert. Ich habe beides jetzt abgeändert und nun läuft es. Wenigstens weiss ich jetzt auch, wie die incbin-syntax im CBM Studio ist. Ja, die ",2" ist der offset.


    INCBIN"Datei.xxx", offset in bytes, länge der zu ladenden Datenmenge in bytes



    Hier nochmal der Code:




    Vielen Dank !!


    Gruß Jan

    Halllo.


    Ich bin noch relativ neu bei Assembler. Ich habe ein Bild in ein Koala Bild umgewandelt und dieses kann auch von einem Koala Viewer einwandfrei angezeigt werden. Also Datei OK. Ich benutze hier CBM Studio. Aber anscheinend benutzen die Meisten ACME oder C64 Studio.


    Was ich gelernt habe:


    Ein Koala-Bild hat 10 kb. 8kb Bildinformation, dann 1kb für den Screen-RAM, dann 1 kb für das Color-RAM, dann 1 byte für den Hintergrund. Ich habe ein Programm abgetippt und ich kriege es einfach nicht zum Laufen. Ich glaube, die Syntax bei incbin ist falsch. Aber ich finde da nirgends eine Anleitung für das CBM Studio mit der korrekten Syntax. Vielleicht kann sich das ja jemand mal anschauen ?!




    Vielen Dank !!


    Gruß Jan

    Vielen Dank für die Antworten !


    Also ich beschäftige mich jetzt seit knapp einem Jahr mit Assembler. Hatte quasi bei null angefangen. Nachdem ich mehrere Bücher gelesen habe, bin ich jetzt regelmäßig am probieren und machen. Assembler ist wie Klavier spielen, man kann es nur richtig lernen, wenn man es macht. Natürlich lerne ich viel aus Codes von anderen. Ich tippe die Codes dann ab und kommentiere sie und wenn ich etwas nicht verstehe, dann recherchiere ich, um den Code zu verstehen. Dann ändere ich die Codes ab und schaue was passiert. Anschließend mache ich dann mit dem erlernten meine eigenen Codes.


    Bzgl. dem #. Das # setze ich oben schon bei den Variablen. zB startzeile3=#150 . Ist vielleicht ungewöhnlich, aber funktioniert.

    Das cmp #7 ist für den Scroller. Die Zeichen verschieben sich 8 Pixel ( also von 0 bis 7 ) und dann wird der Bildschirminhalt umkopiert. Das kann ich also nicht abändern. Oder habe ich da etwas falsch verstanden ?


    Ok, die CIA Interrupts werde ich mal abschalten. Grundsätzlich hatte ich mich CIA Interrupts noch gar nicht beschäftigt, aber abschalten kann ich sie. :-)


    Das hab ich oben vergessen zu schreiben. Ich hatte den Rasterinterrupt um eine weitere Zeilen abfrage erweitert und in diesen dann eine Verzögerungsschleife geschrieben. Das hat auch nicht funktioniert. Das Timing war nichts mehr. Der Text lief zwar langsamer, aber der Bildschirm hat geflackert. Meine "Wald-und Wiesen-Verzögerungsschleife" sieht so aus:






    Außerdem hatte ich einen Counter in der Zeropage erstellt zum probieren:


    Code
    1. counter lda #0
    2. sta $02
    3. loop clc
    4. adc #$1
    5. ; sta $0500 ; Zur Kontrolle auf Bildschirm
    6. cmp #$ff
    7. bne loop
    8. sec
    9. rts


    Das hat alles nicht funktioniert. Ich glaube, ich muß mir zum einen angewöhnen, Taktzyklen im Interrupt zu zählen und ich habe noch ein kleines Verständnisproblem.

    Eine Zeile hat ca 60 Taktzyklen Platz. Habe ich dann 60 Taktzyklen Zeit für mein Unterprogramm. Oder habe ich Zeit, bis zur nächsten Zeile bzw. bis zum erneuten Erreichen der Zeile ?


    Dann noch eine Frage. Die Lage der Rasterzeilenabfrage hat ja letzten Endes mit dem Bildaufbau nichts zu tun, oder ? Also ich kann zB eine Rasterzeile bei #150 abfragen, obwohl in echt ein Bitmap dargestellt wird, also koala Bild ?!



    Vielen Dank !


    Gruß Jan

    Hallo nochmal. Ich wollte jetzt keinen neuen Thread aufmachen. Ich bin jetzt hier wieder an meinem Rasterinterrupt. Der Titel steht, aber der Lauftext ist viel zu schnell. Ich kriege den Lauftext nicht langsamer, ohne dass das Timing "spinnt". Ich habe es mit einem Zähler in einem Register probiert, der ist zu schnell. Dann habe ich 2 Zählerschleifen verschachtelt, das geht gar nicht. Außerdem habe ich einen Counter in der Zeropage Adresse $02 programmiert.

    Entweder bleibt der Scroller schnell oder aber durch eine Verzögerungsschleife dreht das ganze Dingen durch. Was kann ich hier tun, dass der Text schön "smooth" da vorbei scrollt ? Vielen Dank !


    Vielen Dank für die Tipps !!


    Ich habe jetzt zu Beginn der ersten Rasterzeile das Scrolling deaktiviert im Register $d016. Dazu habe ich den Wert #$c8 reingeschrieben. Das ist der Default Wert. Es funktioniert jetzt !!! :-)

    Ich werde den Code jetzt nochmal überarbeiten.


    Gruß Jan

    Hallo.


    Ich habe hier einen Code geschrieben mit 4 Rasterzeileninterrupts. Ziel des ganzen ist es, mit einem Interrupt die Musik aus zu lösen (kommt später), mit dem nächsten eine feststehende Überschirft dar zu stellen, mit dem dritten eine Grafik in die Mitte des Bildschirms dar zu stelle. Und der vierte soll unten eine Laufschrift vorbeiscrollen lassen. Wie ich letzten Ende die Laufschrift mache und die Musik einfüge, weiß ich. Aber ich kriege es nicht hin, dass die Überschrift stehen bleibt, wenn sich die Scrollschrift unten bewegt. Dabei dachte ich,ich hätte mit den Rasterinterupts quasi 4 Bildschirme auf einem. Was mache ich falsch ??


    Vielen Dank !!


    Gruß Jan


    Also ich halte nichts von C64 mini und C64 maxi. Das sind immer so "Mainstream Projekte", die am Ende doch nichts taugen und in der Schublade landen. Am Besten finde ich natürlich das Original und solche "Szene-Projekte", wie den U64 oder den C64 reloaded. Da weiß man, was die Kenner wollen.


    Ich weiß noch, was hier damals los war, als der C64DTV rauskam. Die Vorfreude war groß. Dann ging nachher das modden los. Externes Netzteil, IEC Port zum Anschluss einer Floppy, Mini-Din-Buchse zum Anschluss einer PC-Tastatur usw. Und seit Jahre liegt das Dingen hier unbenutzt irgendwo in der untersten Schublade rum. So würden mini und maxi hier auch enden.


    BTW, ich hatte mir das NES mini gekauft und die Vorfreude war groß. Ich hatte es vorbestellt und Wochen drauf gewartet ! Letzten Endes hab ich ein oder zweimal damit gespielt und mir irgendwann in der Bucht ein richtiges NES mit 2-3 Lieblingsspielen gekauft, was unterm Strich nur unwesentlich teurer war als das NES mini.


    Gruß Jan

    Ich hatte genau das gleiche Symptom an einem VC20. Ursache war der Sockel des Char-ROMs. Da das ROM in diesem Fall nicht gesockelt ist, würde ich mir mal die Lötstellen an dem Char-ROM anschauen und gerade noch des Kernals und des Basic-ROMs. Wenn ein RAM-Chip defekt wäre, wären falsche Zeichen mitten auf dem Bidschirm und er würde OUT OF MEMORY nach RETURN schreiben. Bei einem defekten Multiplexer, würde der Bildschirm in der Regel schwarz bleiben, weil entweder das ganze LSB oder MSB fehlen würde. Wenn der VIC defekt wäre, würde er erst gar nicht diesen Bildaufbau bringen. Wenn er im Reset hängen würde, hätte er schwarzen Bildschirm. Wenn er im NMI oder IRQ hängen würde, hätte er nur die Bildschirmfarben ohne Schrift. Bei Spannungsproblemen hätte er schwarzen Bildschirm. Und bei Taktproblemen ebenfalls, außer es läge an den Elkos vom Schwingkreis, dann hätte er erst normales Bild und das würde wegschwimmen und irgendwann Streifen auf dem Bildschirm.


    Also das hier is irgendeine Kleinigkeit. Ich tippe auf eine schlechte Lötkontaktierung...


    Hast du irgendein Spielemodul zur Hand ?? Wenn ja, wie sieht es damit aus ?


    Gruß Jan

    Also, da ich vor fast einem Jahr in der gleichen Situation war wie der Threadersteller, häng ich mich auch mal hier rein. Mit dem C64 beschäftige ich mich wieder seit 15 Jahren und wollte immer mal Assembler lernen. Nach mehreren Startversuchen über die Jahre habe ich dann vor ca 1 Jahr angefangen durch zu ziehen. Möglichkeiten hab ich etliiche. Zum einen Assembler und Monitore auf Diskette, sogar original Commodore noch. Zum anderen habe ich damals das RetroReplay, kurz darauf das Chameleon und jetzt vor einiger Zeit die 1541 ultimate und weil ich schonmal am ordern war, noch gerade einen U64 bestellt.. wie es manchmal so läuft..:-)

    Auf allen 4 ist ja dieses Cyberpunx Image drauf. Also quasi eine verbesserte Version vom ActionReplay. Da hat man einen guten Maschinensprachemonitor, den man mal im freeze Modus nutzen kann, wenn man irgendetwas patchen will, oder aber auch so, wenn man mal ne kleine Routine tippen will. Aber der eingebaute Turboassembler ist natürlich wesentlich besser, da es sich um einen vollwertigen Assembler handelt. In diesen kommt man, wenn man im Basic TASM eingibt. Der Monitor ist zum schreiben eines vollwertigen Programmes meiner Meinung nach ungeeignet, es sei denn, man macht das Programm vorher schon auf dem Papier fertig. Im Monitor kann man nicht ohne weiteres mal eine vergessene Zeile einfügen, ohne die ganzen Adressprünge ab zu ändern etc. Ihr kennt das alles. Im TASM kann ich bequem und komfortabel die Startadresse einfügen und auch im Nachhinein natürlich ändern, ich kann bequem Zeilen einfügen oder löschen, ohne jedesmal die ganzen Sprungadressen zu ändern. Also wer ernsthaft was in Maschinensprache programmieren will, macht das am Assembler und nicht im Monitor.


    Auf was ich hinaus will. Genau wie der Threadersteller wollte ich ausschließlich nur am C64 selber, dann im TASM, programmieren. Heut zu Tage ist man flimmerfreie 27 Zöller Flachbildschirme und die PC Tastatur gewöhnt. Als die Programme dann etwas größer wurden und der C64 bei kleinen Fehlern im Code jedesmal abgestürzt ist, habe ich mich dazu entschieden einen Crossassembler zu verwenden. Ich arbeite am PC mit dem CBM Studio. Damit bin ich sehr zufrieden. Wenn ein Programm dann über 500 Zeilen hat, findet man auch schneller mal Fehler. Es ist alles einfach wesentlich übersichtlicher ! Denn, am C64 im TASM über ein paar hundert Zeilen zu scrollen um den Fehler zu finden ist wirklich einfach nur noch nervend ! Und wenn man sich mit verschiedenen Tücken dann schon nicht rumärgern muß, dann fällt einem auch das wesentliche, nämlich Assembler lernen, wesentlich leichter ! Und es soll ja Spaß machen !!!


    Ich denke, wenn der Threadersteller demnächst auch etwas mehr in der Materie ist, dann wird er auch "schwach" und steigt auf Crossassembler um ?!


    Und wie bereits erwähnt. Die meisten aufwendigen und namhaften Spiele wurden selbst damals im Crossassembler entwickelt ! Also was solls... Wenn man es dann nachher erlernt hat, kann man ja just for fun immer noch am cevi selber bißchen coden...



    Gruß Jan