Forum: Markt [S] C64 im Bereich Berlin-Köpenick


von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Kurze Frage, vielleicht habe ich Glück.

Hat jemand im Bereich Berlin-Köpenick einen noch funktionsfähigen C64, 
evtl. mit Diskettenlaufwerk? Entweder für wenig Geld oder wahlweise im 
Tausch gegen Teile, die ich noch in meinem Fundus hätte wenn jemand 
sowas wie weiß nicht Nixie-Röhren oder PC-Hardware braucht? Braucht 
nicht der schönste zu sein, Hauptsache er funktioniert noch und es ist 
ein Laufwerk dabei, um Programme speichern zu können. Ob Diskette oder 
Kassette ist eigentlich egal, ginge nur darum, daß das Programm beim 
Abschalten oder einem Crash der Kiste nicht verloren ist.

Ich kann auch erklären wieso ich einen bräuchte...

Ich habe einen Kumpel, der sich sehr für Mikrocontroller und ihre 
Programmierung interessiert, sich aber mit dem Einstieg sehr schwer tut 
(steile Lernkurve halt). Ich versuche immer, ihm zu erklären wie die 
Zusammenhänge sind, woraus sich Daten zusammensetzen bzw. wie Daten 
elektrisch dargestellt werden und anders herum und ich bin auch der 
Meinung, daß er definitiv nicht zu dumm dazu ist, so richtig "kriegen" 
kriegt er's halt doch nicht. Es ist schwer, sowas gut genug zu zeigen 
und nicht nur vorzumachen.

Daher suche ich nach einem einfachen Computer, wo man noch "Herr über 
die Maschine" ist, so daß ich ihm z.B. erklären kann wie aus einer Zahl 
0..255 ein Ein/Aus-Muster von 8 LEDs an einer parallelen Schnittstelle 
wird. An einem µC wird das leider schon recht abstrakt weil man da keine 
Bildschirmausgabe hat, kein "Programm laufen sehen" kann, nicht einfach 
"Speicher ansehen" kann.

Ein C64 wäre optimal dafür. Der kann Basic alleine vom Einschalten und 
sein Basic ist so mächtig, daß man damit praktisch alles mit der 
Maschine machen kann (wenn auch nicht besonders schnell, ist halt kein 
Assembler). Ich habe meine Anfänge auch mit dem Ding gemacht und bin 
daher noch recht fit auf der Kiste.

Ich könnte es auch mit einem älteren x86 versuchen falls ich dafür 
heutzutage noch ein Basic finde, was direkte Schreibzugriffe auf 
Portadressen bzw. Speicher zulässt. Mit x86 Assembler anfangen macht 
keinen Sinn, damit kommt man zwar recht nahe an einen "echten µC", aber 
das wäre Wissen, was er nie wieder braucht. Ich habe auch kein 
Diskettenlaufwerk oder so alten Kram mehr für ein x86 Minimalsystem, 
keine alte Software, nicht mal ein altes DOS 6.22 oder so... das wäre 
alles nicht so einfach. Keiner meiner aktuell im Einsatz befindlichen 
Computer hat überhaupt noch einen Floppy-Anschluss auf dem Board. Also 
würde jetzt jemand kommen und mir 'ne Million dafür anbieten, daß ich 
ihm schnell etwas aus dem Internet auf eine 1,44MB Floppy kopiere... 
keine Chance. Mit der Technik, die ich hier habe, nicht mehr möglich.

von Thomas W. (Gast)


Lesenswert?

getting there is half the fun: Z80-MBC2 (ist ein CP/M-System), einen 
ATMega32 als IO-Knecht, 128kB RAM. Terminal brauchst Du, Putty ist aber 
gut fuer Dich:

https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew-z80-computer

https://github.com/SuperFabius/Z80-MBC2

Wenn Du das mit dem Bau mit der Lochraster nicht so klappert:

https://shop.mcjohn.it/en/home/90-z80-mbc2-black-edition.html

Der Bausatz ist 74,90EUR (+ ein Fuenftel fuer Christian L.), wenn Du 
nicht loeten kannst, 104,90EUR (+ Obolus fuer Christian).

Das Zeug ist auf Lager.

Machen ist wie wollen - nur krasser!

Th.

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

Ben B. schrieb:
> Ich könnte es auch mit einem älteren x86 versuchen falls ich dafür
> heutzutage noch ein Basic finde, was direkte Schreibzugriffe auf
> Portadressen bzw. Speicher zulässt.

GWBasic oder PowerBasic kann das noch. Das müßte noch aufzutreiben sein.

von Jack V. (jackv)


Lesenswert?

Wenn sich gar nichts finden sollte: ein alter Raspberry Pi, der Vice mit 
entsprechendem ROM-Image (separat zu besorgen) im Kiosk-Modus startet. 
Hätte den Vorteil, dass man es problemlos an heutige Anzeigegeräte 
anschließen kann, und verbraucht auch weniger Strom.

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Um den Strom geht's nicht, ein C64 oder älterer x86 ist mit 20..40W 
zufrieden, das meiste geht sowieso unvermeidbar für den Monitor (oder 
Fernseher) drauf wenn das nicht gerade ein superspar-Modell ist. Das ist 
dann eben so.

@Dieter
PowerBasic habe ich selbst gerne genutzt, ich weiß aber nicht mehr wie 
mächtig das war bzw. ob man damit direkt auf Speicheradressen wie Ports 
schreiben kann oder ob der Compiler das verbietet.

Also wenn ich das recht verstehe... ihr würdet sagen C64 vergessen und 
was mit einem alten x86-Board bauen? Ich habe noch ein altes 
Pentium-Board zu liegen. Mal sehen ob ich das zum Laufen bekomme und ob 
es onboard VGA hat.

von Thomas (kosmos)


Lesenswert?

Wie schon gesagt einen Raspberry mit Vice.

von Thomas W. (Gast)


Lesenswert?

Wenn ihr meinen Vorschlag mit einem Z80-Rechner nicht gut findet (obwohl 
man sehr gut mit DDT debuggen kann, MSBasic ist auch da, TurboPascal 3 
auch. Ich hatte das Ding auf einem Steckbrett aufgebaut, 
"Massenspeicher" waren 2 x 64KB I2C-EEPROM [groesser waren die ersten 
Floppies auch nicht]). Mit so einem kleinen 10EUR-China-Logikanalysator 
kann man die logischen Zusammenhaenge der Signale sehen. 4MHz, das gilt 
heute fast als DC.

Sonst haette ich noch eine  uVAX II mit 16MB RAM, SCSI-Platten (der 
Controller kann aber nur 1GB). Terminal ist ein VT320, amber. Oder 
Telnet.

Betriebssystem ist natuerlich OpenVMS. Sprachen habe ich Macro, Basic, 
DEC Fortran 77, VAX C (!) und Pascal installiert, LSE ist auch 
verfuegbar. Ich habe noch COBOL im Schrank ...

Gruesse

Th.

P.S.: Mir ist schon klar, dass das ein Troll ist. Deswegen sollte man 
das nicht zu ernst nehmen.

von Wf88 (wf88)


Lesenswert?

Einen alten Laptop mit LPT Port und OS DOS,Win9x, Linux (debian evtl.).

von Arno R. (arnor)


Angehängte Dateien:

Lesenswert?

Ben B. schrieb:
> Also wenn ich das recht verstehe... ihr würdet sagen C64 vergessen und
> was mit einem alten x86-Board bauen? Ich habe noch ein altes
> Pentium-Board zu liegen. Mal sehen ob ich das zum Laufen bekomme und ob
> es onboard VGA hat.

Ich hätte ein antikes Notebook wie im angehängten Bild anzubieten. Das 
hat ein Diskettenlaufwerk und VGA-Display. 500MB Festplatte, 4MB RAM, 
387er Koprozessor, serielle und parallele Schnittstelle. Derzeit ist 
WIN95 installiert, das läuft sogar akzeptabel schnell. Komplett mit 
allem Zubehör (Netzteil, Akku, Tasche), Zustand fast wie neu, keinerlei 
Beschädigungen. Köpenick wäre auch kein Problem.

Bildquelle: http://www.medien-museum.de/

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Na ich merk schon, ich werde mich darum auch komplett selbst kümmern 
müssen. Einige Leute in diesem Forum schaffen's echt, das so weit 
herunterzuziehen, daß man hier nichts mehr erwarten sollte weil die 
Wissenden im Meer der Deppen untergehen.

> P.S.: Mir ist schon klar, dass das ein Troll ist. [..]
Dir ist gar nichts klar, aber mir nun immerhin - nämlich was ich von Dir 
hier in diesem Forum zu erwarten habe. Roter Punkt klebt, Glückwunsch! 
Du brauchst dann auch in diesem Thread nichts mehr zu schreiben, ich 
ignoriere Deine "Beiträge". Ich hatte auch nicht vor, für mich eine 
Bastelstunde einzulegen was den Selbstbau eines Z80-Computers angeht, 
sondern ich brauche was WOMIT ich basteln kann und nicht WORAN oder 
DAMIT. Ende der Durchsage, kapierst Du sowieso nicht.

> Einen alten Laptop mit LPT Port und OS DOS,Win9x, Linux (debian evtl.).
Würde evtl. reichen, ich schaue mal danach. Ich bin mir unsicher ob das 
so gut mit PowerBasic funktioniert, es ist einfach zu lange her, daß ich 
was damit gemacht habe, ich weiß einfach nicht mehr ob man damit direkt 
auf den Speicher zugreifen konnte oder nicht.

Das Pentium-Board in Betrieb zu nehmen fällt aus wegen is nich. 
AT-Netzteil, kein VGA, großer DIN-Tastaturschluss. Ich hab noch ein 
P3-Board mit allem drauf, muss ich nur schauen wo ich einen passenden 
Kühler dafür bekomme.

von Ge L. (Gast)


Lesenswert?

C64 haben mittlerweile einen gewissen Sammlerwert erreicht. Die Zeit, wo 
man die geschenkt bekam oder gar auf dem Sperrmüll fand, sind lange 
vorbei. Dazu kommt, dass der Soundchip 6581 einen gewissen Kultstatus 
erreicht hat und als Einzelbauteil schon um die EUR 50,- gehandelt wird.

von Arno R. (arnor)


Lesenswert?

Ben B. schrieb:
>> Einen alten Laptop mit LPT Port und OS DOS,Win9x, Linux (debian evtl.).
> Würde evtl. reichen, ich schaue mal danach. Ich bin mir unsicher ob das
> so gut mit PowerBasic funktioniert

Sowas habe ich dir doch oben angeboten. PowerBasic war damals im 
Lieferumfang enthalten, ich hatte damit auch selbst programmiert.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Arno, bist Du aus Köpenick?

Daß der C64 einen gewissen Sammlerwert hat, ist mir klar. Wenn sich 
einer gegen irgendwas tauschen lässt, was ich bereits habe, dann wäre 
ich auch bereit, etwas mit gleichem Wert dafür zu geben. Beispielsweise 
habe ich immer noch die Platine mit den 12 Nixie-Röhren aus der Iskra, 
für die Dinger wird auch mehr bezahlt als sie für mich an Wert haben. 
Mein Glück wird aber wahrscheinlich nicht reichen, jemanden hier in der 
Gegend zu finden, der einen C64 abgeben möchte und gleichzeitig 12 IN14 
braucht.

