mikrocontroller.net

Forum: Projekte & Code Mini-Computer mit BASIC


Autor: Joerg Wolfram (joergwolfram)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Aus meinen Experimenten a la "Was passt alles in einen ATMega16?" ist 
ein kleiner BASIC-programmierbarer Einchip-Computer entstanden. 
Features:

- 23 Zeilen a 30 Zeichen mit maximal 8 Farben (RGB in PAL/NTSC)
- Zeichensatz (128 Zeichen) mit Grossbuchstaben und Pseudografik
- Anschluss PS2-Tastatur
- Einkanaliger Tonausgang mit Hüllkurve, Rauschgenerator
- Serielle Schnittstelle 1200 Baud mit Ladungspumpe über Timerausgang
- parallele Druckerschnittstelle, auch als IO nutzbar
- I2C Schnittstelle für "EEPROM-Disk" und Temperatursensoren
- Jumper für PAL/NTSC, Auto-Run und Synchronsignal-Erzeugung 
(HSYNC/CSYNC)
- Programme mit maximal 20 Zeilen werden im internen EEPROM gespeichert
- Programm Up- und Download via Xmodem-Protokoll
- Listingdruck
- Weitestgehend Tiny-BASIC kompatible Programmiersprache mit 
Erweiterungen
- Fullscreen-Editor mit aussagekräftigen Fehlermeldungen

Dokumentation und ein paar Programmbeispiele sind mit dabei, 
Assemblierung des unmodifizierten Quelltextes ist wahrscheinlich nur mit 
dem AVRA Assembler unter Linux möglich.

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ich zum Assemblieren das Tool "avr-libmake" benutze,
hier noch ein Link auf meine Homepage, wo sich auch noch
andere Projekte finden lassen:

http://www.jcwolfram.de

Ich weiss jetzt nicht, inwieweit PERL bei W* -Usern verbreitet ist,
dann liessen sich in Zusammenarbeit die Funktionsfähigkeit der
Scripte auf beide Betriebssysteme erweitern.

Autor: ..,- (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du mal einen Link zu einem Dekomprimierungsprogramm posten, 
welches dieses ominöse tar.gz beherrscht? Sollte möglichst frei sein und 
ohne Installation auskommen.

Danke.

Autor: Frank N. (betafrank)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beeindruckendes Projekt!

7-Zip muß zwar installiert werden, aber ist klasse (z.B. Bedienung: 
Rechtsklick auf komprimierten Ordner und 7-Zip bietet entpacken an), ist 
frei und macht keinen Quatsch (Quelltexte ebenso downloadbar).
http://www.7-zip.org/

Autor: Christoph Borowski (cborowski)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

mit Winzip läßt sich das ganze ebenfalls öffnen/ansehen/entpacken.

Zum Projekt: Respekt ...

Gruss
Christoph

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schönes Projekt, kommt richtig Retro-Feeling auf. Muss man gleich an den 
seligen ZX-81 denken.

Gibt es auch eine Liste mit wichtigen PEEKs und POKEs? :-)

Autor: DLS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So etwas habe ich mir schon immer gewünscht, dabei ist doch erst nächste 
Woche Weihnachten, absolut genial!!!!
Ich hatte auch schon einmal so ein Projekt in Planung, ich wollte 
allerdings anstatt des Videoausgangs ein LCD-Display anschließen um 
damit auch unterwegs spielen zu können.

Viele Grüße
DLS

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wahnsinn, gratuliere!

Wie lange hast du für dieses Projekt gebraucht?

Wenn ich mit meiner soeben fertiggewordenen Gamekonsole vergleiche, dann 
erblasse ich vor Neid ;-)

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wow das ist wirklich ein sehr interessantes projekt :). ich versuche 
auch schon seit längerem sowas zu konstruieren aber bis jetzt ist es 
immer an einem funktionierenden grafik-modul gescheitert. deinem projekt 
liegt allerdings alles bei was man benötigt ;). ich könnte mir ja mal so 
eine platine ätzen und aufbauen! allerdings hab ich nur nen mega32 da, 
das sollte aber eigentlich keinen unterschied machen oder?

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja was noch ganz schön wäre, falls ich die nicht übersehen hab, eine 
partlist damit man sich schonmal alle teile raussuchen kann :).

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas:
Peek und Poke gibt es schon, aber nur für externes Daten-EEPROM. 
Direkter Zugriff auf die Hardware ist meist der Anfang von 
Inkompatibilitäten...

