Forum: Projekte & Code AVR Tiny Basic Computer mit ATMega1284


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

Moin zusammen,

ich würde euch gerne meinen AVR Tiny Basic Computer vorstellen an dem 
ich nebenbei ein wenig bastle und programmiere.
Das Projekt ist ein Spaßprojekt mit dem man aber auch ganz einfache MSR 
Aufgaben erfüllen kann.

Herzstück des Ganzen ist ein ATMega1284 welche alle Aufgaben wie TV 
Signal, Tastatur, Interpreter, etc. bedient.
Der Quellcode ist kompilierbar unter der Arduino IDE, denn da kommt das 
eigentliche Projekt her.
Ich habe einige neue Sachen implementiert und neu geschrieben.

- Auflösung 720x480 mit 34x27 Zeichen
- PS/2 oder USB Tastatur
- einzelne Programme lassen sich auf int. oder ext. EEPROM speichern
- mehrere Programme auf SD Karte speicherbar
- IO Funktionen (Digital-in, digital-out, Analog-in)
- TV Ausgang (bas)

Eigentlich war das Ganze wie gesagt zum Spaß gedacht und gar nicht zur 
Veröffentlichung vorgesehen. Immerhin ist das Ding schon uralt und 
nichts neues.
Der Schaltplan ist ebenfalls nur als kleines Backup für mich gedacht und 
enthält größtenteils Labels. Also falls wieder jemand meckern sollte, 
dass im Schaltplan nur Labels sind: Ist halt so. Ein Ing. oder Techniker 
sollte das lesen können. Selbst mein Sohn der Altenpfleger ist kommt 
damit klar.

Anbei sende ich euch alles was ich dazu habe.
Auch eine fertige .hex
Falls ihr selber im Quellcode fummeln wollt braucht ihr wie gesagt die 
Arduino Umgebung + die libraries die ich mit dazugebe.

Noch was in eigener Sache:
Ich habe noch 4 unbestückte Platinen wie auf dem Foto zu sehen sind.
Wer Interesse hat der kann eine Platine für 6€ inkl. Versand bekommen.

von Monk (roehrmond)


Lesenswert?

Hallo Max, oder Dominik, oder wie auch immer du heißt

In den 90er Jahren wäre ich darauf richtig scharf gewesen. Meinen ersten 
Basic Computer musste ich mir damals mangels Geld ausleihen und dann 
habe ich ihn auch noch kaputt programmiert (das war damals beim C64 
möglich).

Wo speicherst du denn das Programm? Ich sehe ein 8k Byte EEprom, reicht 
das für eine ansprechende Demo Anwendung?

: Bearbeitet durch User
von Max B. (citgo)


Lesenswert?

Hallo Steve,
danke schön. Ja in den 90ern hatte ich auch einen C64.
Leider sind die ganzen Emulatoren und Projekte auf AVR Basis erst später 
möglich gewesen, sonst wären wir alle reich :)

Natürlich ist das kein "Wow, sowas ist möglich?" Projekt. Aber für 
nebenbei macht es schon ziemlich Spaß.

Ja, in das EEPROM passt einiges rein.
Ich habe gestern das Spiel "HAMURABI" portiert. Das ist ein 
Textbasiertes Strategiespiel. Auch schon was älter. Hat ca. 3Kbyte und 
passt ins interne EEPROM.
Aber wie gesagt, du kannst ins interne EEPROM, ins externe oder auf SD 
Karte speichern. Letzteres ist natürlich angenehmer, da es hier auch 
eine Dateiliste gibt.

: Bearbeitet durch User
von Monk (roehrmond)


Lesenswert?

Max B. schrieb:
> Natürlich ist das kein "Wow, sowas ist möglich?" Projekt.
> Aber für nebenbei macht es schon ziemlich Spaß.

Ja, vor allem für Leute, die dabei nostalgische Gefühle bekommen. Mein 
Sohn könnte damit wahrscheinlich überhaupt nichts anfangen. Aber ich 
finde es cool.

von Max B. (citgo)


Lesenswert?

Bestimmt kann er das. Dafür wurde ja BASIC entwickelt ;)
Und wenn er dann mit 3-4 Zeilen eine LED zum blinken bringt dann ist das 
ein Erfolgserlebnis.

von Egbert O. (horace)


Lesenswert?

Schönes Projekt!

Wo kommt denn eigentlich die USB Tastatur ran?

von Max B. (citgo)


Lesenswert?

Danke schön!

Naja eigentlich ist auf dem Board ein PS/2 Anschluss. Da es aber auch 
passive Adapter USB auf PS/2 gibt habe ich das einfach mal ausprobiert 
und eine USB Buchse angebracht. Funktioniert!

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

So, ab ins Gehäuse damit...
SD Karteninfos wurden jetzt auch in die "mem" Anzeige übernommen.
1
10 FOR A=0 TO 10
2
20 FOR B=0 TO 255
3
30 AWRITE 12, B
4
40 DELAY 10
5
50 NEXT B
6
60 FOR B=255 TO 0 STEP -1
7
70 AWRITE 12, B
8
80 DELAY 10
9
90 NEXT B
10
100 NEXT A

Mit diesem kleinen Programm lässt sich eine LED an PB4 (Pin 12 für 
Arduino-Kenner) per PWM faden.

Noch ein Hinweis für diejenigen die es nachbauen wollen oder meine 
Platine nutzen:
Es scheint dann doch besser zu sein am Tastaturport Pullups für die 
Datenleitungen und einen Stützkondi (ca. 220µF) für die 
Versorgungsspannung einzubauen.
Außerdem am SPI Port wo die SD Karte hängt direkt an Vcc und GND noch 
ein Stützkondensator.
Das verbessert das Ansprechverhalten der SD Karte.

von Harald K. (kirnbichler)


Lesenswert?

Max B. schrieb:
> Da es aber auch
> passive Adapter USB auf PS/2 gibt habe ich das einfach mal ausprobiert
> und eine USB Buchse angebracht. Funktioniert!

Nein, das funktioniert nicht. Da kann man keine USB-Tastaturen 
anschließen.

Du hast eine bilinguale Tastatur, das ist eine Tastatur, die sowohl 
das USB- als auch das PS/2-Protokoll unterstützt. Und nur genau solche 
Tastaturen funktionieren mit diesem passiven Adapter. Mit dem Adapter 
ist Deine Tastatur eine PS/2-Tastatur.

Aber eben nur Deine Tastatur, nicht jede.

Heutzutage aber sind die wenigsten USB-Tastaturen bilingual. Die 
funktionieren an Deinem Aufbau dann nicht.

von Max B. (citgo)


Lesenswert?

Danke für die Info.
Deshalb ist ja auch eine PS/2 Buchse auf dem Board und im Schaltplan 
weil ja auch eigentlich PS/2 vorgesehen ist.
Ja und wer eine bilinguale Tastatur hat, der kann es ja per USB nutzen.

von Harald K. (kirnbichler)


Lesenswert?

Max B. schrieb:
> Ja und wer eine bilinguale Tastatur hat, der kann es ja per USB nutzen.

seufz

von Max B. (citgo)


Lesenswert?

Harald K. schrieb:
> Max B. schrieb:
>> Ja und wer eine bilinguale Tastatur hat, der kann es ja per USB nutzen.
>
> *seufz*

?

von Monk (roehrmond)


Lesenswert?

Harald K. schrieb:
> Aber eben nur Deine Tastatur, nicht jede.

Es ging doch nur darum, den Adapter (der bilingualen Tastatur) weglassen 
zu können. Ich finde die Idee nicht schlecht, da es die USB Buchse 
schont.

von Harald K. (kirnbichler)


Lesenswert?