Ich find's nur nicht so toll, für so eine "alte Kiste" 150 Euro 
hinzulegen bzw. dann müsste ich den hinterher wieder verkaufen.

> der Soundchip 6581 einen gewissen Kultstatus
Der dürfte sogar fehlen, soweit ich weiß läuft der C64 auch ohne den IC 
und um Sound geht's mir nicht.

von Arno R. (arnor)


Lesenswert?

Ben B. schrieb:
> Arno, bist Du aus Köpenick?

Hab früher mal ~25 Jahre dort gewohnt.

von Ge L. (Gast)


Lesenswert?

Wenn der SID fehlt oder durch einen SwinSID ersetzt wurde, dann solltest 
Du schon für unter 100 Euro fündig werden.

von Harald K. (kirnbichler)


Lesenswert?

Ben B. schrieb:
> Daher suche ich nach einem einfachen Computer, wo man noch "Herr über
> die Maschine" ist

Den hast Du auf dem C64 nicht, der kommt nur mit einem 
BASIC-Interpreter.

Da fehlt alles, wenn man tatsächlich die Maschine kennenlernen möchte - 
kein ROM-Monitor, kein Assembler, kein Debugger, kein Disassembler ... 
nur "peek & poke" irgendwelcher Dezimalzahlen.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Hab früher mal ~25 Jahre dort gewohnt.
Dann geht es uns ähnlich, aber sagt nichts aus ob man sich heutzutage 
noch in Köpenick treffen könnte oder ob Du es in den Alpen oder an der 
See viel schöner findest als in Köpenick und nun dort wohnst. :))

Was möchtest Du eigentlich ggf. für den Laptop haben? Sowas hat ja heute 
auch oftmals schon Sammlerwert, vor allem wenn der Akku noch 
funktioniert.

> Da fehlt alles, wenn man tatsächlich die Maschine kennenlernen
> möchte - kein ROM-Monitor, kein Assembler, kein Debugger,
> kein Disassembler ...
Da hast Du prinzipiell recht, aber es geht nicht darum, so viel über den 
C64 als solches kennenzulernen, sondern um den allgemeinen Aufbau, wie 
so ein (einfacher) Computer aufgebaut ist, wie "Speicher" funktioniert, 
wie Daten im Speicher externe Ports beeinflussen und umgekehrt oder wie 
Ports zur Steuerung der Hardware funktionieren. Das kann man beim 
Mikrocontroller halt nicht sehen, beim C64 kann Farben ändern oder 
irgendwas in den Bildschirmspeicher schreiben, da sieht man das Ergebnis 
direkt.

> nur "peek & poke" irgendwelcher Dezimalzahlen.
Reicht völlig aus. Ich kann selbst kein 6502 bzw. 6510 Assembler.
Dafür bin ich zu jung, Assembler habe ich erst auf dem x86 gelernt.

von Percy N. (vox_bovi)


Lesenswert?

Dieter D. schrieb:
> PowerBasic

enspricht afaik eher TurboBASIC, mithin QBASIC. Kostenlose Version gibt 
es hier

https://binary-fusi0n.tripod.com/crypto/firstbasic_dos.html

"abandoned" hier:
https://winworldpc.com/product/powerbasic/3x

Siehe auch

https://winworldpc.com/download/0fe4385f-b476-11e8-9b71-fa163e9022f0

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Percy weißt Du, ob man mit PowerBasic direkt auf einzelne 
Speicheradressen wie für die parallele Schnittstelle oder 
Bildschirmspeicher zugreifen kann?

von Percy N. (vox_bovi)


Lesenswert?

PEEK und POKE sollten eigentlich gehen, hoffe ich, zumal man damit 
damals gern ASM-Cide eingebunden hat. Positiv weiß ich das aber nicht.

Dafür lese ich gerade

http://www.qbasic.de/pb/

dass PowerBASIC und TURBOBASIC auf GEBASIC beruhen, nicht hingegen auf 
QBASIC. Die Chancen steigen also ...

von Arno R. (arnor)


Lesenswert?

Ben B. schrieb:
> Dann geht es uns ähnlich, aber sagt nichts aus ob man sich heutzutage
> noch in Köpenick treffen könnte oder ob Du es in den Alpen oder an der
> See viel schöner findest als in Köpenick und nun dort wohnst.

Aus Berlin bin ich weg, könnte aber dahin kommen.

Ben B. schrieb:
> Was möchtest Du eigentlich ggf. für den Laptop haben?

50€

> vor allem wenn der Akku noch funktioniert.

Das weiß ich nicht, seit 20 Jahren nicht mehr benutzt. Es ist ein 
NiCd-Akku, der hält entladen wohl ewig. Der CMOS-Akku ist auch NiCd und 
der geht noch, jedenfalls hatte das BIOS die Festplattendaten nach ein 
paar Tagen ohne Strom nicht vergessen.

von Ronny M. (hobby-coder)


Lesenswert?

Evtl. mal hier nachfragen: https://www.forum64.de/

von Jörg (lixtop)


Angehängte Dateien:

Lesenswert?

Hallo,

ich könnte einen KC87 mit 16K Erweiterung und Bausatz zum Anschluß am TV 
anbieten (in Köpenick).

von Peter N. (alv)


Lesenswert?

Ich würde einen Raspberry Pi Pico mit PicoMite empfehlen.

Der kann praktisch alles, was ein C64 konnte, SD-Karten-Option als 
Diskettenersatz und einen gewaltigen Userport.

Damit kann man dann sich sowas wie einen C128 zusammenbauen.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> 50 Euro
Hm ich hoffe Du bist nicht allzu enttäuscht wenn
ich da doch lieber einen C64 sammle... :-/
Aber lass Dir trotzdem für Dein Angebot danken!

> Evtl. mal hier nachfragen: https://www.forum64.de/
Wäre eine Möglichkeit. Ansonsten muss ich eben wirklich bundesweit 
schauen, daß ich vielleicht im Laufe der Woche ein Schnäppchen finde 
oder so, anders wird man nicht für wenig Geld drankommen. Da hat Soul E. 
leider recht, aber niemand bezahlt gerne Sammlerpreise, schon gar nicht 
wenn man etwas für die Praxis sucht... tut mir ja leid aber ist so und 
ich hab's nicht so dicke, daß mir der Preis egal ist. Ich möchte keinen 
C64 sammeln, sonst hätte ich schon lange einen.

Jörg, auch Dir zuerst ein großes Danke für das Angebot! Den KC-87 kenne 
ich leider gar nicht. :) Der dürfte am Ende der DDR zugrunde gegangen 
sein, bzw. es gab ihn nicht mehr in großen Stückzahlen wie den KC-85. 
Von letzterem hatte ich zu Zeiten der Wende einen aus dem damaligen 
Pionierpalast weggeschleppt (kann mich dunkel dran erinnern, daß das mit 
einem Beutel auf dem Fahrrad gar nicht so einfach war wie ich mir das 
gedacht hatte), der aber schon kurz danach durch den C64 ersetzt wurde. 
Ist das Keyboard des KC-87 genau so grausig wie das des KC-85? Und mal 
ehrlich, die Dinger dürften heute doch einen ähnlich hohen, wenn nicht 
noch höheren Sammlerwert haben als der millionenfach gebaute C64?

Ich mache mich mal darüber schlau, ob ich damit klarkommen würde, was 
der kann. Startet der Basic von Hause aus oder braucht man dafür ein 
ROM-Modul, hast Du ein Laufwerk dafür, um die Programme zu speichern?

: Bearbeitet durch User
von Jörg (lixtop)


Lesenswert?

OK,

nachdem das Thema auf dem Tisch gekommen ist und ich mich ein wenig 
selber erkundigt habe, ziehe ich das Angebot zurück.
Es hat etwas mit dem Monitären zu tun, zum anderen 'Juckt' es mich das 
Teil erstmal selbst zum 'Leben' zu erwecken. Und dann wäre da ja noch 
die Sache mit dem Kassttendeck...

Also, nix für ungut.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Jaja... so ist das mit dem Sammlerwert, dachte ich mir doch. :)

von Björn W. (bwieck)


Lesenswert?

Das einfachste wird sein sich "VICE" (https://vice-emu.sourceforge.io/)
runterzuladen. Der bringt dann Floppy/Kassette usw mit und hat einen 
brauchbaren MONITOR (nicht der Bildschirm) bei dem man auch mal direkt 
Assemblercode eingeben kann.

Klar, eine echte Maschine ist deutlich charmanter, aber wenn alles fehlt 
ist es einiges Aufwand das alles in Funktionsfähig zu besorgen.

von Hmmm (hmmm)


Lesenswert?

Ben B. schrieb:
> Ein C64 wäre optimal dafür.

Denk daran, dass die CIAs keine Fehler verzeihen und er deshalb besser 
nichts ohne Buffer an den User Port hängen sollte.

Für den angedachten Zweck wäre auch ein Plus/4 interessant, weil der den 
TEDMON im ROM hat, allerdings ist er seltener und dementsprechend 
teurer.

von Motopick (motopick)


Lesenswert?

Wenn man mit Basic nur ein wenig an den Bits wackeln will,
waere auch ein Maximite, Duinomite und aehnliche Boards interessant.
Die kann man in C64 Manier an den Videoeingang eines Fernsehers
oder passenden Monitors anschliessen. Einen Anschluss fuer
eine PS/2-Tastatur haben die auch.
Speichermedium ist eine Mikro-SD-Karte.

Fuer die muss man auch noch keine Liebhaberpreise zahlen.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@Hmmm
Yep, das ist mir bewusst und da muss ich auch noch das Datenblatt des 
CIA lesen. Allerdings ging es mir primär darum, 8 LEDs über Transistoren 
leuchten zu lassen oder ich bastle eine kleine Platine mit zwei ULN2003 
oder so (wenn die CIA deren ~1,5mA @5V können), dann hätte man 500mA 
Open-Collector-Ausgänge.

Bidirektionalität war glaube ich etwas schwerer mit dem User-Port, aber 
als Eingang von Hause aus lassen sich die Joystick-Ports nutzen. Wenn 
ich mich korrekt erinnere, bestanden die aus einfachen Mikrotastern 
gegen Masse.

Edit: Geht doch einfacher als gedacht, die CIA haben 
Open-Collector-Ausgänge mit PullUp-Widerständen und sind immer 
bidirektional. Heißt der Zustand der Leitungen kann jederzeit abgefragt 
werden, ein Kurzschluss nach Masse stört sie in keinem Fall (nur einer 
nach +5V, sie sollten nicht mehr als 3mA abbekommen), aber es kommen nur 
200µA raus - was für die oben angedachten ULN2003 zu wenig ist, daher 
werden da wohl PNP-Treiberstufen nötig.

: Bearbeitet durch User
von Ge L. (Gast)


Lesenswert?

Die Joystick-Eingänge gehen genauso auf Pins einer CIA wie der User- und 
der Cassettenport. Aufpassen musst Du also immer, egal wo Du was 
anschließt. Wobei die Dinger seinerzeit schon einige üble Basteleien 
vertragen haben.

Die unvollkommen passivierten MOS Technology-ICs werden durch Lagerung 
auch nicht besser. Da korrodieren die Aluminium-Leiterbahnen auf dem 
Die.

von Björn W. (bwieck)


Lesenswert?

Soul E. schrieb:
> Wobei die Dinger seinerzeit schon einige üble Basteleien
> vertragen haben.

Das lag aber eher daran das die Leute damals deutlich weniger Kleidung 
aus reinem Plastik getragen haben.

von Ove M. (Firma: ;-) gibt es auch) (hasenstall)