@DLS
Wenn man Jumper 1 und 2 schliesst (NTSC, Synchronisation getrennt), kann 
man zum Beispiel ein NEC NL 3224AC35-01 5" Display (gibts manchmal bei 
ebay) direkt anschliessen. Grosse Teile des Programmes habe ich auch 
damit getestet, um den heimischen Fernseher nicht zu blockieren ;-)

@Philipp
Die wichtigsten Teile stehen rechts oben im Stromlaufplan. Danke für den 
Hinweis, in der nächsten Version wird es auch eine Stückliste geben. Der 
Mega32 sollte es auch tun, eventuell nochmal die Fuses kontrollieren.


Autor: Matti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle Achtung, das ist ja ein tolles Projekt!
Ich werde es mir sicher mal nachbauen.
Ich würde mir dann wahrscheinlich auch ein kleines LCD
(das 132x176 vom S65, oder ein einfaches 128x64 (Pollin o.ä.))
und eine Mini-Tastatur dranfummeln (zum Unterwegs-Spielen s.o.).

Autor: DLS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Joerg,
ich habe es heute endlich geschafft die Hardware aufzubauen.
Ist schon eine beeinduckende Geschwindigkeit wie der Computer läuft, 
super Arbeit deinerseits. Das einzige Manko was ich auf die schnelle 
gefunden habe ist die Begrenzung auf 20 Programmzeilen. Ließe sich durch 
den Einsatz eines ATMega32 die Zeilenzahl verdoppeln?

Viele Grüße

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder mega128 mit externem ram. da kann man 64kb ranhängen, das dürfte 
potent genug sein, oder?

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>- Programme mit maximal 20 Zeilen werden im internen EEPROM gespeichert

Was hat dann der RAM mit der möglichen anzahl von Programmzeilen zu tun? 
Oder hab ich was falsch verstanden?

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal vielen Dank für das Interesse an dem Projekt.
Im Moment bin ich dabei, den Code zu optimieren, Fehler auszubügeln und 
ein paar neue Funktionen zu implementieren. Dazu gehören Linien 
zeichnen, einfache Abfrage von Cursor- und Shifttasten sowie 
"Pseudo"-Sprites. Die neue Version wird wahrscheinlich Ende der Woche 
fertig sein.

@DLS
ich arbeite schon an einem Konzept, um den Platz im EEPROM besser zu 
nutzen. Auf einem Mega16 wären dann maximal ca. 25 Zeilen und auf einem 
Mega32 60 Zeilen möglich.

@Sebastian
Die Variante mit dem externen RAM hatte ich mir auch schon überlegt, 
aber das widerspricht halt dem Einchip-Prinzip, welches ich gerne 
beibehaltem möchte.

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mmhh okay... mit nem mega128 hättest du trotzdem 4kb ram zur verfügung.. 
und mehr eeprom. einziges manko er ist halt ned als dil verfügbar...

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ATmega644P ist Pinkompatibel. Allerdings müsste man mehr am Sourcecode 
anfassen, anders als ATmega16->32 sind die Register nicht mehr alle 
"kompatibel".

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist ein ähnlicher Kollege:
http://www.kmit.sk/~peto/AVR/smallpmd/index.php

MfG Paul

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit enm I²C EEProm... oaky nicht mehr einchip aber nen DIL6 
wird ja wohl noch passen :)

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ich denke ein "externes" EEPROM macht das ganze wesendlich 
interessanter, da 20/25 zeilen code doch etwas wenig sind.

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Hmmm...nicht so stur auf das Einchip-Konzept verrennen! Wäre doch 
irgendwie schade, wenn nur aus diesem Grund nicht mehr aus dem Computer 
würde. ;-)

Gruss

Michael

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und nem tiny45 oder tiny85 als coprozessor für 3d berechnungen, frech 
grins

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@joerg wolfram

respekt !!

geiles projekt. was man nicht alles in einen kleinen mega-16 
reingedrückt bekommt. echt coole sache.

btw. :

hat jemand vielleicht einen link zu einem basic-interpreter der in C 
geschrieben ist ?

gruß
rene

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte bei der Ein-Chip-Lösung bleiben, wenn man z.B. einen Mega-32 
verwendet und den Basic-Code in das freie Flash schreibt. So extrem oft 
wird der Code ja auch nicht geändert, dass man innerhalb von Wochen die 
max. Schreibzyklen des Flash erreichen würde...

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
man könnte auch so ne copy funktion ins booten einbauen. ich mache das 
bei eeprom basierten lösungen, bei denen ich nicht will dass immer an 
die selbe stelle geschrieben wird. beim nächsten start erhöht sich ein 
zähler an stelle 1 und das offset beginnt nun woanders...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hat denn die EEPROM Größe mit der Zeilenanzahl zu tun? Wenn dann mit 
der ZEICHENanzahl, oder nicht? Oder speicherst du die Zeilen mit fester 
Länge im EEPROM?