Steve van de Grens schrieb:
> Ich finde die Idee nicht schlecht, da es die USB Buchse
> schont.

Du meinst die PS/2-Buchse.

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

So, eben mal flott einen 3x3x3 LED Cube gebaut und ein kleines Programm 
geschrieben.

Klar ist das natürlich nix was man nicht auch mit einem Arduino oder 
ATMega, in asm, in AVR gcc, Turbo Pascal, Delphi, Raspberry Pi, ZX81 
machen könnte...

Aaaaber, es macht Spaß!

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Lesenswert?

Max B. schrieb:
> So, eben mal flott einen 3x3x3 LED Cube gebaut und ein kleines Programm
> geschrieben.
>
> Klar ist das natürlich nix was man nicht auch mit einem Arduino oder
> ATMega, in asm, in AVR gcc, Turbo Pascal, Delphi, Raspberry Pi, ZX81
> machen könnte...

In der Tat wäre das mit Arduino auf einem China-Clone für 2,50 € klaglos 
machbar. Dein Projekt zeigt, dass Du es könntest.

> Aaaaber, es macht Spaß!

Das ist genau der Punkt, wo ich Dich verstehe.

Ich glaube, dass dieser Basic-Computer hervorragend geeignet wäre, ein 
paar junge Leute mit Elektronik und Programmieren in Berührung zu 
bringen. Jetzt fehlen Kontakte, wie Du Dein Projekt zu dieser Zielgruppe 
bringen kannst.

------

Zur Tastatur: Die PS/2 finde ich ungeschickt, weil aktuell nicht mehr 
handelsüblich oder nur im gehobenen Preissegment zu bekommen. Falls noch 
eine Änderung ansteht, sollte eine USB-Buchse auf das Board.

von Max B. (citgo)


Lesenswert?

Hallo Manfred,
Danke schön!

Ja das ist natürlich kein Projekt welches einen vom Hocker reißt.
Wenn man mit BASIC groß geworden ist dann macht es natürlich Spaß.

Und am Beispiel vom LED Cube ist es nun wirklich einfach auf die 
Schnelle ein paar Dinge zu testen.

Zur Tastatur:
PS/2 Tastaturen sind nicht schwer zu bekommen und kosten meist um die 5 
Euro bei Kleinanzeigen.
Es bietet sich halt an, weil du nix an weiter Hardware benötigst und es 
in Software alles schon fix und fertig gibt.
Auch was das Timing angeht in Bezug zum TV out ist das alles aufeinander 
abgestimmt.

von Harald K. (kirnbichler)


Lesenswert?

Manfred P. schrieb:
> Falls noch eine Änderung ansteht, sollte eine USB-Buchse auf das Board.

Dann aber muss ein USB-Host-Controller aufs Board. Das ist ja die 
Crux.

Einen USB-Anschluss vorzusehen und darauf zu hoffen, daß nur 
"bilinguale" Tastaturen angeschlossen werden, die das PS/2-Protokoll 
sprechen, wäre wirklich derbster Pfusch.

von Max B. (citgo)


Lesenswert?

Niemand hat vor einen Pfusch zu begehen.
Auf dem Board ist und bleibt eine PS/2 Buchse.

Wer das nachbaut kann sich da einlöten was immer er mag!

von Harald K. (kirnbichler)


Lesenswert?

Die Kür wäre ein USB-Host.

Vor langer Zeit hat mal ein Mensch aus Japan einen Low-Speed-USB-Host 
mit Bitbanging auf einem AT90S2313 gebastelt, mit dem er eine 
USB-Tastatur an eine serielle Schnittstelle hing:

https://www-asahi--net-or-jp.translate.goog/~qx5k-iskw/robot/usbhost.html?_x_tr_sch=http&_x_tr_sl=ja&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=wapp#usbhost03

(nach unten scrollen)

Vielleicht lässt sich das ja a) auf einen Tiny überführen und wäre b) 
eine (optionale und günstige) Erweiterung des Projekts ...

Die Seite selbst ist zwar japanisch, aber der Assemblersourcecode 
enthält englische Kommentare, Labels etc.

http://mycomfab.sakura.ne.jp/~qx5k-iskw/robot/files/usbconv_050310.lzh

: Bearbeitet durch User
von Dddns (dddns)


Lesenswert?

Hallo!

Das Problem mit der PS/2 Tastatur hatte mich auch beschäftigt.

Diese Lösung werde ich mir für 5€ basteln. Einen RP2040 zu PS/2
Konverter: https://github.com/No0ne/ps2pico

von Harald K. (kirnbichler)


Lesenswert?

Der ist schick, keine Frage. Nur ein Stilbruch; der Tastaturcontroller 
hat ganz erheblich mehr Rechenleistung als der AVR, der damit 
angesteuert werden soll.

Wenn man schon einen RP2040 einsetzt, könnte man den den Rest auch 
gleich erledigen lassen, aber dann ist es natürlich ein komplett anderes 
Projekt ...

von Oliver S. (oliverso)


Lesenswert?

Max B. schrieb:
> Wenn man mit BASIC groß geworden ist dann macht es natürlich Spaß.

Spaß macht es nicht wegen, sondern trotz Basic. Gerade, wenn man damit 
groß geworden ist.

Oliver

von Monk (roehrmond)


Lesenswert?

Oliver S. schrieb:
> Spaß macht es nicht wegen, sondern trotz Basic. Gerade, wenn man damit
> groß geworden ist.

Zumindest das C64 BASIC (mit dem ich anfing) hat mich extrem abgetörnt. 
Kurz danach hatte ich einen PC mit GW-BASIC, das war viel besser.

von Harald K. (kirnbichler)


Lesenswert?

Mein erster Computer musste mit Forth programmiert werden.

Das erschien mir so vollkommen unbrauchbar, daß ich prompt damit begann, 
mir einen anderen Computer zu bauen, den ich dann mit Basic, Assembler 
und Pascal* programmieren konnte.
C theoretisch auch, aber der Compiler war zu krustig, als ich damals was 
damit hätte anfangen wollen (das war halt noch K&R-C, keine Prototypen, 
praktisch keine Typprüfung ... der hier: 
https://colorcomputerarchive.com/repo/Documents/Manuals/Programming/Introl-C%20Compiler%20Reference%20Manual.pdf).

*) das hier: 
https://www.cs.otago.ac.nz/homepages/andrew/poly/OmegasoftPascal.pdf

von Max B. (citgo)


Lesenswert?

Steve van de Grens schrieb:
> Oliver S. schrieb:
>> Spaß macht es nicht wegen, sondern trotz Basic. Gerade, wenn man damit
>> groß geworden ist.
>
> Zumindest das C64 BASIC (mit dem ich anfing) hat mich extrem abgetörnt.
> Kurz danach hatte ich einen PC mit GW-BASIC, das war viel besser.

Über das C64 Basic kann man nur heute meckern. Damals kannte ich nichts 
anderes. Ok. Den ZX81 noch. Aber da war man lange nicht so schnell beim 
tippen.
Mit dem 1. PC kam dann auch GW Basic und irgendwann QBasic von Microsoft

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Harald K. schrieb:

> Wenn man schon einen RP2040 einsetzt, könnte man den den Rest auch
> gleich erledigen lassen

Und natürlich: auch sehr viel besser...

Ist kein großes Kunststück, wenn man derart viel mehr Resourcen zur 
Verfügung hat. Und eine grundsätzlich besser für zur Laufzeit 
"variablen" Code geeignete Architektur.

Mit einem RP2040 könnte man im Interpreterbetrieb für gut befundene 
Programme dann auch problemlos kompilieren und mit Vmax ausführen.

> aber dann ist es natürlich ein komplett anderes
> Projekt ...

Jepp.