Lesenswert?

Wenn dein Kumpel nen ollen PC hat, klnntest du vllt. auch mit einem 
8051AHB klarkommen. Dann ist das schon mal Mikrocontroller, und Basic 
kann der auch. Da ist der Schritt zu 8051ASM nicht weit, und danach 
versteht er, was er tut. Anschließend muss er dann den Sprung von 
linearem Programmieren hin zu OOP machen.
Viele Grüsse

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@Soul E.

Sorry, ich hab meinen Beitrag oben vermutlich editiert, nachdem Du ihn 
gelesen hast (zwischenzeitlich das Datenblatt der CIA überflogen). Wie 
gesagt, die Dinger sollten mit Kurzschlüssen nach Masse oder zwischen 
ihren Ausgängen keine großen Probleme haben, sie dürfen nur nicht mehr 
als 3mA sehen wenn die Ausgänge active low geschaltet sind. Also keine 
Kurzschlüsse nach Vcc, evtl. reicht's aber direkt für helle 2mA low 
current LEDs.

@Ove

Um den 8051 geht's eigentlich nicht. Ich möchte lediglich mit Hilfe 
eines einfachen PCs, der leicht verständlich aufgebaut und einfach 
rudimentär programmierbar ist, erklären, wie sowas funktioniert. Was 
dann hinterher draus wird und ob er dann damit klarkommt wenn er den 
kompletten Computer in einem einzigen Schaltkreis ohne direkte 
Bildschirmausgabe hat, wird sich zeigen.

Es macht auch nicht mehr viel Sinn, noch jemandem 8051 Assembler zu 
empfehlen. Eigentlich müsste man ihn direkt zu C drängen und in einen 
Controller-Typ müsste er sich sowieso "einarbeiten", egal in welchen. 
Ich tendiere da zu den AVRs (mit denen bin ich schon sehr fit) oder die 
STM32 ARM Cortex M0/M3 wenn's etwas mehr Rechenleistung sein darf, aber 
für beides muss man erstmal die Zusammenhänge zwischen elektrisch 
arbeitender Hardware und dem Programm verstanden haben.

Edit:
OOP oder funktional halte ich übrigens für komplett irrelevant. Jeder 
Programmierer sollte das wählen, womit er am besten klarkommt und sich 
da keine Sparte aufzwingen lassen, wenn ihm das nur Probleme bereitet. 
Er möchte damit vorerst kein Geld verdienen, wo man im Team arbeiten 
müsste oder wo seine Codefetzen für andere lesbar/nachvollziehbar sein 
müssten, erstmal muss er als Hobby alleine damit klarkommen.

: Bearbeitet durch User
von Percy N. (vox_bovi)


Lesenswert?

Ben B. schrieb:
> Percy weißt Du, ob man mit PowerBasic direkt auf einzelne
> Speicheradressen wie für die parallele Schnittstelle oder
> Bildschirmspeicher zugreifen kann?

Ich weiß nicht, ob die Frage noch aktuell ist, aber ich habe mich kurz 
schlau gemacht: PiwerBasic kann nicht nur PEEK und POKE (und daneben 
ominöse PEEK$ und POKE$), sondern auch IN, OUT und, ganz klassisch WAIT, 
wie schon MBASIC für 8080.

Ich habe aber davon abgesehen, damit herumzuspielen, da ich nicht weiß, 
wie DOSBOX darauf reagiert und es auch nicht unbedingt herausfinden 
möchte.

HTH

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Ich habe aber davon abgesehen, damit herumzuspielen, da ich nicht
> weiß, wie DOSBOX darauf reagiert und es auch nicht unbedingt
> herausfinden möchte.
Schlimmstenfalls mit einem Crash/Freeze, gefährliche Schreibzugriffe auf 
irgendwas sollte DOSBOX eigentlich nicht zulassen und Windows sollte 
sich als zweite Instanz auch gegen sowas wehren.

Die Frage wäre, ob diese Befehle auch über den eigenen zugewiesenen 
Speicherblock bzw. das eigene Speichersegment hinausgehen. Die erste
LPT-Schnittstelle z.B. war meistens Adresse 0x0378, der Videospeicher
wäre auch interessant (0x0A0000-0x0BFFFF bzw.
mit Segmentierung A000:0000-B000:FFFF).

Ich danke Dir für's Nachschauen, ich behalte das im Hinterkopf falls aus 
der Idee mit dem C64 nichts wird und ich mich nach Alternativen 
umschauen muss.

von Falk B. (falk)


Lesenswert?

Ben B. schrieb:
> Ich habe einen Kumpel, der sich sehr für Mikrocontroller und ihre
> Programmierung interessiert, sich aber mit dem Einstieg sehr schwer tut
> (steile Lernkurve halt).

Was ist daran steil? Gib ihm einen Arduino und eine handvoll 
Einsteigerseiten und gut.

> Ich versuche immer, ihm zu erklären wie die
> Zusammenhänge sind, woraus sich Daten zusammensetzen bzw. wie Daten
> elektrisch dargestellt werden und anders herum und ich bin auch der
> Meinung, daß er definitiv nicht zu dumm dazu ist, so richtig "kriegen"
> kriegt er's halt doch nicht.

Tja, liegt vielleicht auch am "Lehrer".

> Daher suche ich nach einem einfachen Computer, wo man noch "Herr über
> die Maschine" ist,

Ein Arduino. Einfach, preiswert, zeitgemäß.

> so daß ich ihm z.B. erklären kann wie aus einer Zahl
> 0..255 ein Ein/Aus-Muster von 8 LEDs an einer parallelen Schnittstelle
> wird.

Arduino.

> An einem µC wird das leider schon recht abstrakt weil man da keine
> Bildschirmausgabe hat, kein "Programm laufen sehen" kann, nicht einfach
> "Speicher ansehen" kann.

Ist gar nicht zwingend nötig.

> Ein C64 wäre optimal dafür. Der kann Basic alleine vom Einschalten und
> sein Basic ist so mächtig, daß man damit praktisch alles mit der
> Maschine machen kann (wenn auch nicht besonders schnell, ist halt kein
> Assembler). Ich habe meine Anfänge auch mit dem Ding gemacht und bin
> daher noch recht fit auf der Kiste.

Ist vollkommen egal, denn DU willst es ja nicht benutzen!
PRINT geht auch auf dem Arduino.

> Ich könnte es auch mit einem älteren x86 versuchen falls ich dafür
> heutzutage noch ein Basic finde, was direkte Schreibzugriffe auf
> Portadressen bzw. Speicher zulässt.

Völliger Unsinn!

von Benedikt M. (bmuessig)


Lesenswert?

Falk B. schrieb:
>> An einem µC wird das leider schon recht abstrakt weil man da keine
>> Bildschirmausgabe hat, kein "Programm laufen sehen" kann, nicht einfach
>> "Speicher ansehen" kann.
>
> Ist gar nicht zwingend nötig.

Zumal sich praktisch der ganze C64-Textmode beim Arduino über 
USB-Serial, VT100 und Putty abbilden lässt.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Au ja toll, Falk wieder in Höchstform.

> Was ist daran steil? Gib ihm einen Arduino und eine
> handvoll Einsteigerseiten und gut.
Hat er. Er kriegt's auch hin, solche Demo-Programme abzutippen, daß sie 
funktionieren. Aber es kommen halt so Fragen wie man Text zum LCD kriegt 
oder wie interne Hardware-Blöcke (sowas wie Timer/Counter) 
funktionieren, das lässt sich mit einem AVR schwer zeigen weil man nicht 
hineinschauen kann. Schwer ohne konkretes Beispiel zu beschreiben.

> Tja, liegt vielleicht auch am "Lehrer".
Mach's besser! :)

Kann natürlich sein, daß ich das nicht gut rüberbringen kann, deswegen 
bin ich ja auf der Suche nach einem C64, um das besser zu zeigen wie 
Hardware und Software zusammenarbeiten.

> Ein Arduino. Einfach, preiswert, zeitgemäß.
Und für's Verständnis solcher Dinge leider auch genauso hilfreich wie'n 
Kropf wenn man nur vorgekochten Kram auf einem Teller zusammenpackt und 
sich nicht um die Grundlagen schert. Vielleicht kriegt er damit 
schneller Ergebnisse, okay das lasse ich Dir, aber verstehen warum - was 
er ja für die Hardwareschiene eigentlich möchte - das ist 'ne andere 
Sache.

>> An einem µC wird das leider schon recht abstrakt weil man da
>> keine Bildschirmausgabe hat, kein "Programm laufen sehen" kann,
>> nicht einfach "Speicher ansehen" kann.
> Ist gar nicht zwingend nötig.
Für Dich nicht und für mich auch nicht, aber ich möchte das halt zeigen 
können weil ich denke das versteht er schwierig.

>> Ein C64 wäre optimal dafür. [..]
> Ist vollkommen egal, denn DU willst es ja nicht benutzen!
Sagen wir's so, ich will es benutzen um bestimmte Dinge zu zeigen und da 
ist es kein Nachteil wenn man die Maschine gut kennt.

> PRINT geht auch auf dem Arduino.
Darum geht's mir nicht, weil dafür bereits etliche Dinge in Hardware 
laufen müssen, damit das PRINT auf einem LCD oder sonstwo ankommt.

Das ist beim C64 zwar ähnlich, aber ich bekomme vom C64 praktisch z.B. 
ein Live-Abbild seines Bildschirmspeichers direkt ausgegeben (fun fact: 
deswegen heißt der so) und ich kann direkt hineinschreiben oder aus ihm 
lesen, man sieht sofort was passiert.

Stellen wir abschließend fest, daß Du keinen C64 in Berlin-Köpenick hast 
und auch nicht z.B. meine Nixie-Röhren dafür haben möchtest... sondern 
nur wieder rummeckern wie scheiße meine Idee im Vergleich zum 1337 
Ardummino ist. Okay, zur Kenntnis genommen.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Ben B. schrieb:
>> Was ist daran steil? Gib ihm einen Arduino und eine
>> handvoll Einsteigerseiten und gut.
> Hat er. Er kriegt's auch hin, solche Demo-Programme abzutippen,

Soso, abtippen. Wie in den 1980ern ;-)

> daß sie
> funktionieren. Aber es kommen halt so Fragen wie man Text zum LCD kriegt

So wie es der Rest der Welt gelernt hat, Schritt für Schritt. Wenn man 
keinen Debugger hat, dann halt old school mit PRINT-Ausgaben.

> oder wie interne Hardware-Blöcke (sowas wie Timer/Counter)
> funktionieren, das lässt sich mit einem AVR schwer zeigen weil man nicht
> hineinschauen kann.

Komisch. Wie haben das Millionen von Bastlern, Schülern und Studenten 
nur hinbekommen?

> Schwer ohne konkretes Beispiel zu beschreiben.
>
>> Tja, liegt vielleicht auch am "Lehrer".
> Mach's besser! :)

Mach ich. Fast jeden Tag.

> Kann natürlich sein, daß ich das nicht gut rüberbringen kann, deswegen
> bin ich ja auf der Suche nach einem C64, um das besser zu zeigen wie
> Hardware und Software zusammenarbeiten.