Autor: neuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannst du den code nicht für den avrasm32 umsetzen.
ist glaube ich der bekannteste.

danke.

mfg

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht mal ein paar Interna, um einige Fragen zu beantworten.
Das Programm wird zum Editieren komplett im RAM gehalten, anders ist 
m.E. kein vernünftiges Arbeiten möglich. Beim Speichern wird jede Zeile 
auf Schlüsselwörter untersucht und dann in das EEPROM geschrieben. Nicht 
nur wegen der begrenzten Programmierzyklen, sondern hauptsächlich aus 
Geschwindigkeitsgründen haben die Zeilen eine feste Länge im EEPROM, der 
Rest wird mit $FF aufgefüllt. Zusätzlich wird vor jedem Schreibvorgang 
die EEPROM-Zelle gelesen und verglichen, ob überhaupt programmiert 
werden muss.
Selbst wenn man die Zeilenlänge variablel macht, gibt das verfügbare RAM 
die Grenzen vor.
Wenn das Programm läuft, wird die benötigte Zeile, deren Adresse sich ja 
leicht ausrechnen lässt in einen Puffer im RAM kopiert. Das allerdings 
nur, wenn sie sich nicht schon dort befindet. Also eine Art Cache.
Da der Flash des Mega16 bei der kommenden Version nun bis zum Rand voll 
ist, werde ich danach das Projekt für den Mega32 bei gleicher 
Hardwarebasis weiterentwickeln. Eventuell auch mit direkter Abarbeitung 
von Programmen aus externem EEPROM oder Dataflash.
Eure Vorschläge sind alle interessant, aber in den Foren hier scheint es 
eine gewisse "Featuritis" zu geben, die manche Projekte schon vor Beginn 
begraben hat. Deshalb nehmt es mir bitte nicht übel, wenn ich vor allen 
Dingen meine eigenen Pläne umsetze.
Und man kann auch einfache Spiele wie z.B. Pong mit 20 Zeilen Basic 
schreiben, ein paar Tage Geduld auf die neue Version braucht´s aber 
noch...

viele Grüße

Jörg

Autor: KSB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Joerg,

ist ja nicht negativ gemeint - nur wenn nur noch "eine Zeile fehlen 
würde damit das Programm läuft" ist es schade, wenn man keine mehr 
eingeben kann....

Gruss KSB

Autor: Joerg Wolfram (joergwolfram)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wie versprochen eine neue, fehlerbereinigte und erweiterte Version.
Neben neuen Funktionen habe ich auch den Editor überarbeitet. Er 
beherrscht jetzt Scrolling und ist so auch für Programme mit mehr Zeilen 
gut gerüstet. Aus gleichem Grund habe ich auch die Transferfunktionen 
von X-Modem auf Texttransfer umgestellt. Für die kommende Mega32-Version 
will ich schon mal ein paar Eckpunkte veröffentlichen:

- Programmgröße 50 Zeilen, 4-8 Programme im Flash
- EEPROM mit POKE/PEEK als Datenspeicher nutzbar
- Zusätzliche Funktionen für Steuerungszwecke
- eventuell Textmodus mit 35 Zeilen/Zeile im Editor
- Auslagerung des Speicherinterfaces in Bibliotheken

viele Grüße

Jörg

Autor: Winfried K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

ich habe das Teil mal aufgebaut und muss sagen, ich bin beeindruckt.
Da ich einen anderen Controller benutzt habe, musste ich neu 
kompilieren.
Weil das AVRStudio mit den verschachtelten Macros nicht klargekommen 
ist, habe ich mir AVRA für Windows besorgt und im AVRStudio die 
AVRASM32.EXE mit der AVRA.EXE ersetzt. Damit hat es dann problemlos 
funktioniert.

Eine Anmerkung habe ich noch.
Wer den TV Scarteingang benutzt, muss auf Pin 16 eine Spannung von 3V 
legen, damit der TV auf RGB umschaltet. (solltest Du eventuell in der 
Schaltung vermerken)
Auf externen AV Eingang kann man ja per FB umschalten, auf RGB aber 
nicht.