von Manfred P. (pruckelfred)


Lesenswert?

Max B. schrieb:
> Ja das ist natürlich kein Projekt welches einen vom Hocker reißt.

Das wurde Dir nicht vorgeworfen, zumindest nicht von mir.

> Wenn man mit BASIC groß geworden ist dann macht es natürlich Spaß.

Ja!

> Und am Beispiel vom LED Cube ist es nun wirklich einfach auf die
> Schnelle ein paar Dinge zu testen.

Deshalb fragte ich ja, ob eine Idee besteht, das Ding Anfängern 
zugänglich zu machen. Denke mal an die Conrad Basic-Stamp, die wollte 
eine Zielgruppe ansprechen, der der Einstieg in 'die richtige 
Programmierung' zu hoch war.

Harald K. schrieb:
> Einen USB-Anschluss vorzusehen und darauf zu hoffen, daß nur
> "bilinguale" Tastaturen angeschlossen werden, die das PS/2-Protokoll
> sprechen, wäre wirklich derbster Pfusch.

Das (Pfusch) hat niemand vorgeschlagen. Du suchst mal wieder das Haar in 
der Suppe, Hauptsache meckern.

Steve van de Grens schrieb:
> Zumindest das C64 BASIC (mit dem ich anfing) hat mich extrem abgetörnt.

Niemand kann etwas dafür, dass es Dich überfordert hat.

Max B. schrieb:
> Über das C64 Basic kann man nur heute meckern. Damals kannte ich nichts
> anderes.

Genau so ist das. Ich selbst hatte keinen C64, sondern einen cbm3032, 
dessen Basic sicher nicht besser war.

> Mit dem 1. PC kam dann auch GW Basic und irgendwann QBasic von Microsoft

GW hat mich mich nicht beeindruckt, ich wüsste nicht, was daran deutlich 
besser war. Nach QBasic lief mir ein MS-PDS-Basic zu, mit dem ich direkt 
ausführbare .exe erzeugt habe und diese schneller liefen. Ich muß aber 
zugeben, dass ich dessen Möglichkeiten nicht einmal ansatzweise 
ausgenutzt habe.

Ob S. schrieb:
> Ist kein großes Kunststück, wenn man derart viel mehr Resourcen zur
> Verfügung hat. Und eine grundsätzlich besser für zur Laufzeit
> "variablen" Code geeignete Architektur.
>
> Mit einem RP2040 könnte man im Interpreterbetrieb für gut befundene
> Programme dann auch problemlos kompilieren und mit Vmax ausführen.

Wäre ja zu nett, ein hier gezeigtes Projekt nicht zerreissen zu wollen.

von Max B. (citgo)


Lesenswert?

Natürlich kann man das alles auch mit anderen, heute zur Verfügung 
stehenden, Mitteln realisieren.
Dann müsste der Titel aber lauten:
ATMega1284 Tiny Basic auf Basis eines RP2040 mit USB Host.

Wenn man zeigt wie man mit einem Fiat 500 von Berlin nach Tirol fährt 
dann gibt es immer Leute die sagen: mit einem Ferrari geht es aber 
schneller.

@Manfred
Danke schön!!
Problem ist, dass sich der Großteil der Jugend dafür gar nicht mehr 
interessiert. Es sind wir, alten Nostalgiker die einen ZX81 sehen und 
sagen Boah weißt du noch? Oder einen 8088 mit XTree Gold. Da muss ich 
immer schmunzeln.

Mein Sohn kann dir den besten PC aufbauen den du haben willst. Wie eine 
CPU funktioniert weiß er aber nicht. Er soll in der Ausbildung mit einem 
Raspberry was programmieren. Hat er noch nie gemacht. Die Jugend 
erstellt Skins für irgendwelche Onlinespiele und verkauft die dann für 
gut Geld. Die haben schon was auf dem Kasten aber in ihrem Bereich und 
auf heutige Sicht gesehen. Wo wir sagen: hab ich keine Ahnung von.

Ich weiß was du meinst und finde das eine gute Idee aber ich glaube von 
100 Leuten die das Projekt gut finden und es nachbauen sind 99 davon Ü40 
:)

Wenn ich meinem Sohn zeige wie man mit Basic einen LED Cube ansteuern 
kann kommt bestimmt als Antwort: das geht doch auch mit Raspberry und 
WLan und Bluetooth und Alexa und...

Ne... dieses Projekt hier ist eins für uns alte Säcke ;)

von Gerhard O. (gerhard_)


Lesenswert?

Ne... dieses Projekt hier ist eins für uns alte Säcke ;)

May the Force be with you!

von Gerhard O. (gerhard_)


Lesenswert?

Am Rande, QB45 war ein recht brauchbares kompillierbares BASIC System. 
Damit konnte man viel machen. Mit etwas ASM konnte man sogar auf einen 
4.77MHz 8088 Windows artige Dialoge erscheinen und verschwinden lassen, 
die keine Latenz zeigten. Auch Mausbetrieb funktionierte recht gut. Ich 
hatte damals sehr gute Erfolgserlebnisse damit. Auch mit einer 
NI-IEEE-488 ISA-Karte konnte man sehr brauchbare Instrumentenprogramme 
erstellen (Firma). Viel Spaß machte übrigens, HP7475A Plotterprogramme 
zu schreiben, die die tollsten Geometriekonstrukte ins Leben brachten. 
Auch das PDS V7 war sehr brauchbar. Damit konnte man mit Overlays 
unbegrenzt große Programme erstellen. Wenigstens erlaubte QB45 sauberes, 
strukturiertes Programmieren ohne Zeilen Nummern. Mit QB45 konnte man 
ganz gut Programme mit Toolbars and Dialogen bauen, die gut mit der Maus 
funktionierten. Und dann kam eines Tages Turbo-C++ ganz zufällig des 
Weges daher...

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Manfred P. schrieb:
> Das (Pfusch) hat niemand vorgeschlagen.

Doch, sogar Du selbst:

Manfred P. schrieb:
> Zur Tastatur: Die PS/2 finde ich ungeschickt, weil aktuell nicht mehr
> handelsüblich oder nur im gehobenen Preissegment zu bekommen. Falls noch
> eine Änderung ansteht, sollte eine USB-Buchse auf das Board.

von Monk (roehrmond)


Lesenswert?

Manfred P. schrieb:
> Deshalb fragte ich ja, ob eine Idee besteht, das Ding Anfängern
> zugänglich zu machen.

Heute ist eher Python angesagt, und entsprechende Board gibt es längst 
günstig zu kaufen.

von Monk (roehrmond)


Lesenswert?

Max B. schrieb:
> Die haben schon was auf dem Kasten aber in ihrem Bereich und
> auf heutige Sicht gesehen. Wo wir sagen: hab ich keine Ahnung von.

Schön gesagt, ja so ist das.

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

Mahlzeit,
anbei die aktuelle Version.
Habe ein paar Sachen hinzugefügt, neu gemacht, etc.
Außerdem anbei ein paar .bas Programme für die SD Karte
1
// v0.19: 04/12/2023
2
//   added Modulo function
3
//  PLOT x,y: setting a pixel
4
//  DRAW x1,y1,x2,y2: drawing a line
5
//  BOX x,y,h,w,c1,c2: drawing a box
6
//  KEY(): returns the pressed key
7
//  SIN(), COS() functions
8
//  CHR()
9
//  TOP(): returns the location aftzer the end of the programs in memory
10
//   some bugfixes (sound, GUI, etc.)

von Joachim B. (jar)


Lesenswert?

prima, ich überlege gerade, zumindest eignet sich dafür der NETIO

Beitrag "[V] AVR-NetIO"

von Max B. (citgo)


Lesenswert?