Da ist rein gar nichts besser zu zeigen, bestenfalls anders. Und wer 
will heute mit Kasetten oder Floppys rummachen, wenn man es DEUTLICH 
einfacher und zeitgemäß per USB-Kabel machen kann?

> schneller Ergebnisse, okay das lasse ich Dir, aber verstehen warum - was
> er ja für die Hardwareschiene eigentlich möchte - das ist 'ne andere
> Sache.

Nö. Register kann man auch in C sehr "nah" beschreiben. Muss kein 
Assembler sein. Geht alles mit dem Arduino. digitalWrite() für das erste 
LED-Blinken mit schnellem Erfolgserlebnis, PORTD = 0x01 im nächsten 
Schritt.

>>> keine Bildschirmausgabe hat, kein "Programm laufen sehen" kann,
>>> nicht einfach "Speicher ansehen" kann.
>> Ist gar nicht zwingend nötig.
> Für Dich nicht und für mich auch nicht, aber ich möchte das halt zeigen
> können weil ich denke das versteht er schwierig.

Was kannst du denn auf dem C64 so viel besser und anders zeigen?

>> PRINT geht auch auf dem Arduino.
> Darum geht's mir nicht, weil dafür bereits etliche Dinge in Hardware
> laufen müssen, damit das PRINT auf einem LCD oder sonstwo ankommt.

Ja und? Das ist Magie hinter dem Vorhang. Muss man am Anfang nicht 
verstehen, nur benutzen. Man muss nicht beim Urschleim anfangen.

> Das ist beim C64 zwar ähnlich, aber ich bekomme vom C64 praktisch z.B.
> ein Live-Abbild seines Bildschirmspeichers direkt ausgegeben (fun fact:
> deswegen heißt der so) und ich kann direkt hineinschreiben oder aus ihm
> lesen, man sieht sofort was passiert.

Und du glaubst, damit ein besseres Verständnis für einen absoluten 
Anfänger zu erreichen? Dream on. Dieser Hackermist hat bei sowas gar 
nichts verloren.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Soso, abtippen. Wie in den 1980ern ;-)
Nenne es doch wie Du möchtest (das Thema hatten wir doch gerade erst). 
Ich bin mir recht sicher, daß er zumindest STRG+C/V beherrscht, ändert 
aber nichts am Gesamtergebnis.

>>> Tja, liegt vielleicht auch am "Lehrer".
>> Mach's besser! :)
> Mach ich. Fast jeden Tag.
Ich glaube wenn Du einer meiner Lehrer gewesen wärst, hätte einer von 
uns beiden wahrscheinlich schon den ersten Schultag nicht überlebt.

> Und wer will heute mit Kasetten oder Floppys rummachen, wenn man
> es DEUTLICH einfacher und zeitgemäß per USB-Kabel machen kann?
Wo ist da angesichts der geringen Datenmengen der Vorteil? Da fällt ja 
noch nicht mal die Langsamkeit des C64 Schneckenkarussells ins Gewicht, 
es geht lediglich ums Sichern/Aufheben des Programms, weil das beim C64 
sonst weg ist wenn die Kiste crasht oder wenn man sie abschaltet.

> Was kannst du denn auf dem C64 so viel besser und anders zeigen?
Die Zusammenhänge oder die Umformung von Zahlen in verschiedene Formate 
oder Systeme. Dafür bietet allein der C64 VIC so viele Möglichkeiten, 
beispielsweise mit seinen Sprites (und wie man die definiert) oder eben 
mit ein paar LEDs am User-Port.

> Das ist Magie hinter dem Vorhang. Muss man am Anfang nicht
> verstehen, nur benutzen. Man muss nicht beim Urschleim anfangen.
Genau da ist das Problem was wir beide miteinander haben. Wie soll man 
denn die Funktionsweise von Hardware oder Steuerregistern verstehen, 
wenn man nicht weiß, wie der Kram funktioniert? Wie soll man einen µC in 
einer eigenen elektrischen Schaltung einsetzen, wenn man nicht begriffen 
hat, wie man seine Hardwarefunktionen oder auch nur I/O-Pins nutzt bzw. 
wie diese bitweise aus Sicht der Software abgebildet werden?

Sicherlich kann man sich alles aus Vorlagen und Bibliotheken 
zusammenkopieren und vielleicht funktioniert das am Ende sogar ohne 
größere Atompilze über dem Basteltisch. Aber dann weiß man noch lange 
nicht wieso etwas funktioniert oder wie man es für seine eigenen Ideen 
anpasst oder verändern kann. Oder ganz schlimm, es gibt keine Bibliothek 
oder Vorlage für das was man vor hat und man muss es wirklich selbst 
machen. Furchtbar, oder?! Dann ist der typische Arduino-User sofort 
"lost" wie es so schön neudeutsch heißt.

> Und du glaubst, damit ein besseres Verständnis
> für einen absoluten Anfänger zu erreichen?
Definitiv, ich habe ja auch alle Grundlagen erst mit dem C64, dann auf 
dem PC und dann auf µCs gelernt - und damals gab's noch kein Google&Co, 
ein C64-Buch und später die Befehlsreferenz des x86 in Papierform 
mussten reichen.

> Dieser Hackermist hat bei sowas gar nichts verloren.
Das kommt ganz darauf an, wofür man sich interessiert.

von Jack V. (jackv)


Lesenswert?

Falk hat aber Recht:

Ben B. schrieb:
> Ich habe einen Kumpel, der sich sehr für Mikrocontroller und ihre
> Programmierung interessiert, sich aber mit dem Einstieg sehr schwer tut
> (steile Lernkurve halt).

Ein Arduino, etwa ein Uno oder Nano mit ATMega328P, ist deutlich besser 
für den Einstieg in die Microcontrollerprogrammierung geeignet, als ein 
C64, und dann noch mit BASIC, oder sonst ein Full-Size-Rechner.

Arduino flacht die Lernkurve enorm ab – ich kenne Leute, die vorher noch 
nie was mit Programmierung zu tun hatten, und damit in erstaunlich 
kurzer Zeit beeindruckende Sachen zusammenbekommen haben. Man kann LEDs, 
Displays, Sensoren, etc. ohne große Umstände dranstecken und es nutzen, 
und die Datenblätter machen es verhältnismäßig einfach, sich auch die 
Interna zu erarbeiten, sodass man letztlich nicht mal auf Arduino 
angewiesen ist – so man das denn so möchte. Und das für einstellige 
Beträge für ein komplettes Board, mit Spannungsregler, mit 
USB-Anschluss, und mit allem Kleinkram.

Ben B. schrieb:
> Wie soll man
> denn die Funktionsweise von Hardware oder Steuerregistern verstehen,
> wenn man nicht weiß, wie der Kram funktioniert? Wie soll man einen µC in
> einer eigenen elektrischen Schaltung einsetzen, wenn man nicht begriffen
> hat, wie man seine Hardwarefunktionen oder auch nur I/O-Pins nutzt bzw.
> wie diese bitweise aus Sicht der Software abgebildet werden?

Wie soll man das mit ’nem C64 besser lernen, der ja nun gar nichts mit 
Microcontrollern zu tun hat, und dessen BASIC zudem enorm eingeschränkt 
ist, als direkt mit einem einfachen Microcontrollerboard à la Arduino? 
Wie es intern funktioniert, ist im Datenblatt des Controllers ziemlich 
gut und anschaulich dargestellt, und wie man’s nutzt – die Zahl der 
Einsteiger-Tutorials ist nahezu endlos, da ist für jeden was dabei.

von Percy N. (vox_bovi)


Lesenswert?

Ben B. schrieb:
> Die Zusammenhänge oder die Umformung von Zahlen in verschiedene Formate
> oder Systeme. Dafür bietet allein der C64 VIC so viele Möglichkeiten,
> beispielsweise mit seinen Sprites (und wie man die definiert) oder eben
> mit ein paar LEDs am User-Port.

Mit TurboPascal konnte man Variable beliebig im Speicher platzieren. Ein 
Array von 2000 Integers lässt sich prima auf dem Bildschirm sortieren, 
wenn man es im Video-RAM anlegt. Ob DOSBOX das mitmacht, habe ich noch 
nicht probiert. Mit FreeBASIC sollte Ähnliches direkt unter Windows 
möglich sein, allerdings gebuffert.

von Thomas W. (Gast)


Lesenswert?

Ben, Du kannst weghoeren (oder nicht lesen, bin ja auch Deiner 
Kill-List).

Ich hatte ihm ja diesen SCB-Computer (wenn eine haptische CPU, Speicher 
und Massenspeicher notwendig ist) vorgeschlagen: Ben wollte das nicht. 
Ich habe jetzt einen roten Punkt (Bingo Fuel or on vapors nehme ich mal 
an). Ich finde eine Z80-Loesung gut, aber ich finde Vaxes gut.

Wenn die Arduino-Loesung nicht gut genug ist, so be it. Scheint aber 
eine der sehr gut dokumentierte 8-Bit Plattform zu sein. Zum Lernen. 
Gebaut und konzipiert zum Lernen. Von Leuten, die das wirklich koennen.

Ein C64 ist zwar gut dokumentiert, aber wenn Dein "Kumpel" so oder so 
basale Verstaendnis-Probleme hat ist ein komplexer Computer nicht 
unbedingt zielfuehrend.

Wenn er seinen "Kumpel" wirklich quaelen will, koennte er ein 
6502-System besorgen und sich die Buecher ueber den 
Elektor-Junior-Computer besorgen. Band 1 ist Aufbau/Hardware (Erklaerung 
z.B. 6532 als IO) und 6502-Assembler (so ein dummes poke 0x00,0 bringt 
Dir ja nix, Du brauchst ja mindestens ein Assembler-Listing damit Dein 
Kumpel weiss, wo er warum was hinschreibt). Die Erklaerung des 
6502-Assember hatte ich sogar mit fuenfzehn verstanden.

Band 3 waere z.B. ueber den 6522 (das Ding ist schon "besser", weil es 
komplex ist aber nicht so komplex wie z.b. die Timer beim STM32 oder 
beim AVR). Es kann nicht viel, ist aber auch nur mit einem Datenblatt 
von ca. 15 Seiten entspannt zu lesen.

Man braucht latuernich programming the 6502 von Rodnay Zaks (keine 
Ahnung ob es auf deutsch gibt, ich fand die Buecher von Zaks immer 
overrated).

Ich fand die Junior-Buecher (fuer 1980 und mein Alter) schon akzeptabel.

Die Idee Bubble-Sort (oder ein anderes Sort) auf dem Schirm auszufuehren 
finde ich lustig (der Kumpel wird das aber nicht verstehen, wenn 
Konzepte wie Speicherzugriff oder Adress-Modi nicht da sind). Alternativ 
Tower of Hanoi (Tuerme von Hanoi auf Deutsch).

Wo bekomme ich diese Buecher her? archive.org waere ein guter Ort, der 
Elektor-Verlag (fuer ein bischen Geld Zugriff auf das Archiv) waere auch 
ein guter Ort, libgen ist das Boese.

Beim suchen nach 6502-Boards habe ich ein Gigatron-Board gefunden:
https://www.ebay.de/itm/195004617567

Das ist ein richtiger Computer (mit Video-Ausgang, scheint ja wichtig zu 
sein):

https://gigatron.io/