Autor: neuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe ich mir AVRA für Windows besorgt und im AVRStudio die
AVRASM32.EXE mit der AVRA.EXE ersetzt....

hallo, den AVRA für Windows suche ich auch zum neucompilieren, finde ihn 
überhaupt nicht, kannst du mal die www.... geben

mfg

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Download von Avra findet man hier:

http://sourceforge.net/project/showfiles.php?group_id=55499

Gruß Jörg

Autor: pittbull (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> hat jemand vielleicht einen link zu einem basic-interpreter der in C
> geschrieben ist ?

guckst du: http://www.sics.se/~adam/ubasic/

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@pittbull

danke für den link ...
werd ich mir mal genauer anschauen

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr beeindruckend,

es gibt aber ein paar Punkte, die man besser machen kann.

1. Nutz den SPI für das Bild damit bekommst Du locker 40 Zeichen pro 
Zeile. Du brauchst aber für Farbe dann etwas externe Logik.

2. Mach FM-Synthese. :) OK PM-Synthese, die geht mit etwa 18-19 
Taktzyklen. pro Stimme.

3. Schau Dir mal den ZX80/ZX81 von der Firma Sinclair an. Das ist ein 
benutzbarer Computer mit BASIC und nur 1024 Byte RAM. Darin ist auch das 
RAM für die Graphik drin. 
http://www.worldofspectrum.org/ZX81BasicProgramming/ ist das offizielle 
Benutzerhandbuch. Wenn Du Dir das etwas anschaust, wirst Du feststellen, 
dass man selbst da noch viel optimieren kann. :)

4. Warum müssen denn die Programme im EEPROM drin sein?

5. Ich würde den normalen Editor nehmen, keinen Vollbildeditor. 
Vollbildeditoren sind so ungewöhnlich zu benutzen. Man hat so viele 
Zeilen und die machen das unübersichtlich.

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian

1.SPI wollte ich nicht benutzen, da damit ohne zusätzliche Logik keine 
Farbe geht. Ausserdem kann man es wenn SS mit PIN 3 vom 
Programmiersteckverbinder verbunden wird, auch für Erweiterungen 
benutzen. So habe ich noch ein paar Dataflash rumliegen und will die 
später vielleicht noch als externen Speicher   nutzen. Die kommende 
Version hat einen anderen Textmodus im Editor, damit sind dann 35 
Zeichen (theoretisch auch mehr) pro Zeile möglich. Es sollte aber auch 
kein Problem sein, die Video-Interruptroutine in der libmio teilweise zu 
ersetzen.

2.DDS wirst Du aber trotzdem brauchen, um einigermaßen genaue 
Halbtonschritte hinzubekommen. Aber vielleicht habe ich da auch einen 
Denkfehler.

3.Natürlich lässt sich noch einiges in Richtung Speicherverbrauch 
optimieren, das geht aber meist dann zu Lasten der Wiederverwendbarkeit 
und Wartbarkeit von Programmteilen. Und dann steht halt auch die Frage 
nach dem Zeitaufwand.

4.Die neue Version speichert (vorerst) die Programme im Flash, 
allerdings sind sie halt nach jedem Flashen weg. Geplant ist eine 
Auswahl (Flash/EEPROM/Dataflash), eventuell auch gemischt.

5.Den normalen Editor wie z.B. beim ZX Spectrum mag ich wiederum nicht 
so, aber das ist halt auch Geschmackssache.

@Alle
Im Moment bin ich bei 5 Programmen zu 50 Zeilen und 32 nutzbaren Zeichen 
je Zeile im Flash. Mehr Zeilen passen momentan nicht in den RAM. Vom 
EEPROM lassen sich 1000 Bytes im Programm nutzen, der Rest dient zur 
Konfiguration. Für größere Programme habe ich den Vorschlag, dass sich 
die Programme gegenseitig mit z.B. "RUN Nr." aufrufen können.
Auch steht noch die Frage, inwieweit ein Upgrade über die (relativ 
langsame) serielle Schnittstelle sinnvoll ist.
Als Zeitpunkt schätze ich mal 1-2 Wochen bis zum nächsten Release.

Jörg

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joerg Wolfram wrote:
> @Christian
>
> 1.SPI wollte ich nicht benutzen, da damit ohne zusätzliche Logik keine
> Farbe geht.

Ja, aber da reichen evtl. schon 3 Widerstände. :)

> 2.DDS wirst Du aber trotzdem brauchen, um einigermaßen genaue
> Halbtonschritte hinzubekommen. Aber vielleicht habe ich da auch einen
> Denkfehler.

