Datum: 14.01.2008 23:37
Auch wenn noch nicht alle Funktionen voll ausgetestet sind, gibt es hier
endlich das erste Release des BASIC-Computers mit dem Mega644. Es gibt
jede Menge Neues, allerdings zu Lasten der Abwärtskompatibilität zu
früheren Versionen.
Features:
ls Eingabegerät dient eine normale PS2-Computertastatur, als
Ausgabegerät ein Fernsehgerät mit Scart-Eingang (Farbe) oder BAS-Eingang
(Graustufen) oder auch verschiedene PAL-/NTSC-taugliche TFT-Displays.
- 95 Programmzeilen mit maximal 32 nutzbaren Zeichen, Fullscreen-Editor
- 8 Programme im internen Flash
- Tiny-Basic-Programmiersprache mit Erweiterungen
- Eigene Fehlerbehandlung mit ONERR möglich
- 30x23 Zeichen mit maximal 8 Vorder- und Hintergrundfarben und
- Pseudografik im Textmodus
- 3 Videomodes mit Vollgrafik und Farbpalette
* 168x116 in 2 aus 8 Farben
* 120x76 in 4 aus 8 Farben
* 84x58 in 8 aus 8 Farben
- Punkte, Linien, Rechtecke und Kreise (Ellipsen), auch gefüllt
- PAL/NTSC und Synchronsignale über Jumper einstellbar
- PS2-Tastatur zur Eingabe, Keyboard-Layout ist dauerhaft umschaltbar
- 1-Kanalige Audioausgabe (Noten, Rauschen) mit Hüllkurve
- serielle RS232-Schnittstelle mit 1200 Baud und Ladungspumpe
- parallele Druckerschnittstelle, auch als I/O und Analogeingänge
- optionales Daten-EEPROM (24C64) für Datenlogger etc
- Funktionen für bis zu 8 LM75 Temperatursensoren
- Up/Download von Programmen über die serielle Schnittstelle
- Listingdruck über die Druckerschnittstelle
- automatischer Start des 1. Programmes nach Einschalten über Jumper
- Tastenkombinationen für Abbruch, Neustart, Screenshot
- Monitor mit Variablen- und Stackanzeige, Einzelschrittbetrieb
- Universelle I2C-Ansteuerung
- Einfaches Dateisystem auf ATMEL Dataflash
- Clone-Funktion zum Kopieren der Software auf weitere Controller
Was noch fehlt, sind ein paar Beispiele und der Zeichensatz ist noch
nicht
voll belegt.
Homepage ist in Arbeit, wird aber noch etwas dauern...
Gruß Jörg
Datum: 14.01.2008 23:57
Bevor Fragen kommen, die Hardware ist die gleiche wie bei den früheren Versionen, halt nur ein anderer Controller und ein 20MHz Quarz. Die Hardware-Doku ist noch von der alten Version. Anbei noch ein Screenshot in Grafikmode 2 (120x76x4)
PROGRAM 1:Sinus-c 01 CLS :VMODE 2 02 DRAW 35,0,35,119,1 03 PLOT 35,0 04 FOR X=0 TO 119 05 W=30*X:V=SIN(W)/10 06 DRAWTO 35-V,X,2 07 NEXT :COLOR 3 08 ? @60,0;"Sinus" 09 WKEY Z # |
Gruß Jörg
Datum: 15.01.2008 00:04
Hallo Joerg, erst einmal vielen Dank - schnell einen Controller besorgen und dann mal sehen, was Du wieder schönes gezaubert hast..... Viele Grüsse Otto
Datum: 15.01.2008 00:36
Hallo Jörg, wo hast Du den "ATmega644-20PU" denn her ? Gruss Otto
Datum: 15.01.2008 00:38
Ich les den Thread schon seit anfang an (also den alten ;) ). Echt erstaunlich was du da auf die Beine stellst! Wenn ich Zeit habe muss ich mir auch so nen kleinen computer bauen. Und dieser hat den Namen Computer echt verdient!
Datum: 15.01.2008 09:05
@Otto Da hatte ich damals meine gekauft: http://stores.ebay.de/AVR-Controller-PAKTEK @Alle In den Transferprogrammen (Perl-Scripten) ist noch ein "Fehler" drin, anstelle 9600 muss es natürlich 1200 bei der Bitraten-Einstellung heissen. Das liegt an meinem IBM T23, wo ich die Bitrate *8 einstellen muss. Die Webseite ist mittlerweise auch online: http://www.jcwolfram.de/projekte/avr/chipbasic2/main.php Gruß Jörg
Datum: 15.01.2008 19:35
Mein mega644 ist auch schon unterwegs. "Ich freu mich drauf"^^
Datum: 15.01.2008 19:37
@joerg wolfram wieder mal : deep respect !!! echt irre was du alles in so einem controller reinprügelst :-)
Datum: 15.01.2008 21:33
Geil wäre das noch mit Forth. Für diese Programmiersprache gibt es echte Compiler welche auf dem AVR selbst laufen. http://sourceforge.net/projects/avrforthlike/ Ist so einer (so weit wie ich weiß). Forth Compiler hätten halt nicht nur den Vorteil, dass die schneller als interpretierte Sprachen sind, nein, es ist sogar eine Entwicklungsumgebung dabei. (läuft dann auch auf dem Zielsystem)
Datum: 15.01.2008 22:30
Man MUSS eine Sprache interpretieren, wenn man sie zur laufzeit im AVR programmieren, laden und ausführen will. Also total am Projekt vorbeigeschossen ;)
Datum: 16.01.2008 06:51
Hauke Radtki wrote: > Man MUSS eine Sprache interpretieren, wenn man sie zur laufzeit im AVR > programmieren, laden und ausführen will. Also total am Projekt > vorbeigeschossen ;) Nein, wenn der Compiler auf dem AVR selbst läuft, kannst Du das auch so machen. Du kannst ja den Flash des AVRs zur Laufzeit beschreiben. Somit kannst Du sehr wohl die Programme zur Laufzeit programmieren, laden und ausführen.
Datum: 16.01.2008 08:27
Also ich hab mir gerade die Homepage angeschaut, das ist wirklich beeindruckend. Ich weiß nicht, wie viele Taktzyklen Du noch in der hsync ISR frei hast, aber ich hätte hier noch etwas Code für FM-Synthese. Ich kann auch im Februar meinen Spielzeugvocoder auf AVR-Assembler portieren. Dann hätte man Sprachsynthese. Wenn ich mal wirklich Zeit habe, dann kann ich auch noch probieren eine simple Spracherkennung zu implementieren.
Datum: 16.01.2008 08:33
Ach ja, falls Du aus der Sache etwas 'Profit' schlagen möchtest, 2600 sucht ständig Artikel. Du bekommst dafür ein T-Shirt und ein Jahresabo der Zeitschrift. http://www.2600.com/magazine/
Datum: 16.01.2008 08:50
...Geil wäre das noch mit Forth.... leider hast du vergessen, das 90% der teilnehmer hier die sprache forth nicht interpretieren können, geschweige damit etwas zu proggen. ich verfolge sei 20 jahren dieses forth, die anhänger sind rar, die überzeugten noch rarer. es gibt da kein durchstehvermögen. schade...
Datum: 16.01.2008 08:55
das gleich wird auch mit diesem basic-computer(644) geschehen. kurzsichtig in einer sprache zusammengestellt, die der geringste teil nachverfolgen kann (linux). warum wird nicht einfach der assembler vom avr-studio genommen. jeder kann dieses programm verfolgen und studieren. in 6 monaten redet keiner mehr über dieses eigentliche geniale produkt. nur noch noch einpaar hardliner und die sind wenig....schade. aber wenn man das nicht anders haben möchte...na...denn...ihr hardliner.
Datum: 16.01.2008 12:14
Das Ding ist mit Assembler programmiert. Kannst dir in AVR Studio ansehen und auch compilieren. Du musst halt das gepackte Verzeichnis öffnen, um zu sehen, wie er es gemacht hat. Aber dazu ist ein Windows-Anwender, wie z. B. ich, auch in der Lage...
Datum: 16.01.2008 15:07
Reg Dich ab, das ist ein Trollroboter.
Datum: 16.01.2008 16:07
Habe es vermutet. Aber ich hab einen schlechten Tag und musste mich abreagieren... Ich finde das Teil echt super. Allerdings habe ich noch keine Anwendung für mich gefunden. Gruß Gerd
Datum: 16.01.2008 20:02
...Aber ich hab einen schlechten Tag und musste mich abreagieren..... scheisse gelaufen , wenn man straff im arbeitsleben steht, oder? hast du keine frau zum abreagieren ? du bist schon so ein sozialschwacher troll....lol....
Datum: 16.01.2008 20:03
...Du musst halt das gepackte Verzeichnis öffnen, um zu sehen, wie er es gemacht hat. .... das ist schomal scheisse, so ein umstand.
Datum: 16.01.2008 20:10
Gerd G. wrote: > Ich finde das Teil echt super. Allerdings habe ich noch keine Anwendung > für mich gefunden. > > Gruß Gerd Also was mich im Moment noch ein wenig stört ist der BASIC-Interpreter. Der bestehende ist jedoch anscheinend gut genug um als Sprungbrett für die weitere Entwicklung zu dienen. Also die Anwendung liegt doch auf der Hand. Anstelle eines teueren Aldi-PCs kann man sich jetzt den Rechner selber bauen. Einen Rechner, welchen man wahrscheinlich sogar komplett verstehen kann.
Datum: 16.01.2008 21:45
@Christian die ISR ist eigentlich schon übervoll, wenn ein serielles Zeichen und ein Zeichen von der Tastatur in der gleichen Zeile kommen, kann es schon zu Bildstörungen kommen. Aber das ist so selten und tritt nur auf, wenn man es provoziert. Einfacher ist es, einen zweiten Chip über I2C anzusteuern. Ich denke, mit so einem Teil kann man lernen, wie ein Computer funktioniert. Man kann ihn auf einem Steckbrett aufbauen, kann selbt Programme schreiben, messen, steuern, regeln... Einen Compiler mit einzubauen hatte ich zwischenzeitlich auch schon mal vor, halte es aber für unzweckmäßig. In der aktuellen Version wird schon fast alles in Token umgesetzt, auch Zahlen und Funktionen. Wenn man aber zu weit in diese Richtung geht oder gar optimieren will, wird das Rückübersetzen in den urprünglichen Quelltext sehr aufwändig oder gar unmöglich. Und dann hat man Source UND Compilat im Speicher. Auch in der jetzigen Version gibt es ein paar Effekte, z.B.: - aus A=$010 wird nach dem Speichern A=$10, Wert wird als Ein-Byte-Hexvalue gespeichert - aus A=$110 wird nach dem Speichern A=$0110, Wert wird als Zwei-Byte-Hexvalue gespeichert Die "Assemblerproblematik" kommt wahrscheinlich jedes mal wieder neu auf, meiner Meinung nach sind das Leute, die Open Source Entwickler als Dienstleister und sich als König Kunde verstehen. Gruß Jörg
Datum: 16.01.2008 22:24
>Die "Assemblerproblematik" kommt wahrscheinlich jedes mal wieder neu >auf, meiner Meinung nach sind das Leute, die Open Source Entwickler als >Dienstleister und sich als König Kunde verstehen. wird es aber wohl leider immer geben :-( ich bin zwar selbst nicht in asm bewandert, aber wenn mich ein algorithmus interessiert der nur in asm existiert und ich diesen verstehen will komme ich eben nicht um asm rum, so einfach ist das. aber mal im ernst : wie lange baust du schon an dem dingen rum ? ich meine alles in asm zu machen, da muß man doch wirklich fit sein, viel zeit haben und einen irre guten überblick ? ich programmiere recht viel (in c) und mir fällt es manchmal schwer den überblick zu behalten, wie machst du das ? (erstaunt ist ....)
Datum: 16.01.2008 22:27
Hallo Joerg, ich finde es ganz toll, dass Du uns Dein Projekt kostenlos zur Verfügung stellst - der Sinn desselben ist, in "Basic" zu programmieren und nicht am "Betriebssystem" herumzubasteln. Da aber die "Basic-Fraktion" in die Jahre gekommen ist und alle "Klick-Buntis" meinen, nur noch mit wichtig klingenden Programmiersprachen um sich werfen zu müssen, obwohl sie diese gar nicht beherschen, wird es immer solche posts geben - da ist sicher auch Neid mit bei. Davon abgesehen würde ich durchaus auch einige Euro dafür bezahlen, wenn Du Deine Produkte fix und fertig oder als Bausatz vertreiben würdest - wäre mir der Spass echt wert......und ich würde immer noch nicht darüber "mosern", dass Du unter Linux entwickelst. Gruss Otto
Datum: 16.01.2008 23:06
Ich habe nichts gegen Assembler, habe es ja lange genug genutzt. Allerdings möchte ich C und C++ nicht mehr missen. >Also was mich im Moment noch ein wenig stört ist der BASIC-Interpreter. >Der bestehende ist jedoch anscheinend gut genug um als Sprungbrett für >die weitere Entwicklung zu dienen. > >Also die Anwendung liegt doch auf der Hand. Anstelle eines teueren >Aldi-PCs kann man sich jetzt den Rechner selber bauen. Einen Rechner, >welchen man wahrscheinlich sogar komplett verstehen kann. Es ist auf jeden Fall eine gute Grundlage um sich sein eigenes Gerät zusammen zu bauen. Man muss es ja nicht unbedingt mit dem Basic probieren, obwohl ich schwer am überlegen bin, was man da noch herausholen kann. Für Basic ist der AVR gut ausreichend, aber für eine andere Sprache wäre ein ARM angemessener...
Datum: 17.01.2008 05:47
TheMason wrote: > ich programmiere recht viel (in c) und mir fällt es manchmal schwer den > überblick zu behalten, wie machst du das ? (erstaunt ist ....) Ich hab ja auch schon mal größere Dinge in Assembler programmiert und kann einfach sagen, Assembler ist wie ein vereinfachtes C. (zumindest auf guten Controllern) Ich habe mir auch schon mal überlegt, etwas in C zu programmieren, nur da scheiterte ich schon an der Variablendefinition. Solche Dinge sind in Assembler viel einfacher. Also es ist im Prinzip nicht schwieriger wie in C. C ist ja auch keine Hochsprache.
Datum: 17.01.2008 11:11
Mit den AVRs habe ich im Frühjahr 2006 begonnen, Auf Arbeit hatte ich auch schon vorher mal ein bisschen probiert, bin aber beim MCS51 geblieben. Erstes Projekt und "Stein des Anstosses" war eine kleine Spieldose mit zwei Stimmen und 5 Melodien zum Einschlafen für unseren damals gerade geborenen Sohn. Dabei kam mir die Idee mit der Videoausgabe zum Debuggen und letztendlich die mit dem Einchip-Computer. Bis zur ersten Release Mega16 hat es dann ungefähr ein halbes Jahr gebraucht, die Mega32-Version ist zu großen Teilen während des Jahreswechsels 2006/2007 entstanden, danach kamen dann einige Konzeptionen die ich wieder verworfen habe. Mittlerweile bschränkt sich die für meine Projekte verfügbare Zeit auf die Nachtstunden :) und so geht es etwas schleppender voran. Mikrocontroller programmiere ich eigentlich nur in Assembler, da das für mich einfach übersichtlicher ist. Anstelle vieler Variablen und Funktionen gibt es ein paar Register und Speicher. Damit kann ich Algorithmen im Kopf entwickeln, egal wo ich gerade bin. Dann noch eintippen, Fehler rausmachen und fertig (oder auch nicht ;)... Für große Projekte "bastle" ich einen großen Teil der Zeit an den Konzepten. Wie kann ich die Funktion aufteilen? Was für Schnittstellen brauche ich? Für die mehrfache Verwendbarkeit von Codeteilen habe ich mir azu eine Art "Bibliothekskonzept" ausgearbeitet, welches die erweiterten Makrofunktionen des AVRA-Assemblers benutzt. So wird nur der Code aus der Library mit eingebunden, den ich auch wirklich brauche und das nur durch Aufruf des Makros. Anderen Code als auseinanderzunehmen oder Kompatibilität zu anderen Systemen zu wahren halte ich persönlich für Innovations-hinderlich, weil es das Denken in bekannte Bahne lenkt und somit einschränkt. Und so ist alles (bis auf den Zeichensatz, den ich aus einem alten Buch "abgemalt" habe) auf meinem "eigenen Mist gewachsen". Und noch eine gute Nachricht: Thomas Heldt, der auch die hier vorgestellen AVR-Webserver als Bausatz vertreibt, wird demnächst auch einen BASIC-Computer-Bausatz im Angebot haben. Gruß Jörg
Datum: 17.01.2008 11:53
Hallo alle zusammen, nachdem Jörg zugestimmt hat habe ich bereits ein neues Board erstellt und werde im kommenden Monat die Platinen fertigen lassen, es wird dann sowohl Leerplatinen als auch Bausätze geben. Der Preis wird wieder so sein das ich den Bausatz fast zum Selbstkostenpreis im Shop meiner Frau anbieten werde. Allerdings lohnt sich das alles nur wenn wenigstens 10 Bausätze, Preis ca. 34,95 EUR, verkauft werden um die Kosten für die Platinen raus zu holen. Wer also Interesse an einem Bausatz oder einer Leerplatine hat kann sich schon jetzt bei mir melden und wenn dann 10 Bestellungen da sind stelle ich den Bausatz und die Leerplatinen im Shop ein. Die Lieferzeit wird dann ca. 3 Wochen dauern da ich die Platinen dann mit Bestückungsdruck ordern werde, und eine Anleitung will auch geschrieben sein, dazu baue ich dann selber erst einmal ein Board auf um sicher zu gehen das alles funktioniert.
Datum: 19.01.2008 16:07
Hi Leute, habe da mal ne Frage was das Nschließen eines VGA Monitors an den Mini-PC angeht. Habe da so einen alten PC-Monitor der bis zuletzt (vor 3 Tagen) einwandfrei funktioniert hat. Weil aber das Bild langsam matschig wurde hab ich gedacht mach ich mal einen Stecker für den Mini-PC dran. Leider funktioniert es nicht. Ich habe VSync und HSync und RGB Kanäle angeschlossen aber es kommt kein Bild. Der Monitor geht aus dem Standby raus und zischt aber sonst nichts. Vlt. habe ich ihn auch schon gschrottet bei den versuchen ihn anzuschließen glaub ich aber nicht. Weiß jemand Antwort? Gruß Robin T.
Datum: 19.01.2008 16:22
Hallo Robin, wenn es kein "Multisync" ist, wird er mit dem Signal des BASIC-COMPUTER nicht zurecht kommen. Gruss Otto
Datum: 19.01.2008 16:24
Was heißt Multisync? Ich dachte H- und VSync reichen? Viel mehr Anschlüsse sind da ja auch nicht die irgendwie die Bezeichnung Synchronisation tragen.
Datum: 19.01.2008 16:29
Robin T. wrote: > Ich dachte H- und VSync reichen? Viel mehr Anschlüsse sind da ja auch > nicht die irgendwie die Bezeichnung Synchronisation tragen. Das Problem ist, welche vertikalen und horizontalen Ablenkfrequenzen Dein Teil kann. Du bräuchtest 15,625 kHz Horizontal und 50 Hz Vertikal. Das kann kaum ein normaler VGA-Monitor.
Datum: 19.01.2008 16:32
mmh. Mist. Jörg hat ja gesagt ein NTSC/PAL tauglicher Bidlschirm kann an den Mini-PC angeschlossen werden. Aber ich vermute mal das mein alter Röhrenmonitor das nicht kann oder?
Datum: 19.01.2008 16:42
Robin T. wrote: > mmh. Mist. Jörg hat ja gesagt ein NTSC/PAL tauglicher Bidlschirm kann an > den Mini-PC angeschlossen werden. Aber ich vermute mal das mein alter > Röhrenmonitor das nicht kann oder? Tipp mal die Bezeichnung des Monitors in eine Suchmaschine rein. Vielleicht findest Du da was. Also NTSC oder PAL muss er nicht können, nur das Timing muss er unterstützen. Vielleicht kannst Du aber mal probieren, den Controller zu übertakten. Dann kommst Du näher an das VGA Timing dran.
Datum: 19.01.2008 17:06
Das sollen angeblich die Daten sein: Horizontaler Frequenzbereich: 30 - 64 kHz Vertikaler Frequenzbereich: 50 - 100 Hz Maximale Auflösung: 1280 x 1024 Ich weiß aber auch nicht was der BASIC-PC raus gibt. Ich werde mal nachmessen
Datum: 19.01.2008 17:13
Achso und Die Synchronisationspegel sind TTL TGB ist 0,7V. Die Auflösung ist falsch. Maximal geht 1024X768. Hab das Hanbuch gefunden.
Datum: 19.01.2008 17:33
Robin T. wrote: > Das sollen angeblich die Daten sein: da macht er nicht mit: > Horizontaler Frequenzbereich: 30 - 64 kHz Das ginge sogar: > Vertikaler Frequenzbereich: 50 - 100 Hz > Ich weiß aber auch nicht was der BASIC-PC raus gibt. Ich werde mal > nachmessen Der BASIC-PC muss horizontal 15,625 kHz und Vertikal 50 Hz ausgeben. Dein Monitor geht leider horizontal nicht so weit runter.
Datum: 19.01.2008 21:22
VGA (über ein CPLD am Videoausgang) hatte ich am Anfang mal mit vorgesehen, die horizontale Austastlücke war aber zu kurz für Sound, Zufallsgenerator, Tastaturabfrage und serielle Schnittstelle. Und so ist es letztendlich beim TV-Out geblieben. Noch etwas anderes. Da die Atmel Dataflash bei den meisten Versendern nicht zu bekommen sind und es sie obendrein nur in SMD gibt, habe ich mir folgendes überlegt: Alternativ (im Config-Menü umschaltbar) soll auch ein I2C EEPROM vom Typ 24C512 (extern oder im nicht mehr genutzten EEPROM-Sockel mit Adresse 0) verwendbar sein. Dort passen zwar nur max. 16 Dateien drauf, aber immerhin besser als gar nix. Gar nix aber eigentlich auch nicht, da der Mega644 auch selbst schon 8 Programme speichert. Die Frage ist nur, ob ich den Code noch irgendwo unterkriege... Gruß Jörg
Datum: 26.01.2008 01:20
Hallo Jörg, heute habe ich endlich den Controller bekommen und programmiert - dabei gab es das kleine Problem, dass ich mit dem STK500 nicht exakt auf die Fuse-Werte komme, die Du in der "Liesmich" angegeben hast. Ich komme bei "FUSE LOW" nicht auf "E6", sondern nur auf "E7". Nachdem ich mit dem "Fuse-Calculator" so ziemlich alle halbwegs sinnvollen Einstellungen durchprobiert hatte, habe ich den Chip mit diesen Fuses programmiert - "Versuch macht klug" dachte ich mir. Frage: welche Fuses müssen gesetzte sein? (ich vermute, im wesentlichen: "Quartz Full Swing", "Preserve eeprom", "BOD-Level 4,3V", "Boot....default", "JTAG aus") Der Chip zeigte auf dem Fernseher (SCART) zeigte mit gesetztem "NTSC-Jumper" nach dem Einschalten sofort ein farbiges Bild - so wie auf Deiner Homepage. Dann der erste Versuch mit: 1 CLS 2 Print "Hallo"; 3 GOTO 2 - zunächst alles klar, dann wanderte das Bild. Darauf zog ich den "NTSC-Jumper". Nun ist die Textausgabe durch das Programm stabil. Beim Einschalten "läuft das Bild hoch" - ist erst verzerrt und in falschen Farben, normalisiert sich nach ca. 4 Sekunden. Nachdem ich die Funktionstasten verstanden hatte (Umschaltung mit "CTRL") lud ich dann "meine" Programme und startete das "MAIN"........nichts. Gut - alle Zeilen sind "randvoll" und alle Befehle abgekürzt. Nache einem Blick in Dein Manual zeigte sich, dass die Abkürzungen sich teilweise geändert haben oder nicht mehr existent sind - schade - aber gut - dafür gibt es ja 95 Zeilen. Nach einigen Änderungen, Speichern, Probieren usw. (ca. 1h) und ersten Erfolgen passierte etwas merkwürdiges: Bei Aufruf des Editors wurden zunächst nur viele "X" anstelle der belegten Programme angezeigt, nach ein paar Sekunden Programmfragmente, dann fing der Ton an zu knarren und das Bild verschwand. Nach "Reboot" (CTRL-ALT-DEL) startet der Computer neu. Die kleinen Testprogramme laufen noch und lassen sich editieren. Die 4 grossen (max. Zeilenanzahl der MEGA32-Version) verhalten sich gleich: bei Aufruf des Editors nur "X", dann Fragmente, knarren und aus. Frage: hat eines der Programme beim Speichern evtl. das Flash korumpiert ? Gruss Otto
Datum: 26.01.2008 01:31
Hallo Jörg, und noch eine Frage: kann ich ohne Weiteres "BOD-Level" auf 2,7V setzen - bzw. würde Deine SW auch mit 3,3V arbeiten ? Gruss Otto
Datum: 26.01.2008 03:18
Hallo Otto, Das niederwertigeste Bit der LOW-Fuse gibt nur an, nach wieviel Oszillatorzyklen der Controller startet. Bei E7 dauert es etwas länger, sollte eigentlich sogar noch besser sein. Ich habe versucht, die bei Dir aufgetretenen Effekte nachzuvollziehen, es ist mir aber nicht gelungen. Lediglich gibt es bei NTSC ein leichtes Kantenflimmern (hauptsächlich in den Grafikmodi), wird aber mit der nächsten Version behoben sein. Kannst Du ein Verify Deines Flash-Inhaltes machen? Die BASIC-Programme liegen im Bereich 0x4800 bis 0x77ff (bzw. 0x9000 bis 0xefff wenn Byteweise gezählt wird) Ausserhalb dieses Bereiches darf sich nichts änderm! Eventuell könntest Du mir auch eines der fraglichen BASIC-Programme schicken, dann würde ich es hier testen. Sicherheitshalber mache ich in die nächste Version eine einfache Prüfsumme mit rein. Es deutet alles auf Flash-Korrumption hin, die könnte aber auch durch Probleme in der Stromversorgung entstehen. Bei der Mega32-er Version hatte ich am Anfang ähnliche Probleme, die sich mit einem zusätzlichen Abblock-Kondensator lösen liessen. Gruß Jörg
Datum: 26.01.2008 03:19
Glatt vergessen: bei 3,3V wird der Mega644 die 20MHz wohl nicht schaffen, zumindest wird es nicht zugesichert. Gruß Jörg
Datum: 26.01.2008 21:54
Hallo Jörg, ich habe Dir die Basic - Programme und die aus dem Controller ausgelesene Hex-Datei gemailt - ist das Mail angekommen ? Gruss Otto
Datum: 31.01.2008 02:23
Leider gab es im ersten Release ein paar Bugs beim Komprimieren und Dekomprimieren von "langen" Zeilen. Außerdem habe ich die Sprite-Routinen neu geschrieben, die Daten können jetzt beliebig im Array liegen und die Anzahl wird auch nur durch die Größe des Arrays begrenzt. Dann gibt es eine Erweiterung bei PRINT, es lassen sich auch nullterminierte Zeichenketten aus dem Array ausgeben. Und ACOPY mit dem Teile des Array umkopiert werden können. Und Zuguterletzt habe ich mich der Audio-Ausgabe etwas angenommen. Es gibt jetzt eine zweite Klangfarbe und, einen Sequenzer der seine Daten aus dem Array holt und komplett im Hintergrund läuft. Das Thema 24C512 als Programmspeicher ist erstmal wieder vom Tisch, da ich den Code nicht mehr komplett in den Controller bekommen habe. Da das Projekt schon recht komplex und für Anfänger wohl eher undurchschaubar ist, würde ich bei Interesse auch die eine oder andere Routine herauslösen und dokumentieren. Ansonsten viel Spaß damit Gruß Jörg
Datum: 31.01.2008 21:52
Hallo Jörg, vielen Dank für die neue Version - ich hätte da mal zwei dumme Fragen: 1. Wäre es möglich, Programme unter anderen Nummern (z. B. "Programm 2" unter "Programm 5") zu speichern (Backup) um ggf. bei Programmierfehlern oder Fehlfunktionen das Original wieder "zurückzuholen"? 2. Wäre es möglich, Programme ausserhalb des Editors komplett zu löschen (also z. B. "delete program 2") Gruss Otto
Datum: 01.02.2008 12:17
Mal sehen, ob es der Platz im Flash noch erlaubt. Vielleicht als zweite Tastaturebene im Hauptmenü mit "CLEAR" und "COPY". Im Moment steht aber eigentlich erstmal die Überarbeitung der Hardware-Doku an... Gruß Jörg
Datum: 08.02.2008 22:32
Hallo alle zusammen, Leerplatinen und Bausätze sind jetzt bei www.it-wns.de verfügbar ;) Schönes Wochenende... Gruß Thomas
Datum: 12.02.2008 17:26
@Joerg Hab da mal ne Frage: Kann man bei deiner neuen Masken Funktion von: "out" auch die 8 Ports Binär ansteuern? Bzw. könnte man es implementieren? Gruß Robin T.
Datum: 12.02.2008 17:37
Wenn Du meinst, alle Bits anzusteuern, dann geht das so: out $1ff, wert Damit wird die Maske auf %1111111 gesetzt und der LOW-Teil von wert auf die Portleitungen geschrieben. Gruß Jörg
Datum: 12.02.2008 19:21
So habe da mal ein Programm geschrieben mit welchem man das Ausgabeformat von "Print !wert "Text", Zahl, Variable" auswählen und anzeigen kann. Man brauchs vlt. nicht unbedingt aber mir persönlich erleichterts die Formatierung vom Text mit Print. Viel Spass damit P.S.: Falls es nicht funktioniert hab ich was beim Compilieren vergessen. Passiert auch mir.
Datum: 12.02.2008 19:52
bei mir fehlt "BORLNDMM.DLL" - schade Gruss Otto
Datum: 12.02.2008 20:21
Hallo Robin, vielen Dank für Deine schnelle Reaktion - leider hat sich nichts geändert: Mein PC vermisst "BORLNDMM.DLL" und meint, eine "Neuinstallation der Anwendung" würde helfen..... Viele Grüsse Otto
Datum: 12.02.2008 20:28
So habs von jemandem testen lassen. Funktioniert.
Datum: 12.02.2008 21:12
Hallo Robin, vielen Dank - funktioniert wunderbar ! Gruss Otto
Datum: 18.02.2008 22:55
So, hier kommt die neueste Version. Da ich die Doku in großen Teilen überarbeitet habe, ist das Archiv kräftig gewachsen. Dafür gibts jetzt auch ein paar Beispielprogramme. - Kopieren und Löschen von Programmen aus dem Hauptmenü heraus - Editor springt nach dem Speichern nicht mehr automatisch zum Anfang - SIN() und COS() arbeiten jetzt mit ganzen Grad-Werten - Bugfix bei obigen Funktionen (teilw. falsche Werte im 3.Quadranten) - Checksumme für System-Flash - Kleine Änderungen an der Optik (Versionsanzeige nur bei Info) - diverse kleine Bugfixes Die große Sinus-Tabelle musste leider wegfallen, da es zwischenzeitlich sehr eng im Flash geworden war. Viel Spass damit! Gruss Jörg
Datum: 18.02.2008 22:57
Danke für die neue Version. Bin schon ganz aufgeregt sie zu testen! Vorallem die Beispiele. Gruß Robin T.
Datum: 18.02.2008 23:05
Hallo Jörg, auch von mir vielen Dank ! Viele Grüsse Otto
Datum: 18.02.2008 23:10
Naja, viel weltbewegendes ist noch nicht dabei, ich bin aber am überlegen ob ich nicht so eine Art "Codesammlung" auf meiner Seite aufbaue. Gruß Jörg
Datum: 18.02.2008 23:12
Das hatte ich im Mega32 Tread schonmal vorgeschlagen (glaub ich). Das Leute die Programme für den BASIC-PC entwickeln und auf deiner Seite hochladen können. Darauf hatte Otto mir zugestimmt "Damit man das Rad nicht immer neu erfinden muss". Hab ich ein Gedächtnis wow :) Gruß Robin T.
Datum: 18.02.2008 23:21
Hallo Jörg, gerade habe ich die Dokumentation aud Deiner Homepage angesehen: alle Achtung ! hallo Jörg und Robin, ja so eine Codesammlung würde ich auch gut finden.... Gruss Otto
Datum: 18.02.2008 23:40
Ich hab gerade noch drei Fehler gefunden: - beim UNI-BAS Adapter war das falsche Bild dabei - Die Belegungstabelle für den UNI-Anschluss war unvollständig - im Programm PONG fehlte in Zeile 57 ein "END" naja, nix schlimmes aber ärgerlich ist es trotzdem. Gruß Jörg
Datum: 02.03.2008 17:37
Hi, hab da mal ne Frage bezüglich dem Befehl: "ICOMM" Wie kann ich damit das EEProm auslesen? Ich habe es geschafft zu schreiben aber lesen nicht. Ich weiß dass ich da eine 1 an die Adresse hängen muss aber wohin speichert er die Daten bzw. wie gebe ich an wohin er die speichern soll? Danke
Datum: 02.03.2008 17:46
Ach und noch was: Ich habe hier seit der Meag 32 Version einen fertig bestücken BASIC-PC es fehlen lediglich die EEPROMS und der Mega32/644. ABER: Ich habe es nie verwendet weil ich die beiden 9-Poligen Buchen/Stecker vertauscht habe. Eigentlich müsste man das 9-Polig->Scart-Kabel nur Spiegelverkehrt herstellen aber dazu habe ich keine Lust. Vlt. kanns ja jemand gebrauchen. Materialkosten wollte ich dann aber doch wieder raus haben (müsst ihr mir lassen^^) 5 Euro. Gruß Robin T.
Datum: 03.03.2008 21:13
Für EEPROMs die 2 Adressbytes brauchen (24C16, 24C65...) ist es einfacher, den EEPROM auf Adresse 1 zu setzen und dann XPOKE sowie XPEEK() zu nehmen. In der aktuellen Version geht es bis zum 24C512. Ansonsten braucht man halt das Datenblatt, meist kann man den Adresszeiger im EEPROM durch einen unvollständigen Schreibvorgang setzen. Ausprobiert habe ich es aber noch nicht, da mir die eingebauten Befehle genügt haben. Gruß Jörg
Datum: 02.04.2008 23:56
Hallo Jörg, ich hätte mal wieder eine meiner dummen Fragen: ist es möglich, die MEGA32-Version in den MEGA644 Controller zu flashen - falls ja, geht das ohne Änderung der Fuses ? Hintergrund ist, dass ich den Chip der im Fahrzeug eingebauten Platine direkt einlöten möchte, jedoch mit meinem Programm für den 644 noch nicht fertig bin. Gruss Otto (ja - genau der ;-) )
Datum: 03.04.2008 16:27
Hallo Otto, leider geht das nicht so einfach, da beim Mega644 einige IO-Register anders liegen und nicht mit IN/OUT angesprochen werden können. Ich werde mir am WE mal abschauen, wie gross der Aufwand wäre. Gruss Jörg
Datum: 03.04.2008 18:18
Hallo Jörg, vielen Dank für Deine Rückmeldung - kein Problem, dann löte ich einen MEGA32 ein - es war nur eine Frage - ich wollte Dir keine unnötige Arbeit verschaffen ! Viele Grüsse Otto