Und ja, es laeuft Basic :-) Wenn ich so etwas 1980 gehabt haette! Meine 
Eltern haetten mich vom Tisch wegziehen muessen!

Gruesse

Th.

von Hobby B. (bastler2022)


Lesenswert?

Hallo,

ist zwar kein C64 aber auch sehr Ineressant.
Hier mal der Link dazu : https://www.mikrocontroller.net/articles/STECCY

Gruß bastler2022

von Hugo H. (hugo_hu)


Lesenswert?

Ben B. schrieb:
> das lässt sich mit einem AVR schwer zeigen weil man nicht
> hineinschauen kann

Dazu ist der eingebaute Debugger des AVR-Studios sehr hilfreich - da 
kann man sich die gesetzten / gelöschten Bits (sogar ohne LED) prima 
anschauen.

Man braucht nicht mal einen AVR - der Simulator reicht dazu völlig aus 
:-).

: Bearbeitet durch User
von Haydar B. (haydar)


Lesenswert?

Ich würde den einen Raspberry Pi 400 nehmen, ich finde das ist ein 
würdiger C64 Nachfolger unserer Zeit.
Und dann kann schauen ob er mit Blocky, Basic, Pascal, C oder Python 
klarkommt.
An den Port kann man im ersten Schritt ein paar LED anschließen.
zum Beispiel über so einen Adapter:
https://www.reichelt.de/raspberry-pi-gpio-pinboard-t-typ-set-rpi-gpio-t-type-p282705.html?PROVID=2788&gclid=EAIaIQobChMI35f-m6LC_wIVE-Z3Ch3towEsEAQYAiABEgLMTvD_BwE

Gruß
Haydar

von DSGV-Violator (Gast)


Lesenswert?

> Arduino flacht die Lernkurve enorm ab – ich kenne Leute, die vorher noch
> nie was mit Programmierung zu tun hatten, und damit in erstaunlich
> kurzer Zeit beeindruckende Sachen zusammenbekommen haben.

Na das ist doch ein Argument gegen Arduino, was hier mit "abgeflachte 
Lernkurve" beschönigt wird, heisst doch im im Klartext, das ist auch ein 
System für Dumme, die ohne Anstrengung blinkyblitzy scheinen wollen.

Schon der topographische Vergleich ist bullshit, um einen Berg auf einen 
flachen Tourie-Weg für Herzkranke zu erreichen braucht man eher länger 
und es ist langweiliger als der Weg für die heimischen Bergfexe, die 
auch mal kurze Passagen klettern können.
Wenn ein Flacher Bergweg kurz ist, dann weil er schon am Sessellift 
endet. Oder am Kiosk, wo man Ansichtskarten für die Daheimgebliebenen 
abfotografiert und per WhatsApp verschickt ...

 Dabei lernt man doch nicht wie der Controller im Inneren funktioniert, 
da lernt man doch nur wie man beispiele in der IDE modifiziert und in 
Interforen die wirlichen Experten um Hilfestellung anbettelt.

Warum nicht ein old school Z1013 als Bausatz, da kann man sich sogar 
einzelne Signale am Scope anschauen: 
https://www.sax.de/~zander/z1013/z13_hw.html

von Jack V. (jackv)


Lesenswert?

DSGV-Violator schrieb:
> Na das ist doch ein Argument gegen Arduino, was hier mit "abgeflachte
> Lernkurve" beschönigt wird, heisst doch im im Klartext, das ist auch ein
> System für Dumme, die ohne Anstrengung blinkyblitzy scheinen wollen.

Ein leichter Einstieg ist ein Argument gegen etwas? Insbesondere, wenn 
es einem nicht einmal Steine in den Weg legt, wenn man darüber bis hin 
zur klassischen Programmierung ganz ohne Arduino kommen möchte? Nur, 
weil es einen nicht dazu zwingt? Muss ein anderer Kulturkreis sein, in 
dem du lebst.

Die Leute, die ich erwähnte, legen überdies in diesem Kontext überhaupt 
keinen Wert darauf, wie sie erscheinen – sondern darauf, dass sie ihre 
Vorstellungen umgesetzt bekommen. Zumindest ich kann darin nichts 
Verkehrtes erkennen. Aber wie gesagt: vermutlich anderer Kulturkreis …

: Bearbeitet durch User
von DSGV-Violator (Gast)


Lesenswert?

Jack V. schrieb:
> DSGV-Violator schrieb:
>> Na das ist doch ein Argument gegen Arduino, was hier mit "abgeflachte
>> Lernkurve" beschönigt wird, heisst doch im im Klartext, das ist auch ein
>> System für Dumme, die ohne Anstrengung blinkyblitzy scheinen wollen.
>
> Ein leichter Einstieg ist ein Argument gegen etwas? Insbesondere, wenn
> es einem nicht einmal Steine in den Weg legt, wenn man darüber bis hin
> zur klassischen Programmierung ganz ohne Arduino kommen möchte? Nur,
> weil es einen nicht dazu zwingt? Muss ein anderer Kulturkreis sein, in
> dem du lebst.

Naja, nicht jeder der seinen Videorekorder programmiert ist auch ein 
Embedded Programmierer.

Und es geht auch nicht um den Einstieg sondern um die angeblich 
verkürzte Lernkurve. Klar ist ein leichter Einstieg in den Sessellift 
für Touries prima, aber alpines Bergsteigen erlernt man damit nicht. 
Eher im Gegenteil. Um beim Beispiel Alpinismus zu bleiben, es sind schon 
viele am Everest beim Abstieg verreckt, weil sie sich ohne eigenes 
Können haben hoch tragen lassen. 
https://de.wikipedia.org/wiki/Ungl%C3%BCck_am_Mount_Everest_(1996)

Ohne "leichten Einstieg" wären sie unten geblieben und hätten überlebt.

Deshalb stellt man einen Arduino-Einsteiger auch nicht als Programmierer 
ein, sondern schickt ihn erst mal in ein Boot-Camp, das aus ihn ein 
richtige Mann wird.

https://media.ccc.de/v/wie-scheitern-it-projekte-garantiert

So wie man als Passagier in einem glass-bottom-boat zwar leicht 
(trocken) Korallen sehen kann, aber damit kein "Riff Tauchen" lernt.

von Jack V. (jackv)


Lesenswert?

DSGV-Violator schrieb:
> Und es geht auch nicht um den Einstieg sondern um die angeblich
> verkürzte Lernkurve.

Ging es nie, hat hier auch keiner behauptet. Es ging um eine flachere 
Lernkurve beim Einstieg. Für jemanden, wie ihn der TE beschreibt, wäre 
die Lernkurve ansonsten eher eine Wand – und das hat schon so manchen 
abgehalten, der mit einem leichteren Einstieg viel Spaß dran gefunden 
haben könnte.

Und es ist auch nicht so, dass Arduino die Lernkurve unumstößlich auf 
Fußgängerniveau festnagelt – im Gegenteil: es liegt an jedem selbst, was 
er lernen möchte und auch kann.

Das Risiko, bei der Microcontrollerprogrammierung tödlich zu 
verunglücken, halte ich ebenfalls eher gering, so dass ich irgendwie den 
Bezug zu deinem Bergsteigerbeispiel nicht herstellen kann …

Auch ist für mich nicht ersichtlich, dass der Bekannte des TE, um den es 
hier ja ging, irgendwelche Ambitionen haben würde, als Programmierer 
angestellt zu werden. Wo hast du diese Information her?

: Bearbeitet durch User
von DSGV-Violator (Gast)


Lesenswert?

Jack V. schrieb:
> DSGV-Violator schrieb:
>> Und es geht auch nicht um den Einstieg sondern um die angeblich
>> verkürzte Lernkurve.
>
> Ging es nie, hat hier auch keiner behauptet. Es ging um eine /flachere/
> Lernkurve beim Einstieg. Für jemanden, wie ihn der TE beschreibt, wäre
> die Lernkurve ansonsten eher eine Wand – und das hat schon so manchen
> abgehalten, der mit einem leichteren Einstieg viel Spaß dran gefunden
> haben könnte.
>
> Und es ist auch nicht so, dass Arduino die Lernkurve unumstößlich auf
> Fußgängerniveau festnagelt – im Gegenteil: es liegt an jedem selbst, was
> er lernen möchte und auch kann.

Naja die Erfahrung zeigt, das es eben nach dem (auf leicht gedopten) 
Einstieg nicht wirklich weitergeht. Warum?
Weil das Verlangen nach leichten Einstieg eben Ausdruck von innewohnende 
Anstrengungsvermeidung ist. Und dann kommt natürlich recht schnell die 
Frage "Warum tue ich mir das an". Es gibt halt Kulturen der 
Anstrengungsvermeidung und die Kultur sich 
Anstrengungen/Herausforderungen zu stellen weil man eben daran wächst. 
So wie es Kennedy in seiner berühmten "moon speech" sagte:

" ... We choose to go to the Moon in this decade and do the other 
things, not because they are easy, but because_they_are_hard ; because 
that goal will serve to organize and 
measure_the_best_of_our_energies_and_skills, because that challenge is 
one that we are willing to accept, one we are unwilling to postpone, and 
one we intend to win, and the others, too. ..."


Der Vorteil eines un-leichten Einstiges ist der, das die 
"Dünnbrettbohrer" und "Weicheier" gleich zu Beginn ausgesiebt werden und 
nur die über die gesamte Zeit weitermachen, die wirklich wollen (und 
"die Eier dafür haben"). Deshalb ist ein Einstellungstest auch ein 
Belastungstest:

https://youtu.be/uxKmDWDUZ5A?t=47

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@Jack

Nicht ärgern lassen. In diesem Forum ist es normal, daß wenn man eine 
Cola haben möchte, jemand kommt und so Jedi-Style "nein du willst keine 
Cola, die ist furchtbar ungesund, hier nimm diesen Energy-Drink..." - 
ich habe mich damit abgefunden, auch daß es hier in der Gegend niemanden 
gibt, der 'nen C64 für einen akzeptablen Preis abgeben würde, zumindest 
nicht in diesem Forum.

Dann muss man sich halt andere Wege suchen.

Was es diesem DSGVO-Freak um das Aussieben von Weicheiern und um 
Einstellungstests geht nur weil man nach einem C64 gefragt hat... keine 
Ahnung. Vermutlich ist er immer noch ein wenig sauer, weil man's mit ihm 
selbst evtl. genau so gemacht hat.

von Jack V. (jackv)


Lesenswert?

DSGV-Violator schrieb:
> Der Vorteil eines un-leichten Einstiges ist der, das die
> "Dünnbrettbohrer" und "Weicheier" gleich zu Beginn ausgesiebt werden und
> nur die über die gesamte Zeit weitermachen, die wirklich wollen (und
> "die Eier dafür haben").

Ach … und es ist nicht erlaubt, die Teile einfach auf einem eher 
niedrigen Niveau zu nutzen, oder langsam fortzuschreiten, wenn es einem 
reicht? Nur harte Männer und echte Kerle, die sich bewiesen haben, 
dürfen einen Microcontroller bedienen? Meine Güte – du bist vielleicht 
seltsam drauf …

Ben B. schrieb:
> Was es diesem DSGVO-Freak um das Aussieben von Weicheiern und um
> Einstellungstests geht nur weil man nach einem C64 gefragt hat... keine
> Ahnung. Vermutlich ist er immer noch ein wenig sauer, weil man's mit ihm
> selbst evtl. genau so gemacht hat.