Übrigens...

HAMA AKC-100 ist die USB Tastatur die ich nutze und PS/2 unterstützt.
Kostet in der Bucht um die 15 Euro.

von Oliver S. (oliverso)


Lesenswert?

Manfred P. schrieb:
> Deshalb fragte ich ja, ob eine Idee besteht, das Ding Anfängern
> zugänglich zu machen.

Ja, wenn da Python drauf läuft.
Auch wenn BASIC vielleicht mal für Anfänger gedacht war, ist das heute 
doch nur noch als abschreckendes Beispiel zu gebrauchen. NEIN, BASIC 
will man keinen Anfängern zugänglich machen. Die Schäden, die das 
anrichtet, bekommt man nie wieder raus.

Oliver

von Gerhard O. (gerhard_)


Lesenswert?

Oliver S. schrieb:
> Auch wenn BASIC vielleicht mal für Anfänger gedacht war, ist das heute
> doch nur noch als abschreckendes Beispiel zu gebrauchen. NEIN, BASIC
> will man keinen Anfängern zugänglich machen. Die Schäden, die das
> anrichtet, bekommt man nie wieder raus.

Das ist sicherlich heutzutage richtig. Andrerseits war HP Rocky Mountain 
BASIC oder HP-BASIC für lange Zeit die de-facto IEEE-488 
Instrument-control Sprache die es auf einigen ihrer Maschinen (z.B. 
HP9000, HP1000, HP200, HP-85A/B) gab und waren mit dem BS voll 
integriert und ermöglichten die Realisation komplizierter 
Testanwendungen. Ich schrieb früher jahrelang Testanwendungen in der 
Firma mit solchen Gerätschaften. Da sehe ich Kritik etwas 
geschichtlich-bezogen anders. Fuer solche Anwendungen spricht wenig 
gegen professionelles Industrie-BASIC. Zu der Zeit gab es ja auch noch 
nicht einmal LabVIEW. Und es funktionierte 100% zuverlässig zu jeder 
Zeit.

IEEE-488 war auf Windows eine einzige Krankheit. Mit jeder BS-Änderung 
wurde viel teure IEEE-488 PC-HW nutzlos und mußte wieder periodisch neu 
zugekauft werden. Das gab es bei HP alles nicht.

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Gerhard O. schrieb:
> Mit jeder BS-Änderung wurde viel teure IEEE-488 PC-HW nutzlos
> und mußte wieder periodisch neu zugekauft werden.

Das war aber nicht Schuld von Windows, sondern von den 
Hardwareherstellern, die Gelegenheit nutzten, statt Softwaresupport in 
Form neuer Devicetreiber zu liefern, lieber (gegen Geld) neue Hardware 
liefern wollten.
Denen hat dieses Geschäftsmodell wohl sehr, sehr gut gefallen.

Ein tatsächlicher Zwang zum Ersetzen der Hardware existierte nur bei 
Wechsel der grundlegenden PC-Hardware -- in einem PC, der keine 
ISA-Slots mehr hat, funktioniert eine ISA-Karte nicht, und in einem PC, 
der nur noch PCIe-Slots hat, funktioniert eine PCI-Karte ebenfalls nicht 
(wobei in diesem Fall eine Adaption möglich ist, das einzige Hindernis 
ist hier die Mechanik).

Aber auch das ist nicht Schuld von Windows.

von Gerhard O. (gerhard_)


Lesenswert?

Harald K. schrieb:
> Aber auch das ist nicht Schuld von Windows.
Aber das aendert nichts an der "Tragik" der Situation;-)

Daheim verwende ich immer noch NI ISA IEEE-488 Karte für MSDOS und mit 
QB45. Mein QB45 Datalogger funktioniert jetzt noch nach 25 Jahren. 
Jedesmal.
(Man hätte mit der NI KArte auch Turbo C oder Pascal nehmen können.)

von Joachim B. (jar)


Lesenswert?

Gerhard O. schrieb:
> Mit jeder BS-Änderung
> wurde viel teure IEEE-488 PC-HW nutzlos

nun ja in der Prüftechnik haben wir rund 30 Mannjahre in SW Module 
gesteckt, als ich dann in eine andere Abteilung wechselte konnte ich 
QC45 nicht nachkaufen und MS sagte mir nimm VC ist kompatibel, aber nur 
Quellcode kompatibel, die HP LIBs funktionierten natürlich nicht und den 
Quellcode rückte HP auch nicht raus.

von Manfred P. (pruckelfred)


Lesenswert?

Harald K. schrieb:
> Manfred P. schrieb:
>> Das (Pfusch) hat niemand vorgeschlagen.
> Doch, sogar Du selbst:
> Manfred P. schrieb:
>> Zur Tastatur: Die PS/2 finde ich ungeschickt, weil aktuell nicht mehr
>> handelsüblich oder nur im gehobenen Preissegment zu bekommen. Falls noch
>> eine Änderung ansteht, sollte eine USB-Buchse auf das Board.

Ich wiederhole:
Manfred P. schrieb:
> Du suchst mal wieder das Haar in der Suppe, Hauptsache meckern.

Wenn ich USB-Anschluß sage, erwarte ich natürlich, dass dieser auch USB 
spricht. Dass USB-Host mit dem AT1284 nicht machbar ist, spricht 
natürlich gegen diese.

Gerhard O. schrieb:
> Oliver S. schrieb:
>> Auch wenn BASIC vielleicht mal für Anfänger gedacht war, ist das heute
>> doch nur noch als abschreckendes Beispiel zu gebrauchen. NEIN, BASIC
>> will man keinen Anfängern zugänglich machen. Die Schäden, die das
>> anrichtet, bekommt man nie wieder raus.
>
> Das ist sicherlich heutzutage richtig.

Welche Art von Schäden willst Du bestätigen?

Gerhard O. schrieb:
> Daheim verwende ich immer noch NI ISA IEEE-488 Karte für MSDOS und mit
> QB45.

IEEE-488 hat der Kollege per Basic-Compiler programmiert, wir hatten im 
Werk mehrere Prüfplätze.

Es gab auch mal eine Bauanleitung einer IEEE-488-ISA, die Karte müsste 
hier noch irgendwo verkramt sein. Hat bei mir zuhause nie eine richtige 
Anwendung gefunden.

Joachim B. schrieb:
> Gerhard O. schrieb:
>> Mit jeder BS-Änderung
>> wurde viel teure IEEE-488 PC-HW nutzlos
> nun ja in der Prüftechnik haben wir rund 30 Mannjahre in SW Module
> gesteckt, als ich dann in eine andere Abteilung wechselte konnte ich
> QC45 nicht nachkaufen und MS sagte mir nimm VC ist kompatibel, aber nur
> Quellcode kompatibel, die HP LIBs funktionierten natürlich nicht und den
> Quellcode rückte HP auch nicht raus.

Es hat(te) alles seine Vor- und Nachteile. Wir hatten cbm3032/4032 im 
Einsatz, wobei deren IEEE-Schnittstelle auch für einige Zickereien gut 
war. Und nicht nur die, hier steht ein Prema, mit dem die Kollegen am 
Bus nicht zurechgekommen sind.

von Joachim B. (jar)


Lesenswert?

Manfred P. schrieb:
> Wir hatten cbm3032/4032 im
> Einsatz

wir auch und bis zur 8000er Serie, für die letzten Projekte musste ich 
schnell noch alle Restbestände überall aufkaufen zu jedem Preis um aus 2 
oder 3 auch Kaputten ein funktionierendes Gerät zu bauen, was schneller 
war als alle Hard- und Software auf einen neuen Computer umzustellen, 
dann kamen die HP 286er mit der ISA Karte von HP. Wenn ich bedenke 
6000,-DM und genauso mies wie jeder 3000,-DM 286er clone. Man lernt aber 
erst durch probieren.

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Steve van de Grens schrieb:

