Beiträge von Raffzahn

    auf gut Deutsch der Depp saß mal wieder am Keyboard... :D

    Ich sollte aber wohl auch nicht mehr nach 3 Uhr morgens an solchen Problemen arbeiten. Demletzt hatte ich bei so einer Aktion versehentlich einen TTL verkehrt herum auf das Bread board gesetzt und ihn so lange durchgeröstet, dass der Kunststoff darunter schon braun wurde. Gemerkt hatte ich es erst nach dezenter Geruchsbelästigung des mittlerweile verblichenen Bausteinchens. Das war dann das Zeichen für "Ab ins Bett". Mr wird hald ed jüngr. :)

    Ja mei, man selbst ist halt mit weitem Abstand die häufigste aller möglichen Ursachen wenn was nicht klappt.

    Äh, die Schleife wird auf jeden fall um 4 Takte schneller durchlaufen (die Dauer des BIT). Davon wieder 2 hergeben ist also immer noch ein Nettogewinn

    Hans, da gebe ich dir natürlich vollkommen recht. Ich wollte nur zum Ausdruck bringen, dass die Euphorie durch den Wegfall des BIT Befehls vier Takte zu sparen, durch das unbedingt benötigte CLV etwas gedämpft werden muss, sprich die Einsparung eben nur zwei Zyklen beträgt. Da das ganze aber ja sowieso auf meiner falschen Befürchtung beruhte, dass die Sampling Phase der Schleife zu lange dauert - was ich mir bei einer Datenrate von 250 kb/s eben auch nicht vorstellen konnte - hat sich die Taktzählerei natürlich erübrigt.

    Na ja, wichtiger als die absolute Anzahl der Takte ist ja dass die 4 innerhalb des Triggers gespart werden, also die Reaktionszeit drastisch reduzieren und damit den Jitter beim erkennen. Das wäre selbst dann noch von Vorteil wenn man hinterher wieder 4 Takte ausgeben müsste um das so zu machen.


    Die beiden kritischen Zeitabschnitte bei Echtzeitreaktionen sind nunmal Erkennung, also wie schnell man merkt das was zu tun ist, und Abholung, also den faktischen zugriff auf die Daten. Ersteres wird durch die BVC Schleife auf das absolute Minimum (*1) gesenkt, während zweiteres durch den LDA direkt nach dem BVC erfolgt. Der CLV liegt erst dahinter und damit nicht mehr kritischen Pfad (Natürlich darf die Floppy nicht schneller Bytes liefern als die Schleife insgesamt braucht). Besser gehts also nicht ...


    *1 - Eine Alternative ist an der Stelle höchstens die Verwendung des WAI(t). Anstelle SO wird die Daten-Da Meldung des FDC mit INT verbunden. In der Leseschleife geht die 65C02 dann in den WAI welcher garantiert 3 Takte, nicht mehr nicht weniger, braucht (also theoretisch einen länger als der nicht erfüllte BVC) und dann innerhalb eines Taktes aufwacht. Also wenn der INT kommt:


    oder so ähnlich. Im Prinzip kein unterschied zur Nutzung von SO, aber mit absolut fixem Zeitraster.

    (SO könnte theoretisch einen takt schneller sein - aber auch nur wenn das nächste Byte schon vor dem Ende der Schleife bereitsteht.)


    Warum so kompliziert? Ein paar TTL tun es auch. 1980 hatte es noch keinen ATMega:)

    Da bin ich durchaus pragmatisch, da in den 80ern ja auch schon Microcontroller wie MCS-48 Serie (die es ja glaube ich sogar schon Ende der 70er gab) verbaut und auf allen möglich Tastaturen, etc. eingesetzt wurden. Die AVR Serie ist ja auch schon seit Anfang der 2000er auf dem Markt und somit kein neumodischer Kruscht mehr. Ausserdem ist der DIP 40 Formfaktor ja durchaus klassisch. Das man mit ein paar TTLs die DMA Logik hinbekommt ist unbestritten, in diesem speziellen Fall hätte ein ATmega mir aber mehr Flexibilität geliefert. Ausserdem, wo hört das auf? Man könnte ja auch auf den Floppy Controller verzichten und alles in TTL aufbauen. Da explodiert irgendwann mein Steckernetzteil bei dem zu erwartenden Stromverbrauch :neinnein:

    Tastaturen und so. Und das ist genau der Punkt. Diese 8048/51 und Abarten waren stocklangsam (z.B. braucht der 'schnelle' 8051' 6 Takte um auch nur ein Byte von einer externen Adresse zu lesen (also nur der Zugriff. der Lesebefehl selber brauchte nochmal ein paar Takte mehr). Ganz davon ab, dass sie keine Protokolle für gemeinsamen Zugriff oder so haben. Sprich sie brauchen ein TTL Grab außen rum um den Bus zu übernehmen und dann einen Zugriff zu machen. Ganz zu schweigen von dem zusätzlichen Softwareaufwand. Damals hätte kein Entwickler sich hingesetzt und Software gemacht für etwas das man mit 3-4 TTL machen kann (CPU-Anhalten, Adresse auf den BUS, FDC kitzeln, fertig). Software entwickeln war aufwändig und brauchte viel Zeit - und teuere EPROM Versionen - das ging nicht mit Mausklick wie heute. Und zu guter Letzt war so ein Microcontroller genauso teuer wie ein vollwertiger DMA-Baustein (welcher auch noch langsamer ist als die eigene Lösung, da er 2 Takte pro Byte braucht).

    Vor allem wenn Du eine extra CPU verwenden würdest, dann kann die eh gleich alles alleine machen - dann ist aber auch der 6502 Spaß weg.

    Ne ne ne, die 6502 hat noch ne Menge zu tun, und ich hätte das Programmier Interface sowieso genauso gestaltet, wie es der FDC der CPU anbietet.

    Na das wär was auf dass Entwickler damals am allerersten verzichtet hätten wenn sie ein Subsystem einsetzen - weil selbiges kann dann gleich den low level Teil dann am besten gleich selbst übernehmen. Weil wenn schon einen Prozessor dazwischen, dann soll er auch Arbeit abnehmen. Das wär für uns damals eher der Grund gewesen einen Controller einzusetzen (wenn es den denn gegeben hätte) als der DMA. Floppyinterface mit logischer Schnittstelle macht die Anwendungssoftware viel einfacher. Das zahlt sich bei der späteren Entwicklung vielfach aus.


    :)) Nur mal so die Gedanken von jemand der damals schon sowas gebaut hat (und sogar noch dafür bezahlt wurde:))

    PEBCAK?


    :)) SCNR

    Selbst nach Einsetzten eines Babelfisches in meinen Gehörgang und lautem Vorlesens der Acronyme (?) hab ich leider keine Ahnung was das bedeuten könnte ;) . Das musst du mir bitte Übersetzen :)

    Bedeutet so vie wie "Problem Between Chair and Keyboard"...

    Problem Exists Between Chair And Keyboard auch bekannt als LEL bzw L8L, PEBMAC, ID-10-T issue und einige andere mehr oderweniger nette 'Abkürzungen :))

    leider funktioniert es immer noch nicht. Die Gate Schleife wird jetzt natürlich schneller durchlaufen, dafür benötige ich in der Hauptschleife aber wiederum ein zusätzliches CLV (zwei Takte) um das extern gesetzte Overflow Flag wieder zu löschen. Sonst rauscht mir natürlich der Code gleich wieder durch die Gate Schleife durch. Somit verpasse ich wieder ein paar Byte. Warum das mit dem WD2797 bei Dietrich funktioniert kann ich beim besten Willen nicht beantworten. Sind die Datenträger da womöglich FM formatiert?

    Äh, die Schleife wird auf jeden fall um 4 Takte schneller durchlaufen (die Dauer des BIT). Davon wieder 2 hergeben ist also immer noch ein Nettogewinn

    Ich werde jetzt mal den Versuch starten, einen DMA-Controller mit einem ATMega32 zu programmieren. Der ATMega8 hat leider einen IO Pin zu wenig, somit bräuchte ich wieder etwas etxterne TT-Logik um alles rein zu packen.

    Warum so kompliziert? Ein paar TTL tun es auch. 1980 hatte es noch keinen ATMega:)


    Vor allem wenn Du eine extra CPU verwenden würdest, dann kann die eh gleich alles alleine machen - dann ist aber auch der 6502 Spaß weg.

    Und dann fiel es mir wie Schuppen aus den Ohren... :wand:

    PEBCAK?


    :)) SCNR

    Die hatten den SO (set overflow) Eingang der CPU (den sie sonst n.W. nie benutzt hatten) verwendet, um irgendein Signal schneller verarbeiten zu können.

    Das SO Signal hängt beim Junior ja am Erweiterungsport. Eventuell könnte man ja das DMA signal des FDC damit koppeln. Die 6502 müsste dann nur mit


    Code
    DMA_LOOP    BVC    DMA_LOOP

    eine Warteschleife zum pollen des Overflog Flags durchlaufen. Wenn man das /DMA Signal leicht verzögert wieder auf /DACK zurückführt, könnte sich der FDC dann selber triggern. Die CPU muss dann natürlich trotzdem schnell genug die Daten lesen und abspeichern. Ein Terminal Count Signal müsste dann zum Schluss auch noch erzeugt werden. Mal experimentieren. Danke für den Hinweis Toast_r .


    Jup, SO ist der Arme-Leute-DMA-REQ der 6502. Der Hautvorteil obiger Schleife ist, dass sie Dauer und Jitter des Tests von 6..12 Taken auf 2..5 Takte verkürzt. 7..10 Takte weniger im Worst Case (und 4 im Best Case) bedeutet eine enorme Beschleunigung


    Die andere offensichtliche Beschleunigung ist den FDC in die Zero Page zu legen - das spart feste einen Takt beim 'LDA FDC_DATA_REG' - und wenn Du das mit dem SO nicht machst nochmal einen bei der Warteschleife.


    Letzteres wär eh das was ich als erste Maßnahme vorschlagen würde: FCD in ZP legen - meinetwegen temporär einschaltbar- und ein Byte und einen Takt bei jedem Zugriff sparen.


    ---


    Und wenn Du an DMA denkst, dann am besten gleich eine STT nur für den FDC. Unter der Voraussetzung dass es immer nur zum gleichen Buffer geht braucht das nur einen rücksetzbaren 8 bit Zähler (74LS590 o.ä.) und etwas Gluelogik. Past auch besser zu einem Minimalsystem als ein dicker DMA Baustein. Und schneller isses auch noch: 1 MByte/s max :))

    486er gabs zuletzt auch mit PCI.

    Naja so halb. Einige PnP-Funktionen laufen erst im Pentium.

    Kaum jemand hat PCI damals wegen PNP gekauft. Hauptgrund ein teureres Board zu kaufen war die Geschwindigkeit. Der Unterschied einer ET4000 auf (E)ISA zur vergleichbaren ET4000 auf PCI waren Welten - die vorweggenommene Umsetzung von Intels späterer MMX-Werbung :))

    Retro ist relativ. In 2 Jahren sind nach Definition sind fast alle 7. Gen Core-i Legacy. Das steht dann natürlich zum harten Kontrast zu den ersten 8 Bit-Computern einiger Forenmitgliedern. Ich persönlich empfinde bis Original-XP-Rechner als Retro, zumal die zuletzt im Wert gestiegen sind.

    Noch wuppt der i5-6200U hier im Tablet meine 700 offenen Tabs ganz akzeptabel :))

    Das ist noch nicht Retro, das hört für mich bei Pentium I auf, ca. 30 Jahre. Alles andere sind Exoten und Liebhabergeräte, jedem wie er es mag.

    Für mich ist alles ab einschließlich PCI nicht mehr Retro. Also bis max. 486er. :tüdeldü:

    Öh... der 486 hier hat auch schon PCI... <Duck/>


    Ansonsten bin ich inzwischen so weichgekocht von den Jünglingen mit PC, dass ich sogar die Slot-CPU (K7/PII/PIII) als nicht mehr aktuell toleriere :))

    Raffzahn kommt auch

    Du meinst, ich wurde gekommen?

    So oder so haben wir beide uns schonmal verpasst 😀


    Ich war bis nach den Grillwürschtln da und werde mir nächstes Jahr dann einen ganzen Tag reservieren, nicht bloß den halben.

    Oh, davon hab ich nix mitbekommen ... zu der Zeit war ich noch im Lager nach einem Rechner suchen den ich versprochen hatte mitzubringen. Mist.

    Die Software arbeitet mit zwei (drei) unterschiedlichen Methoden. Die erste Methode ist es den zugehören ROM-Speicherbereich der Karte bei $Cx00 auszulesen und nach signifikanten Bytes zu suchen, die die Karte von anderen Karten unterscheidet. Die (dritte) Methode ist es nach Triggern des ROM-Bereichs im Bereich $C800 nach Informationen zu suchen.

    Ich geh mal davon aus das dabei als allererstes nach den Standard-ID-Bytes der Apple-Karten, bzw. der Karten die sich nach dem Apfle-Standard richten, ausgewertet werden?

    Wie sähe das beispielsweise in Commodore BASIC aus? Man deklariert irgendwelche kryptischen Arrays um die Autos zu beschreiben. Mangels strukurierter Variablen kann man nicht mal die Eigenschaften eines Autos zusammenfassen und muss das über unabhängig Arrays abbilden. Und das jeweilige Auto ist dann eine Index.

    Was für ein Krampf! Sorry, das kann mir niemand erzählen, dass das leichter verständlicher sein soll und ein geeigneter Einstieg in die Programmierung ist.

    Äh, na und?


    1. In Commo-BASIC gibts dann halt ein Feld AutoFarbe, eines AutoMarke$, AutoGeschwindigkeit, und so weiter. Und das Autos Nummern haben lernen die Kinder schon beim Blick auf die Straße. Echt, Strukturierung und Namensräume sind was für Weicheier :))


    2. Commodore BASIC ist eine absolute Minimalimplementation und Lichtjahre entfernt von einem BASIC das man für eine derartige Aufgabe verwendet - es geht, es ist aber ungefähr genauso sinnvoll wie Spieleprogrammierung in Excel (Das es geht sagt nur was über den Willen derer die es gemacht haben aus).


    3. Ein BASIC das für eine derartige Datenbankaufgabe geeignet ist bietet Wege um genau solche Strukturen zu handhaben - auch ganz ohne das Objektorientiert zu nennen/machen. Von Olivetti bis Wang und MAI konnten alle ernsthaften Implementation das - lange bevor Herr Gates eine 8 KiB Mini-Implementation and Commodore verkauft hat.


    Das mal aus dem Weg, Programmieren lernen hat nix mit Objektorentierung zu tun. Im Gegenteil, das verstellt einem nur den Blick auf die Grundlagen. Und Anfänger müssen erstmal das grundlegende Gefühl dafür bekommen, dass man den Rechner was machen lässt und wie das geht. Programmieren ist da nicht anders als jeder andere Handwerksberuf (ja, isses) . Wer was im Metallbereich lernt, der wird steht auch nicht am ersten Tag vor der CNC-Maschine, sondern feilt erstmal 4-6 Wochen U-Stahl. Und dann gehts an die Drehbank und die Fräse, und viel viel später und nach viel zusätzlicher Theorie kommt man dann an der CNC-Maschine an, die später den Beruf ausmachen wird.


    Die meisten aktuellen Sprachen Verlangen viel zu viel Aufwand und Wissen, selbst für einfache Aufgaben. Nicht umsonst sind Sprachen wie Perl oder heute Python (nicht nur bei Einsteigern) so erfolgreich. Das ist das BASIC von heute, dass einen schnellen Einstieg ohne viel Lernen ermöglicht.


    Ist auch die Grundlage des Wahnsinnserfolgs der Arduinos. Technisch ist der ja nur ein Breakoutboard eines AVR. Der eigentliche Erfolg kommt von der IDE. Und ja, es ist C++, aber es wird dem Anfänger BASIC-artig angeboten. Dabei entsteht natürlich auch Code der bei erfahrenen Programmierern Rant-Attacken auslöst. Aber schönes Programmieren ist da nie das Ziel gewesen. Es geht alleinigst darum Leute die mit Programmieren nix am Hut haben Grundlagen erlernen zu lassen. Und das funktioniert millionenfach. Das halbe Wunderland läuft damit.


    Als Vater kann man nicht wissen was die Kinder mal werden (meine sind, trotz viel Computerberührung in der Jugend, dann doch in Verwaltung und Personalmanagement gelandet) . Daher macht es auch wenig sinn sie von Anfang an auf 'richtig' Programmieren zu trimmen. Was sinn macht ist ihnen den Spaß an ein bisschen Code zu vermitteln. Und da ist Arduino, Python und eben auch BASIC genau richtig.

    Also historische Interpreter- und Compilersprachen sehr gerne - aus rein nostalgischen Gründen. Aber nicht als heutigen Einstieg in die Programmierung.

    Heute genauso wie Damals. Aber halt genauso wie damals mit einem Auge darauf was für ein BASIC. Und Commodore oder Apple BASIC ist halt nie als Sprache für Anwendungen gedacht gewesen. Es ist immer nur eine Zugabe der Hardwarehersteller gewesen. Etwas das sie Eingekauft haben, damit sie Ihre Hardware verkaufen können. Das gilt im Prinzip für fast alle BASIC die damals mit Heimcomputern verkauft wurden. Sie waren nicht Produkte, sondern Vertriebsargumente.


    Alle bis auf zwei Ausnahmen:


    - TI-99 BASIC, welches von der Idee her ein Downport des Minicomputer BASICs war, ein Produkt, das dort nur gegen zusätzlich Geld zu haben war, also für sich alleine vorher schon erfolgreich war um echte Aufgaben zu lösen. Und natürlich

    - BBC-BASIC, da war der Rechner die Zugabe zum BASIC, dass als Vehikel extra für Unterricht dienen sollte.


    Letzteres interessant, weil es in England den Wettbewerb der Hersteller von reiner Hardware hin auf den Rechner als Gesamtsystem gebracht hat, was mit


    - Locomotive BASIC und QL-BASIC


    dann zwei bemerkenswerte Dialekte gebracht hat. Beides keine Business-BASIC, aber weit jenseits von C=BASIC 2.0


    Also, wenn wenn man meint Mechanismen für Daten jenseits Commodore BASIC zu brauchen, dann ist ein Business-BASIC erste Wahl :))


    Ansonsten: ACAB ... All Compilers Are Beautiful.

    Besonders genialer, individueller Code ist tatsächlich nicht gefragt. Sicher soll es sein und vor allem verständlich.

    Äh, ich hab nix gegen genialen Code. Schliesslich gehts ja darum etwas möglichst passend zu formulieren.


    Genialer Code != Unlesbarer Code.

    Das klingt jetzt aber nicht so agil sondern eher nach herkömmlichem Programmieren nach Requirement Specifications. ;)

    Eigentlich isses eher erste Stunde in Mess&Regeltechnik. Es gibt nix ohne Verluste und jede Regelung hat eine Sollabweichung, sonst könnte sie nicht regeln.

    In meiner Erfahrung ist es allerdings bisher noch nicht vorgekommen, dass "Jede Zeile Code vom gesamten Team gereviewt" wird - Was natürlich nicht heissen muss, dass es nicht auch solche Projekte gibt. In meiner Welt ist Code Review bisher allenfalls besser gewesen, als wenn jede(r) selbst vor sich hinwurstelt und niemand anderes je auf die Sachen der Kollegen geguckt hat. Insofern würde ich auch niemals gegen Reviews stimmen, bin aber skeptisch, was ihre allgemeine Effektivität zur Verringerung von Defekten angeht. In der Hinsicht sind ordentliches Requirements Engineering und rigoroses Testen nützlicher.

    Kann ich jetzt nur zustimmen. Codereview als geplante Aufgabe aller ist nix. Eigentlich geplanter Codereview an und für sich.


    Wir haben schon 'Agil' gearbeitet als das noch ein Attribut für Rehe war und 'scrum' ein synonym für 'crowded'. Codereview gab es trotzdem nicht als geplante Aufgabe, sondern als Unterstützung im Bedarfsfall. Einen angeglichenen Stil kann man nicht 'reinreviewen' sondern der kommt automatisch durch Zusammenarbeit - und vor allem, Faulheit, weil warum sich eigene Sachen einfallen lassen wenn man es auch so wie die Anderen machen kann :))


    Und ja, jede Informationsverarbeitung hat eine Verlustleistung, auch die vom Requirement zum Programm - spricht, wenn die Vorgaben schon löchrig sind, dann ist das Ergebnis ein einziges Loch. Und Testen auf Basis der Vorgaben machts nicht besser.


    Stammtisch - !Olla!

    Bremen ist vielleicht etwas weit für Raffzahn - aber sonst auch sein (unser) Beuteschema....?!

    Oh, Hübsch. Das ist praktisch der Nachfolger zu unserer kleinen P350. Ohne Kernspeicher und Lochkarten, dafür mit Bildschirm und Kassette. Buchungssysteme werden eh nicht ausreichend gewürdigt. Bremen ist natürlich arg weit - das müsste dann schon per (Klein-)Spedition gehen, was nur einigermaßen Preisgünstig geht wenn es vor Ort Helfer gibt die das Teil Aufladen können.

    Hallo horniger -

    hast du oder wer betreibt den WEB-Bereich :

    Computeum Archiv Server

    Muss ich mal zum WE etwas mehr umzusehen.

    Grüße helwie44 †


    Der liegt auf einem unserer (Computeum) Server und ist eigentlich nicht für den öffentlichen Zugriff gedacht. Das die Adresse veröffentlicht wurde war so nicht vorgesehen. Das ganze ist der Eingangsbereich vom Scannen. Daher auch die Organisation nach Kisten und Ordnern, und nicht Geräten oder Themen.


    Es gibt auch noch weiteres Material, aber da muss erstmal Zeit gefunden werden.

    Danke fuer den Tipp...ist ja echt superguenstig :P


    Das schlaegt natuerlich den Bucketregler :)


    Alternativ gibts von Rolm auch noch Regler die auch bei leichter Unterspannung noch 5V liefern. Nicht ganz so effektiv, aber immer noch gut. Obendrein im gleichen Gehaeuse wie ein 78xx, dann stimmt auch die klassische Optik.


    Hauptsache man verbaut keinen 78xx mehr.


    H.


    Achso, ich sollte noch erwähnen, auf meinem Rechner steht nicht B610 auf den Typenschild wie üblich,
    sonder B500.


    Das waren (im Prinzip) die fuer den US-Markt vorgesehenen Rechner.


    Grundsatzlich gabs 3 'Serien' die in D als
    CBM 5xx ->LP Gehaeuse mit Vic2 und 1 MHz CPU
    CBM 6xx ->LP Gehaeuse mit 6845 Adressgenerator (Nur fuer Text genutzt) und 2 MHz CPU
    CBM 7xx ->Wie 600 mit HP Gehaeuse


    xx ist dabei der Speicherausbau:
    05 -> 64K
    10 -> 128k
    20 -> 256k
    30 -> 256K mit 8088 (gab angeblich auch eine Z80 - hab aber weder eine noch je gesehen)


    Die 64K Version ist wohl das seltenste die wenigen die ich kenn haben spaeter meist eine Aufruestung bekommen
    In D gabs dann noch einen 720-D mit eingebautem Doppellaufwerk (wie beim 8296D)


    In Amiland war dann das Nummernschema (sammt verwirrenden Umbenennungen)
    P500 -> 510
    B500 -> 610
    B128 -> 610
    B256 -> 620
    B128-80 -> 710 (Manchmal auch B128-80HP)
    B256-80 -> 720 (Manchmal auch B256-80HP)


    So ungefaer.


    Bei den ROMs musst Du uebrigens aufpassen, da es sowohl 128K als auch 256K ROMs gibt, die fix von selbigen Speichergroessen ausgehen.


    H.

    Also MOV ist einfach flasch, denn es ist ja kein MOVe, da die Daten nicht verschoben sondern (durch LD) ja strenggenommen nur kopiert werden. Ein MOV müsste stranggenommen das Quell-Resiter löschen.


    Aber auch nur solange man noch in der klassisch physikalischen Ansicht verharrt und glaubt, dass Dinge die man bewegt vom vorherigen Ort auch verschwinden. In der digitalen Welt gibts das ja nicht. Da wird nichts bewegt, sondern immer eine (hoffentlich singleiche) Kopie erstellt. Viele der unsinnigkeiten aktueller Rechtsinterpretationen beruhen ja auf dieser falschen interpretation - Wo eben das Laden eines Programms in den Speicher zu einem Kopiervorgang und damit einem Uhrheberrechtlich relevanten Duplikat gemacht wird (Ketzerische Frage, beim ansehen eines Bildes macht man ja auch eine Kopie, oder?).


    Ein COPY wäre von der Benennung her viel mehr logisch gewesen. Aber LD für LOAD / LADEN trifft die Sache auch ganz gut, jedenfalls ist es kein Move!


    Wenn man klassisch physikalisch denkt, dann ist auch Laden falsch. Wenn man eine Kiste auf einen Wagen laed, dann wird sie dadurch auch nicht verdoppelt/kopiert, sondern bewegt. Im Rechner wirds aber verdoppelt ...


    Das Problem mit dem LoaD in der Z80 ist, dass er in Beide Richtungen verwendet wird, Also sowohl zum Laden als auch zum Entladen. Damits von der Richtung her stimmt, muesste es Load und Store heissen: Reinladen in die CPU zur (temporaeren) Verarbeitung und rausspeichern in den Speicher zum (laengerfristigen) Speichern. Nur MOVe wie bei Intel hat mir auch nie wirklich gefallen. Es taucht zwar als abstraktion, schoen waer eigentlich alles 3 zusammen: Load/Store wenns in die Register ein und raus geht, sowie Move wenn ein Speicher/Speicher-Transfer passiert.


    Ach ja, und dann war da nicht nur die Ilusion der linearen Zeit, sondern auch die Ilusion der Existenz von Materie - alles nur leerer Raum.


    SIhe's mal aus der Sicht des Speichers! :)


    Schon klar, dann muessten aber all die transfers die vom Speicher in die CPU gehen Stores sein .... Nur als Move machts in beiden Richtungen Sinn. Davon ab, wenn ich ne CPU programmier dann seh ichs normalerweise aus CPU sicht. Aber egal, die Jungs habens so genannt, dann heists halt so.


    H.

    Sorry, da war ich unklar. Die Benennung der Register von A-H + L stammt ja noch aus 8080-Zeiten, und da haben z.B. DE und BC keine solche Funktionen, wie sie sie im Z80 haben (zumindest sehe ich dort keine Block-Kopier-, Block-Such- und Block-IO-Befehle; djnz fehlt da ebenfalls). Also liegt für mich die Vermutung nahe, dass sie ganz zu Beginn einfach durchs Alphabet gegangen sind, und bestimmte Buchstaben ausgelassen haben. I und J sind halt leicht einer mit dem anderen und beide mit 1 verwechselbar, speziell bei schlechten Ausdrucken; nur bei G fällt mir kein Grund ein.


    Richtig, das mit B/C/D/E ist einfach druchnummeriert. Die Namen stammen dabei schon von der 8008. Blos das mit dem Auslassen stimmt nicht. In der Systematik der 8008 gab es mit M ein einziges (14 Bit) Register, das eine Speicheradresse bereitstellen konnte. Un dieses mit den 8 Bit Mitteln bearbeitbar zu machen gab es dann eben das (6-Bit) H(igh) und dsa 8 Bit L(ow) Register. Die Systematik des Assembers war da auch durchgaengig. Der speicher wurde mit M addressiert. Warum sollte man da HL schreiben? Ist doch nur unsinnige Platzverschwendung. Die 8080 fuerhrte dann ein paar Befehle ein mit denen auch BC/DE (sehr begrenzt) Addressieren konnten (LDAX/STAX), was aber immer noch nicht rechtfertigen wuerde das im Assembler zu aendern, da weiterhin nur M allgemein verwendbar war (und eine Aenderung die Sourcekompatibilitaet mit der 8008 gebrochen haette). Nichtmal mit der Z80 wurden die 3 Paare gleich verwendbar, aber da mit IX/IY es eine Reihe neuer 16 Bit Befehle gab, bei denen BC/DE zumindest als Quelle verwendbar waren, war die neue Notation sinnvoll, wenn auch nicht wirklich noetig, da man bei den 16 Bit Befehlen, wie schon bei der 8080 einfach nur das hoeherwertige Register angeben haette koennen- und IX/IY einfach nur X/Y nennen. waer auch nicht schlecht gewesen. M.E. war es eh Mist, dass LoaD anstelle von MOVe verwendet wurde ... ein Load der in den Speicher schreibt ist schon komisch. fuer mich ist das ein Store...


    (Ach ja, W/Z gab es schon bei der 8080)

    PS: Es scheint für mich ein Kniefall vor dem Z80-Team gewesen zu sein, als Intel dann dem 8086 auch Register gegeben hat, deren Bezeichnungen sich aus dem ersten Buchstaben erschließen lassen (AX - Akkumulator, BX - Basis-Register, CX - Count-Register, DX - Daten-Register).


    Noe, nicht wirklich. Es ist wiederum einfach durchnummeriert A,B,C und D jeweils mit X fuer 16 Bit, H fuer oberes Byte und L fuer unteres Byte. Und wenn man dann eines als Counter raussuchen muss, dann ist halt C naheliegend. SI, DI, BP, das sind spezielle Namen.


    Gruss H.

    Hmm, das war jetzt der einzige Link den ich gefunden habe. Also wohl am besten auf google plus schauen ob man irgendwie meinen strem abonieren kann. Das Teil ist auf jeden Fall ein echter gartenfund. Lag in einem Haufen geruempel im Garten eines geeks hier in Rostov am Don :)

    Sieht für mich brutal nach Spam aus...


    Na ja, dafuer hat er sich aber kraeftig Arbeit gemacht - glatt 2 kleine aber passende Postings, und dann der grosse Text der fast schon sinn macht. Seltsam ist es aber trotzdem. Wobei mir der SEO Gedanke auch gekommen ist - qualitativ hochwertiges Umfeld um den eigenen Link vorwaerts zu bringen ... sammt der Hoffnung, dass der auch noch in moeglichst vielen Zitaten auftaucht.


    Irgendwie seltsam.


    H.

    Denke die Wärmeentwicklung kommt auch hauptsächlich aus dem Trafo. Man müsste mal bei ein paar, bei abgeklemmter Reglerplatine, die Stromaufnahme im Leerlauf messen, ob es da Unterschiede gibt.


    Genau. die Wicklungen sind ja nicht entfernt, was heisst, dass eine Uebertragung stattfindet (frag mich jetzt nicht mehr wie das an der Stelle ohne geschlossenen Stromkreis genau heist, es ist 30+ Jahre her dass ich das mit den Trafos durchgekaut habe :) - war was mit Elektrischem Feld -> Magnetischem Feld -> Elektrischem Feld oder so). Der Magnetische Fluss ueber den Kern (die offene Spule macht zwar auch was, aber das merkt man kaum) fuehrt zu einer Erwaermung. Hier spielt auch die Qualitaet des Eisens und der Verarbeitung eine Rolle - und wir wissen ja, dass Commodore Komponenten nur anhand der Preisliste gekauft hat.


    Eigentlich wuerde es schon reichen den grossen Trafo, der ja nicht mehr gebraucht wird, durch sowas hier zu ersetzen. Wenn man eh schon an den 23V rumfummelt, dann kann man das auch gleich machen. Soweit ich weis ist die 9V Spannung ja ungeregelt. Genau genommen wuerde das den Fusswaermer auch auf heutige Norm bringen, da wir ja inzwischen Flaechendeckend 230V haben. Wenn mans mit Heisskleber (oder was auch immer) am Gehause festklebt sollte das auch stabil sein. Anschliessend muss die Waermeentwicklung gegen Null gehen (und der Stromverbrauch minimal sein).


    Einziger Nachteil ist, dass man den Klotz nicht mehr als Briefbeschwerrer bis Windstaerke 10 hernehmen kann.


    Aber das hier mach ich nicht mehr auf! ;)


    hihi. Ja, Versteh ich.


    H.