Meiner Erfahrung nach sind’s meist Leute, die ein Problem damit haben, 
dass andere Leute heute mit einem Bruchteil des Aufwands und viel Spaß 
das erreichen können, wofür sie sich lange und mit wenig Freude gequält 
haben, während sie es oft genug trotzdem nicht einmal erreichen konnten. 
Da muss man dann halt gucken, wie man es hinstellen kann, damit man sich 
trotz bestenfalls gleicherwertiger Ergebnisse noch irgendwie als 
überlegen darstellen kann. Letztlich ist’s meist schlicht Neid, um das 
mal auf den Punkt zu bringen.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@Jack

Weiß ich nicht. Meine, man kann heute mit einem Arduino ja wirklich 
schon viel erreichen, auch in kurzer Zeit. Aber die Probleme fangen an, 
wenn Google das Problem eben nicht sofort kennt oder es furchtbarerweise 
für irgendwas mal keine vorgekotzte Arduino-Bibliothek gibt. Allein 
deswegen mag ich für mich gesprochen keinen Arduino und bin ein großer 
Fan davon, daß man die Grundlagen beherrscht und die Hardware versteht. 
Ich will mich nicht in Wege zwingen lassen, die mir andere vorher 
breittrampeln und asphaltieren müssen. Oder sollte man mal eine Aufgabe 
haben, wo man wirklich Rechenleistung braucht. Dann nehmen solche Leute 
halt einen STM32H7, ersetzen einen OPV durch einen DSP... der fähige 
Programmierer kommt trotzdem locker mit einem ATMega und der fähige 
Elektroniker mit etwas Analogtechnik aus. Also das ist für mich der 
Unterschied und was ich für anstrebenswert halte.

Die 8 Bit Technik ist auch echt nicht schwer zu verstehen, sie ist nur 
schwer greifbar wenn alle Magie in einem kleinen schwarzen IC 
stattfindet, in den man nicht hineinschauen kann. Klar könnte man ihm 
nun das Wissen eintrichtern wie 'ner Mastente ihr Futter, dabei 
aufkommende Fragen mit "das ist eben so, friss oder stirb" erschlagen. 
Das ist aber nicht mein Ziel, ich möchte die Magie "hinter der Wand" 
halt sichtbar machen und dann mal sehen was draus wird. Wenn's nichts 
wird - angenommen er kapiert hinterher immer noch nichts - dann muss man 
sich echt die Frage stellen ob's einen Sinn macht wenn er sich da nicht 
durchbeißen möchte. Aber dann wird's mit Arduino bestimmt nicht besser.

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

Ben B. schrieb:
> Aber die Probleme fangen an,
> wenn Google das Problem eben nicht sofort kennt oder es furchtbarerweise
> für irgendwas mal keine vorgekotzte Arduino-Bibliothek gibt. Allein
> deswegen mag ich für mich gesprochen keinen Arduino und bin ein großer
> Fan davon, daß man die Grundlagen beherrscht und die Hardware versteht.

Das Schöne an Arduino ist, dass die benutzen Microcontroller auch gerne 
„bare metal“ genutzt werden können. Auch kann man selbst Arduino 
systematisch und sauber lernen, so man denn mag. Auf der anderen Seite 
kann man sich auch Plain-AVR-Code via Copy&Paste zu was zusammenklicken, 
das man nicht versteht – Arduino macht’s einem in dem Punkt nur deswegen 
viel einfacher, weil so dermaßen viele Leute schon nahezu jedes Szenario 
irgendwie gelöst, und das irgendwo hinterlegt haben.  Außerdem schreiben 
sich die wenigsten Plain-AVR-User alles von Grund auf selbst – in der 
Regel nutzen sie genauso Libs, wie alle Anderen auch. Klar kann man zu 
Lernzwecken etwa I²C in Software implementieren und damit manuell ’n 
Display ansteuern. Ist enorm lehrreich, hab ich auch gemacht – aber wenn 
ich wirklich einen Job erledigt haben will, nutze ich die entsprechenden 
Funktionen (I²C) und die passende Lib (Display) und kümmere mich nicht 
weiter drum.

Auch ging’s weiter oben eigentlich nicht mal um Arduino als Software, 
sondern einen Arduino-Uno-Clon, oder sowas in der Art, der für weniger 
als 10€ alles an Bord hat, sodass man direkt loslegen kann – auch völlig 
ohne Arduino-Software (abgesehen vom Bootloader, aber hindert einen auch 
keiner dran, einen ISP-Programmer dranzuhängen, wenn man den Platz dafür 
mal selbst brauchen sollte).

Auf der anderen Seite: was würde deiner Meinung nach ein C64 mit seinem 
dann doch sehr eingeschränkten BASIC für Vorteile mit Bezug auf das 
Erlernen der μC-Programmierung bringen, die ja einerseits im Gegensatz 
zur BASIC-Abstraktionsschicht direkt auf der Hardware stattfindet, bei 
der völlig andere Anbindungsmöglichkeiten bestehen, und die 
üblicherweise nicht in BASIC stattfindet (es gibt wohl einen 
BASIC-Dialekt für AVR und Co. – aber wenn man das ernsthaft in Erwägung 
zieht, sollte man sich ausdrücklich nicht hinreißen lassen, die Nase 
über Arduinouser zu rümpfen ;)

Wie auch immer: der Pi 400 wurde weiter oben genannt. Wenn du also ’nen 
fully bloated computer samt OS und so für Lernzwecke nehmen möchtest, 
statt direkt und einfach einen kleinen AVR zu nehmen und loszulegen, 
dann wäre der auch nicht die schlechteste Wahl: freie Auswahl an 
Sprachen, GPIO nutzbar, sodass man auch mit μC-üblicher Peripherie 
hantieren kann, integriert, und, wenn C64 für dich weiterhin unabdingbar 
ist, immer noch für das bereits genannte Vice nutzbar :)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Na grundlegend gibt's da ja nur den "Unterschied", daß allein der 
Bootloader aus einem AVR einen Arduino macht. Der Rest ist identisch und 
an den elektrischen Bedinungen, die der AVR braucht, ändert auch 
"Arduino sein" nichts.

> aber wenn ich wirklich einen Job erledigt haben will, nutze ich
> die entsprechenden Funktionen (I²C) und die passende
> Lib (Display) und kümmere mich nicht weiter drum.
Yep, solange alles funktioniert ein valider Weg. Allerdings kenne ich 
ohne das kommerziell zu machen einige Fälle, wo dann irgendwelche 
Probleme auftraten und die Entwickler, die vorher richtig was auf sich 
hielten, einfach nicht wussten wieso, in meinen Augen nicht mal eine 
systematische Fehlersuche auf die Reihe bekommen haben "weil ging ja 
sonst auch immer".

Ich habe mit dem AVR sehr viel in Assembler gemacht weil's für mich sehr 
einfach ist, den in Assembler zu programmieren. Die meisten meiner Libs 
habe ich mir selbst geschrieben als ich diese Dinge zum ersten Mal 
gebraucht habe, nur Triviales wie z.B. mathematische Berechnungen habe 
ich nicht nochmal neu erfunden.

> Auf der anderen Seite: was würde deiner Meinung nach ein C64 mit
> seinem dann doch sehr eingeschränkten BASIC für Vorteile mit Bezug
> auf das Erlernen der μC-Programmierung bringen
Er soll ja kein Basic auf dem C64 lernen, bzw. wenn überhaupt dann nur 
extrem rudimentär, ich würde das "ein paar Befehle ausprobieren" nennen 
um zu sehen, wie die Hardware darauf reagiert oder wie Software auf 
Hardware reagieren kann. Ich muss ihm "nur" einmal verständlich 
aufzeigen, wie "Bits und Bytes funktionieren", bzw. wie sich Bytes (und 
ihre Darstellung in verschiedenen Zahlensystemen) zusammensetzen und wie 
Bits die Hardware steuern oder wie die Software an Bits (Zustände) 
herankommt, die von der Hardware erzeugt wurden.

Wenn er das begreifen würde, dann ist der Übergang zum µC nicht mehr 
besonders schwierig, dann müsste man ihn nur gleich mit 2..3 guten "C 
für µC" Büchern zuschmeißen. Die Dinger heute noch in Assembler 
programmieren... ich mag und mach das nur weil ich's vom x86 sehr gut 
kann, aber ich glaube C wäre schon besser, auch mit Hinblick auf die 
größeren und komplexeren Controller, die er vielleicht später mal 
möchte.

von DSGV-Violator (Gast)


Lesenswert?

> Yep, solange alles funktioniert ein valider Weg. Allerdings kenne ich
> ohne das kommerziell zu machen einige Fälle, wo dann irgendwelche
> Probleme auftraten und die Entwickler, die vorher richtig was auf sich
> hielten, einfach nicht wussten wieso, in meinen Augen nicht mal eine
> systematische Fehlersuche auf die Reihe bekommen haben "weil ging ja
> sonst auch immer".

Genau, eigentlich bedeutet "Programmieren lernen" "Debuggen lernen" oder 
eben "Aus/Mit (selbst) genachten Fehlern lernen". Was bei der hiesigen 
Fehler- und Anstrengungsvermeidungdkultur mehr ein mentales als ein 
technisches Problem ist.

Und damit stellt sich für den TO die Frage, was man dem C64 als 
debugtools (neben Popcorn und Gummubärchen ;-) ) obenauflegen müsste.

IMHO wäre das:
 * eine Freezer-Karte, mit dem man den Compi anhält und per 
Speicher/register-Monitor reinschaut, wo der Compi grad steht
 * eine Z80 Reference Card zum decodieren des Speicherinhaltes
 * Hobbyisten-Literatur von damals.


In links etwa:
 * https://www.c64-wiki.de/wiki/Action_Replay

 * https://www.kultmags.com/mags.php (64 Magazine fehlen?)
 * https://archive.org/details/64er_magazine?sort=-reviewdate

 * 
https://ballyalley.com/ml/z80_docs/Z80%20CPU%20Instant%20Reference%20Card%20(Color).pdf

von Markus W. (dl8mby)


Angehängte Dateien:

Lesenswert?

Nur zur Info an den Thread Ersteller,

habe mir aus Neugierde den vice gerade compiliert und installiert.

Siehe Anhang.

In zehn Minuten hätte Ben B. seinen C64 am laufen,
zumindest was seinen Wunsch nach Basic Benutzung angeht.

Markus

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> eine Freezer-Karte, mit dem man den Compi anhält und per
> Speicher/register-Monitor reinschaut, wo der Compi grad steht
Sowas würde man nur brauchen wenn man sich mit der ernsthaften 
Programmierung der Kiste auseinandersetzen möchte. Für kleine 
Basic-Spielereien ist das absolut nicht erforderlich.

Man braucht da auch keine große Literatur, vieles weiß ich noch und was 
ich nicht mehr weiß, steht bei Google.