> Heute ist eher Python angesagt

Python ist eine furchtbare Sprache. Im Prinzip nicht viel besser als 
frühe BASIC-Dialekte. Allein die Idee, Whitespaces eine semantische 
Bedeutung zu geben, ist genauso idiotisch, wie die BASIC-Idee, 
Zeilennummern eine solche Bedeutung zu geben.

Beides halt völlig idiotisch und für jeden ernsthaften Programmierer 
eine kaum nachvollziehbare Entscheidung.

Genauso, wie die schwache Typisierung. Nach so vielen Jahren immer neuer 
idiotischer Interpretersprachen sollte doch eigentlich für jeden klar 
geworden sein: das führt letztlich immer in den Abgrund der 
Unwartbarkeit.

Das einzige, was Python diesen frühen BASIC-Dialekten voraus hat, ist 
die Möglichkeit zur Einschränkung der Sichtbarkeit von Symbolen. So muß 
man das wohl, rein objektiv betrachtet, sehen.

von Max B. (citgo)


Lesenswert?

Es geht aber nicht darum ob etwas idiotisch ist oder war.
Die Tastatur vom ZX81 war auch idiotisch und auf dem Ding haben zig 
Menschen das Programmieren gelernt.

Was wäre das für ein Basic Computer, den ich hier vorstelle, wenn ich 
die Zeilennunmern wegoptimiere nur weil es heute idiotisch ist?

Ist ja völlig am Thema vorbei.

von Manfred P. (pruckelfred)


Lesenswert?

Max B. schrieb:
> Was wäre das für ein Basic Computer, den ich hier vorstelle, wenn ich
> die Zeilennunmern wegoptimiere nur weil es heute idiotisch ist?

Es reicht schon, wenn Du GOTO verbietest, was unter Basic gerne im Chaos 
endete.

> Ist ja völlig am Thema vorbei.

Das muß hier so.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Ob S. schrieb:
> Python ist eine furchtbare Sprache.  […]
>
> Genauso, wie die schwache Typisierung.

Wie kommst du auf diesen Gedanken? Die Typisierung in Python ist zwar
schwächer als die von Haskell, aber immer noch stärker als bspw. die von
C++. Sie ist auch stärker als die von Basic, um mal wieder einen Pfad in
Richtung des Ursprungsthemas zu legen.

von Harald K. (kirnbichler)


Lesenswert?

Manfred P. schrieb:
> Wenn ich USB-Anschluß sage

Du hast USB-Buchse geschrieben. Und aus dem Kontext der vorangehenden 
Diskussion erschließt sich recht klar, daß damit nur der simple passive 
Adapter gemeint sein wird.

Wenn Du sowas meintest, wie ich vorgeschlagen habe (ein zus. USB-Host), 
dann ist ja alles in Ordnung, aber dann drück' Dich doch bitte in 
Zukunft präziser aus.

von Dddns (dddns)


Lesenswert?

Ich finde meinen Vorschlag mit dem pico immer noch gut, denn es gibt 
keine
zukunftsträchtige Lösung, die günstiger ist. Vielleicht einen fertigen 
auf ebay, ich bastel aber lieber selbst. Ausserdem habe ich die Teile 
hier.
Auch möchte ich andere PS/2-Tastatur Projekte noch probieren und somit 
ist es doch nur ein "Wandler" und hat mit diesem Projekt nichts direkt 
zu tun.
Ich nehme ja nicht nicht jeden im Auto mit, nur weil Platz und Leistung 
noch da sind :)

Zur Diskussion um Basic: Gibt es denn eine andere Interpretersprache mit 
integriertem (full screen)Editor als Alternative?

von Dddns (dddns)


Lesenswert?

Es gibt ja ein nahezu perfektes Basic Projekt für den pico.
Kurioser Weise, oder auch nicht (keine Ahnung), wird auch dort nicht der 
USB port genutzt sondern auch das PS/2 Protokoll :)

von Dddns (dddns)


Lesenswert?

Dddns schrieb:
> Es gibt ja ein nahezu perfektes Basic Projekt für den pico.
> Kurioser Weise, oder auch nicht (keine Ahnung), wird auch dort nicht der
> USB port genutzt sondern auch das PS/2 Protokoll :)

Ich vermute, weil er dann nicht als serielle Schnittstelle genutzt 
werden kann.

von Max B. (citgo)


Lesenswert?

Dddns schrieb:
> Ich finde meinen Vorschlag mit dem pico immer noch gut, denn es gibt
> keine
> zukunftsträchtige Lösung, die günstiger ist

Dddns schrieb:
> Es gibt ja ein nahezu perfektes Basic Projekt für den pico

Ja dann mach doch bitte einen eigenen Thread mit dem Pico Projekt ;)
Es geht hier wirklich nur um den ATMega1284.
Wer keine PS/2 Tastatur hat, der kann...
1. sich eine für 3-5 Euro kaufen
2. einen Wandler kaufen
3. einen Wandler bauen, sogar auf AVR Basis
4. eine USB Tastatur nutzen die PS/2 unterstützt

von Dddns (dddns)


Lesenswert?

Sorry und höchsten Respekt für dein Projekt. Ich kann sowas nicht 
programmieren.

von Harald K. (kirnbichler)


Lesenswert?

Max B. schrieb:
> Wer keine PS/2 Tastatur hat, der kann...
> 1. sich eine für 3-5 Euro kaufen
> 2. einen Wandler kaufen

Ach ja? Zeig mal einen.

von Max B. (citgo)


Lesenswert?

Was ach ja?
Aktiven USB/PS2 Wandler?

von Harald K. (kirnbichler)


Lesenswert?

Max B. schrieb:
> Aktiven USB/PS2 Wandler?

Was sonst, worum geht es hier denn?

Und jetzt nicht die Richtung verwechseln (PS/2-Tastatur an USB-Host, das 
ist nicht das gesuchte).

von Max B. (citgo)


Lesenswert?

Harald K. schrieb:
> Max B. schrieb:
>> Aktiven USB/PS2 Wandler?
>
> Was sonst, worum geht es hier denn?
>
> Und jetzt nicht die Richtung verwechseln (PS/2-Tastatur an USB-Host, das
> ist nicht das gesuchte).

Hier zum Beispiel gibt es doch einen:
https://leunig.de/usb-to-ps-2-converter-cable-kmu2p.html

von Frank K. (fchk)


Lesenswert?

Max B. schrieb:
> Mahlzeit,
> anbei die aktuelle Version.

Ja, ganz nett. Auf der anderen Seite der Erde hat jemand vor 10 Jahren 
etwas ähnliches angefangen, hat aber gleich auf bessere Hardware (PIC32) 
gesetzt. Von Preis und Aufwand sind Atmega und PIC32 ähnlich, aber der 
PIC32 ist natürlich um einen Exponenten schneller.

https://geoffg.net/micromite.html

fchk

von Max B. (citgo)


Lesenswert?

Ja, im Gegensatz zum Micromite hatte ich aber einen ATMega1284 in der 
Bastelkiste und habe mir überlegt was man daraus machen kann und nicht 
was man braucht um einen leistungsfähigen Computer zu bauen.

Was ich an dem Projekt mag sind eben die Einschränkungen. Fehlt mir RAM 
versuche ich einen externen SPI RAM dranzubasteln und anzusteuern. So 
wie man früher eben auch kreativ wurde.
Eigentlich ist mir der Einsatz der SD Karte schon zu anti-Retro. :)