Klar DDS brauchst Du auch, die Idee ist nur, die Phase synchron mit der 
n-fachen Frequenz des Signales zu multiplizieren. Dadurch kann man 
schöne Klänge bauen.

Trotzdem sehr schöne Arbeit.

Autor: Achim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
erst mal muss ich das Projekt loben, hab lange kein so interessantes 
Projekt mehr gesehen.

Ich hab allerdings mal eine Frage zu der Ladungspumpe. Ist der 
Kondensator C2 nicht falsch angeschlossen? GND ist ja im Bezug auf den 
Ausgang der Ladungspumpe positiv. Oder hab ich da was falsch verstanden?

Achim

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, der ist verkehrt eingezeichnet. Werde ich beim nächsten Update 
mit ändern.

Jörg

Autor: neuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
 Christian Berger, du vergisst, das die bildausgabe durch ein hf-gerät 
gemacht wurde, ist wie ein 2. computer nur für die bildausgabe.
nachdenken!!!

Autor: Feadi F. (feadi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt könnte man den Basic Computer doch noch in das Chatboard einbauen 
und noch ein kleines LCD drann.

http://www.myplace.nu/avr/avrchatboard/index.htm

Hehehe

Gruß, Feadi

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Joerg,

folgende Frage:

> - Serielle Schnittstelle 1200 Baud mit Ladungspumpe über Timerausgang

ohne mir jetzt große Gedanken über den Grund zu machen,
frage ich mal einfach ganz dumm:

- was ist der Grund für dies Begrenzung auf 1200 Baud ?
- wäre theoretisch auch 2400 möglich ?

Es geht um den Anschluß eines Gerätes, dass leider als
minimale Baudrate 2400 hat.....

Gruss Otto




Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das "Problem" ist, dass der UART bereits durch die PS2-Tastatur belegt 
ist. Damit blieb nur das Empfangen und Senden im Horizontal-Interrupt 
übrig. Und der hat entweder 15625Hz (PAL) oder 15748Hz (NTSC). Diese 
Frequenzen stehen leider in einem "krummen" Verhältnis zu den üblichen 
seriellen Bitraten. Bei 1200bps ist der Fehler noch klein genug um 
toleriert zu werden, bei 2400 (die mir auch lieber wären) gab es 
gelegentlich Fehler. Eventuell lässt sich das noch optimieren.
Was noch besser wäre, eine andere Lösung für die Tastatur zu finden. Im 
ungünstigsten Fall kommen 2 Bits pro Bildzeile von der 
PS2-Schnittstelle, aus diesem Grund fallen externe Interrupts weg. 
Einfach die Clock-Leitung während des sichtbaren Bereiches auf 0 ziehen 
klappt such nur bei manchen Tastaturen.
Solange ich nichts anderes (unter den gegebenen Bedingungen 
funktionierendes) gefunden habe, werden es halt nur 1200 bps bleiben.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Joerg,

vielen Dank für die Antwort - für meine "Anwendung"
könnte ein "gelegentlicher Fehler" evtl. akzeptiert
werden, da er kurze Zeit später wieder "ausgebügelt"
wird - gäbe es eine "Patch - Möglichkeit" ?

Gruss Otto

Autor: Peter Winges (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wirklich tolles Projekt! Meinen Respekt! Einfach genial was man alles 
rausholen kann! Was mich vor allem interressiert, ist die 
Videoverarbeitung. Diese kann ich vielleicht für meinen Einchiprechner 
(erstellt 1987) mit Z8 Clone übernehmen. Dieser Rechner arbeitet leider 
nur mit 8 Zeilen und 13 Zeichen. Das stört mich im Moment am meißten! Er 
hat auch einen Tiny_Basic_Interpreter u.v.m. Vielleicht kann ich deinen 
Rechner koppeln und ihn für die Bildschirmerzeugung vergattern?

viele Grüße

           Peter

Autor: Joerg Wolfram (joergwolfram)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Tja, es hat doch etwas länger gedauert, aber gibt halt einfach 
wichtigeres als kleine schwarze "Tausendfüßler". Soweit möglich, habe 
ich die Syntax an die kommende Mega32-Version angepasst. Die 
Zeilenanzahl beim Übertragen über die Serielle Schnittstelle ist nicht 
mehr fest und die Screenshots werden als Hexadezimalzahlenfolgen 
übertragen. Die Mega32-er Version ist fast fertig, allerdings sind noch 
ein paar Bugs im Monitor und im Bootloader. Ansonsten sieht es so aus:

- Programmgröße 51 Zeilen, 4 Programme im Flash
- EEPROM mit EPOKE/EPEEK als Datenspeicher nutzbar
- Textmodus mit 32 nutzbaren Zeichen/Zeile im Editor
- 256 darstellbare Zeichen (anstelle 128)
- Zeichenfunktionen mit 8 statt 4 Farben
- Breakpoints/Tastenkombination für Monitorafruf
- Monitor mit Programm-, Variablen- und Stackanzeige
- Einzelschrittbetrieb, Wechsel zur Anzeige
- Bootloader zum Updaten

Eine Umstellung auf 2400 Baud will ich noch testen, kann aber etwas 
dauern.
Soweit Interesse zum Testen besteht, kann ich auch vorab das Hexfile 
posten.

viele Grüße

Jörg

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema verfügbare Zeilenzahl bei der 32-er Version ist mir noch 
folgendes eingefallen:

XCALL prognr,zeile

könnte Unterprogramme in anderen Programmen aufrufen, wie eine Art 
Library. Mit Return wird dann wieder normal zurückgesprungen. Damit 
ließe sich der gesamte verfügbare Programmspeicher für eine Anwendung 
nutzen.

Jörg

Autor: Frank (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Joerg,

ich habe diesen Thread und Dein Projekt mit Aufmerksamkeit vefolgt.
Und natürlich den Mini_Basic Rechner nachgebaut.
Ich bin total begeistert, er hat auf Anhieb funktioniert.
Bislang läuft er noch mit dem Atmega16, aber bei nächster Gelegenheit 
"rüste" ich auf. Ich kann mir nur wünschen, daß Du bis dahin noch viele 
schöne Ideen in die Praxis umsetzt.
In der Anlage ein Foto meiner neuen "Computeranlage".

Viele Grüße  Frank

Autor: Robin T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mal ne frage womit öffne ich die beiden Dateien chipbasic_05 und 
chipbasic-adapters_05 die einen soind bilder schon kalr aber die anderen 
kann ich auch mit eagel net öffnen

Autor: Robin T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir mal jemand die Maße der Platine geben bitte?

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ca. 95 x 75 mm

Otto

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die .sch Dateien sind mit gschem gemacht.

http://geda.seul.org

Gruß Jörg

Autor: Robin T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 4 SMD Dinger sind nehme ich an Wiederstände nur leider weis ich 
nicht welche werte die haben im Schaltplan hab ich nur einen gefunden 
die anderen 3 sind nicht aufgefürt. Ich hätte sowieso viel lieber nen 
Bestückungsplan mit nummerierten Bautelen dass man nur nummer schaltplan 
und bestückungsplan gucken brauch.

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups... Da fehlt ja der Bestückungsplan im Archiv. Sorry, ist mir 
wahrscheinlich beim Kopieren passiert. Die 4 SMD-Teile sind 
Abblock-Kondensatoren, die müssen nicht unbedingt alle bestückt werden 
(die erste Version ging auch ohne, man kann sie aber dort auch noch 
nachträglich zwischen die Leiterbahnen löten...). Für die Störsicherheit 
ist es besser, ansonsten kann es beim Speichern von Programmen Fehler 
geben.

Gruß Jörg

Autor: Robin T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Hinweis. Wer schön wenn du den Bestückungsplan  noch mit 
reinpacken könntest.

Danke

Autor: Robin T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mir noch aufgefallen ist. Die Kondensatoren am Quarz sind beide 22p 
für nen 16 MHz Quarz wären 32p besser geeignet.

Autor: Robin T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Habe leider immernoch nicht verstanden wie ich diesen Computer an meinen 
Fernseher anschließe. Welcher Pin von 9 Poligen D-Sup muss denn an den 
Skat? Oder gehts auch an diesen Gelben VIedeo anschluss vorneß



Bitte helft mir

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Robin T.,

es geht in schwarz/weiß auch mit dem "gelben" Anschluß,
den Du an der Platine an Pin 8 (FBAS) des Video Sub-D
anschließen mußt...

Otto

Autor: Robin T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank!

Dachte schon dass keiner hier mal reinschaut und guckt.



Danke

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der Mega32 Version sind auch die Pläne für den Anschluss an TV und 
Scart mit dabei, in der Meg16 Version fehlen sie noch.

Grup Jörg

Autor: T. S. (trse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möchte ich mir auch mit einem Atmega644 Bauen.

Für das projekt giebt es 10 von 10 Punkten!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.