> seinen Wunsch nach Basic Benutzung
Deine Mühe in allen Ehren, aber ich habe echt das Gefühl, daß mich 
einige Leute nicht verstehen wollen. Es geht mir nicht um "gugge ma, dat 
is Basic", sondern was ich gerne näherbringen will, ist das Verständnis 
dafür, wie Hardware mit Software zusammenarbeitet und andersrum. Er weiß 
wie 'ne Maus am PC bedient wird, ich erreiche nicht viel wenn ich die 
komplette Hardware in Software simuliere. Dafür bräuchte ich nichts, da 
könnte ich auch ein paar interaktive Webseiten für schreiben, die das 
visualisieren - falls es sowas noch nicht gibt. Aber ich kriege es damit 
nicht "zum Anfassen" hin, um tatsächlich irgendwas daran anzuschließen. 
Einen Teil wie die VIC-Spielchen mit Sprites, Grafikspeicher usw. könnte 
man evtl. mit so einem Emulator schaffen, aber wo ist der User-Port, wo 
sind die Joystick-Ports, die ich für die Hardware-Schiene brauchen 
würde?

Basic ist kein Wunsch, sondern nur ein einfaches Mittel zum Zweck, was 
der C64 von Hause aus mitbringt. Man kann damit frei in seinem Speicher 
herum-manipulieren oder Speicherinhalte auslesen (Ports auslesen) und 
der C64 reagiert auch sofort drauf wenn man z.B. Farben verändert oder 
irgend ein Zeichen direkt in seinen Bildschirmspeicher hineinschreibt. 
Das geht beim C64 direkt nach dem Einschalten, ohne daß ich überhaupt 
ein Programm dafür brauche.

von DSGV-Violator (Gast)


Lesenswert?

Ben B. schrieb:
>> eine Freezer-Karte, mit dem man den Compi anhält und per
>> Speicher/register-Monitor reinschaut, wo der Compi grad steht
> Sowas würde man nur brauchen wenn man sich mit der ernsthaften
> Programmierung der Kiste auseinandersetzen möchte. Für kleine
> Basic-Spielereien ist das absolut nicht erforderlich.


Ich hatte Dich so verstanden, das die angepeilten "BASIC Spielereien" 
hauptsächlich PEEK und POKE sind. Und da macht es sich IMHO gut fürs 
Debugging eine Möglichkeit zu haben, denn tatsächlichen Zustand zu 
ermittelt, eben über einen Speicher/Reg-Monitor.
https://www.c64-wiki.de/images/d/dd/pettim.png

> Aber ich kriege es damit
> nicht "zum Anfassen" hin, um tatsächlich irgendwas daran anzuschließen.

dann zeig deinem Famulus wie man mit Multimeter (oder LED/TTL-Prüfstift 
wenns klassisch sein soll) uberprüft was da die Software meint 
ausgelesen zu haben ....

von Achim H. (anymouse)


Lesenswert?

Der Vorteil an einem C64 ist, dass ein einfaches Programm wie
1
10 J=PEEK(56320)
2
20 PRINT J
3
30 GOTO 10

zusammen mit einem Joystick sehr schnell die Verbindung zwischen Hard- 
und Software liefert, und zwar in einem Gerät. Und das funktioniert 
leider nicht so schön in der Simulation ...

Da ist die Aufgabe "Lass doch mal eine LED blicken" bei einem Arduino 
schon (etwas) mehr Aufwand für (etwas) weniger Ergebnis.

Das ganze aber nur als Zwischenschritt, für komplexere Aufgaben dürfte 
C64 und AVR ähnlich schwierig werden, und da ist ein AVR/Arduino 
zukunftsträchtiger.

von Peter N. (alv)


Lesenswert?

Ben B. schrieb:
> Basic ist kein Wunsch, sondern nur ein einfaches Mittel zum Zweck, was
> der C64 von Hause aus mitbringt. Man kann damit frei in seinem Speicher
> herum-manipulieren oder Speicherinhalte auslesen (Ports auslesen) und
> der C64 reagiert auch sofort drauf wenn man z.B. Farben verändert oder
> irgend ein Zeichen direkt in seinen Bildschirmspeicher hineinschreibt.
> Das geht beim C64 direkt nach dem Einschalten, ohne daß ich überhaupt
> ein Programm dafür brauche.

Das geht beim C64 nur mittels Poke/Peek, da sein Basic keine Funktion 
für das Ansprechen der Ports hat.
Die Hardwareadressen immer in Dezimal umzurechnen ist dabei auch recht 
ermüdend.

Deshalb wäre es besser, einen µC zu verwenden, auf dem MMBasic o.ä. 
läuft,
das bereits Befehle zum Ansprechen der Ports eingebaut hat.

Deshalb nochmal die Werbung für den Raspberry Pi Pico mit PicoMite VGA 
drauf :)

Damit kann man Einen VGA-Monitor und ein PS/2-Keyboard an den Pico 
anschließen, und hat schon sowas ähnliches wie einen C64.

Einmal reingeflasht, bleibt das PicoMite im Pico, und auch die 
geschriebenen Basicprogramme überleben das Ausschalten.

Zum externen Abspeichern bietet sich noch die Möglichkeit, eine SD-Karte 
anzuschließen.

Die übrigen I/O-Pins kann man beliebig benutzen, und das wird vom 
PicoMite-Basic unterstützt.

Viel Hardware wird bereits vom PicoMite direkt unterstützt, man kann 
aber auch weitere Hardware-Module per I²C oder SPI anschließen und 
programmieren, was dann den Lernspaß weiter vergrößert.

von Heinrich K. (minrich)


Lesenswert?

Geradezu süß finde ich den Hinweis vom rechthaberischen Gscheiderl, man 
bräuchte eine Z80 Reference, bla, eine Listenaufstellung des Zilog Z80 
CPU-Befehlssatzes.
Vor allem deshalb, weil der C64 gar keine Z80 hat!
Auch süß die ständigen Versuche, dem Ben, der halt nun mal mit dem C64 
bestens vertraut ist, irgendwelche C64-Emulatoren anzudrehen, die dann 
eben KEINEN Userport haben können. Spätestens das Anstöpseln eines 
"Final Cartridge" wird dann zum Problem (der angesprochene 'Freezer').

von Jack V. (jackv)


Lesenswert?

Heinrich K. schrieb:
> Auch süß die ständigen Versuche, dem Ben, der halt nun mal mit dem C64
> bestens vertraut ist, irgendwelche C64-Emulatoren anzudrehen, die dann
> eben KEINEN Userport haben können. Spätestens das Anstöpseln eines
> "Final Cartridge" wird dann zum Problem (der angesprochene 'Freezer').

VICE kann auch Cartridge-Images nutzen (die auch für die FC-Dinger zur 
Verfügung stehen), ebenso können die restlichen I/O-Möglichkeiten 
emuliert werden, sodass letztlich alles von dem, was bislang von der 
Salami geschnitten wurde, umsetzbar ist.

Insofern frag’ ich mich nun schon etwas, ob du die Empfehlung nur so süß 
findest, weil du keine Ahnung von dem Programm hast?

von Heinrich K. (minrich)


Lesenswert?

Wieviel von der "alles emulierbaren I/O" brauchts denn, um gegenüber 
Bens gewünschtem C64 finanziell günstiger wegzukommen?

Was müsste denn der Fragesteller alles kaufen, um einen 8bit Port zu 
haben, an dem er messen oder ultra-low-current LEDs direkt betreiben zu 
können? Um zwei simple Potentiometer am original Joystick-Port 
anschliessen zu können (die weniger bekannten Paddle-pins)? Um Töne aus 
dem Fernsehlautsprecher kommen zu lassen?

Um originale C64 Zusatzhardware anschliessen zu können?

Wahrscheinlich mehr Zeit- und Geldaufwand, um dann "endlich, endlich" 
einen emulierten C64-Ersatz zu haben, als wenn der Fragesteller gleich 
in den sauren Apfel beißt und nen alten, originalen C64 kauft und 
loslegt, mit dem, was er eigentlich wollte: Seinem Freund Grundlagen 
beibringen mittels eines ihm selbst bestens bekannten, alten, 
weitverbreiteten Homecomputers.

von Jack V. (jackv)


Lesenswert?

Heinrich K. schrieb:
> Was müsste denn der Fragesteller alles kaufen, um einen 8bit Port zu
> haben, an dem er messen oder ultra-low-current LEDs direkt betreiben zu
> können? Um zwei simple Potentiometer am original Joystick-Port
> anschliessen zu können (die weniger bekannten Paddle-pins)?

Wo hast du denn diese Salamischeiben nun her? Aber um das zu 
beantworten: nichts.

: Bearbeitet durch User
von Heinrich K. (minrich)


Lesenswert?

Aus den Erläuterungen des TOs, dem es darum geht, direkt erlebbar zu 
machen, wie ein Mikrocomputer funktioniert. Aus der Formulierung des 
Threadthemas bereits, daß ein C64 genehm sei. Aus der Erwähnung des 
Userports, des Bildschirminhalts, aus der Erwähnung von Poke- und 
Peekkommandos. Toll, nicht wahr?

von Heinrich K. (minrich)


Lesenswert?

Ben B. schrieb:
> Hat jemand im Bereich Berlin-Köpenick einen noch funktionsfähigen C64,
> evtl. mit Diskettenlaufwerk?

Ben B. schrieb:
> Daher suche ich nach einem einfachen Computer, wo man noch "Herr über
> die Maschine" ist, so daß ich ihm z.B. erklären kann wie aus einer Zahl
> 0..255 ein Ein/Aus-Muster von 8 LEDs an einer parallelen Schnittstelle
> wird.

Ben B. schrieb:
> Ein C64 wäre optimal dafür.

Ben B. schrieb:
> Ich habe meine Anfänge auch mit dem Ding gemacht und bin daher noch
> recht fit auf der Kiste

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Das geht beim C64 nur mittels Poke/Peek, da sein Basic keine
> Funktion für das Ansprechen der Ports hat.
Reicht doch. Der AVR macht's in Assembler auch nicht anders. Es gibt 
zwar auch IN/OUT, allerdings funktionieren die nur im unteren 
I/O-Bereich, bei den etwas größeren Controllern wie dem ATMega1284 ist 
man bei vielen Hardware-Ports zu LDS/STS gezwungen, weil der 
ursprünglich mit IN/OUT adressierbare Bereich zu klein wurde.

> Die Hardwareadressen immer in Dezimal umzurechnen ist dabei
> auch recht ermüdend.
Hä?

Die Hardware-Adressen sucht man sich einmal raus und fertig. Ich hatte 
mir die Dezimal-Adressen damals einfacher gemerkt als andere 
Schreibweisen. Leider ist mir entfallen ob das C64 Basic schlau genug 
dafür war, die Werte auch in anderen Schreibweisen zu akzeptieren oder 
ob es dafür Funktionen zum Umformen gab.

Um originale Zusatzhardware geht es mir auch nicht. Ich bräuchte für das 
was mir vorschwebt wirklich nur den Brotkasten ansich und eine 
Speichermöglichkeit, am liebsten natürlich die 1541 Floppy zum Sichern 
der Programme. Die kurzen Dinge sind zwar schnell eingetippt und es wäre 
nicht schlimm wenn die beim Crash oder beim Abschalten weg sind, aber 
sowas wie Sprites z.B. sind ein paar lästig zu tippende DATA-Zeilen zur 
Definition der Sprites, die man nicht unbedingt verlieren möchte.

Wenn ihr euch fragt, wieso ausgerechnet C64... Das ist nunmal leider die 
einzige Kiste, die ich von der Hard- und Software recht gut kenne, die 
direkte Bildschirm-Ausgabe kann, auf der man direkt kleine Programme 
tippen und ausführen kann und bei der sich direkt "im Speicher" Bits 
ändern wenn man z.B. zwei Drähte aneinander hält.