Nochmal: mir ist bewusst, das es bessere Hardware für sowas gibt.
Meine Prämisse war aber eben nicht die beste Hardware zu suchen sondern 
das zu nehmen was gerade da ist und aufs Steckbrett passt.

von Harald K. (kirnbichler)


Lesenswert?

Max B. schrieb:
> Hier zum Beispiel gibt es doch einen:
> https://leunig.de/usb-to-ps-2-converter-cable-kmu2p.html

Ja, der ist korrekt. Aber der Preis ist ... schmerzhaft.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Harald K. schrieb:
> Max B. schrieb:
>> Hier zum Beispiel gibt es doch einen:
>> https://leunig.de/usb-to-ps-2-converter-cable-kmu2p.html
>
> Ja, der ist korrekt. Aber der Preis ist ... schmerzhaft.

Der Markt für solche Konverter dürfte verschwindend klein sein, daran
orientieren sich natürlich auch die Preise.

Wer eine PS/2-Tastatur braucht (bspw. für den hier vorgestellten
Basic-Computer) und selber keine hat, wird sicher auf dem Dachboden von
Verwandten oder Bekannten fündig werden.

von Max B. (citgo)


Lesenswert?

Harald K. schrieb:
> Max B. schrieb:
>> Hier zum Beispiel gibt es doch einen:
>> https://leunig.de/usb-to-ps-2-converter-cable-kmu2p.html
>
> Ja, der ist korrekt.

Danke! Habe ich ja doch was gefunden trotz deines "Ach ja? Zeig mal 
einen"

Harald K. schrieb:
> Max B. schrieb:
>> Hier zum Beispiel gibt es doch einen:
>> https://leunig.de/usb-to-ps-2-converter-cable-kmu2p.html
>
> Aber der Preis ist ... schmerzhaft.

Das war aber nicht die Frage.

Ich sagte, wer keine PS/2 Tastatur hat, der hat andere Möglichkeiten.
Unter anderem einen Wandler. Die paar Beiträge danach hätte man sich 
dann sparen können. Egal!

Ich kann es nur nochmal sagen: Eine PS/2 Tastatur gibt's für 3-5 Euro 
bei Kleinanzeigen.

: Bearbeitet durch User
von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

So, damit der Papa auch unterwegs programmieren kann baue ich momentan 
an einer mobilen Lösung.
Tastatur wird ausgelagert auf einen ATMega168.
Als Display kommt ein kleiner TFT mit AV Eingang zum Einsatz, so wie ich 
es schon bei meiner Spielekonsole im Bild gemacht habe.

Vom Layout her habe ich mich an den Apple Emulator auf ATMega Basis 
orientiert weil alles so schön auf eine Lochrasterplatine passt.

Na ich bin mal gespannt.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Dddns schrieb:
> Dddns schrieb:
>> Es gibt ja ein nahezu perfektes Basic Projekt für den pico.
>> Kurioser Weise, oder auch nicht (keine Ahnung), wird auch dort nicht der
>> USB port genutzt sondern auch das PS/2 Protokoll :)
>
> Ich vermute, weil er dann nicht als serielle Schnittstelle genutzt
> werden kann.

Nö, daran kann es nicht liegen. TinyUSB ist durchaus in der Lage, auch 
"USB-Verbundgeräte" (Windows-Nomenklatur) zu implementieren. Also z.B. 
gleichzeitig ein USB-CDC und ein USB-HID.

Aber sowas muss man natürlich bei Bedarf selber implementieren. Da hilft 
das Standard-SDK kein bissel bei.

von Alexander S. (alesi)


Lesenswert?

Max B. schrieb:
> Herzstück des Ganzen ist ein ATMega1284 welche alle Aufgaben wie TV
> Signal, Tastatur, Interpreter, etc. bedient.

Hallo,

ein schönes Projekt. Auf hackaday gibt es etwas ähnliches:
"A computer running the TinyBASIC programming language on an ATmega 
1284P microcontroller as well as generating composite video signals and 
reading PS/2 keyboard input."
https://hackaday.io/project/2428-single-chip-avr-basic-computer-v03

Falls Du das noch nicht kanntest.

von Erni (pudding)


Lesenswert?

Jörg Wolfram hat hier schon vor längerer Zeit mit AVR-ChipBasic ein 
ähnliches Projekt vorgestellt.

Beitrag "AVR-ChipBasic2 - BASIC-Computer mit ATMega 644"

Hier einige Versionen der Einchip BASIC-Computer:
https://www.jcwolfram.de/projekte/avr/main.php

von Max B. (citgo)


Lesenswert?

Ja den Computer von Jörg kenne ich und habe ich seit damals bestimmt 
schon 10 mal aufgebaut :)
Ebenso wie sein ZX81 Emulator.

Das Hackaday Projekt kenne ich auch. Der Quellcode ist ja Grundlage für 
zig TinyBasic Projekte.

Manchmal frage ich mich, was wohl wäre wenn man mit einem ATMega1284P in 
die frühen 80er reist und seinen BASIC Computer mit nur 1 IC vorstellt 
:)

von Oliver S. (oliverso)


Lesenswert?

Max B. schrieb:
> Manchmal frage ich mich, was wohl wäre wenn man mit einem ATMega1284P in
> die frühen 80er reist und seinen BASIC Computer mit nur 1 IC vorstellt

Wenn du auf der Reise auch aktuelle Rechner, Tabletts, Handys, 
Smartwatches, und was es heute halt noch so gibt, mit nimmst, wird auch 
jedem in den 80gern völlig egal sein, aus wie vielen ICs da ein 
Basic-Computer besteht.

Oliver

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

So,
die Hardware für den mobilen Basic Computer ist bis auf das Display 
fertig.
Habe mir einen 4,3 Zoll TFT bestellt mit AV Eingang. Der kommt dann auf 
die Platine drauf.

Da ich wenig Platz hatte, fehlen auf dieser Tastatur die Umlaute. 
Ansonsten ist alles drauf was man braucht.

von Max B. (citgo)


Lesenswert?

Mal ein krasses "Fehlerfinden für Blöde" Erlebnis:

Gestern hatte ich in der Software die Timings für die Tastatur etwas 
angehoben und geflasht. Danach den SD Kartenleser angelötet und 
plötzlich lief mein TinyBasic nicht mehr. Ich konnte keine Tasten mehr 
drücken, es passiert e nichts.
Also wollte ich wieder die vorherige Version flashen. Ging nicht. Kein 
Zugriff mehr per ISP auf den Controller.

Controller ausgebaut und in einem anderen Board versucht. Ging.
Also lag es an meiner Platine. Aber was sollte es sein?
Schwingt der Quarz plötzlich nicht mehr? Unwahrscheinlich. Trotzdem 
getauscht.
Ging immer noch nicht.
Ich habe doch nichts geändert. Also alle Verbindungen überprüft. 
Kurzschlüsse? Nein. ISP Buchse richtig verdrahtet? Ja. Hä?

Nach fast einem halben Tag habe ich dann festgestellt, dass ich am SD 
Kartenleser MISO und MOSI vertauscht hatte.
Und da beim flashen auch das SD Board mit Spannung versorgt wird, kam am 
Controller natürlich Müll an.
Wie verzweifelt man doch sein kann wenn plötzlich nichts mehr geht und 
man sich sicher ist nichts geändert zu haben. Zumal die ISP Verbindung 
zum Controller korrekt war. Anstatt direkt DAS zu überprüfen was als 
letztes hinzugefügt wurde. Naja... Dämlich :)

Tastatur:
Die habe ich zur Zeit direkt am Controller dran und nicht per serieller 
Verbindung am ausgelagerten ATMega168. Es gab nämlich Probleme mit der 
Verbindung. Keine Ahnung. Arduino lib. Muss ich mal durchschauen.
Jetzt hängt sie erstmal direkt an 2 Ports vom ATMega1284.
Per Shift Taste konnte ich alle wichtigen Tasten doppelt belegen

