Christoph M. schrieb:> 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.
Harald K. schrieb:>> Aber wo, werden diese gespalten in Y und X?>> 3822 = 0x0eee>> Also liegt die "Spaltung" bei 0x0e und 0xee>> 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.
Christoph M. schrieb:> 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.
Thomas W. (datenreisender) 04.05.2025 14:30
>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.
Thomas W. schrieb:> 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. ;-)
Thomas W. schrieb:> Ja, das waren die alten Zeiten, und ich bin froh, dass das Geschichte> ist.
Jepp. Früher war alles besser - vor allem die Zukunft! (Lesch?)
(re)
Re (r42) 04.05.2025 19:17
>Was ist eigentlich mit den Interrupts für Tastatur und Display, die>derzeit noch zwischenfunken und zu (aus Sicht des Hauptprogramms)
Wer sagt denn, dass es Interrupts gibt?
Günter K. (enk) 04.05.2025 13:04
>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:
Christoph M. schrieb:> Re (r42) 04.05.2025 19:17>>Was ist eigentlich mit den Interrupts für Tastatur und Display, die>>derzeit noch zwischenfunken und zu (aus Sicht des Hauptprogramms)>> Wer sagt denn, dass es Interrupts gibt?
Nur so eine Vermutung:
Günter K. schrieb:> Dabei geht es mir nicht darum, - das Keyboard nicht zu bauen,> sondern sich die Spielerei zu erlauben, die schon gegebene Tastatur zu> benutzen.
Irgendwie muss die Tastatur ja abgefragt werden, wenn sie mal zum
Spielen benutzt wird.
Könnte man natürlich auch als Teil der Verzögerungsschleife machen.
(re)
Re schrieb:> Irgendwie muss die Tastatur ja abgefragt werden, wenn sie mal zum> Spielen benutzt wird.
Das wird dann im weiterführenden Experten-Kurs im Jahre 2027 realisiert.
Ich hatte je die Junior-Handbuecher verlinkt, dort wird auch erklaert,
wie die Tastatur und das Display angesteuert wird.
Hint: Keine Interrupts. Kein UART. I/O (sowohl seriell als auch Tape) im
Polling. Das waren die Achtziger.
Klaus schrieb:> Günter K. schrieb:>> 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)
Günter K. schrieb:> 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.
Gute Besserung!
Weiter oben ist ein nicht besonders gut lesbarer Schaltplan gepostet,
hier gibts einen besseren.
(Quelle:
http://retro.hansotten.nl/wp-content/uploads/2022/10/schematic_junior_computer.jpg.
Da da schon jpg, hab' ich das jetzt nicht konvertiert)
Der 6532 könnte einen Interrupt auslösen, das ist der einzige Baustein,
der an der /IRQ-Leitung des 6502 angeschlossen ist.
Harald K. (kirnbichler)
05.05.2025 07:44
>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.
Christoph M. schrieb:> 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.
Klaus schrieb:
> 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.
Harald K. (kirnbichler) 05.05.2025 08:10
>Wenn Du über den Timerinterrupt gehen willst ..
Danke für den Hinweis.
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.
Liege ich mit meinen Annahmen richtig?
Klaus schrieb:> Günter K. schrieb:>> Wenn ich die Zahlen ausgerchnet habe,>> Die passenden Zahlen für die Verzögerungsschleife für eine ganze> Tonleiter sind bereits im Beitrag>> Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?">> enthalten, kein Grund die neu zu berechnen.
Man findet die Werte auch in dem oben verlinkten Buch. Zusammen mit der
Musterlösung zum Einlesen der Klaviatur und zur Tonerzeugung.
Aber durch Abtippen lernt man nichts, da ist selbermachen sinnvoller.
Christoph M. schrieb:> Harald K. (kirnbichler) 05.05.2025 08:10>>>Wenn Du über den Timerinterrupt gehen willst ..>> Danke für den Hinweis.>> Ich versuche gerade herauszukriegen, wie der Timer im 6532 genau> funktioniert.
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/JuniorComputer_book_02.pdf
Seite 33 bis 99.
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.
Thomas W. (datenreisender)
05.05.2025 21:06
>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 ..).
Günter K. schrieb:> 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.
Klaus schrieb:
Günter K. schrieb im folgenden Text:
> 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.
Liebe Grüße Grüße
Günter Ja,
(ENK)
von Klaus (feelfree)
05.05.2025 22:38:
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)
> Bei Zahlen die > 127 sind, muss man da das N-Flag ausschalten?
Am besten ist es, wenn du deine Fragen hier eingibst:
https://www.perplexity.ai
Du solltest aber den Kontext zuerst erwähnen: 6502
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:
1. Timer starten
2. Warten bis abgelaufen
3. Portpin rumdrehen
4. 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
Christoph M. schrieb:> Das Programm sollte also folgendes machen:> 1. Timer starten> 2. Warten bis abgelaufen> 3. Portpin rumdrehen> 4. Jump zu 1.
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.
PBD = $1A82
PBDD = $1A83
Falk B. (falk) 06.05.2025 11:58
>Es "gutes" Beispiel, wie man einen Timer maximal sinnlos verwenden kann.
Nicht für jeden ergibt sich der gleiche Sinn. Das Beispiel ist dafür da,
die Implementation des 6532 meines Emulators zu testen.
>Und die IO-Register>definiert man als Konstanten und nicht Labels. Auch wenn das Ergebnis>das Gleiche ist.
Könnte ich, wenn es mein Assembler hergäbe. Da ich den nun aber von hier
habe
https://github.com/dj-on-github/py6502
geht's so nicht.
Günter K. schrieb:> 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
Wie auch immer:
Jedem sein eigenes Himmelreich.
(prx) A. K. schrieb:> 8080
Die ASM Mnemonics sind beim Z80 einheitlicher.
Aber letztendlich eine Geschmackssache, historisch, und damit heute
quasi irrelevant.
Arduino F. schrieb:> 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.
Günter K. schrieb:> Nur muss ich mal versuchen mit dem
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.
Hallo,
Günter K. schrieb:> 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.
rhf
Hallo,
Thomas Z. schrieb:> Ob das so weiterhilft
Ich fürchte nein.
Wolfgang R. schrieb:> 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ß.
rhf
Christoph M. schrieb:>> Bei Zahlen die > 127 sind, muss man da das N-Flag ausschalten?>> Am besten ist es, wenn du deine Fragen hier eingibst:> https://www.perplexity.ai>> Du solltest aber den Kontext zuerst erwähnen: 6502
Hallo Christoph M.
Danke, das geht ganz automatisch.
Liebe Grüße
Günter K.
(ENK)
>Danke, das geht ganz automatisch.
Apropos:
Wenn du nicht mehr von Hand assemblieren willst, gehe auf folgende
Seite:
https://www.masswerk.at/6502/assembler.html
Tippe dort im linken Fenster folgendes ein:
1
.org $300
2
loop:
3
adc #1
4
jmp loop
Drücke rechts unten auf "Assemble". Dann erscheint der Maschinencode in
Hexadezimalzahlen.
Christoph M. schrieb:> Apropos:> Wenn du nicht mehr von Hand assemblieren willst, gehe auf folgende> Seite:
Das haben wir schon mehrfach empfohlen. Scheint aber nicht so ganz
durchgedrungen zu sein. Was aber nicht übersaschend ist . . .
Thomas Z. schrieb:> Günter K. schrieb:>> Nur muss ich mal versuchen mit dem>> 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)
Günter K. schrieb:> Ist die Datei angehängt?> 440 Hz.xlsx
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.
Alexander S. schrieb:> Günter K. schrieb:>> Ist die Datei angehängt?>> 440 Hz.xlsx>> 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.
Will es jemand aufprobieren?
Sherlock 🕵🏽♂️ schrieb:> Hast du dir die Datei wenigstens mal angeschaut?
Ich habe Linux ohne LibreOffice und werde nur wegen der Datei auch nicht
nach einem xslx-Viewer im Internet suchen.
Thomas W. schrieb:> 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
1. die Zeilennummer,
2. Die Marke,
3. Die Adresse
4. den Maschinen-Befehl als OP-Code,
5. der Befehl,
6. die Adressierungsart,
7. 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.
Alexander S. schrieb:> 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)
Günter K. schrieb:> 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.
Thomas Z. schrieb:> "(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)
Soul E. (soul_eye)
12.05.2025 23:01
>So sieht das bei einem richtigen Assembler aus.
Ich verwende momentan ca65:
https://cc65.github.io/doc/ca65.html
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.
Christoph M. schrieb:> 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!
Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Nützt rein gar nichts, weil der Günther gar nicht aufnahmefähig ist.
Soul E. schrieb:> von Soul E. (soul_eye) 12.05.2025 23:01> 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.
Hallo von Soul E.,
Danke für den Beitrag.
Kann den der Assembler etwas mit meiner Version anfangen?
Ich habe gerne die Daten untereinander, geht das?
Liebe Grüße
Günter K.
(ENK)
PS. Die anderen Beiträge muss ich noch lesen.
Hier zeige ich mal folgenden Versuch und ich vermute,
dass ich Fehler reingeschrieben habe.
von Falk B. (falk) 13.05.2025 09:15
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)
Christoph M. schrieb:> 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)
Günter K. schrieb:> 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.
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!
Liebe Grüße
Günter K.
(ENK)
Christoph M. schrieb:> 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)
Günter K. schrieb:> Denn ich kann kein Assembler
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???
Klaus schrieb:> 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)
Günter K. schrieb:> Der Sinn, versteht sich von selbst.
Nein, das was du machst ergibt eben keinen Sinn.
Günter K. schrieb:> 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.
Klaus schrieb:> 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.
Günter K. schrieb:> 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.
Oder halt Excel, das Karopapier der Neuzeit.
Soul E. schrieb:> So haben wir vor 40 Jahren gearbeitet
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.
Soul E. schrieb:> Oder halt Excel
Das ist ja das Lustige: solche Moloche werden benutzt, aber ein kleiner
feiner Assembler der alles besser kann wird abgelehnt.
Soul E. schrieb:> Die asm-Datei erstellst> Du, die bin-Datei erzeugt der Assembler.
Hallo Soul E.
wofür ist die bin-Datei gut?
was heißt: bin-Datei?
Liebe Grüße
Günter K.
(ENK)
Günter K. schrieb:> 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.
Soul E. schrieb:> 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.
Klaus schrieb:> 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)
Günter K. schrieb:> ! 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.
Günter K. schrieb:
> ! Wenn ich nur, die Beziehung zur> Maschinensprache behalte,> von Klaus (feelfree)>Die Beziehung zwischen Assemblersprache (z.b. "NOP") und>Maschinensprache (z.B. Hex EA) stellt ein Assembler her.
Und hier als praktische Übung:
1. rufe diese Seite auf:
https://www.masswerk.at/6502/assembler.html
2. tippe im linken Fenster mit der Bezeichnung 'src' den Text 'nop' ein
3. drücke rechts unten auf 'Assemble'
4. drücke auf 'OK'
5. schaue das Ergebnis auf der rechten Seite im Fenster 'object code'
an.
Klaus schrieb:> 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.
Find' ich gut.
Harald K. schrieb:> Andere spielen Schach. Werner bringt sich 6502-Maschinencode bei.
Werner macht Unsinn. Aber solange ER es für sinnvoll hält und Spaß dabei
hat, sei's drum. ZEN-Programmierung ;-)
https://de.wikipedia.org/wiki/Zen
Harald K. schrieb:> 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.
Günter K. schrieb:> Ja, das klingt doch interessant! Wenn ich nur, die Beziehung zur> Maschinensprache behalte, was ist da noch möglich?
Hab ich dir schon dreimal erzählt, du hast es aber scheinbar 4 mal
ignoriert. Im List-File, welches der Assembler ausspuckt.
Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Maschinencode schreiben nur
Assembler (das Programm)
Autisten
Superfreaks
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."
Klaus schrieb:> Nur Günter versteht das halt nicht
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.
Harald K. schrieb:> 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,
80
> und hat> deswegen ein anderes Lerntempo.
Nicht nur deswegen. Er hat auch viel Chaos und komische Ideen im Kopf.
Kann man erkennen, wenn man alle seine Beträge hier liest.
Falk B. schrieb:> 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.
Harald K. schrieb:> 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.
Biden ist ja nun weg. Klar, man wollte ihn nochmal 4 Jahre, halb
mumifiziert im Oval Office sitzen lassen. Aber wurde ja dann nichts.
Cyblord -. schrieb:> Biden ist ja nun weg
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.
Harald K. schrieb:> 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. :)
Cyblord -. schrieb:> 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.
J. T. schrieb:> Cyblord -. schrieb:>> 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.
Cyblord -. schrieb:> Du bist nur anderer Meinung als Trump.
Nein, also ja ich bin anderer Meinung als Trump, aber dennoch zeigen
sich auch bei Trump ganz klare Zeichen des mentalen Verfalls.
J. T. schrieb:> 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.
Cyblord -. schrieb:> 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.
J. T. schrieb:> Cyblord -. schrieb:>> 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.
Tariffs, ach ne doch keine Tariffs. Ständig völlig sinnentleertes
Gestammel.
Wenn das für dich Zeichen sind, das jemand auf seiner vollen geistigen
Höhe ist, erklärt das natüelich so einiges.
Cyblord -. schrieb:> Das ist sein Markenkern und keineswegs Zufall, Unwissenheit,> Unsicherheit oder das Alter.
Das ist DEINE Meinung, muss deshalb aber noch lange nicht stimmen.
J. T. schrieb:> 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.
Cyblord -. schrieb:> Nur Verhaltensweisen die du nicht magst.
DE Land hat schon mal einen Soziopathen gewählt.
Das ist, in der Nachschau, sehr unangenehm verlaufen.
Die USA ist gerade dabei diese Erfahrung zu machen.
Das kann einen vergleichbar üblen Weg nehmen.
Vielleicht noch übler.
Cyblord -. schrieb:> Merkwürdiger Kommentar. Wir tauschen hier doch ausschließlich Meinungen> aus.
All deine Kommentare sind äusserst merkwürdig. Sie verharmlosen absolut
fragwürdiges Verhalten.
Arduino F. schrieb:> DE Land hat schon mal einen Soziopathen gewählt.> Das ist, in der Nachschau, sehr unangenehm verlaufen.
Ich bin mir sicher, es gab den ein oder anderen, der es schon als es
passierte als sehr unangenehm empfand, nicht erst im Nachgang.
> Die USA ist gerade dabei diese Erfahrung zu machen.> Das kann einen vergleichbar üblen Weg nehmen.> Vielleicht noch übler.
Das sieht halt nicht jeder.
J. T. schrieb:> 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.
Cyblord -. schrieb:> Das Verhalten von Trump und der Verfall von> Biden haben schlicht nichts miteinander zu tun.
Das behauptet auch niemand, dennoch kann auch Trump verfallen. Halt ganz
unabhängig von Bidens Verfall.
Allein dass du den Zusammmenhang daherphantasiert hast, lässt mich
weiter an deinem geistigen Zustand zweifeln
J. T. schrieb:> Allein dass du den Zusammmenhang daherphantasiert hast, lässt mich> weiter an deinem geistigen Zustand zweifeln
Der Zusammenhang kam allein von dir. ICH sprach von Biden, DU hast Trump
ins Spiel gebracht und die beiden verglichen.
Und sogar behauptet:
> Und in ein paar Jahren werden die selben Berichte zu Trump die Runde machen.
Cyblord -. schrieb:> , DU hast Trump> ins Spiel gebracht
äh, nein.
Noch ein Punkt, der Zweifel an deiner geistigen Klarheit aufkommen
lässt.
Harald K. schrieb:> 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.Harald K. schrieb:> Ich meinte Trump
Wolfgang R. schrieb:> Kann die Moderation bitte mal den Mist hier löschen? Das hat absolut> nichts mit dem Threadthema zu tun!
Das ist richtig. Aber dieses Assembler Gestammel mit dem
Internetausdrucker kann ja auch nicht euer ernst sein.
Die naheliegende Bitte an einen der Moderatoren muss ich eigentlich gar
nicht ausformulieren, oder?
Um Günter nicht zu überfordern oder zu verschrecken, sollten alle
Beiträge ab meinem Beitrag von heute, 8:38 entsorgt werden.
Cyblord -. schrieb:> 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?
J. T. schrieb:> 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.
J. T. schrieb:> 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.
Cyblord -. schrieb:> Ich hatte sogar ein Zitat von dir mit Trump gepostet. Was willst du> noch? Du hast ihn nicht als erstes erwähnt.
Aber deine Behauptung war, ich hätte ihn aufs Tablett gebracht.
Cyblord -. schrieb:> DU hast Trump ins Spiel gebracht
Er wurde aber vom Kirnbichler aufs Tablett gebracht:
Harald K. schrieb:> Das ist in dem Alter nichts besonderes. Sieh Dir den kaum jüngeren> US-Präsidentendarsteller an.
Du jedoch dachtest, er meinte Biden, woher auch immer du den gezogen
hast:
Cyblord -. schrieb:> Biden ist ja nun weg. Klar, man wollte ihn nochmal 4 Jahre, halb> mumifiziert im Oval Office sitzen lassen. Aber wurde ja dann nichts.> und die beiden verglichen.
hast du also irgendwie.
Das war dann mein Einstieg dazu:
J. T. schrieb:> 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.
Wie mans auch dreht, deine Behauptung ist falsch.
Cyblord -. schrieb:> Ist halt noch nie vorgekommen deshalb gibts keinen Präzedenzfall.
Klar, unser Lördchen ist perfekt, makellos und absolut fehlerfrei.
Arduino F. schrieb:> Daran erkenne sie sich auch gegenseitig.
Der ist schön, den kannte ich noch nicht.
Falk B. schrieb:> ES REICHT MIT DEM SCHEIß!
Ist ja gut.
Schon mal überlegt dass die Schreierei empfindlichere Seelen, wie z.B.
mich, extrem verunsichern kann?
von Cyblord -. (cyblord) 15.05.2025 13:28 Lesenswert? -3 -.
Lesenswert ist was Wolfgang R. schrieb, denn er bittet:
> Kann die Moderation bitte mal den Mist hier löschen? Das hat absolut> nichts mit dem Threadthema zu tun!
Das ist richtig. Aber dieses Assembler Gestammel mit dem
Internetausdrucker kann ja auch nicht euer ernst sein.
Günter K. schreibt, um beim Thema zu bleiben:
DANKE Wolfgang R.
Hallo Liebe Leute und Cyblord,
Frage: - Welches: "... Assembler Gestammel mit dem Internetausdrucker
...?"
Antwort:
1. Ich habe keinen Internetausdrucker, sondern einen Canon-Drucker.
2. "Assembler Gestammel"? Auch hierzu habe ich eine Antwort:
Ich bin nicht so klug, wie viele von Euch, -!
Bin aber positiv erstaunt, dass ... Fortsetzung folgt ...
Falk B. schrieb:> 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)
Günter K. schrieb:> Aber dieses Assembler Gestammel mit dem> Internetausdrucker kann ja auch nicht euer ernst sein.
Die Quelle dieses Spruches hat ein Sozialverhalten wie eine
Bordsteinkante.
Andererseits finde ich dieses ASM Gehampel auch ermüdend.
Habe mich eher auf C++ eingeschossen.
Ist u.A. viel interessanter
Günter K. schrieb:> den Timer im 6502 aufzurufen.
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.
Dann kommt:
- dass alle Tonhöhen einer Tonleiter abgespielt werden
- dass alle Noten unabhängig von der Höhe ca. gleich lang abgespielt
werden
Wieder ein paar Tage bis Wochen.
Dann kommt:
- dass eine Melodie abgespielt werden kann mit unterschiedlichen
Tonhöhen und Tonlängen
Ich drück' dir die Daumen, dass Du bis Weihanchten ein "Oh Du Fröhliche"
schaffst, auch wenn ich es nicht glaube.
Und vergiss ganz schnell den Timer, solange Du nicht mal diese
einfachsten Programme zusammenstricken kannst.
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)
Günter K. schrieb:> Das schrieb ich nicht
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.
Liebe Leute, an Allen! -
Diesen gut gemeinten Vorschlag nehme ich dankbar an, denn:
Klaus schrieb:> Günter K. schrieb:>> 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)
Falk B. schrieb:> 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.
Alexander S. schrieb:> 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".
Cyblord -. schrieb:> Ach komm das ist doch Satire langsam.
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 das denn so schlimm?
Cyblord -. schrieb:> Falk B. schrieb:>> ES REICHT MIT DEM SCHEIß!>> 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:
1. Timer starten
2. Warten bis abgelaufen
3. Portpin rumdrehen
4. 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)
von Klaus (feelfree) schrieb heute am 18.05.2025 14:57,
denn Günter K. schrieb:
> Das suche ich jetzt im Internet.Klaus schrieb:> 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:> 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)
Günter K. schrieb:> Ich versuche, später mal das Programm, so hexadezimal in der Art zu> übertragen, wie Hans Otten in JUNIOR-COMPUTER das macht.
Der Hinweis gilt immer noch.
https://www.asm80.com/
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! ;-)
Siehe Anhang.
Günter K. schrieb:> 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.
Günter K. schrieb:
> 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.
Christoph M. schrieb:> Günter K. schrieb:>> 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.Christoph M. schrieb:> Klaus (feelfree):>>Ich verstehe dein Gedankengänge Nullkommanull.
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.
Lieben Grüße
Günter K.
(ENK)
Falk B. schrieb:> Günter K. schrieb:>> Ich versuche, später mal das Programm, so hexadezimal in der Art zu>> übertragen, wie Hans Otten in JUNIOR-COMPUTER das macht.>> Der Hinweis gilt immer noch.>> https://www.asm80.com/>
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.
Günter K. schrieb:> 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.
Thilo L. schrieb:> 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.
Das passiert aber alles nicht.
Thilo L. schrieb:> 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:
Günter K. schrieb:> 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)
Günter K. schrieb:> 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.
Günter K. schrieb:> 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.
Christoph M. schrieb:> 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.
Gruesse
Hallo Leute,
Ich hatte einen langen Beitrag geschrieben, der alles
bezgl. dessen erklärt.
Tut mir Leid. Ich muss jetzt in die Stadt.
Das nächste mal, schreibe ich zu erst in WORD.
Liebe Grüße
Günter K.
(ENK)
Hallo Leute,
es folgt: von Christoph M. (mchris) 14.05.2025 06:47
Christoph M. schrieb: > Und hier als praktische
Übung:
>> 1. rufe diese Seite auf:> https://www.masswerk.at/6502/assembler.html> 2. tippe im linken Fenster mit der Bezeichnung 'src' den Text 'nop' ein> 3. drücke rechts unten auf 'Assemble'> 4. drücke auf 'OK'> 5. 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)
Klaus schrieb:
Dddns schrieb:
> Hallo Günter,>> ich denke, Du suchst genau das hier: https://geoffg.net/picomite.html
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.
Günter K. schrieb:> Ich war zu schwach und zu Hilflos!
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.
Beitrag "6502 sound generation"
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.
Christoph M. schrieb:> 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?
Günter K. schrieb:> 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?
Bitte mal KLARTEXT.
von Cyblord -. (cyblord)
21.05.2025 10:36
>Christoph M. schrieb:>> 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?
Christoph M. schrieb:> 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.
Cyblord -. (cyblord)
21.05.2025 11:44
>Du funkst hier ständig mit deinen Themen dazwischen die für den TE null>Relevanz haben.
Bei dem was du Günter gegenüber hier bisher abgesondert hast: Hör auf
Kreide zu fressen und den Trump zu spielen.
Christoph M. schrieb:> 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.
Cyblord -. schrieb:> 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.
Christoph M. schrieb:> 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!
Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)
21.05.2025 14:11
>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.
Christoph M. schrieb:> 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".
Nö, der A2 hat ja ein viel mächtigeres Betriebssystem im ROM, da reichen
wahrscheinlich 256 Byte nicht für die Variablen aus...
Christoph M. schrieb:> Page 1 für die schnellen> Variablenzugriffe, Page 2 für den Stackpointer und Page 3 für langsame> Variablen.
Page 0, 1, 2... Kann so sein, ja!
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.
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.
https://www.wolfgangrobel.de/sbc/junior2.htm#upd1
Christoph M. schrieb:> 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.
Wolfgang R. schrieb:> 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)
Cyblord -. schrieb:> Bitte mal KLARTEXT.
Der Punkt ist, das manche Leute genau das einfach nicht hinbekommen, und
deswegen (meiner Meinung nach) nie gute Entwickler werden können.
Das ist nicht schlimm, niemand kann alles und jeder kann irgend etwas
gut.
Günter K. schrieb:> dann probiere ich es noch mal ab 0x0200.
Auch da wieder: Kannst Du machen, bringt dir aber absolut nix, nada,
niente.
Außer halt Zeit totschlagen ohne Erkenntnisgewinn.
Wolfgang R. schrieb:> 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.
Wolfgang R. schrieb:> 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.
Arduino F. schrieb:> Was aber> nicht dazu führt, dass ich anderen Leuten das Spielzeug kaputttrampen> muss. Auch wenn mir die Farbe oder das Vorgehen nicht schmeckt.
Das passiert hier auch gar nicht. Kannst du nicht lesen? Oder haperts
bei dir am Verstehen?
Hallo liebe Leute,
Soul E. schrieb:
....
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)
Günter K. schrieb:> 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.
Cyblord -. schrieb:> 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)
Enk schrieb:
> Vetragt Euch bitte.
/*********************************************************************/
NICHT MIT TROLLEN DISKUTIEREN !
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:
https://de.wikipedia.org/wiki/Troll_(Netzkultur)
/***********************************************************************
/
Christoph M. schrieb:> Im Falle von Cyblord ist das Anhängsel ".-" an seinen Nickname> "Cyblord.-", wie oft er seinen Nickname neu anlegen musste.
Musste ich noch nie, das siehst du an der Anzahl meiner Beiträge.
Der Rest ist ebenfalls Verleumdung und zerstört diesen Thread. Gerade DU
versuchst aktuell alles um ihn Off Topic zu ziehen. Inkl.
Unflätigkeiten.
Bleib doch mal On-Topic und helfe dem TE. Wie wärs damit?
Persönliche Animositäten kannst du per PN klären.
Cyblord -. schrieb:> Der Rest ist ebenfalls Verleumdung
Haha, selten so gelacht.
Cyblord -. schrieb:> Bleib doch mal On-Topic und helfe dem TE.
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.
J. T. (chaoskind)
>Haha, selten so gelacht.
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:
https://de.wikipedia.org/wiki/Troll_(Netzkultur)
Wenn ich den Artikel richtig verstehe, sind die Trolle mit einem
Nutzeranteil von 5.6% gar nicht so selten.
Apropos .. hier gibt es ein wenig Historie:
Beitrag "Re: warum wird Cyblord -. (cyblord) nicht endgültig gesperrt?"
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.
Christoph M. schrieb:> STY temp_duration ; Save duration count temporarily
Irgendwie überflüssig, oder?
Ist wahrscheinlich noch ein Überbleibsel aus einer 16bit Delay-Routine?
Klaus (feelfree)
>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.
Hallo liebe Leute,
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)
Christoph M. schrieb:> 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.
Günter K. schrieb:> 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?
Cyblord -. schrieb:> Günter K. schrieb:>> 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.
Christoph M. schrieb:
> 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"
Hallo, liebe Leute,
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!
Christoph M. schrieb:> Christoph M. schrieb:>> 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)
Günter K. schrieb:> Ich stehe dazu, dass ich nicht so klug bin.
Das ist nun wirklich kein Problem und das macht dir auch niemand zum
Vorwurf. Im Gegenteil, der Großteil will dir ja helfen.
Günter K. schrieb:> und siehe da, - da hat dieser Assembler hat auch einen Assembler.
Aber so verwirrt wie deine Beiträge sind, würde ich mir an deiner Stelle
nun wirklich langsam über eine beginnende Demenz Gedanken machen.
Du bekommst wirklich keinen einzigen klaren Gedanken formuliert, und das
schon seit vielen Monaten in diesem Thread.
Günter K. schrieb:> Was für mich auch noch interessant wäre, das wäre ein DISASSEMBLER.
Relativ nutzlos.
Selbst der beste Disassembler kann nicht die Intentionen des Codes
Erstellers ermitteln.
Übrigens:
Um mal Werbung für Arduino zu machen...
Ein AVR hat ca. 130 ASM Instruktionen. Relativ leicht zu lernen.
Im Arduino Lieferumfang finden sich C und C++ Compiler.
Dazu Assembler und auch ein Disassembler
Harald K. schrieb:> mit 56 Instruktionen
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.