> VICE kann auch Cartridge-Images nutzen
Toll, aber erstens habe ich keine und zweitens nagle ich die dann in die 
PCIe-Slots rein oder wie hast Du Dir das vorgestellt?

Schiebt mir also bitte keine Salami unter, die ich
nicht selbst geschnitten habe, danke!

von Peter N. (alv)


Lesenswert?

Ben B. schrieb:
> Die Hardware-Adressen sucht man sich einmal raus und fertig. Ich hatte
> mir die Dezimal-Adressen damals einfacher gemerkt als andere
> Schreibweisen.

Naja, wenn du alle Hardwareadressen als Dezimaltabelle aufschreiben 
willst.

Ich mache das jedenfalls so:

Grundadressen z.B.
CIA1 = $abcd
CIA2 = $ef01
SID = $2345
VIC = $6789

Dann sehe ich in das jeweilige Datenblatt, welche Register ich brauche 
und addiere sie dazu.
Spätestens wenn du einzelne Bits in den Bytes manipulieren willst, wird 
das in Dezimal sehr mühsam.

Ben B. schrieb:
> Leider ist mir entfallen ob das C64 Basic schlau genug
> dafür war, die Werte auch in anderen Schreibweisen zu akzeptieren oder
> ob es dafür Funktionen zum Umformen gab.

Der C64 hat Basic 2.0. Primitiver gehts kaum!
Ich weiß nicht, ob das Basic 7.0 des C128 bereits Befehle für 
verschiedene Zahlensysteme hatte...

Du kannst zwar Programme schreiben, die die Zahlensysteme ineinander 
umrechnen, aber die sind dann länger als dein eigentliches Proframm.

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

Ben B. schrieb:
>> VICE kann auch Cartridge-Images nutzen
> Toll, aber erstens habe ich keine und zweitens nagle ich die dann in die
> PCIe-Slots rein oder wie hast Du Dir das vorgestellt?

Informiere dich über die Bedeutung des Wortes „Image“.

Ich sehe, du hast eine feste Meinung, und bist Argumenten daher nicht 
mehr zugänglich. Ich wünsche deinem Kumpel, dass er trotz deines kruden, 
verbohrten Ansatzes Spaß an der Technik finden kann, und verabschiede 
mich aus diesem Thread o/

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@Peter

Verstehe was Du meinst, aber ist doch kein Problem...

> SID = $2345
> VIC = $6789
SID= 54272
VIC= 53248

Und dann kann man für langsame Dinge (Basic ist sowieso lahmarschig 
lahm) SID+1 oder VIC+2 nehmen...

Was Bitoperationen angeht weiß ich leider auch nicht mehr aus dem Kopf, 
was das C64 Basic da konnte. Aber wenn es sowas wie ein AND und OR 
beherrscht, evtl. noch XOR, dann kommt man damit schon ein ganzes Stück. 
Die Bit-Werte bis 16 kann ich problemlos aus dem Kopf aufzählen 1 2 4 8 
16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 (65536), wenn man 
mehrere Bits braucht, muss man das halt schnell addieren oder für 
langsamen Kram als Summanden stehenlassen. Das ist doch alles kein 
echtes Problem oder eine Sache, die für oder gegen ein bestimmtes System 
spricht.

: Bearbeitet durch User
von Hugo H. (hugo_hu)


Lesenswert?


von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Danke Dir für den Link, aber das macht als ebay-Auktion wahrscheinlich 
keinen Sinn bzw. wird wegen der Liebhaberpreise zu teuer.

von Tom K. (nextcc)


Lesenswert?

DSGV-Violator schrieb:

> Und damit stellt sich für den TO die Frage, was man dem C64 als
> debugtools (neben Popcorn und Gummubärchen ;-) ) obenauflegen müsste.
>
> IMHO wäre das:
> ...
>  * eine Z80 Reference Card zum decodieren des Speicherinhaltes
> ...
>
>  *
> 
https://ballyalley.com/ml/z80_docs/Z80%20CPU%20Instant%20Reference%20Card%20(Color).pdf

Z80 kann man immer gebrauchen...

Wer statt dessen für den C64 vielleicht doch lieber eine 
Befehlsübersicht des 6510, sogar in deutscher Sprache, benutzen möchte, 
kann ja einen Blick ins 64er Sonderheft Nr.71 werfen:

https://archive.org/details/64er_sonderheft_71

von Percy N. (vox_bovi)


Lesenswert?

DSGV-Violator schrieb:
> Und damit stellt sich für den TO die Frage, was man dem C64 als
> debugtools (neben Popcorn und Gummubärchen ;-) ) obenauflegen müsste.
>
> IMHO wäre das:
>  * eine Freezer-Karte, mit dem man den Compi anhält und per
> Speicher/register-Monitor reinschaut, wo der Compi grad steht
>  * eine Z80 Reference Card zum decodieren des Speicherinhaltes
>  * Hobbyisten-Literatur von damals.

Ich stehe ein bisschen auf dem Schlauch:

Was hilft bei einem C64 irgendwelche intel- oder Zilog-Dokumentation 
oder -Hardware?

von Motopick (motopick)


Lesenswert?

> irgendwelche intel- oder Zilog-Dokumentation

Natuerlich als abschreckendes Beispiel. Mir haben der 6502
und aehnliche (68xx) sehr geholfen, mein Bild von CPUs vom Kopf
auf die Fuesse zu stellen.
Den Leventhal "6502" und dokumentiertes ROM-Listing (C64 intern,
zur Not VC20 intern) sollte man auch bei der Hand haben.

Wenn der TO einigermassen bewandert ist, kann er ja den SMON
in einen EPROM brennen (4 kByte reichen!), und in den Expansionslot
stecken. Das geht einfacher als mancher denkt.

von DSGV-Violator (Gast)


Lesenswert?

> Z80 kann man immer gebrauchen...

Jup, ein kleiner Fauxpas meinerseits, die RefCard für den 6502/65xx wäre 
dort: http://retro.hansotten.nl/wp-content/uploads/2022/05/download.png
http://retro.hansotten.nl/wp-content/uploads/2022/05/download-1.png

Dediziert für den 6510 find ich grad nix in "kurz und knackig"

> Wer statt dessen für den C64 vielleicht doch lieber eine
> Befehlsübersicht des 6510, sogar in deutscher Sprache, benutzen möchte,
> kann ja einen Blick ins 64er Sonderheft Nr.71 werfen:

Interessant, dort kann man das Heft direkt runterladen: 
https://www.winz.run/c64_download/file?cat=64er&name=64er_sonderheft_71

IMHO ist die Erklärung der Zeropage in dem Heft etwas kurz und versteckt 
geraden, aber man kann ja immer mal dort nachschauen: 
https://www.c64-wiki.de/wiki/Zeropage

von Thomas W. (Gast)


Lesenswert?

Suess finde ich, dass bei beiden "Green-Cards" auf 100% Plastic 
hingewiesen wurden.

Fuer die spaeter Geborenen: Green-Cards waren die Opcodes/Assembler 
Befehle, EBCDIC-Codes fuer eine IBM360, alle auf einer kleiner gruenen 
Karte aus Pappe (halt Lochkarten-Karton). Nach einem oder zwei Jahren 
waren die dann kaputt (und man bekam eine neue von IBM).

DEC hatte dann ein kleines gruenes Buechlein :-)

OK, genug in die Vergangenheit.

Gruesse

Th.

von DSGV-Violator (Gast)


Lesenswert?

Thomas W. schrieb:
> Suess finde ich, dass bei beiden "Green-Cards" auf 100% Plastic
> hingewiesen wurden.


Ist praktisch, weil bei ner richtig Programmiersession kann schon ne 
Coladose auf dem Tisch umfallen und die "Papiere" besudeln ...

Die nächste Generation setzte konsequenterweise auf verschliessbare 
Trinkflaschen bei der Demoparty ... https://youtu.be/2ASdyfOgNWg?t=77

von Thomas W. (Gast)


Lesenswert?

DSGV-Violator schrieb:
> Thomas W. schrieb:
>> Suess finde ich, dass bei beiden "Green-Cards" auf 100% Plastic
>> hingewiesen wurden.
>
> Ist praktisch, weil bei ner richtig Programmiersession kann schon ne
> Coladose auf dem Tisch umfallen und die "Papiere" besudeln ...
>
War Einbecker Maibock ... Zucker pur.

Th.

von Stephan E. (loetzinn02)


Lesenswert?

Ben B. schrieb:
> Ich habe einen Kumpel, der sich sehr für Mikrocontroller und ihre
> Programmierung interessiert, sich aber mit dem Einstieg sehr schwer tut
> (steile Lernkurve halt). Ich versuche immer, ihm zu erklären wie die
> Zusammenhänge sind, woraus sich Daten zusammensetzen bzw. wie Daten
> elektrisch dargestellt werden und anders herum und ich bin auch der
> Meinung, daß er definitiv nicht zu dumm dazu ist, so richtig "kriegen"
> kriegt er's halt doch nicht. Es ist schwer, sowas gut genug zu zeigen
> und nicht nur vorzumachen.
>
> Daher suche ich nach einem einfachen Computer, wo man noch "Herr über
> die Maschine" ist, so daß ich ihm z.B. erklären kann wie aus einer Zahl
> 0..255 ein Ein/Aus-Muster von 8 LEDs an einer parallelen Schnittstelle
> wird. An einem µC wird das leider schon recht abstrakt weil man da keine
> Bildschirmausgabe hat, kein "Programm laufen sehen" kann, nicht einfach
> "Speicher ansehen" kann.

Ein ehrenwertes Ziel. Schön, daß Du Deinem Kumpel helfen möchtest.

Vielleicht käme für Dich auch ein Simulator in Frage?
Konkret beispielsweise dieser hier:
http://www.avr-asm-tutorial.net/avr_sim/avr_sim-download.html

Damit kannst Du einen kleinen Mikrocontroller (z.B. attiny13) simulieren 
und ihm bei der Arbeit zuschauen. Der Simulator ist einsteigerfreundlich 
und auch weit weniger komplex als z.B. der im AVR-Studio, aber für die 
Grundlagen sehr hilfreich. Auf der genannten Website findest Du auch 
Links auf passende Tutorials , die genau auf den Simulatur 
zurechtgeschnitten sind.

Der Simulator hätte den Vorteil, daß dein Kumpel ohne Umwege direkt am 
Thema dran ist, was ihn letztendlich auch interessiert. Und der genannte 
Simulator ist wirklich eine enorme Hilfe, die im MCU ablaufenden 
Vorgänge anschaulich nachvollziehen zu können.

von DCF 7. (dcf77)


Lesenswert?

Ben B. schrieb:
> An einem µC wird das leider schon recht abstrakt weil man da keine
> Bildschirmausgabe hat, kein "Programm laufen sehen" kann, nicht einfach
> "Speicher ansehen" kann.

Doch, kann man, dafür gibt es Simulationsprogramme.


> Ein C64 wäre optimal dafür. Der kann Basic alleine vom Einschalten und
> sein Basic ist so mächtig, daß man damit praktisch alles mit der
> Maschine machen kann (wenn auch nicht besonders schnell, ist halt kein
> Assembler). Ich habe meine Anfänge auch mit dem Ding gemacht und bin
> daher noch recht fit auf der Kiste.

Schon mal an einen C64-Emulator gedacht? Für den Anfang.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.