Schnittstellen:
Rausgeführt ist der komplette PortA und 2 Pins vom PortB. Sollte erstmal 
reichen.
Ein Piezo Summer, SD Karte und externes EEprom per SPI.

Wenn das TFT kommt wird der interne Spannungsregler ausgebaut dann kann 
das Teil mit 5 Volt direkt betrieben werden.
Als Spannungsversorgung soll eigentlich eine Powerbank dienen WENN die 
sich nicht in den Schlafmodus legt aufgrund der geringen Stromaufnahme. 
Ansonsten müsste ich eine "Guten Morgen, aufstehen" Schaltung bauen oder 
eine ältere Powerbank besorgen.

So, genug geschrieben. Sorry, wurde was länger!
Wünsche einen schönen Mittwoch!

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

So, TFT ist angekommen.
Schnell von 12 Volt auf 5 Volt "umgebaut" und angeschlossen. Läuft!

Jetzt muss ich mir nur Gedanken um die Befestigung machen. Der TFT liegt 
momentan nur auf 4 Abstandsbolzen auf. Da werde ich wohl irgendwas 
basteln müssen.

Blöd auch: Das rechte Viertel vom TFT flackert ab und zu. Also die 
Hintergrundbeleuchtung. Geht mal an, mal aus. Da wird wohl eine LED müde 
sein. :(

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

So, hier nochmal 2 Bildchen vom fertigen Zustand.
Habe das Display jetzt erstmal provisorisch mit Heißkleber fixiert.

Eine LED vom Backlight flackert immer noch hin und wieder. Lasse es aber 
erstmal wie es ist denn es fällt nur auf wenn man sehr schräg 
draufschaut.

von Harald K. (kirnbichler)


Lesenswert?

Ist die Qualität der Textdarstellung auf dem Display wirklich so, wie 
auf Deinen Bildern zu sehen ist?

In dem Fall würde ich darüber nachdenken, das Bild nicht via BAS-Signal 
und Analogvideo zu erzeugen, sondern stattdessen ein Display mit 
eingebautem Controller zu verwenden und das den Text darstellen zu 
lassen. Das dürfte die Lesbarkeit ganz erheblich erhöhen, und spart die 
Ressourcen auf Deinem µC ein, die für die Erzeugung des BAS-Signals 
benötigt werden.

von Max B. (citgo)


Lesenswert?

Naja es ist nicht ganz so schlecht wie auf den Bildern. Bekomme es nicht 
besser fotografiert.
Es ist lesbar und schärfer als auf den Bildern aber du hast Recht, der 
TFT mit AV ist scheiße in dieser Größe.
Es ist eine billige Notlösung da wie gesagt alles mit BAS läuft.
Ich habe schon auf 8x8 Font umgestellt aber das verringert mir auch nur 
die Zeilenlänge.

Ja ich werde mir mal Gedanken machen über ein besseres Display. Muss mal 
schauen ob ich was finde. Zur Zeit belegt ja auch die Tastatur die 
ganzen Ports. Wenn ich eins mit I2C finde dann könnte ich umbauen.

von Dddns (dddns)


Lesenswert?

Dein Aufbau ist sehr schön geworden!

Kennst du dieses Projekt? https://github.com/slviajero/tinybasic
Es läuft auch auf einem 1284, ist aber vom Basic her viel 
fortschrittlicher
und man kann am Ende mehr mit dem fertigen Gerät anfangen. Außerdem 
unterstützt es viele Displays in Farbe.

Die Lösung mit der Tastatur möchte ich auch so bauen. Ich will aber 
versuchen,
das mit der Adafruit keypad library und der ps2dev selbst zu 
programmieren.

Viel Erfolg weiterhin

von Oliver S. (oliverso)


Lesenswert?

Max B. schrieb:
> der
> TFT mit AV ist scheiße in dieser Größe.

Passt doch. Du willst 40 Jahre zurück in der Zeit. Damals mit dem 
Röhren-TV als Monitor war’s auch nicht schärfer.

Oliver

von Harald K. (kirnbichler)


Lesenswert?

Oliver S. schrieb:
> Du willst 40 Jahre zurück in der Zeit.

Wenn er das wollen würde, würde er keinen SD-Karte, sondern eine 
Schnittstelle für den Anschluss eines Kassettenrecorders einsetzen.

Denn das ist eines der Highlights der "damals war wenig gut und vieles 
richtig schlecht"-Retrowelle.

von Joachim B. (jar)


Lesenswert?

Harald K. schrieb:
> sondern eine
> Schnittstelle für den Anschluss eines Kassettenrecorders einsetzen

aber dann mit supertape turbotape fastloader
https://de.wikipedia.org/wiki/Turbo_Tape

: Bearbeitet durch User
von Max B. (citgo)


Lesenswert?

Naja, ich könnte ja "Datasette" implementieren als Speichermedium.
Dann hätte ich aber keine Lochrasterplatinen gebraucht sondern hätte 
alles direkt in das Kassettenlaufwerk einbauen können :)

Der AV TFT ist natürlich eine schnelle und einfache Lösung da nur 1 
Verbindung für das Videosignal.
Dementsprechend sieht natürlich auch das Bild aus.

@Dddns
Danke schön. Die Tastatur ist mit der Adafruit library realisiert.

von Oliver S. (oliverso)


Lesenswert?

Harald K. schrieb:
> Oliver S. schrieb:
>> Du willst 40 Jahre zurück in der Zeit.
>
> Wenn er das wollen würde, würde er keinen SD-Karte, sondern eine
> Schnittstelle für den Anschluss eines Kassettenrecorders einsetzen.
>
> Denn das ist eines der Highlights der "damals war wenig gut und vieles
> richtig schlecht"-Retrowelle.

Ja, das waren noch Zeiten ;) Auf meinem Philips- Kasettenrecorder war 
die Abspiellautstärke am Schieber mit Klebeband markiert…

Oliver

: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Max B. schrieb:
> Ja ich werde mir mal Gedanken machen über ein besseres Display. Muss mal
> schauen ob ich was finde.

Mein Tipp: Beitrag "PicoTerm-TFT, farbiges 4,3"-Terminal mit Pico-Board RP2040"
ggf. per IIC oder SPI ansteuern, oder das BASIC gleich mit auf dem 
RP2040 laufen lassen ;-)
Alternativ könnte ich auch Platine + 5,7" TFT mit 320x240 anbieten, die 
ich als Rückläufer mit defektem Touch-Glas bekommen habe: 
http://mino-elektronik.de/TFT-direct-drive/TFT-direct-drive.htm#tft-5

von Max B. (citgo)


Lesenswert?

Ich lasse es jetzt erstmal so.
Wie gesagt, lässt sich eigentlich gut ablesen und zur Laufzeit lassen 
sich die Fonts auch ändern.

Jetzt noch die SD Karte rausschmeißen und ein Bandlaufwerk 
implementieren und alles ist Retro.

von Route_66 H. (route_66)


Lesenswert?

Max B. schrieb:
> Jetzt noch die SD Karte rausschmeißen und ein Bandlaufwerk
> implementieren und alles ist Retro.

Welches Verfahren zur Speicherung auf Bandgeräten schwebt Dir vor?
Oder besser: welche kennst Du überhaupt?

von Max B. (citgo)


Lesenswert?

Route_66 H. schrieb:
> Max B. schrieb:
>> Jetzt noch die SD Karte rausschmeißen und ein Bandlaufwerk
>> implementieren und alles ist Retro.
>
> Welches Verfahren zur Speicherung auf Bandgeräten schwebt Dir vor?
> Oder besser: welche kennst Du überhaupt?

