Da ich keine Juniorcomputer habe, versuche ich es mit einem
zusammengebastelten Simulator. Der kommt aber irgendwie auf 537.6Hz.
Ob es am Simulator liegt oder am Programm, versuche ich gerade
herauszufinden.
Du hast nur die Delay-Routine beruecksichtigt: ldx 2 cyc, jsr kostet 6 cyc, STA und LDA je 4 cyc, EOR 2 cyc und der JMP kostet 3cyc -> 21 Cyc dazu (pro Durchgang loop).
Bei Deiner ShortDelay-Routine sollte 5*n + 2 + 6 (5N+8) sein.
0xee kommt in das schneller herabgezählte Register, 0x0e in das andere,
das erst bei Unterlauf des schnelleren Registers herabgezählt wird.
Hallo Harald K. ,
auf jeden Fall, DAKESCHÖN! Das ist richtig! Ja, das sehe ich genauso.
Zufälliger Weise, habe ich es mit den gleichen Versuchen eingetragen.
Prima, gut gemacht!
Im Moment habe ich um die 30 Hz.
Also, wenn Töne getroffen werden, wäre das ja auch schon gut,
Natürlich versuche ich das Wohl-Temperierte-System, -;
und wenn es nur die Pythagoreische wäre.
[Dafür müssten dann die schwarzen Tasten gespalten werden;
das ist natürlich quatsch :-)) ]
Jetzt geht es nur um 8 Töne, am Besten in C-Dur.
Dabei fällt mir ein, ich lege in den oberen Bereich
einfach einen 2er-Faktor
über FF Wie 16, 32, 64, o. ä. -. - D.h.: 01, 10, 100, o. ä. -.
Als Wellenlänge sind die längeren Wellen genauer.
Als Frequenz ist der obere Bereich genauer.
39 Wellen auf den Skop, für das "G" das wäre schon was.
Also ich experimentiere Weiter,
Liebe Grüße
Günter K.
Rein rechnerisch würde ich ja sagen, dass es so stimmt.
Da ich keine Juniorcomputer habe, versuche ich es mit einem
zusammengebastelten Simulator. Der kommt aber irgendwie auf 537.6Hz.
Ob es am Simulator liegt oder am Programm, versuche ich gerade
herauszufinden.
Bei einem real Junior Computer mit einem ganzen MHz bekomme ich (mit Deinem Programm) 432.5Hz lt. Logicanalysator.
Wenn Du in Zeile 10 Deines Programmes LDX $DE (= 222 dec), bekommst Du 440.1Hz (lt. des Logic-Analysator)
Das Prograemmle:
1
.ORG $300
2
PAD EQU $1A80
3
PADD equ $1A81
4
PBD equ $1A82
5
PBDD equ $1A83
6
7
; generate a 440 Hz square wave
8
9
lda #$1
10
sta PBDD ; set PB0 to output
11
loop:
12
ldx #222 ; 5us×222+5us
13
jsr shortdelay
14
lda PBD ; Read port B
15
eor #$01 ; Toggle bit 0
16
sta PBD ; Write back
17
jmp loop
18
19
shortdelay:
20
dex ;
21
bne shortdelay ;
22
rts ;
und der Hexcode zum Selbst-in den Junior tickern:
1
0300:A9018D831AA2DE20
2
0308:1503AD821A49018D
3
0310:821A4C0503CAD0FD
4
0318:60
Ja, das waren die alten Zeiten, und ich bin froh, dass das Geschichte ist.
Bei einem real Junior Computer mit einem ganzen MHz bekomme ich (mit
Deinem Programm) 432.5Hz lt. Logicanalysator.
Oh, super cool, danke :-)
Ich war mir auch nicht sicher ob man den Port der PIA für das EOR zurück lesen kann. Die Frage hast Du damit gleich mit beantwortet.
Wenn Du in Zeile 10 Deines Programmes LDX $DE (= 222 dec), bekommst Du
440.1Hz (lt. des Logic-Analysator)
Was ist eigentlich mit den Interrupts für Tastatur und Display, die derzeit noch zwischenfunken und zu (aus Sicht des Hauptprogramms) unbestimmten Zeitpunkten zusätzliche erratische Verzögerungen bewirken?
Ich habe den Verdacht, dass das die Pythagoreische Stimmung noch ein wenig trüben könnte. ;-)
Also, wenn Töne getroffen werden, wäre das ja auch schon gut,
Natürlich versuche ich das Wohl-Temperierte-System, -;
und wenn es nur die Pythagoreische wäre.
Ich meine fast, dass auch nur 1 Byte für 8 Frequenzen reicht:
Ich weiß aber noch nicht, - was ich wo, einordnen sollte? XY oder YX
Auch wenn ich befürchte, dass du die Analogie nicht verstehst:
Nehmen wir an, du musst 1000 Sekunden warten, kannst aber nur bis 100
zählen.
Ist es dann egal ob du 10 mal 100 Sekunden wartest oder 100 mal 10
Sekunden?
Ganz einfach (doch so(!) einfach ist es nicht!)
Ich zähle so und sooft das Y hoch, die dann jedes Mal ebenfalls auch, so und sooft multipliziert wird, bis die passende Zahl erreicht wird.
Allerdings mit dem Vorteil, dass das verbleibende X jedes Mal nur einmal vorkommt.
Bis der entsprechende
Nimmt man die 49 Hz, dann ist das G1, zähle ich noch 5 Wellen dazu, dann
habe ich mit den 55 Hz das A1. Nimmt man die 55 Hz mal 4 multipliziert ergibt 440 Hz.
Den Wert für das A4 hat mir jemand von Euch geschickt.
Ich bekomme gerade Besuch, und melde mich später nochmal.
Liebe Grüße
Günter K.
(Enk)
Ganz einfach (doch so(!) einfach ist es nicht!)
Ich zähle so und sooft das Y hoch, die dann jedes Mal ebenfalls auch, so
und sooft multipliziert wird, bis die passende Zahl erreicht wird.
Allerdings mit dem Vorteil, dass das verbleibende X jedes Mal nur einmal
vorkommt.
Bis der entsprechende
Nimmt man die 49 Hz, dann ist das G1, zähle ich noch 5 Wellen dazu, dann
habe ich mit den 55 Hz das A1. Nimmt man die 55 Hz mal 4 multipliziert
ergibt 440 Hz.
Der 6532 könnte einen Interrupt auslösen, das ist der einzige Baustein,
der an der /IRQ-Leitung des 6502 angeschlossen ist.
Darüber hatte ich auch schon nachgedacht. Das Thomas oben erwähnte Beispielprogramm funktioniert ohne.
Die Frage ist, ob die Auflösung des 6532 eine genügend granulare Frequenz für die Rechtecktonerzeugung hergibt.
Die Frage ist aber auch, ob man wirklich den 6532 verwenden will. Falls man die gewonnen Erkenntnisse auf einen Apple 2 übertragen wollte, ginge das nicht, weil der diesen Chip nicht hat. Außerdem ist dieser Chip für den Bau eines echten Retro-Computers kaum zu bekommen.
Die Frage ist, ob die Auflösung des 6532 eine genügend granulare
Frequenz für die Rechtecktonerzeugung hergibt.
Wenn Du über den Timerinterrupt gehen willst, ist dessen Quelltakt offensichtlich der Systemtakt (hier: 1 MHz). Als Vorteiler kann 1, 8, 64 oder 1024 verwendet werden, und der Timer selbst ist ein 8-Bit-Timer. Der steuert allerdings keinen I/O-Pin, sondern nur die Interruptleitung an, d.h. man muss für Timingbetrachtungen auch noch den Overhead eines Interruptaufrufs berücksichtigen.
Die Frage ist aber auch, ob man wirklich den 6532 verwenden will.
Da der im vorliegenden Computer drinsteckt, warum nicht? Es geht dem Threadstarter darum, seine Programmierübungen auf dem Gerät zu machen, was er hat, nicht, sich Gedanken um irgendwelche anderen Computer zu machen.
Auch wenn ich befürchte, dass du die Analogie nicht verstehst:
Nehmen wir an, du musst 1000 Sekunden warten, kannst aber nur bis 100
zählen.
Ist es dann egal ob du 10 mal 100 Sekunden wartest oder 100 mal 10
Sekunden?
Hallo Klaus,
hier ist es mir wichtig, ein extra Dankeschön zu sagen.
Und Danke an alle.
Also spielt es keine Rolle ob gerade das X- oder Y-Register herunterzählt.
Inzwichen habe ich auch gelesen, dass durch Lesen eines Bytes eine ausreichende Genauigkeit erreicht werden kann.
Bei einer Frequenz von 49 Hz als G und 6 Wellen dazu sind 55 Hz als A.
Das entspricht ungefähr der 6er Wurzel aus 2.
Das ist ein Abstand von einem ganzen Ton.
Erdachte mir aber noch einen Lösungsweg.
Ich fange ganz oben an abzuzählen bei eine ganz Hohe Frequenz.
Dann mache ich eine Liste dieser Frequenzen, wenn die passenden "f"
dabei sind wird vielfach mit dem Faktor 2 heruntergeteilt,
biss ich in dem passenden Bereich bin.
Übrigens, das mit G und A, gibt es auch so ähnlich, zwichen Fis und G,
hierbei handelt es sich ungefähr um die 12er Wurzel aus 2.
Liebe Grüße
Günter K.
(ENK)
PS.: Ich bekomme gleich Besuch,
Wenn ich die Zahlen ausgerchnet habe,
komme ich auch nochmal auf das Fis und G und A zurück;
hat aber nicht direkt was mit dem Herunterzälen zu tun,
sondern nur indirekt. - Bis später.
Ich versuche gerade herauszukriegen, wie der Timer im 6532 genau funktioniert.
Wenn ich es richtig verstehe (Anhang), sollte das Schreiben eines Start-Bytes auf Base-Adresse + 0x17 den Vorteiler auf 1024 setzten, Interrupts "disablen". Danach zählt der Timer vom Startwert aus herunter.
Witzig an dieser historischen Technik ist, dass der Vorteiler über die Adressierung gesetzt wird, dass spart ziemlich Zeit.
Ich habe die vier Elektor-Buecher in den 1980'er gekauft, n-mal umgezogen (n > 5), aber so haeufig wie in den letzten zwei - drei Monaten habe ich die nie benutzt!
Gruesse
Th.
P.S.: Interrupt war wohl fuer Elektor nicht so spannend (oder zu kompliziert), sowohl bei der 6502 als auch bei der z80 (die ein deutlich besseres Konzept hat) wurde der Interrupt nie benutzt.
Wenn Du Interesse hast, das Junior Buch Band 2, hat ein komplettes
Kapitel fuer die 6532.
hier:
http://retro.hansotten.nl/uploads/junior/books/de/...
P.S.: Interrupt war wohl fuer Elektor nicht so spannend (oder zu
kompliziert), sowohl bei der 6502 als auch bei der z80 (die ein deutlich
besseres Konzept hat) wurde der Interrupt nie benutzt.
Für heutige Verhältnisse scheint mir das Timer-Modul etwas umständlich erklärt. Aber ab Seite 77 hat der Autor tatsächlich Interrupts in Verwendung (Allerdings auch ziemlich aufwändig ..).
Ich fange ganz oben an abzuzählen bei eine ganz Hohe Frequenz.
Dann mache ich eine Liste dieser Frequenzen, wenn die passenden "f"
dabei sind wird vielfach mit dem Faktor 2 heruntergeteilt,
biss ich in dem passenden Bereich bin.
Übrigens, das mit G und A, gibt es auch so ähnlich, zwichen Fis und G,
hierbei handelt es sich ungefähr um die 12er Wurzel aus 2.
Mann kann sich natürlich alles völlig von Null erarbeiten. Dann wird man halt nie fertig bzw. kommt nie zur eigentlichen Aufgabe.
Ich dachte Du willst programmieren lernen, nicht die Grundlagen einer Tonleiter herleiten.
Mein Vorgehen wäre deshalb:
Ich such mir die Frequenzen der Töne, die ich erzeugen will, kurz über google zusammen. Dauert 10 Sekunden.
Beispiel für die Note C4:
C4 = 261,626 Hz, entspricht einer Periodendauer von 1/261 = 3822us.
Wir brauchen aber die halbe Periodendauer (jeweils mit Ausgang 0 bzw. 1), also 3822 = 1911 us. Solange muss man warten, bis der Ausgang umgeschaltet wird. Die einfache Verzögerungsschleife braucht 5 Taktzyklen = 5us pro Wert, also muss die Schleife 1911us/5us = 382mal durchlaufen werden.
Weil 382 größer ist als 255 (die mit 8 Bit größte darstellbare Zahl), muss man sich etwas einfallen lassen.
Im Progrämmchen von Christoph oben wird die Verzögerungsroutine halt 2 mal aufgerufen, einmal mit 180 und einman mit 200. Die Summe 380 ist noch exakter als meine oben berechneten 382, weil es auch noch feste Verzögerungen im Programmablauf gibt. Aber das sind Feinheiten, die am Anfang überhaupt nicht interessieren.
Genausogut könnte man sich eine Verzögerungsschleife überlegen, die länger als 5us braucht, z.B. 10us. Dann muss man sie nur mit dem Wert 382/2=191 aufrufen, was wieder mit einem einfachen Zähler geht.
Oder man nimmt halt eine veschachtelte Schleife mit 2 Zahlen, also 2x191, 4x95, 8x48 oder was einem beliebt und möglichst genau 382 ergbit. Das ist halt die komplizierteste Variante.
Nimmt man die 49 Hz, dann ist das G1, zähle ich noch 5 Wellen dazu, dann
habe ich mit den 55 Hz das A1. Nimmt man die 55 Hz mal 4 multipliziert
ergibt 440 Hz.
Da habe ich mich vertippt, ich meinte aber:
"Nimmt man die 49 Hz, dann ist das G1, zähle ich noch 6 Wellen dazu, dann
habe ich mit den 55 Hz das A1. Nimmt man die 55 Hz mal 4 multipliziert
ergibt 440 Hz."
von Soul E. (soul_eye)schrieb am 05.05.2025 um 19:48 :
"Aber durch Abtippen lernt man nichts, da ist selbermachen sinnvoller."
Günter K. schreibt:
Hallo, und Danke für die Antwort. Ich muss mich noch mehr damit befassen;
so, dass ich es selber machen und verstehen kann. In diesem Falle, die Werte in dem Y- und X-Register in Bezugnahme auf Wellenlänge und Frequenz.
Bitte hierauf noch nicht antworten.
Ich muss mich selber genug damit beschäftigen, damit ich es verstehe. - Falls ich danach, immer noch nicht verstanden habe, danach melde ich mich evtl. noch mal mit Fragen. Bis jetzt habe ich es noch nicht richtig genug verstanden.
Mann kann sich natürlich ... kommt nie zur eigentlichen Aufgabe. ...
Ich dachte Du willst programmieren lernen, ...
Mein Vorgehen wäre deshalb: ...
C4 = 261,626 Hz, entspricht ... usw.
Dazu schreibe ich:
Das ist hervorragend sehr gut!! EIN VIELFACHES DANKESCHÖN!!
======================= ===========================
Natürlich möchte und will ich programmieren lernen.
Gibt es u. a. kurze Beispiele um so, das Verhalten des Prozessors und dem
Computer zu verstehen? Aber schon bei dem Z80, Mikro-Professor, kam ich nicht zurecht, weil da viel zu viele Informationen waren, von denen ich nicht wusste, wozu sie auch gehörten. Bei dem 6502 erscheint es mir einfacher.
Ich bin begeistert von Deinen sehr guten Erklärungen!
Besonders auch die Idee mit den Verschachtellungen. Prima.
Gibt es Programmier-Beispiele, die gleichzeitig(also hintereinander)
Wenige Befehle mit Aderessierungsart vorgegeben sind, um zu sehen
wie der Prozessor und der Computer reagiert?
Jetzt will ich fürs Erste, mal bei dem 6502 bleiben.
Zu viele Gedanken über Toleranzen, Schalt-Hysterese und dessen Interferenzen mache ich mir jetzt noch nicht, - ich freue mich ja,
kleine Erfolge zu sehen. Schwierige Fragen kommen erst später.
Aber dabei fällt mir ein:
Bei Zahlen die > 127 sind, muss man da das N-Flag ausschalten?
Ein Dankeschön, auch an alle anderen Leute hier.
Selbst Deinen Beitrag, hatte ich noch nicht gelesen.
Mit lieben Grüßen
Günter K
(ENK)
Hier mal der Versuch, den Timer ohne Interrupt zu verwenden.
Wenn ich es richtig verstehe, kann man den Timer wohl einfach durch das Beschreiben der entsprechenden Adresse starten.
Das Programm sollte also folgendes machen:
Timer starten
Warten bis abgelaufen
Portpin rumdrehen
Jump zu 1.
Das wäre dann auch eine einfache Möglichkeit, einen Ton zu erzeugen.
Kann es von euch mal jemand ausprobieren? Ich habe nur eine Simulation und weiß nicht, ob sie der Realität entspricht.
1
lda #$1
2
sta PBDD ; set PB0 to output
3
4
start:
5
lda #18
6
sta TIMER_DIV64 ; starte timer mit prescaler 64, sollte ca. 430Hz ergeben
7
8
wait:
9
lda TIMER_READ
10
bne wait ; Warte, bis timer 0
11
12
; port B0 umschalten
13
lda PBD ; Read port B
14
eor #$01 ; Toggle bit 0
15
sta PBD ; Write back
16
17
jmp start
18
19
; MOS6532 PIA addreses
20
21
22
org $1A82
23
PBD:
24
25
org $1A83
26
PBDD:
27
28
org $1A84 ; timer read register
29
TIMER_READ:
30
31
org $1A96 ; address to start timer prescaler 64 and no Interrupt
Es "gutes" Beispiel, wie man einen Timer maximal sinnlos verwenden kann. Eine Warteschleife kann die CPU auch allein. Und die IO-Register definiert man als Konstanten und nicht Labels. Auch wenn das Ergebnis das Gleiche ist.
Aber schon bei dem Z80, Mikro-Professor, kam ich
nicht zurecht, weil da viel zu viele Informationen waren, von denen ich
nicht wusste, wozu sie auch gehörten. Bei dem 6502 erscheint es mir
einfacher.
Hmm...
Wundert mich.
Mir erscheint der Z80 einfacher/logischer.
Und von Rodney Zaks auch perfekt und umfassend erklärt
Hmm...
Wundert mich.
Mir erscheint der Z80 einfacher/logischer.
Andere Leute die ich kenne, sagen das auch.
Und von Rodney Zaks auch perfekt und umfassend erklärt
Wie auch immer:
Jedem sein eigenes Himmelreich.
Nun ja, wenn ich die weiteren Bücher, die Rodney Zaks vorschlug,
über das Interne des Mikroprozessors lese, würde das wohl stimmen.
Den Mikro-Professor habe ich von einer guten Bekannten von mir.
Wie ich las, hat er ja auch Bücher über den 6502 geschrieben.
Das Lob für ihn ist wohl, wohl verdient.
Nur muss ich mal versuchen mit dem, das mir einfacher erscheinende etwas
zu tun. Dazu habe ich alle Befehle und Adressierungsarten auf einem Blatt.
Was aber noch lange nicht heißt, dass ich sie alle verstanden habe, aber immerhin, sie stehen auf einem Blatt. :-)
Liebe Grüße
Günter K.
(ENK)
PS.:
Im Grunde genommen, ist es in all diesen Fällen, ja immer logisch.
Versuchen reicht nicht! Machen ist das Zauberwort... Es hilft auch nichts alles mal auf eine Seite zu schreiben. Statt wochenlang über wohl temperierte Klangerzeugung zu reden, die es bei einem Rechteck Signal sowieso nicht gibt, könntest du ja mal versuchshalber einfach ein 440Hz Signal generieren.
Ich gehe jede Wette ein dass du noch kein funktionsfähiges Programm geschrieben hast, was zumindest einen BEEP ausgegeben hat.
Beispiele wie das geht hast du ja schon einige erhalten. Die willst du aber nicht nehmen. Dagegen schurbelst du darüber wie einfach doch die Ton Erzeugung ist und verwechselt permanent Hex Zahlen mit Dezimal Zahlen. Dazu erklärst hier hier dass der Z80 so kompliziert ist und der Rodney auch ein Buch über den 6502 geschrieben hat.
Du blabberst von Adressierungsarten hast aber keinen Schimmer von deren Bedeutung.
Wie ich las, hat er ja auch Bücher über den 6502 geschrieben.
Ja, hat er. Und wenn ich hier so lese wie schwer du dich mit der Materie tust, rate ich dir dringend zumindest die Ausgabe "Programmierung des 6502" zu besorgen.
Und im Buch "6502 Anwendungen" wird im Kapitel 5 ausführlich erklärt wie man mit Hilfe eines 6522 Töne erzeugt.
Es würde schon ausreichen, die Elektor Bücher zum Junior konsequent
durchzuarbeiten. Die beziehen sich immerhin direkt auf die vorhandene
Hardware!
Ich glaube dem steht entgegen das Günter eigene Vorstellungen davon hat wie man einen Prozessor programmiert und er mit den üblichen Unterlagen nichts rechtes anzufangen weiß.
Versuchen reicht nicht! Machen ist das Zauberwort... ...Statt wochenlang über wohl temperierte Klangerzeugung ... ...
sowieso nicht gibt, könntest du ja mal versuchshalber einfach ein 440Hz
Signal generieren.
Günter K. schreibt:
Das habe ich, aber noch nicht gezeigt; - das folgt gleich.
Ich gehe jede Wette ein dass du noch kein funktionsfähiges Programm
geschrieben hast, was zumindest einen BEEP ausgegeben hat.
Günter K. schreibt:
Das stimmt. Zwar habe ich das Signal erzeugt, aber nicht gehört.
Habe einen kleinen Lautsprecher u. Platinen(Isolation) dazu gekauft, noch
nicht eingebaut. - Aber einen Aktivlautsprecher habe ich noch andernorts.
Beispiele wie das geht hast du ja schon einige erhalten. Die willst du
aber nicht nehmen. (Weil hier nicht so sehr relevant, gehe ich hier nicht
hier an dieser Stelle auf die wohl temperierte Klangerzeugung ein.
Günter K. schreibt:
Doch, aber damit komme ich noch nicht so gut zurecht.
Dagegen schurbelst du darüber wie einfach doch die
Ton Erzeugung ist und verwechselt permanent Hex Zahlen mit Dezimal
Zahlen.
Günter K. schreibt: Wo?
Dazu erklärst hier hier dass der Z80 so kompliziert ist und der
Rodney auch ein Buch über den 6502 geschrieben hat.
Ich werde es kaufen.
Du blabberst von Adressierungsarten hast aber keinen Schimmer von deren
Bedeutung.
Günter K. schreibt:
Tatsächlich, habe ich erst vor kurzem die R.-Adressierungsart gelernt, was
Wolfgang R. -sehr gut- erklärt hat. - Mit der Adressierungsart der
indiziert-indirekte und indirekt-indizierte Adressierung muss ich mich noch mit beschäftigen.
Unser Lehrer sagte damals zu den eben genannten Adressierungsarten:
"Ja, da stolpern Andere auch." Ich muss mich aber noch mit dem 6532 beschäftigen, sonst komme ich aus der Schleife nicht mehr raus, wenn ich weitere Programmteile einbringen will. Die 440 Hz folgen gleich.
Ich habe hier an Thomas Z. geantwortet, weil mir die Formulierung in seinem Stil, etwas zu fraglich erschien.
Ich bedanke mich bei Dir und ich bedanke mich bei Allen das ist sehr gut.
Damit es nicht so umständlich wird, schicke ich das 440 Hz-Prg. im folgenden Beitrag.
Liebe Grüße
Günter K.
(ENK)
Ja, aber Programme schreibt man doch nicht in Excel und man speichert sie auch nicht im Excel-Format (xlsx), sondern als normale Textdatei (.S .c oder .txt). Dann kann man das Programm auch direkt im Browser anschauen.
Ja, aber Programme schreibt man doch nicht in Excel und man speichert
sie auch nicht im Excel-Format (xlsx), sondern als normale Textdatei (.S
.c oder .txt). Dann kann man das Programm auch direkt im Browser
anschauen.
Details... The rub would be: kommen denn 440Hz aus irgendeinem Port raus? Oder nicht? Ist das Ding assemblierbar?
Ich habe den 6502-Eumlator mittlerweile Zyklengenau auf dem PiPico laufen. Die 6532Ports habe ich auf PORTA: GPIO2-GPIO9 und PORTB GPIO10-GPIO17 gemapped.
Details... The rub would be: kommen denn 440Hz aus irgendeinem Port
raus? Oder nicht? Ist das Ding assemblierbar?
Hallo Thomas W.
Ja, wie ich schrieb. - In Spalte A, stehen dezimale Zeilennummern fürs
Programm. In Zeile 3 und 8, ist zu sehen, dass es sich um Port A handelt.
Hardwaremäßig ist das PIN 3 oben auf der asymmetrischen Leiste neben dem
Display, welches mir Wolfgang R. freundlicherweise mitgegeben hatte.
Ich kann das Programm in den Editor übertragen.
Da sind sie dann aber als 1. noch im Format vom Junior-Computer-Buch. S. u.
Als nächstes, muss ich die Befehle an seinen Anfang setzen.
Dann kommt in der Zeile als
die Zeilennummer,
Die Marke,
Die Adresse
den Maschinen-Befehl als OP-Code,
der Befehl,
die Adressierungsart,
den REM-Befehl. (Das Wort habe ich vom BASIC).
(Hier noch ähnlich wie in JUNIOR-BUCH.)
Danach wird es wie üblich.
Es gibt aber Editoren, die schreiben die Zeilennummer selber.
Ich habe hier der EDITOR von WINDOWS. Ich hatte für andere Programmiersprachen den Editor von einem KOMPILER benutzt.
Ich möchte aber -nicht kompilieren-, denn das Programm läuft ja. - Mir wurde auch mal WORDPAD vorgeschlagen. Damit habe ich noch nie was getan.
In Excel habe ich über den Maschinen-Befehls OP-Code, einen schwarzen Balken gemacht.
Liebe Grüße
Günter K.
(ENK)
PS.:
Natürlich möchte ich das Programm zu einem -einfachen-
Spiele-Musik-Programm noch weiter ausarbeiten.
Das "Editor"-Programm: "440 Hz", kommt als nächstes.
Ich habe Linux ohne LibreOffice und werde nur wegen der Datei auch nicht
nach einem xslx-Viewer im Internet suchen.
Hallo Alexander,
Werde oder habe ich gemacht,
Da ich aber jede Adresse untereinader habe,
weiß ich nicht, ob das für den Assembler lesbat ist.
Es wurde sogar freunlicher Weise umbenannt in: 440 Hz.asm
im vorigen Beitrag.
Liebe Grüße
Günter K.
(ENK)
Da ich aber jede Adresse untereinader habe,
weiß ich nicht, ob das für den Assembler lesbat ist.
So sieht das bei einem richtigen Assembler aus. Die asm-Datei erstellst Du, die bin-Datei erzeugt der Assembler. Im Listing lst kann man die Arbeit kontrollieren.
Rechnen brauchst Du nicht, man gibt einfach die Sprungmarken (labels) als Ziel an: "BEQ M2". Den Abstand rechnet der Assembler aus, und der warnt auch wenn es zu weit ist.
"(Und täglich grüßt das Murmeltier)" steht so in der xls Datei :-(
allerdings sehe ich kein Programm. Da kann man wohl nichts mehr machen.
Hallo Liebe Leute; hallo Thomas Z und Thoma W!
Doch: - Ja, das Programm 440Hz.asm kommt gleich im Editor von WINDOWS.
Muss ich noch umschreiben. In 2 Formaten. Das 2. wird das Üebliche sein.
Schreibfehler: Umlaute etc. werden rausgeholt.
Frage: Welchen Editor empfehlt Ihr mir?
Liebe Grüße
Günter K.
(ENK)
Bei der Verwendung von Assemblern gibt es das kleine Problem, dass sich jeder Assembler im Syntax ein wenig unterscheidet. Aus diesem Grunde kann ich Günter schon verstehen: wenn man sich erst mal den Ärger mit den Syntax-Problemen vom Halse halten will, kann man das Ganze auf dem Papier von Hand machen. Dann versteht man auch die Details.
Das Beispiel von oben sieht für den ca65 so aus:
LDA #$FF ; FF als Ausgang, für das Datenrichtungsregister
12
STA PADD ; Direktionsregister PADD: "OUT"
13
M1:
14
LDA #$FF ; FF als DATEN, für das Datenregister
15
STA PAD ; PAD: "FF" (später "00")
16
JSR SUB ; JumpToSubRoutine Zeitverzögerung DELAY.
17
18
LDA #$00 ; als DATEN, für das Datenregister
19
STA PAD ; PAD: "00" (später "FF")
20
JSR SUB ; JumpToSubRoutine Zeitverzögerung DELAY.
21
22
JMP M1
23
24
SUB:
25
LDY #$01 ; SR Beginn SUBROUTINE
26
M2:
27
LDX #$DE ; mit ZP-ADRESSIERUNGSART sind durch IM ersetzt.
28
M3:
29
DEX
30
BNE M3
31
DEY
32
BNE M2
33
RTS ; RETURN FROM SUBROUTINE
Im Gegensatz zum von dir verwendeten Assembler braucht das ORG einen Punkt, alle Labels brauchen einen ':', das EQU wird zum '=' und ein 'END' wird nicht erkannt.
Ich habe das Programm mal auf dem 6502PiPicoEmulator getestet. Als erstes ging es nicht. Warum? Ich dachte die Konvention sei den Lautsprecher an PB0 anzuschließen, aber in dem Programm wird der ganze PORTA 'getoggled' nicht aber PORTB0. Also in dem Fall: Lautsprecher an irgend einen Pin von PORTA anschließen.
Es hat mich erstaunt, dass die Frequenz von 440Hz relativ gut getroffen wird.
wenn man sich erst mal den Ärger mit
den Syntax-Problemen vom Halse halten will, kann man das Ganze auf dem
Papier von Hand machen. Dann versteht man auch die Details.
Was für ein Käse. Das was hier läuft, ist an Unfug kaum zu überbieten. Oder ein "wie mach ich es möglichst umständlich und undurchsichtig" Wettbewerb!
Hollo Falk B. und an alle, Du schriebst zum Beitrag:
"Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Nützt rein gar nichts, weil der Günther gar nicht aufnahmefähig ist.
Nun, ich gebe das Programm in "HEX'" ein, und es läuft!
Übersichtliche Konventionen halte ich für zweckmäßig und
Die Schriftsteller vom ELEKTOR-JUNIOR-COMPUTER machen es ja so.
Das heißt nicht, dass ich die Emulatoren nicht benutzen werde.
Danke auch, für Deinen Emulator-Vorschlag, es ist ja auch nicht der erste.
Liebe Grüße
Günter K.
(ENK)
Es hat mich erstaunt, dass die Frequenz von 440Hz relativ gut getroffen
wird.
Hallo Christph M.
Ich werde mir Deinen Beitrag ausdrucken,
damit ich das nötige Verhalten anwenden kann.
Bestimmt werde ich danach immer noch kleine Fehlerchen machen.
Gibt es keinen Assembler, der reines "HEX'" voraussetzt, und
Dezimale gesondert anzeigt?
Die passende Frequenz die ausgegeben werden kann,
hängt ja von der Taktfrequenz und der passenden Byte-Gruppe ab.
Danach folgen 5 weitere Töne, bevor ein Lied entsteht.
Die Töne versuche ich Hexadezimal per Programm zu berechnen.
Die tieferen Töne treffen leichter, weil dort
mehr Schwingungen in die Wellenlänge hineinpassen.
Beim Z80 würde das besser gehen, weil er eine höhere Tacktfreqenz hat.
Liebe Grüße
Günter K.
(ENK)
Gibt es keinen Assembler, der reines "HEX'" voraussetzt, und
Dezimale gesondert anzeigt?
Assembler versteht kein "HEX", sondern Maschinenbefehle. LDA, STA, JMP usw. Die Hexwerte bzw den Binärcode erzeugt der Assembler. Damit Du nicht jedesmal im Buch nachsehen musst. Das wird bei längeren Programmen (8 kB Objektcode sind als Assemblerlisting über 100 DIN A4-Seiten) sonst schnell umständlich.
(Wobei ich zu meinen aktiven Apple-Zeiten die 6502-Befehle tatsächlich auswendig wusste, und hexadezimal kopfrechnen ging damals auch noch)
Beim Z80 würde das besser gehen, weil er eine höhere Tacktfreqenz hat.
Nein, denn die höhere Taktfrequenz wird durch vier geteilt. Ein Z80 mit 4 MHz ist so schnell wie ein 6502 mit 1 MHz. Der Z80 ist innendrin synchron aufgebaut, er braucht für jeden Vorgang eine Taktflanke ("T-State" nennt man das). Beim 6502 rutschen die Befehle asynchron durch, daher braucht er nur für jeden Speicherzugriff einen Takt.
Ich habe den 6502-Eumlator mittlerweile Zyklengenau auf dem PiPico
laufen. Die 6532Ports habe ich auf PORTA: GPIO2-GPIO9 und PORTB
GPIO10-GPIO17 gemapped.
Will es jemand aufprobieren?
Hallo Christoph M.
Da will ich wenigstens mal ein Lob rüberschicken und ich finde es enorm,
dass Du das geschafft hast!
Bei der Verwendung von Assemblern gibt es das kleine Problem, dass sich
jeder Assembler im Syntax ein wenig unterscheidet. Aus diesem Grunde
kann ich Günter schon verstehen: wenn man sich erst mal den Ärger mit
den Syntax-Problemen vom Halse halten will, kann man das Ganze auf dem
Papier von Hand machen. Dann versteht man auch die Details.
Lieber Christoph M.,
vor allen Dingen gefällt mir die Art Deines Assemblers,
denn es ist in Serie!
Da, fällt es mir leichter, den Maschinen-OP-Code unterzubringen.
Die dazugehörigen Konventionen möchte ich noch lernen.
Aber nur, bei Deiner Art von Assembler.
Denn ich kann kein Assembler; - ich versuche zu wissen oder erraten was die
Maschine macht. - Aber Hochsprachen sind mir zu hoch, da komme ich gar nicht mit.
Der Ton wird bei mir etwas über 440 Hz gemessen, also 440,0x.
Ich staune auch, wie sauber Dein Signal auf das Scop aussieht.
Bei mir ist das nicht ganz so gut, aber man weiß, es ist das Kammerton A.
Super! Was Du alles machst!
Als nächstes kommen 5 weitere Töne dran. Das G4, H4, C5, D5 und E5. Das Ganze soll ein Lied werden. - .
Die nächsten Töne können leider nicht so gut getroffen werden.
Ich kann versuchen, noch NOPs also "EA"s reinzuhängen; (-EA) geht nicht.
Will aber auch das Programm nicht zu groß machen.
Zur Ton-Änderung wird das X- und Y-Register aus der Zero-Page geladen.
Nur muss ich noch die Ton-Länge und die Pausenlänge bestimmen.
Da habe ich noch keine Idee, wie ich den 3032 anspreche, um die Zeit
zu bestimmen. Dann kommen noch Schleifen für den (selben)gleichen Ton hinein, wenn sich Töne mit gleichen Tonlängen, in der Melodie wiederholen.
Liebe Grüße
Günter K.
(ENK)
Wie kommst Du denn auf die Hex-Zahlen, die Du in deinen Junior-Computer eintackerst?
Lass mich raten: Du überlegst dir, was Du machen willst, also z.B. den Akkumulator mit #255 laden. Und dann schaust Du in deiner Tabelle oder irgendeinem Buch, welche Hex-Codes das sind.
D.h. Du kannst nicht nur Assembler, du bist der Assembler.
Denn das übersetzen von lda #255 in passende Hex-Codes IST das assenmblieren.
Und das lässt man logischerweise eine Maschine machen (z.B. wie vorgeschlagen einen Online-Assembler), anstatt es selbst manuell zu machen.
Oder rechnest Du die Periodendauer eines 440Hz Tons in Microsekunden um, in dem Du mit Bleistift und Papier 100000/440 rechnest?`Ich vermute, da nimmst Du ja auch das passende Werkzeug, einen Taschenrechner.
Warum also um alles in der Welt willst Du keinen Assembler benutzen???
Warum also um alles in der Welt willst Du keinen Assembler benutzen???
Doch das will ich, aber nur zu dem Zweck, damit andere etwas damit anfangen können. Ich selber, möchte selber assemblieren; es sei denn, ich hätte
die Vorteile schon gelernt; - das habe ich aber noch nicht.
Was aber vor allen Dingen dazu gehört, ist der Maschinen-Code,
also alles das, was die Maschine bekommt und macht.
Einen sehr schönen Assembler-Code habe ich bei
Christoph M. (mchris) 13.05.2025 09:09 gesehen.
Wo ich selber den Maschinen-Code links beifügen kann,
ähnlich dem Buche des Junior-Computers; somit verbleibt
viel Platz auf der rechten Seite für Kommentare.
Der Sinn, versteht sich von selbst.
Ja,
ich möchte sogar gerne wissen: Wann und wo was passiert,
also den Prozess; darum heißt der Prozessor, ja: Prozessor.
Liebe Grüße
Günter K.
(ENK)
Ich selber, möchte selber assemblieren; es sei denn,
ich hätte
die Vorteile schon gelernt
Es GIBT KEINE VORTEILE wenn du selbst assemblierst.
Du lernst dabei nichts sinnvolles. Die Tatsache, dass du irgendwann auswendig weißt, dass ein NOP in Hex EA übersetzt wird, ist vollkommen nutzloses Wissen.
Es GIBT KEINE VORTEILE wenn du selbst assemblierst.
Bei manchen Assemblern schon. Nämlich dann, wenn verschiedene Mnemonics in den selben Maschinencode übersetzt werden. Das fällt dann auf. Selber kenne ich zwar keinen solchen Assembler, aber hier im Forum habe ich davon gelesen.
Doch das will ich, aber nur zu dem Zweck, damit andere etwas damit
anfangen können. Ich selber, möchte selber assemblieren; es sei denn,
ich hätte
die Vorteile schon gelernt; - das habe ich aber noch nicht.
So haben wir vor 40 Jahren gearbeitet. Weil es nicht anders ging. Du kannst es heute komfortabler haben. Musst Du aber nicht. Es gibt Leute, die klettern zu Fuß auf Berge. Obwohl Hubschrauber und Seilbahn schon lange erfunden sind.
Wo ich selber den Maschinen-Code links beifügen kann,
ähnlich dem Buche des Junior-Computers; somit verbleibt
viel Platz auf der rechten Seite für Kommentare.
Der Sinn, versteht sich von selbst.
Da ist Karopapier immer noch am besten. Die Befehle aufschreiben, dann die Hexwerte raussuchen und zuletzt die Branches berechnen. Hexadezimal kopfrechnen kann man dann irgendwann.
Nein, 1985 hatte zB der C64 schon wunderbar nutzbare Assembler.
Ich erinnere mich noch an die Anfänge 1984, als ich noch kein Floppylaufwerk hatte.
Editor von Datasette laden, Programm schreiben, abspeichern. Dann Assembler laden, vorher gespeichertes Programm laden, assemblieren und dann ausführen.
Turn-around-Zeit sicher 10 bis 15 Minuten.
Ein Jahr später, mit Floppylaufwerk, vielleicht noch 2 oder 3 Minuten.
Und dann kam der Assembler (von Data Becker?) der den Quelltext direkt vom eigentlich für Basic vorgesehenen eingebauten "Editor" eingelesen hatte.
Das war Luxus pur, fast so komfortabel wie man es heute auch haben könnte, wenn man nicht so stur (oder schwer von Begriff) wäre.
wofür ist die bin-Datei gut?
was heißt: bin-Datei?
Du brauchst keine bin Datei für deinen Junior-Computer.
Du musst die Hex-Daten einzeln eintippen. Mit einem "richtigen" Computer würde die bin-Datei (oder Hex-Datei) von einem Datenträger eingelesen werden können und dann ausgeführt werden. Oder eben der Assembler lädt die bin/hex direkt ohne Umweg über eine Datei in den Speicher und führt die dann aus.
Das geht alles mit deinem prähistgorischen Junior-Computer nicht.
Nein, denn die höhere Taktfrequenz wird durch vier geteilt. Ein Z80 mit
4 MHz ist so schnell wie ein 6502 mit 1 MHz. Der Z80 ist innendrin
synchron aufgebaut, er braucht für jeden Vorgang eine Taktflanke
("T-State" nennt man das). Beim 6502 rutschen die Befehle asynchron
durch, daher braucht er nur für jeden Speicherzugriff einen Takt.
Eine positive Taktflanke?
Dankeschön lieber Soul E.
Liebe Grüße
Günter K.
(ENK)
PS.: Im JUNIOR-COMPUER-BUCH 2, hab' ich auch was über Taktflanken gelesen.
Das muss ich aber nochmal lesen, - denn verstanden, habe ich das noch nicht.
Ich weiß zwar was Flanken sind, muss aber nochmal den Zusamenhang finden.
Und dann kam der Assembler (von Data Becker?) der den Quelltext direkt
vom eigentlich für Basic vorgesehenen eingebauten "Editor" eingelesen
hatte.
Das war Luxus pur, fast so komfortabel wie man es heute auch haben
könnte, wenn man nicht so stur (oder schwer von Begriff) wäre.
Ja, das klingt doch interessant! Wenn ich nur, die Beziehung zur Maschinensprache behalte, was ist da noch möglich?
Liebe Grüße
Günter K.
(ENK)
! Wenn ich nur, die Beziehung zur
Maschinensprache behalte,
Die Beziehung zwischen Assemblersprache (z.b. "NOP") und Maschinensprache (z.B. Hex EA) stellt ein Assembler her.
Für einen Menschen gibt es keinen Grund, das manuell machen zu wollen.
Für einen Menschen gibt es keinen Grund, das manuell machen zu wollen.
Zum Grundlagenwissen gehört es auch, zu verstehen, was ein Assembler anstellt. Ein Programm von Hand assembliert zu haben, Sprungoffsets von Hand ausgerechnet zu haben, hilft zu verstehen, /warum/ man sich besser von einem Programm dabei helfen lässt.
Denn letztlich kann Dein "gibt es keinen Grund" auf alles angewandt werden.
Warum Programme in Assembler schreiben? Für Menschen gibt es keinen Grund, das machen zu wollen, das machen Compiler aus einer für Menschen viel besser lesbaren Hochsprache ...
Ohne Grundlagenwissen aber versteht auch der Hochsprachenprogrammierer nicht, was die Maschine da eigentlich anstellt.
Günters Ansatz ist mühsam, keine Frage, aber ein Weg, Grundlagen zu verstehen.
Ich habe vor 40 Jahren ein fehlerhaftes Programm (das sich im EPROM meines Computers befand) mit einer Art selbstgebauten Logikanalysator (jeden Buszyklus latchen und auf LEDs ausgeben, aufschreiben, und den nächsten Zyklus laufen lassen ...) analysiert.
Aus dem, was auf dem Bus loswar, konnte ich den Ablauf der Maschineninstruktionen rekonstruieren (Opcode-Fetch, Operanden-Fetch etc.) und mit viel Fleißarbeit die ersten paar tausend Schritte des Programmes nachvollziehen. Und: Den Fehler beseitigen.
Und damit, mit diesem mühsamen Erlernen von Grundlagen, habe ich viel mehr über Computerhardware gelernt, als Leute, die zur gleichen Zeit Space-Invaders spielten oder im C64-Basic irgendwelche Peeks und Pokes veranstalteten.
Günter wird zwar recht wahrscheinlich nicht in 40 Jahren mit Stolz auf das zurückblicken können, was er sich jetzt beibringt, und natürlich hat das auch keinen "praktischen" Nutzen (wer will heute noch was mit 6502 & Co. anfangen? Heute nutzt man Multicore-ARMe mit zig Gigabyte RAM ...) -- aber es hält die Birne fit.
Andere spielen Schach. Werner bringt sich 6502-Maschinencode bei.
Zum Grundlagenwissen gehört es auch, zu verstehen, was ein Assembler
anstellt. Ein Programm von Hand assembliert zu haben, Sprungoffsets von
Hand ausgerechnet zu haben, hilft zu verstehen, /warum/ man sich besser
von einem Programm dabei helfen lässt.
Richtig. Nur Günter versteht das halt nicht, trotz zahlreicher Kommentare in die Richtung.
Assembler ist die niedrigste Stufe, die man sich heute und schon seit Mitte der 1970er Jahre noch sinnvoll antut! Schrieb ich auch schon, wenn gleich mit leicht ironischem Wortlaut!
"Echte Männer jagen Mammuts. Wenn's keine mehr gibt, programmieren sie in
Maschinensprache. Weicheier wie ich tun sich nur Assembler an."
Günter (den ich vorhin aus irgendeinem Grund auch mal Werner nannte) ist dem Anschein nach ein gutes Stück älter als die meisten hier, und hat deswegen ein anderes Lerntempo.
Er hat auch viel Chaos und komische Ideen im Kopf.
Das ist in dem Alter nichts besonderes. Sieh Dir den kaum jüngeren US-Präsidentendarsteller an. Da ist mir Günters Chaos deutlich lieber.
Und andere sind bereit mit Eintritt in das Rentenalter nur noch schwer von weichgekochtem Broccoli zu unterscheiden.
Immer dran denken: Menschen in diesem Alter muss man nicht nur ertragen, sondern man muss sich im Klaren darüber sein, daß man auch mal in das betreffende Alter kommen wird, und da sollte man sich schon überlegen, ob man als leicht wabernde Masse in einem Stuhl in einer "Betreuungseinrichtung" den Tag verbringt, oder spinnerte Ideen auslebt und sich mühsam noch was neues beibringt.
Ich meinte Trump. Im übrigen bist gerade DU überhaupt nicht geeignet, mentale Leistungen von Menschen über fünf Jahren zu beurteilen. Gerade DU hast in einem anderen Thread hier mal wieder ad nauseam unter Beweis gestellt, daß Du den geistigen Vorruhestand schon lange vor dem 14. Lebensjahr erreicht hattest.
Ich meinte Trump. Im übrigen bist gerade DU überhaupt nicht geeignet,
mentale Leistungen von Menschen über fünf Jahren zu beurteilen.
Gerade machen die Berichte die Runde wie die Dems systematisch den extrem schlechten Zustand von Biden verheimlicht haben. Leute wie du, sind darauf wohl jahrelang reingefallen. Während alle normalen Leute schon seit Jahren darauf hinweisen wie desolat Biden daherkommt.
Aber klar, erst mal Trump als geistig unfit darstellen. Das ist wichtiger.
Wer von den beiden berechenbarer ist, darüber könnte man diskutieren - wenngleich nicht hier. Aber ich bin ziemlich sicher, dass Günter keinen dieser Rechner meinte. :)
Gerade machen die Berichte die Runde wie die Dems systematisch den
extrem schlechten Zustand von Biden verheimlicht haben
Und in ein paar Jahren werden die selben Berichte zu Trump die Runde machen. Wenn du glaubst, Trump wäre noch ganz dicht, dann bist du nicht ganz dicht.
Gerade machen die Berichte die Runde wie die Dems systematisch den
extrem schlechten Zustand von Biden verheimlicht haben
Und in ein paar Jahren werden die selben Berichte zu Trump die Runde
machen. Wenn du glaubst, Trump wäre noch ganz dicht, dann bist du nicht
ganz dicht.
Das ist doch nicht vergleichbar. Du bist nur anderer Meinung als Trump. Bei Biden geht es um objektive altersbedingte Probleme die ganz gezielt verheimlicht wurden. Aber peinlicherweise eben für jeden seit Jahren sichtbar.
Nein, also ja ich bin anderer Meinung als Trump, aber dennoch zeigen
sich auch bei Trump ganz klare Zeichen des mentalen Verfalls.
Wirklich Verfall? Evt. konsistente mentale Ausfälligkeiten wie z.B. extremer Narzissmus o.ä. Aber ich bin kein Psychologe und jeder seriöse Psychologe sagt sinngemäß dass Ferndiagnosen, selbst für Fachleute, unseriös sind.
Ganz im Gegensatz allerdings zu eindeutigen geistigen und körperlichen Ausfällen von Biden wie Orientierungslosigkeit, Übergriffe vor laufender Kamera (schnüffeln an den Haaren von anderen Leuten), Stolpern am laufenden Band, Ansprechen von Leuten die schon tot sind, live bei einer PK, Reden mit unsichtbaren Leuten die nicht da sind inkl. Handschlag.
Dazu braucht es keine tiefsinnigen Analysen, der Mann ist einfach zu alt. Und man wollte ihn wirklich noch sehr lange Zeit mit aller Gewalt 4 Jahre weitermachen lassen. DAS ist verrückt.
Übrigens ähnlich wie Mitch McConnell der einige male einfach vor laufenden Kameras eingefroren ist. Sorry da ist es halt einfach Zeit zu gehen. Allerdings ist er dann auch zügig gegangen.
Ganz im Gegensatz allerdings zu eindeutigen geistigen und körperlichen
Ausfällen von Biden wie Orientierungslosigkeit,
Und Trump tatscht arabische Kronprinzen an, die auf keinen Fall anzutatschen sind. Also ich zumindest würde keinen offensichtlichen Hardcorenarzist als Anführer meiner Nation haben wollen.
Ganz im Gegensatz allerdings zu eindeutigen geistigen und körperlichen
Ausfällen von Biden wie Orientierungslosigkeit,
Und Trump tatscht arabische Kronprinzen an, die auf keinen Fall
anzutatschen sind. Also ich zumindest würde keinen offensichtlichen
Hardcorenarzist als Anführer meiner Nation haben wollen.
Die Meinung darfst du haben, es ist trotzdem kein Zeichen von geistigem Verfall. Nur Verhaltensweisen die du nicht magst.
Trump wird gerade gewählt weil er auf viele Konventionen nichts gibts. Das ist sein Markenkern und keineswegs Zufall, Unwissenheit, Unsicherheit oder das Alter.
Das ist DEINE Meinung, muss deshalb aber noch lange nicht stimmen.
Merkwürdiger Kommentar. Wir tauschen hier doch ausschließlich Meinungen aus.
Ein Hinweis darauf dass es sich nicht um Verfall handelt ist die Tatsache dass er schon immer derart erratisch handelt. Er war ja auch früher wirtschaftlich nicht besonders erfolgreich mit seinen Geschäften.
All deine Kommentare sind äusserst merkwürdig. Sie verharmlosen absolut
fragwürdiges Verhalten.
Nein sie ordnen es ein. Das Verhalten von Trump und der Verfall von Biden haben schlicht nichts miteinander zu tun. Egal welche noch so guten Argumente du gegen Trump auffährst.
Das ist richtig. Aber dieses Assembler Gestammel mit dem
Internetausdrucker kann ja auch nicht euer ernst sein.
Du bist echt unglaublich, mit einem nicht drauf eingehen wischt du zur Seite, dass ich angeblich Trump ins Spiel gebracht hätte, aber hackst weiter auf jemanden ein, der lernen möchte. Das kann ja auch nicht dein Ernst sein.
Kannst die Leute nicht einmal auseinanderhalten aber weißt, das Biden kaputt ist. Sicher, dass du ihn nicht mit jemand ganz anderem verwechselt hast?
Du bist echt unglaublich, mit einem nicht drauf eingehen wischt du zur
Seite, dass ich angeblich Trump ins Spiel gebracht hätte
Ich hatte sogar ein Zitat von dir mit Trump gepostet. Was willst du noch? Du hast ihn nicht als erstes erwähnt. Aber DU hast Trump mit Biden verglichen. Das Zitat war von dir. Da gabs keine Verwechslung.
Sollte ich irgendwo etwas falsch zitiert haben oder jemanden verwechselt haben wäre ich der erste der das einräumt. Ist halt noch nie vorgekommen deshalb gibts keinen Präzedenzfall.
mit einem nicht drauf eingehen wischt du zur
Seite, dass ich angeblich Trump ins Spiel gebracht hätte,
Eine der am leichtesten zu identifizierbaren Eigenschaften eines extremen Egomanen, oder Narzissten, ist die Unwilligkeit Irrtümer zuzugeben. Auch sich selber gegenüber nicht. Stattdessen werden andere für alles "böse" verantwortlich gemacht.
Daran erkenne sie sich auch gegenseitig.
Und in ein paar Jahren werden die selben Berichte zu Trump die Runde
machen. Wenn du glaubst, Trump wäre noch ganz dicht, dann bist du nicht
ganz dicht.
Erwähnt habe ich Biden mit keinem Wort. Ist es überhaupt ein Vergleich, wenn nicht alle Verglichenen erwähnt werden? Dann hätten wir beide gar keinen Vergleich gemacht.
Leute, laßt die sinnlose Diskussion über Trump & Co. Gehört hier
nicht
hin! Weder in diese Diskussion noch ins Forum!
Ja Falk B. auch das ist richtig!
Fortsetzung:
... ja dass jemand einen Emulator des 6502-Computers in einen ...
Christoph M. schrieb:
Ich habe den 6502-Eumlator mittlerweile Zyklengenau auf dem PiPico
laufen. Die 6532Ports habe ich auf PORTA: GPIO2-GPIO9 und PORTB
GPIO10-GPIO17 gemapped.
Will es jemand aufprobieren?
Hallo Christoph M.
Da will ich wenigstens mal ein Lob rüberschicken und ich finde es enorm,
dass Du das geschafft hast! Ja, das ein sehr guter Beitrag!
Assembler heißt: Zusammenbauen!
Und mehr noch, das ist kein Gestammel! - Es ist sogar WICHIG! - dass
wir Menschen wissen, was der Computer tut, sonst tut der Computer
vielleicht das, - was wir Menschen gar nicht wollen! - !
Seltsame Ideen habe ich zwar, die habe ich hier noch gar nicht vorgebracht.
Eine Idee erfüllt dann seinen Zweck, wenn sie nützlich ist. -
Übrigens Falk, Deine Idee mit Hilfe des Timers die Tonsignale zu erzeugen,
ist eine sehr gute Idee! - Ich dachte auch schon mal daran.
Nur habe ich das dazugehörige Wissen aus dem JUNIOR BUCH 2, noch nicht verstanden; das muss ich nochmal lesen. - Ich wollte ein Programm mit 6 Tönen in C-Dur als Lied schreiben. Aber inzwischen eine Oktave tiefer.
Christoph M. schickte mit den Kammerton A. Das ist sehr, sehr gut!
Durch seine Rechteckform hat das "A4" sehr viele Oberwellen; - und so,
erscheint mir der Ton zu hoch.
Die tieferen Töne, sind mir leider nicht gelungen, wobei man meinen sollte,
dass das einfacher ist, weil mehr Zeiträume zu Verfügung stehen.
Also: Je mehr Zeit-Raum (Wellenlänge), je mehr Variabilität. - Mal sehen,
ob es mir gelingt, den Timer im 6502 aufzurufen.
Liebe Leute, bitte versteht mich.
Mit lieben Grüßen
Günter K.
(ENK)
Hallo liebe Leute,
denn
Arduino F. (Firma: Gast) (arduinof) schrieb um 15.05.2025 18:31,
dass irgendjemand kopierte,:
"Günter K. schrieb:
Aber dieses Assembler Gestammel mit dem
Internetausdrucker kann ja auch nicht euer ernst sein."
Das schrieb ich nicht, und diesen Spruch werde ich auch nicht heraussuchen.
Allerdings, habe ich auf diesen Spruch bereits geantwortet.
Arduino F. (Firma: Gast) (arduinof) kopierte: s. o.:
"Die Quelle dieses Spruches hat ein Sozialverhalten wie eine
Bordsteinkante.": Also, es ist nicht meine Quelle.
Und das, - sehe ich genau so, - nur fehlt mir
das Vokabular dazu.
Mit lieben Grüßen
Günter K.
(ENK)
Nein, das hast Du auch nicht geschrieben. Das war der Forentroll vom Dienst. Lass' Dich von diesem Idioten nicht irritieren -- ignoriere einfach alles, was der geschrieben hat.
Hätte einer der Moderatoren sich schon um diesen Thread gekümmert, hätte auch alles seit heute gegen halb neun vormittags hier einfach gelöscht werden können.
den Timer im 6502 aufzurufen.
Zwichengedanke dem 6532.
Lass' das bitte.
Verändere/erweitere das Programm mit den 440Hz schrittweise:
dass es eine andere Tonhöhe abspielt
dass es den Ton z.B. nur eine bestimmte Zeit abspielt
dass es 2 verschiedene Töne hintereinander abspielt
Damit wirst Du ein paar Tage beschäftigt sein. ... ...
Denn ich vermute, dass das stimmt, - weil ... (Anzwort kommt noch), denn
eine 2. Tonhöhe und noch andere hatte ich, - das wäre quasi außer
dem A4, das G4, also: 440 Hz und 392 Hz.
Einzeln, kann ich diese beiden Töne laufen lassen, - aber nicht hintereinander. - Denn ich komme nicht aus dieser Schleife heraus! Es ist wie
in dem Film: (Und täglich grüßt das Murmeltier.) - weil
ich etwas tun muss, eben um aus dieser Schleife, herauszukommen.
Vielleicht fällt mir noch was ein. In diesem Fall müsste ich erst
eine große um den Ton legen, Fortsetzung folgt.
Mit lieben Grüßen
Günter K.
(ENK)
Er hat auch viel Chaos und komische Ideen im Kopf.
Das klingt interessant, hab' auch interssante Ideen,
die ich noch gar nicht vorgebracht habe.
Du scheinst mich zu kennen. :-)))
Liebe Grüße
Günter K.
(ENK)
P.S.:
Seis drum, alles Gute!
Einige der nächsten E-Mails habe ich noch nicht gelesen.
Ich habe Linux ohne LibreOffice und werde nur wegen der Datei auch nicht
nach einem xslx-Viewer im Internet suchen.
Dann meckere nicht über die Datei, sondern halte dich einfach vornehm heraus. Dass andere Leute (ganz gewöhnliche) Programme benutzen, die du nicht benutzen möchtest, ist nicht deren "Fehler".
Glaube ich nicht. Günter ist nur etwas älter als die meisten hier und mit anderen Tools groß geworden. Nach einer offenbar langen Pause (30-40 Jahre?) beschäftigt er sich wieder mit dem Thema. Vielleicht, weil er jetzt nicht mehr Arbeiten muss und endlich Zeit hat, sein Hobby fortzusetzen.
Ist ja gut.
Schon mal überlegt dass die Schreierei empfindlichere Seelen, wie z.B.
mich, extrem verunsichern kann?
Nun, Danke Cyblord.
Ja, ich werde versuchen, ansetelle der "1" im Y-Register
aus der Schleife hinauszukommen, ob mir das gelingt,
weiß ich jetzt noch nicht. (Vermutlich nicht.)
In dieser Zeit, wird noch einmal bis dezimal bis 250 gezählt.
Ich darf aber durch den Ausstieg aus der Schleife,
die Zeit nicht verändern, denn dann stimmt der Ton nicht mehr.
von Christoph M. (mchris)
06.05.2025 11:56
Lesenswert? - Ja! Auf jeden Fall!!
Hier mal der Versuch, den Timer ohne Interrupt zu verwenden.
Wenn ich es richtig verstehe, kann man den Timer wohl einfach durch das
Beschreiben der entsprechenden Adresse starten.
Das Programm sollte also folgendes machen:
Timer starten
Warten bis abgelaufen
Portpin rumdrehen
Jump zu 1.
... Ja nach diesem Beitrag, hab ich gesucht,
und dachte er wäre von "Falk" gewesen, weil ich oben drüber mal "Falk" las,
aber das war, - durch ein Zitat von mir falsch verstanden hatte.
Lieber von Christoph M. (mchris)
Scheinbar, die einzige Möglichkeit, - doch auch hier muss ich Aus der Schleife hinaus, für weitere Zeiten.
Ich muss Anschließend, die Notenlängen zusammenkleben.
Weil auch(evtl.) eine Schlusspause(der Note selbst)
die in der Notenschrift nicht vorhanden ist,
würde schätzungsweise 1/128 ausmachen,
die dann auch in den Takt passen.
Austeigen kann ich nur in der NULL-Phase,
weil danach eine EINS-Phase kommen kann.
Die NULL-Phase muss ich vor dem Ausstieg ergänzen,
ohne die gesammte Wellenlänge zu verfälschen.
Wer weiß, vielleicht schaffe ich es ja in den
bisherigen Schleifen. Ich brauche das 6502 Handbuch.
Das suche ich jetzt im Internet.
Hallo Falk,
Dein Vokabular, könnte besser sein.
Liebe Grüße
Günter K.
(ENK)
Ach ja: Christoph M. (mchris) vomm 12.05.2025 18:49
Ich bin immer noch erstaunt über den Emulator, - ! Sehr gut!
Und ich sehe, dass ich die Forum-Seiten hier im Threat
gar nicht gut genug durchgelesen habe! ...
Ich bekomme gerade Besuch, und melde mich später.
Liebe Grüße
Günter K.
(ENK)
Das kannst Du dir sparen.
Christoph hat bereits ein Programm gepostet, das mehrere verschiedene Töne hintereinander abspielt.
Versuche das zu verstehen.
Das kannst Du dir sparen.
Christoph hat bereits ein Programm gepostet, das mehrere verschiedene
Töne hintereinander abspielt.
Versuche das zu verstehen.
Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen,
Erfahrung?"
von Christoph M. (mchris) 06.05.2025 11:56 Lesenswert? - Ja! Auf jeden Fall!!
Hallo Leute,
hallo Christoph M. (mchris) DANKESCHÖN!
Ich versuche, später mal das Programm, so hexadezimal in der Art zu übertragen, wie Hans Otten in JUNIOR-COMPUTER das macht. Einige Befehle habe ich noch nicht gelernt. Ich melde mich dazu wenn ich da dran bin, und bitte, das dann zu beantworten. Danach -versuche- ich, ein Ablauf-Diagramm zu erstellen; ob es mir gelingt, weiß ich noch nicht. Ohne Timer,
stelle ich es mir schwerer vor.
Mit lieben Grüßen
Günter K.
(ENK)
P.S.: Doch vorher versuche ich das Folgende, weil
Klaus schrieb im Beitrag #7876743:
Lass' das bitte.
Verändere/erweitere das Programm mit den 440Hz schrittweise:
dass es eine andere Tonhöhe abspielt
dass es den Ton z.B. nur eine bestimmte Zeit abspielt
dass es 2 verschiedene Töne hintereinander abspielt.
Nur für den Anfang: G4 + A4, als große Sekunde. Das wird gelingen. - Doch
danach vielleicht: G4 + B4, als kleine Terz.
Danach vielleicht: G4 + C5, als große Terz.
(Aber irgendwie, kommt mir in den Sinn, die Tonsequenz-Kürzel
in Form von Hexadezimale Zahl für 'f' also Frequenz von Christoph M.
zu verwenden.)
Ob mir das -hier- gelingt, weiß ich jetzt noch nicht.
Erst mal nur die 3 Zweier-Gruppen. So wiederhole ich:
Mit lieben Grüßen
Günter K.
(ENK)
Und während in villariba noch mühsam der Machinencode per Hand, Fuß und Gedächtnislücke geklöppelt wird, wird in villabacho schon RocknRoll gespielt! ;-)
Nur für den Anfang: G4 + A4, als große Sekunde. Das wird gelingen. -
Doch
danach vielleicht: G4 + B4, als kleine Terz.
....
Ich verstehe dein Gedankengänge Nullkommanull.
Ich hab es dir bereits einmal vorgerechnet.
Die Frequenz holst Du dir aus dem Internet.
Dann rechnest Du 1000000µs geteilt durch die gewünschte Frequenz und erhältst dadurch die Periodenlänge.
Das Ergebnis geteilt durch 2 ist die halbe Periodenlänge in µs, so lange muss Du zwischen 0 und 1 bzw 1 und 0 warten.
Ein Takt ist bei deinem 1MHz Prozessor genau 1µs lang.
Wenn also deine Delay-Schleife 6 Takte braucht, muss Du nur noch die berechnete halbe Periodenlänge durch 6 teilen und Du hast deinen Wert, wie oft Du in de Schleife warten musst.
Ich habe jetzt länger gebraucht das hier hinzuschreiben als es einfach (und einmalig!) auszurechnen.
Nur für den Anfang: G4 + A4, als große Sekunde. Das wird gelingen. -
Doch
danach vielleicht: G4 + B4, als kleine Terz.
....
Klaus (feelfree):
Ich verstehe dein Gedankengänge Nullkommanull.
Ich glaube, da gibt es zwei Aspekte: Das eine gedankliche Problem ist, wie man einen Tonwechsel ohne Unterbrechung machen kann. Beim Wechsel des Tones werden wird ja eine andere Befehlssequenz durchlaufen und die verändert genau eine Periode der Schwingung. In der Realität merkt man aber beim Abspielen der Beispielprogramme (z.B. der Tonleiter) nichts, weil der Wechsel so schnell erfolgt, dass die veränderte Periodenlänge keinen hörbaren Effekt hat.
Der zweite, eher ziemlich komplizierte und sportliche Aspekt ist: Wie zwei Töne (mit einem Lautprecherpin ) gleichzeitig spielen (G4 + B4), so dass ein Akkord entsteht.
Das ist machbar, wie einige Videos mit dem Apple 2 (der eher in den 80.er Jahren aktuell war), zeigen.
Nur für den Anfang: G4 + A4, als große Sekunde. Das wird gelingen. -
Doch
danach vielleicht: G4 + B4, als kleine Terz.
....
Klaus (feelfree):
Ich verstehe dein Gedankengänge Nullkommanull.
Ich glaube, da gibt es zwei Aspekte: Das eine gedankliche Problem ist,
wie man einen Tonwechsel ohne Unterbrechung machen kann. Beim Wechsel
des Tones werden wird ja eine andere Befehlssequenz durchlaufen und die
verändert genau eine Periode der Schwingung. In der Realität merkt man
aber beim Abspielen der Beispielprogramme (z.B. der Tonleiter) nichts,
weil der Wechsel so schnell erfolgt, dass die veränderte Periodenlänge
keinen hörbaren Effekt hat.
Der zweite, eher ziemlich komplizierte und sportliche Aspekt ist: Wie
zwei Töne (mit einem Lautprecherpin ) gleichzeitig spielen (G4 + B4), so
dass ein Akkord entsteht.
Das ist machbar, wie einige Videos mit dem Apple 2 (der eher in den
80.er Jahren aktuell war), zeigen.
Hallo liebe Leute,
ich hatte auch garnicht von einem ganzen Akkord gesprochen,
sondern ich meinte nur einzelne Töne.
Inzwischen hatte ich schon wieder eine ganze Aufsatzseite geschrieben,
wie ich an der richtigen Stelle in der NULL-Phase, eine Zählung unterbringe, - doch ich schicke es nicht ab.
Stattdessen, lese ich noch was in den Büchern.
Der Prozess, braucht eine Uhr.
Das wurde jetzt schon ca 10 mal vorgeschlagen. Ich frage mich ob der TE es überhaupt EINMAL angeklickt und ausprobiert hat.
Und nein, ich halte die völlig falsche und beratungsresistente Vorgehensweise die wir hier sehen überhaupt nicht für altersbedingt. Wer bisher strukturiert und klar denken und arbeiten konnte verfällt nicht plötzlich in so einen Modus. No Way. Das war bei dem noch nie anders.
Inzwischen hatte ich schon wieder eine ganze Aufsatzseite geschrieben,
wie ich an der richtigen Stelle in der NULL-Phase, eine Zählung
unterbringe
Völlig überflüssig, es braucht keine NULL-Phase.
Und zum drölfzigsten Mal: Weiter oben hat Christoph ein Programm gepostet, das eine Tonleiter ausgibt. Inklusive Hörbeispiel.
Versuche das Programm zu verstehen. Wenn die das nicht gelingt, Frage konkret nach was du nicht verstehst
Solange du das Programm nicht verstanden hast, brauchst du keine eigenen Versuche starten, die werden nämlich grandios scheitern.
Hmmm... also, ich muss sagen, beim Lesen dieses Threads (ja, mit 'd'!) bin ich hin- und hergerissen. Einesteils finde ich es immer bewundernswert, wenn jemand (egal in welchem Alter) noch den Elan hat, sich durch Selbststudium etwas selbst beizubringen. Andererseits tut es mir fast körperlich weh, mit anzusehen, wie Günter hier weitaus schneller in immer abstrusere Gedanken, Ideen, Versuche, Missverständnisse etc. fällt, als ihm hier auch nur ein einziges Konzept hinreichend nahegebracht werden kann.
Eigentlich braucht er Jemanden, der sich mal einen ganzen Nachmittag/Abend bei 'nem guten Bier oder Kamillentee mit ihm zusammensetzt und zusammenhängend wenigstens die Grundideen ohne Abschweifen nahebringt.
Aber so wie hier wird das nix: er versucht, Tonfolgen und Lieder abzuspielen, hat aber noch elementare Probleme damit, überhaupt die Funktionsweise einer CPU, den Maschinenbefehlen und Programmstrukturen zu verinnerlichen. Und nun will er gleich mehrere Töne gleichzeitg erzeugen. Das ist ungefähr so, als ob man gleichzeitig die Saiten einer Gitarre zählt, die Mechanik der Wirbel analysiert und eine Etude komponieren will.
Schade, aber ich persönlich sehe nicht, wie man ihm effizent die Materie nahebringen kann.
Eigentlich braucht er Jemanden, der sich mal einen ganzen
Nachmittag/Abend bei 'nem guten Bier oder Kamillentee mit ihm
zusammensetzt und zusammenhängend wenigstens die Grundideen ohne
Abschweifen nahebringt.
Das Ergebnis wäre exakt das gleiche. Er ist schlicht nicht aufnahmefähig für Tipps und Ratschläge.
Und die Grundidee einer CPU, der Befehle usw. kann man sich am besten selbst und in max. 1 Stunde beibügeln. Wenn man denn will. Inkl. Youtube Videos wenn man zu faul zum lesen ist.
Und nun will er gleich mehrere Töne gleichzeitg
erzeugen. Das ist ungefähr so, als ob man gleichzeitig die Saiten einer
Gitarre zählt, die Mechanik der Wirbel analysiert und eine Etude
komponieren will.
Hallo lieber Thilo
Irgendwo habe ich geschrieben, dass ich keine Akkorde meinte, d.h.:
Nicht mehrere Töne gleichzeitig. Also:
Hallo liebe Leute,
ich hatte auch garnicht von einem ganzen Akkord gesprochen,
sondern ich meinte nur einzelne Töne.
Ich danke aber für Deinen verständnisvollen Beitrag.
Denn es geht um das Verstehen. Nicht um das Fertige zu übernehmen;
obschon ich die Leistung von Christoph M. sehr bewundere!!
Die Umrechnung aus den µSekunden von Klaus(feelfree) von 18.05.2025 19:45
finde ich schon sehr gut. - Ob die Zeit reicht, - da noch was zwischenzuschieben? Da, bin jetzt noch nicht ganz sicher. Das weiß ich erst dann, wenn ich es ausprobiert habe. Denn immerhin muss ich ja hochzählen
(Nun ja, - es wird jedesmal nur 1 x hochgezählt) aber das verändert schon die Frequenz und zwar so, dass ich den (x vielleicht nicht) Y-Wert ändern muss, damit der Ton wieder stimmt. - Und ich muss so viel hochzählen, dass
ich 1/128 des Takts zusammenbekomme.
Kein Problem ist das mit dem Timer, weil er alleine selber zählt.
An einer Stelle hatte ich mich aber verschrieben, denn da hatte ich,
6502 statt 6532 für den Timer geschrieben.
Das geht, denn der Timer und der 6502 sollen ja zusammenarbeiten.
Ein Proramm einfach abschreiben, das ist -zu- einfach.
Man möchte es ja auch verstehen.
Liebe Grüße
Günter K.
(ENK)
Ein Proramm einfach abschreiben, das ist -zu- einfach.
Man möchte es ja auch verstehen.
Bevor du nicht ein abgeschriebenes, fertiges Programm verstanden hast, brauchst du erst gar nicht versuchen, eines selbst zu schreiben. Das wird scheitern, wie man ja an jedem Beitrag von dir erkennen kann.
Lernen kann man an Beispielen. Wie machen es andere?
Und wenn man ein Beispiel verstanden hat, kann man es verändern und erweitern. So lernt man.
Analogie:
Wenn du lernen willst, wie man schriftlich multipliziert, kannst du versuchen, den Rechenweg selbst herzuleiten. Oder eben eine Anleitung befolgen, 2-3 Beispiele nachzuvollziehen und dann erst selbst zu rechnen.
Kein Problem ist das mit dem Timer, weil er alleine selber zählt
Das zeigt mir, dass du nix verstanden hast. Einen Timer zu benutzen ist viel komplexer, das bekommst du niemals hin.
Vergiss den Timer. Hab ich aber auch schon mehr als einmal geschrieben.
Hier mal der PiPico-6502-Emulator, falls jemand die Töne in Echtzeit
hören will und keine Junior-Hardware hat:
Beitrag "6502 Emulator PiPico"
Sehr schoen! Werde ich am Wochenende einmal ausprobieren.
Da ich mit dem Junior waehrend der Schulzeit programmieren gelernt habe und jetzt mit einer 5EUR-Platine das gleiche machen kann: Irgendwie schliesst sich der Kreis.
tippe im linken Fenster mit der Bezeichnung 'src' den Text 'nop' ein
drücke rechts unten auf 'Assemble'
drücke auf 'OK'
schaue das Ergebnis auf der rechten Seite im Fenster 'object code'
an.
Hallo Christoph M.,
Bitte, wo hast Du das Programm mit mehreren Tönen gepostet?
Ich suchte, habe es leider nicht gefunden.
(Meine sogar es gesehen zu haben.)
Es sind zu viele Trump-Biden-Postings dazwischen.
Hab' mir auch mal den Rasberry PICO Pi zurechtgelegt.
Was mich aber auch interessiert ist der Maschinen-Code,
welches hoffentlich noch in gleicher Reihenfolge ist,
wie es erstellt wurde - und so funktioniert.
Einmal sah ich, dass da beim Apple II
eine ganz andere Reihenfolge erschien. (Das verwirrt!).
Bitte schicke mir das Programm oder den LINK.
Liebe Grüße
Günter K.
(ENK)
von Klaus (feelfree) 20.05.2025 23:16
Nein, das sucht er ganz gewiss nicht.
Günter K. schreibt: Hallo liebe Leute!
Warum nicht? - Aber bitte auf Deutsch.
Liebe Grüße
Günter K.
(ENK)
Also lieber Klaus, es ist ja gut gemeint mit den einzelnen kleinen Schritten.
Denn genau das Modulare, suche ich. Fertige Programme sind oft zu sehr mit Verschachtelungen umschlungen. - Ja, die Fragen müssen in einzelnen Schritten, - also wieder Fragen zerlegt werden.
Ich werde auch -nicht-, den ganzen - Assembler - überfliegen können, -
da liegst Du richtig -,
sondern nur kleine Schritte, die man einzeln versteht.
Wenn man dann, einige zusammengefasste Schritte verstanden hat, dann hat man schon größere Schrittchen verstanden, bis man so viel mehr verstanden hat, dass man es dann so, anwenden kann.
Die Schriftsteller meinen es gut, jedoch man wird vielleicht mit vielen
verstrickten Problemen konfrontiert.
Der Studierte, hat ein ganz anderes Gehirntraining hinter sich.
Diese Möglichkeit, wurde mir aber schon in der Kindheit geraubt!
Ich war zu schwach und zu Hilflos!
Liebe Grüße
Günter K.
(ENK)
Also ich bin raus. Wenn ich mal wieder Lust auf Unterhaltung habe, nehme ich mir vielleicht eine Tüte Chips und verfolge dieses Drama ausschließlich lesenderweise.
Nun will Günter "ganze Assembler überfliegen"??? Schon mit den Begrifflichkeiten hat er Probleme: er meint wohl den gesamten Assembler-Code eines Programmes.
Oder "Fertige Programme sind oft zu sehr mit Verschachtelungen umschlungen." Was soll das denn nur bedeuten? Ein fertiges Programm wird höchstens kurz - aus seliger Wonne ob des Erreichten - von seinem Programmierer kurz und virtuell umschlungen...
Nun hat Günter sich einen Raspberry zurecht gelegt - hat er nicht genug Probleme mit einer der allereinfachsten Architekturen, seinem 6502?
Genau das, was ich in meinem Post weiter oben angemerkt hatte, passiert bei Günter in fortgesetzter Weise: kein einziger Gedanke (sinnvoll auf beherrschbare Komplexität zurecht gestutzt) wird einfach nur mal so richtig durchdacht, bis die Sache sitzt. Ständig schießen unzusammenhängende Bemerkungen und Überlegungen dazwischen.
Und zur Erleicherung beim Schreiben eines Posts das Ganze zunächst in Word zu verfassen, schießt den Vogel ab: Günter, wie wär's mit Hammer und Meißel und einem großen Stein?? Das übersteht garantiert ALLE Rechner-Crashes oder sonstige Probleme mit dem Internet!
Nee, wie gesagt, ich bin raus. Aber ich überbewerte schon wieder die Wichtigkeit meines Verhaltens im öffentlichen Raum, sorry.
Dann such' dir ein anderes Hobby. Wenn Du es nicht mal schaffst, 20 Zeilen Assemblercode verstehen zu wollen, sind weitere Anstrengungen in dieser Richtung absolut sinnlos.
Ich finde die Tonerzeugung auf dem 6502 ziemlich interessant, weil man mit sehr wenigen Resourcen auskommen muss.
Mein Ziel ist es, deutlich komplexere Sounds zu erzeugen.
Damit die "professionelle Diskussion" nicht abreist, habe ich hier mal einen Thread für Leute erstellt, die in der Tiefe diskutieren wollen.
Apropos: hier noch eine praktische Frage zum Juniorcomputer.
Die Beispielprogramme starten immer ab Adresse 0x300 und damit sind nur noch 256 Bytes für das Programm frei.
Ich brauche mehr. Deshalb die Frage: Der Stackpointer geht ja von 0x100-0x1FF, d.h. könnten die Programme auch ab 0x200 beginnen.
Also lieber Klaus, es ist ja gut gemeint mit den einzelnen kleinen
Schritten.
Denn genau das Modulare, suche ich. Fertige Programme sind oft zu sehr
mit Verschachtelungen umschlungen. - Ja, die Fragen müssen in einzelnen
Schritten, - also wieder Fragen zerlegt werden.
Wie wärs mal wenn du KLARTEXT redest? Warum schwurbelst du so extrem um alles herum?
Was willst du mit dem obigen Satz sagen?
Klaus hat dir ein Programm gepostet welches Töne mit Variabler Tonhöhe erzeugen kann.
Das war doch deine Frage. Was ist nun los?
Verstehst du das Programm nicht? Dann frage konkret.
Ich werde auch -nicht-, den ganzen - Assembler - überfliegen können, -
D.h. du kannst kein Beispielprogramm mit 20 Zeilen ASM anschauen und verstehen?
Warum nicht?
Und wenn das nicht geht, was glaubst du geht dann überhaupt in Richtung Assembler?
Sorry dein Problem ist nicht nur die Programmierung, sondern du kannst dich anscheinend auch überhaupt nicht ausdrücken.
Sortiere mal deine Gedanken und formuliere sie wie ein normaler Mensch.
Also WAS WILLST DU?
WAS SUCHST DU?
WELCHE FRAGEN HAST DU KONKRET?
Apropos: hier noch eine praktische Frage zum Juniorcomputer.
Wie wärs mit einem eigenen Thread für DEINE Probleme anstatt den hier
sowieso extrem verwirrten Thread auch noch zu missbrauchen?
Die Frage, wo die Programme auf dem Juniorcomputer von Günther allokiert sind, ist durchaus relevant. Kannst du dein dummes Geschwätz irgendwo anders platzieren?
Die Frage, wo die Programme auf dem Juniorcomputer von Günther allokiert
sind, ist durchaus relevant.
Das ist für Günther absolut nicht relevant.
Du funkst hier ständig mit deinen Themen dazwischen die für den TE null Relevanz haben. Mach einen eigenen Thread dafür auf. Das ist hier nun mal üblich. Threads kapern geht nicht.
Bei dem was du Günter gegenüber hier bisher abgesondert hast
Ich "sondere" hier gar nichts ab. Arbeite mal ein wenig an deinen Umgangsformen. Hattest du keine Kinderstube?
Ich sage ihm klar und On-Topic was das Problem ist. Im Gegensatz zu dir werde ich nicht ausfallend.
Hör auf
Kreide zu fressen und den Trump zu spielen.
Du scheinst tiefergehende Probleme zu haben und auch Probleme sachlich bei einem Thema zu bleiben. Das hat hier alles nichts zu suchen. Du zerstörst den Thread mit deinen Off-topic Anwürfen und Anschuldigungen.
Arbeite an dir und deinem eigenen Verhalten. Da hast du genug zu tun.
Also WAS WILLST DU?
WAS SUCHST DU?
WELCHE FRAGEN HAST DU KONKRET?
Bitte mal KLARTEXT.
Und Günter, du bist gefragt worden, wo du wohnst.
Ich selber habe auch in meiner Jugend viel mit dem seligen Commodore Pet2001 (auch MOS6502) in Assembler programmiert. Und wenn du wirklich interessiert bist, würde ich dir auch mal weiter helfen wollen. Aber ich kann bestätigen, was einige Vorredner schon sagten: Deine Fragen hier sind dafür nicht zielführend.
P.S: Das erste größere Programm das ich damals schrieb, war ein Assembler! Zu Beginn hackte ich wirklich Maschinencode ein, berechnete Sprungbefehle von Hand. Und wenn einer nicht stimmte: Adios! Da ich noch keinen Drucker besaß, hieß das, die ganze Litanei mit Bleistift auf Papier zu schreiben, ganz ähnlich zu jemanden, der seine damaligen Werke hier auch gezeigt hat. Auf den (1-pass-) Assembler war ich dann auch sehr stolz und die 1 in der Computer AG der Schule war dauerhaft meins. Schnüff, lange her.
Apropos: hier noch eine praktische Frage zum Juniorcomputer.
Die Beispielprogramme starten immer ab Adresse 0x300 und damit sind nur
noch 256 Bytes für das Programm frei.
Ich brauche mehr. Deshalb die Frage: Der Stackpointer geht ja von
0x100-0x1FF, d.h. könnten die Programme auch ab 0x200 beginnen.
Der Monitor beim Junior verwendet einen Teil der Zeropage 0x0000..0x00FF für seine Variablen.
Die 6502 verwendet 0x0100..0x01FF als Stackpointer.
Seite 2 sollte eigentlich auch frei sein, also mit Anfangsadresse 0x0200 - bei Günter hat das erste Beispiel aber nicht funktioniert, daher hatte ich ihm empfohlen, das mal auf Adresse 0300 zu legen, da ging es dann.
Keine Ahnung, ob er sich da vertippt hatte oder das RAM einen Schuss hat.
Ich bin noch mal den Monitor durchgegangen, Seite zwei benutzt der nicht.
Von 0x0000 bis 0x00E0 kann man die Zeropage auch für eigene Programme verwenden. Und wenn man den Stack unter Kontrolle hat, dann steht auch die Page 1 weitgehend zur Verfügung!
Seite 2 sollte eigentlich auch frei sein, also mit Anfangsadresse 0x0200
bei Günter hat das erste Beispiel aber nicht funktioniert, daher hatte
ich ihm empfohlen, das mal auf Adresse 0300 zu legen, da ging es dann.
Keine Ahnung, ob er sich da vertippt hatte oder das RAM einen Schuss
hat.
Ah, ok .. ich meine einige Programme für den Apple 2 gesehen zu haben, die auch bei 0x300 gestartet sind und dachte das sein eine Art "Konvention". Meine Erklärung wäre gewesen: Page 1 für die schnellen Variablenzugriffe, Page 2 für den Stackpointer und Page 3 für langsame Variablen.
Aber ich gehe davon aus, dass es relativ mühselig ist, mehr als 255 Bytes über die HEX-Tastatur des Junior-Computers einzutippen und ich vermute, dass nach Ausschalten des Stromes auch alle Daten weg sind. Das ist ein wenig der Vorteil der modernen Zeit: Beim PiPico-Emulator kann man einfach den HEX-Code per Drag&Drop in die Kommandozeile werfen und muss nicht jedesmal das Ganze wieder mühselig eintippen.
Aber ich gehe davon aus, dass es relativ mühselig ist, mehr als 255
Bytes über die HEX-Tastatur des Junior-Computers einzutippen und ich
vermute, dass nach Ausschalten des Stromes auch alle Daten weg sind.
Das ist es in der Tat. Einmal aus, alles weg... Der Junior hat aber auch eine Interface-Karte, mit der man alles auf Cassette speichern konnte! Die hat aber kaum jemand.
Ah, ok .. ich meine einige Programme für den Apple 2 gesehen zu haben,
die auch bei 0x300 gestartet sind und dachte das sein eine Art
"Konvention". Meine Erklärung wäre gewesen: Page 1 für die schnellen
Variablenzugriffe, Page 2 für den Stackpointer und Page 3 für langsame
Variablen.
Page 0 für schnelle Variablen (zero page register file), Page 1 für den Stack, und Page 2 nutzte der Apple für den Eingabepuffer der Tastatur bzw des COM-Ports. Der Bildwiederholspeicher ging von $0400 - $07FF, und BASIC-Programme begannen meist bei $0800. Damit war Page 3 frei für kurze Assemblerprogramme, die nicht mit dem BASIC kollidieren sollten, und das DOS legte dort ein paar Variablen ab.
Daher liegen viele Assembler-Codebeispiele auf Adresse $0300.
Aber ich gehe davon aus, dass es relativ mühselig ist, mehr als 255
Bytes über die HEX-Tastatur des Junior-Computers einzutippen und ich
vermute, dass nach Ausschalten des Stromes auch alle Daten weg sind.
Richtig. Daher hat man relativ schnell angefangen, auf einen Cassettenrecorder als Datenspeicher und ein Terminal bzw Fernschreiber als Ein/Ausgabegerät zu sparen.
Ich bin noch mal den Monitor durchgegangen, Seite zwei benutzt der
nicht.
Von 0x0000 bis 0x00E0 kann man die Zeropage auch für eigene Programme
verwenden. Und wenn man den Stack unter Kontrolle hat, dann steht auch
die Page 1 weitgehend zur Verfügung!
Danke Wolfgang R., dann probiere ich es noch mal ab 0x0200.
Wenn nicht, mache ich wieder weiter ab 0x300.
Liebe Grüße
Günter K.
(ENK)
In diesem Forum hat die Mehrzahl den Spaß am Spielen total verloren.
Traurig.
Nö, überhaupt nicht. Beide jedem anderen hätte ich meinen Kommentar auch nicht abgegeben. Aber Günter braucht für die Aktion geschätzte 3-4 Tage, in denen er nichts sinnvolles bzgl. Assembler lernt. Es wäre nur der nächste Nebenkriegsschauplatz.
In diesem Forum hat die Mehrzahl den Spaß am Spielen total
verloren.
Traurig.
Traurig, ja...
Aber "Mehrzahl"?
Ich schätze eher, dass diejenigen, mit wachem Spieltrieb, nicht auf andere Spieler herabsehen müssen.
Und sich etwas weniger mit urteilen beschäftigen.
OK, 6502 ASM ist auch für mich von wenig bis keinem Interesse. Was aber nicht dazu führt, dass ich anderen Leuten das Spielzeug kaputttrampen muss. Auch wenn mir die Farbe oder das Vorgehen nicht schmeckt.
Soul E. schrieb im Beitrag #7879498:
....
Christoph M. schrieb:
Aber ich gehe davon aus, dass es relativ mühselig ist, mehr als 255
Bytes über die HEX-Tastatur des Junior-Computers einzutippen und ich
vermute, dass nach Ausschalten des Stromes auch alle Daten weg sind.
Günter K. schreibt:
Ja, nach Ausschalten des Stromes sind (fast) alle Daten weg, -
(bis auf den Daten des MONITORs bzw. des Betriebssystems vom ROM).
Ich weiß wirklich, zu wenig darüber.
Der OP-Code ist mir wichtig.
Mit lieben Grüßen
Günter K.
(ENK)
Ja, nach Ausschalten des Stromes sind (fast) alle Daten weg, -
(bis auf den Daten des MONITORs bzw. des Betriebssystems vom ROM).
Ich weiß wirklich, zu wenig darüber.
Ein Computer hat üblicherweise einen Festwertspeicher (read only memory, ROM) und einen Arbeitsspeicher (read/write memory).
Der Arbeitsspeicher ist bei Deinem Apparat als random access memory (RAM) ausgeführt, d.h. Du kannst auf die Speicherzellen in beliebiger Reihenfolge zugreifen. Das war nicht immer so, frühere Rechner hatten sequential access memory (SAM, z.B. Trommelspeicher, Verzögerungsleitung, Schieberegister) oder context associative memory (CAM).
Der Inhalt des Arbeitsspeichers ist nach dem Ausschalten weg, der Inhalt des Festwertspeichers bleibt erhalten. Daher kannst Du den Inhalt des Arbeitsspeichers üblicherweise auf einen Massenspeicher (Magnetband, Diskette, Festplatte) sichern oder an ein anderes Gerät übergeben, das drauf aufpasst ("in der Cloud speichern").
Der OP-Code ist mir wichtig.
Die OP-Codes, also die numerische Repräsentation der Maschinenbefehle, z.B. $EA oder 1110 1010 für "NOP", sind in RAM, ROM und auf Cassette identisch.
Das passiert hier auch gar nicht. Kannst du nicht lesen? Oder haperts
bei dir am Verstehen?
Hallo Leute,
So viel ich weiß, hat die ganze Welt, noch keine definitive Sprache,
(auch nicht im Englischen) außer den Programmiersprachen, und die
kann ich leider auch noch nicht.
Folglich ist "Verstehen" eben eine "Anschauungssache".
Also gemeint ist hier, dass -scheinbar angeblich-
jemand "könne nicht" lesen, was für Andere nicht
oder zu schwer zu verstehen ist. - Vetragt Euch bitte.
Gut gemeint,
liebe Grüße
Günter K.
(Enk)
Cyblord ist ein über 10 Jahre im MC-Netz aktiver Forentroll.
Die intellektulle Aufgabe dieses Trolls ist Forenteilnehmer auf eine geschickte Art so zu beleidigen, dass seine eigener Post nicht gelöscht wird, der Forenteilnehmer seinem Ärger in weitern Posts in weiteren Posts kundtut.
Die Grenze der Beleidigungen wird von Troll immer weiter angehoben, bis ein Moderator seinen Account löscht.
Im Falle von Cyblord ist das Anhängsel ".-" an seinen Nickname "Cyblord.-", wie oft er seinen Nickname neu anlegen musste.
Das Vorgehen der "trollartigen" ist in der Wikipedia beschrieben:
Bleib doch mal On-Topic und helfe dem TO, du lässt dich nur darüber aus, wie (angeblich) viel zu dumm der TE ist, wie andere ins OT abgleiten und dass du ja auf gar keinen Fall dazu gehörst.
Es dürfte relativ wenig Sinn haben, mit ihm zu diskutieren.
Wenn man sich den Wikipedia-Artikel durchliest, ist 'cyblord' wirklich der prototypisch Troll, der ausschließlich auf emotionaler, nie auf fachlicher Ebenen diskutiert:
Aber belassen wir es dabei, vielleicht gibt es trotz der 'cyblords" auf dieser Welt noch eine kleine Chance, eine fachliche Diskussion in diesem Forum zu führen.
Ansonsten gilt der weise Spruch in Wikipedia-Artikel:
„Trolle bitte nicht füttern!“ oder „Trolle füttern verboten!“
Also eine weitere Trollkommunikation ist zu unterlassen.
Irgendwo habe ich eine Routine für das Abspielen der Notenleiter gefunden. Die musste ich aber stark modifizieren, dass sie lief.
Der Gag hier: die Noten sollen gleich lang sein. Dazu braucht man ein zweites Byte Array, das die Anzahl der "Wellenzyklen" enthält. Ich meine dieses Wort bei Günter gelesen zu haben.
1
; Apple II 6502 Assembly: Play C D E F G A B C scale
2
; Each note is played by toggling the speaker at $C030
3
; with a delay controlling pitch and a fixed duration.
4
;
5
; modified for
6
; Junior Computer
7
; 2025-05-22 mchris
8
9
.org $300 ; Start address (example)
10
11
lda #$1
12
sta PBDD ; set PB0 to output
13
mainloop:
14
jsr start
15
jmp mainloop
16
; --- Constants ---
17
;SPEAKER = $C030 ; apple2
18
SPEAKER = PBD ; Junior Computer
19
;PBD=$1A82
20
21
22
; --- Note pitch delay values ---
23
; These delay values approximate frequencies for the Apple II speaker.
Ist wahrscheinlich noch ein Überbleibsel aus einer 16bit Delay-Routine?
Hast Recht, da kann man sich etwas sparen.
Leider wird die echte 16Bit Version dann doch aufwändiger (siehe Anhang).
Bei dieser Version sind es 31 Frequenzen. Da man die Wellenzahl und die Periodenlänge braucht, sind das dann 4*31 Byte allein für die Tabellen. Das ist dann beim Juniorcomputer schon eine ganz schöne Tipparbeit.
Die Frequenz habe ich mit dem manuell abgeglichen. Man könnte mit Zyklenzählen und genau rechnen noch etwas Genauigkeit heraus holen.
ich werde demnächst vielleicht ein Programm für Musik (ab)schreiben.
Ich bitte darum es zu gestatten, das ich das Programm in Form von
Maschinen-Sprache schreibe. Weil ich noch nicht so gebildet bin,
habe ich dann mehr Platz bei den REM-Befehlen.
Bei den Befehlen, schreibe ich die Adressierungs-Art dazu.
Hallo Klaus, für Dich und -mich-, werde ich auch noch folgendes machen:
Ich schreibe eine Warteschleife, dann ein Ton, dann wieder eine Warteschleife, und dann wieder eine Ton. - Dann wird folgendes Stück geplant.
Ein Lied für ein Posthorn, mit dem Text: "Ta tü ta ta, die Post ist da."
Gedanken zur Zeit, bzw. -Timer-. - Ich teile die Zeit auf in 3/4.
Diese Zeit nenne ich: a'- Zeit, akademische Zeit, astronomische Zeit.
Sie geht glatt auf, für den Computer; - dann hat ein 1/2 Tag 16 ak'h.
Nach einem Tag, folgt die Nacht. Aber der Tag beginnt um 12 Uhr und wir sagen: Guten Tag. Warum? Dann brauchen die Astromen den Kalender nicht Umblättern, wenn sie nach den Sternen schauen, es geht hexadezimal glatt auf;
oder auch gezimal(?) denn nächste Ziffernzeichen ist das "G", es lässt sich sogar 7-Segment-Code anzeigen. Ein kurzes Wort: "Gezi." ähnlich dem "Dezi."
Das g geht doch, oder?
Liebe Grüße
Günter K.
(ENK)
Das ist dann beim Juniorcomputer schon eine ganz schöne Tipparbeit.
Da bist Du wohl der Einzige, der sich derartige Umstände noch antut.
Alle anderen schreiben alles in eine Datei, die man dann nur noch einspielt (RS232, USB) oder in einen Flash brennt.
Man muß seine Lebenszeit schließlich nicht mit Gewalt vernichten.
Auch kommt man für ein Projekt kaum mit nur einer Sitzung aus, sondern will später noch daran weiter arbeiten. Da ist es sinnvoll den alten Stand auf dem PC verfügbar zu haben, bzw. sogar mehrere Stände (Versionsverwaltung).
Schnell hat man Sackgassen eingebaut und will dann zu einem alten Stand wieder zurück.
Gedanken zur Zeit, bzw. -Timer-. - Ich teile die Zeit auf in 3/4.
Diese Zeit nenne ich: a'- Zeit, akademische Zeit, astronomische Zeit.
Sie geht glatt auf, für den Computer; - dann hat ein 1/2 Tag 16 ak'h.
Nach einem Tag, folgt die Nacht. Aber der Tag beginnt um 12 Uhr und wir
sagen: Guten Tag. Warum? Dann brauchen die Astromen den Kalender nicht
Umblättern, wenn sie nach den Sternen schauen, es geht hexadezimal glatt
auf;
oder auch gezimal(?) denn nächste Ziffernzeichen ist das "G", es lässt
sich sogar 7-Segment-Code anzeigen. Ein kurzes Wort: "Gezi." ähnlich dem
"Dezi."
Das g geht doch, oder?
Kann man diesen Text nun vollends als Verabschiedung aus unserer Realität betrachten?
Gedanken zur Zeit, bzw. -Timer-. - Ich teile die Zeit auf in 3/4.
Diese Zeit nenne ich: a'- Zeit, akademische Zeit, astronomische Zeit.
Sie geht glatt auf, für den Computer; - dann hat ein 1/2 Tag 16 ak'h.
Nach einem Tag, folgt die Nacht. Aber der Tag beginnt um 12 Uhr und wir
sagen: Guten Tag. Warum? Dann brauchen die Astromen den Kalender nicht
Umblättern, wenn sie nach den Sternen schauen, es geht hexadezimal glatt
auf;
oder auch gezimal(?) denn nächste Ziffernzeichen ist das "G", es lässt
sich sogar 7-Segment-Code anzeigen. Ein kurzes Wort: "Gezi." ähnlich dem
"Dezi."
Das g geht doch, oder?
Kann man diesen Text nun vollends als Verabschiedung aus unserer
Realität betrachten?
Ich wette, nicht mal Günter versteht das, was er da geschrieben hat.
Und ich wette, er wird es auch nie schaffen, ein Lied auf seinem Junior abzuspielen.
Ich wette, nicht mal Günter versteht das, was er da geschrieben hat.
Und ich wette, er wird es auch nie schaffen, ein Lied auf seinem Junior
abzuspielen.
wie soll ichs sagen? - Ich stehe dazu, dass ich nicht so klug bin.
Ich hatte mal gehört, dass Python keinen Compiler hätte; und weil -
ich nicht weiß, wie ein Compiler funktioniert, - wollte ich was über
Assembler lernen. - Und ich besorgte ein Büchlein über den 8086 und
siehe da, - da hat dieser Assembler hat auch einen Assembler.
CBM-BASIC hat keinen Assembler, sondern nur einen Interpreter. Und das
bringt ich jetzt erst (jetzt im Moment) auf die Idee, - evtl. den
-Fernschreiber- als Empfänger auf einem einfachen PC zu schreiben, denn
das GW-BASIC für den PC, erschien mir noch besser, als das von Commodore.
Ich möchte, -verstehen- können, was der Computer bzw. CPU macht.
Und darum, tue ich mir die Tipp-Arbeit an, um so zu versuchen,
die Beziehung zur Maschine zu behalten.
Prima, toll, was Ihr so mit den Computern macht, find ich wirklich gut!
Das ist dann beim Juniorcomputer schon eine ganz schöne Tipparbeit.
Peter D. (peda)
23.05.2025 12:53
Da bist Du wohl der Einzige, der sich derartige Umstände noch antut.
Eigentlich nicht, ich mache das per Pyhon-Script (compilieren, download
in einem Rutsch) damit:
Beitrag "6502 Emulator PiPico"
Immerhin, habe ich ja jetzt auch einen PiPico.
Gleich erwarte ich wieder Besuch, hab' aber schon gesagt, dass ich die
Sachen u.a. für den Junior-Computer hier auf dem Tisch stehen habe.
Was für mich auch noch interessant wäre, das wäre ein DISASSEMBLER.
Liebe Grüße
Günter K.
(ENK)
Wobei es alleine von MOV ca 1/2 Dutzend Varianten gibt, von denen keine einzige irgendwas moved/bewegt
Für mich heißt "move" hier wegnehmen und woanders hin legen.
Anders: Wenn man ein Auto von hier nach da moved ist hier nix mehr Auto.
Nix 2 Autos, nach dem Move.