Ich kenne gar keins. Ich bleibe natürlich bei der SD Karte :)

von Monk (roehrmond)


Lesenswert?

Route_66 H. schrieb:
> Welches Verfahren zur Speicherung auf Bandgeräten schwebt Dir vor?

Wenn, dann würde ich vom C64 abgucken, damit es richtig Retro (und genau 
so unzuverlässig) ist.

von Route_66 H. (route_66)


Lesenswert?

Sinclair ZX_Spectrum ist perfekt dokumentiert und auch nach 40 Jahren 
noch seeehr zuverlässig!

von Max B. (citgo)


Lesenswert?

Route_66 H. schrieb:
> Sinclair ZX_Spectrum ist perfekt dokumentiert und auch nach 40 Jahren
> noch seeehr zuverlässig!

Was soll mir das sagen?
Dass mein Projekt schlecht dokumentiert ist oder das ich mir lieber 
einen ZX Spectrum zulegen soll? 🤔

von Route_66 H. (route_66)


Lesenswert?

Ich meinte die Tape-Schnittstelle des Spectrum...

von Max B. (citgo)


Lesenswert?

Achsooo...
Ja okay. Das stimmt.
Aber das war auch eher als Spaß von mir gedacht. ;)

von Karsten W. (lsmod)


Lesenswert?

Danke für die Vorstellung Deines Projektes Max.

Die Idee einen AVR wie in den "guten alten Zeiten" ohne Compiler mit 
Basic programmieren zu können hat was.
Dafür ist allerdings die Generierung eines Video-Signals und Anschluß 
einer Tastatur nur im Sinne eines eigenständigen Computers erforderlich.

Wenn Du Dich an den alten 8052AH erinnerst
Beitrag "8051AH BASIC"
https://hackaday.com/2016/07/08/smallest-basic-computer/
dann ist hier lediglich eine serielle Schnittstelle zur Bedienung und 
Interaktion erforderlich (Bedienung über Terminal).

Ist diese Form des Betriebs (UART Terminalmodus) mit Deinem Projekt 
ebenfalls möglich?
(Deine Firmware leider noch nicht im Detail angeschaut, daher Frage an 
den Autor, weil die Lösung vielleicht schon existiert.)

Die Idee läßt sich alternativ vielleicht sogar noch besser mit einem 
ESP8266 umsetzen, weil in einer preiswerten MCU viel Flash und RAM in 
Verbindung mit einer 32 Bit MCU vorhanden ist.
https://www.esp8266basic.com

: Bearbeitet durch User
von Max B. (citgo)


Lesenswert?

Hallo Karsten,
danke schön!

Karsten W. schrieb:
> Ist diese Form des Betriebs (UART Terminalmodus) mit Deinem Projekt
> ebenfalls möglich?

Natürlich.
Ob Du jetzt eine PS2 Tastatur abfragst und einen Videosignal ausgibst 
oder alles über RS232 laufen lässt ist egal.
Beides gleichzeitig geht leider nicht eben wegen der UART Nutzung für 
die Tastatur.

Karsten W. schrieb:
> Die Idee läßt sich alternativ vielleicht sogar noch besser mit einem
> ESP8266 umsetzen, weil in einer preiswerten MCU viel Flash und RAM in
> Verbindung mit einer 32 Bit MCU vorhanden ist.
> https://www.esp8266basic.com

Jaaaaa.... weiß ich doch alles. Und du bist jetzt der 123. der mir das 
sagt.
Aber mir geht es weder um Flash, noch um RAM.
Ich hatte noch einige ATMega1284 in der Kiste liegen und wollte damit 
was bauen.
Der knappe RAM macht das programmieren mit dem Computer immerhin 
interessanter.

von Karsten W. (lsmod)


Lesenswert?

Max B. schrieb:

> Natürlich.
> Ob Du jetzt eine PS2 Tastatur abfragst und einen Videosignal ausgibst
> oder alles über RS232 laufen lässt ist egal.
> Beides gleichzeitig geht leider nicht eben wegen der UART Nutzung für
> die Tastatur.

Das ist schon klar.
Ist diese Option bereits vorgesehen?

Übrigens ist in dem ESP-Projekt ein aufwendiger Webserver integriert.
Somit gibt es dort anscheinend keine minimalistische Terminal-Lösung mit 
BASIC.

> Jaaaaa.... weiß ich doch alles. Und du bist jetzt der 123. der mir das
> sagt.

Hihi - die übliche Resonanz in Foren. :-)

> Aber mir geht es weder um Flash, noch um RAM.
> Ich hatte noch einige ATMega1284 in der Kiste liegen und wollte damit
> was bauen.
> Der knappe RAM macht das programmieren mit dem Computer immerhin
> interessanter.

Wie groß ist der tatsächliche Flash- und RAM-Bedarf voraussichtlich, 
wenn nur ein Terminal über die UART realisiert wird?

: Bearbeitet durch User
von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

Weiter geht es...
Ich habe mir gedacht, wenb schon mobil dann richtig.
Habe noch ein paar Atari Portfolio Reste rumfliegen.
Da werde ich jetzt eine Tastatur nehmen. Ist doch deutlich besser als 
die kleinen Microschalter :)

Außerdem kommt das Display dann auch mit in das ehem. Portfolio Gehäuse 
und fertig ist der TinyBasic Laptop.

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

Weiter geht's...
Die Tastatur ist als 8x8 Matrix direkt am ATMega angeschlossen. War eine 
Fummelarbeit da ich die Rows ubd Columns auf 3 Ports aufteilen musste.

Die Platine ist der "Dattenlogger" der hier gerade fleißig im Markt 
verkauft wird. Passt perfekt!

Dank des Portfolio Gehäuses passen auch direkt Batterien rein. SD Karte 
kommt in die Seite wo normalerweise die Memorycards vom PoFo reinkommen.
Auf der anderen Seite lege ich mir die noch verbliebenen Pins nach 
außen.

Jetzt noch das Display und der TinyLaptop wäre fertig. :)

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

Langsam wird es ein Laptop :)
Provisorisch habe ich das Display mal im Gehäuse fixiert.

von Ralph S. (jjflash)


Lesenswert?

... irgendwie aber schon schade um den schönen Atari (vor 1000 Jahren 
hatte ich auch einmale einen). Dennoch ein Daumen nach oben !

von Joachim B. (jar)


Lesenswert?

Max B. schrieb:
> Die Platine ist der "Dattenlogger" der hier gerade fleißig im Markt
> verkauft wird. Passt perfekt!

unfindbar, Link?

von Alexander S. (alesi)


Lesenswert?


von Max B. (citgo)


Lesenswert?

Ralph S. schrieb:
> ... irgendwie aber schon schade um den schönen Atari (vor 1000 Jahren
> hatte ich auch einmale einen). Dennoch ein Daumen nach oben !

Ich habe noch 3 funktionsfähige PoFos und 2 Gehäuse.
Dieser hier war komplett defekt. Deswegen tut es nicht ganz so weh :)
Danke schön.

SD Karte ist jetzt auch verbaut. Das Ding ist soweit fertig bis auf die 
Verkleidung vom Display und die paar Pins die ich noch nach außen führen 
will.

von Harald K. (kirnbichler)


Lesenswert?

Schöner wäre ein Display, das zum Gehäuse passt, und eben (wie schon vor 
einiger Zeit besprochen) nicht über die grottenschlechte 
Composite-Video-Ausgabe angesteuert wird.

Dann könnte man den dargestellten Text auch ohne Augenkrebs lesen, der 
µC hätte deutlich weniger zu tun, und man könnte sogar mehr Text 
darstellen.

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.