www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik (Chip8 / gameboy) Emulator für AVR AVR32


Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich wollte mal fragen ob jemand schon mal ein GameBoy Emulator oder 
ähnliches für einen Mikrocontroller (arm… etc) geschrieben hat bzw sich 
damit mal Beschäftigt hat.

Ich selber habe die Tage mich mal an einem Chip8 Emulator probiert.
Youtube-Video "Atmel-AVR32 uc3 Chip 8 Interpreter"

Ist keine Portierung, alles selbst geschrieben.

Als Prozessor nutze ich einen AVR32UC3
512kbyte Flash
64kbyte SRAM
66Mhz (84Mhz overclock)

Und als nächstes wollte ich mich mal an einen GameBoy Emulator machen.
Da dieses aber etwas komplexer ist, bräuchte ich vielleicht etwas Hilfe.

Der GameBoy selber braucht 16kbyte RAM. Dieses sollte also kein Problem 
sein.

Auflösung ist 160x144. Mein Display hat 176x132. Somit müsste ich bei 
der Ausgabe ein paar Pixel wegschneiden. Wenn ich noch genug 
Rechenleitung habe werde ich die Ausgabe einfach interpolieren.

Zum testen möchte ich die Spiele erstmal im Flash lagern. Dann später 
vielleicht mit 16/32kbyte Buffer von der SD laden.

Falls jemand gute Infos zum Thema GameBoy Emulator hat oder vielleicht 
schon mal einen geschrieben bzw angefangen hat, würde ich mich freuen 
falls er mir ein paar Tipps für mich hat.

Bei Interesse an dem Chip8 Emulator, kann ich die Grunddatei mal 
Hochladen.
An sich ist er aber nicht Geschwindigkeits-Optimiert, sollte aber auch 
so ohne Probleme auf einem ATMEGA laufen(müssen nur die Grundfunktionen 
angepasst werden).
Vorraussetzung sind natürlich Tasten(am besten 16st) + (64X32px) 
Display.

Gruß
Zippi

Autor: Nachtwächter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fpgaboy

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtwächter schrieb:
> fpgaboy

Hmm, das ist nicht so ganz das was ich suche, außerdem gibt es nicht 
mehr so viele infos zu dem Projekt.

gruß

Autor: Artjomka (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mich würde mal interessieren wie du die einzelnen "Anwendungen" von 
deiner Oberfläche aus startest? Oder ist das alles ein großes 
zusammenhängendes Projekt?

Ich glaube gameboy wird nur gehen wenn du die ROM in den Flash lädst. 
bei 512kb denke ich wirst du maximal 256kb für's ROM übrig haben - also 
4/8/16 MBit ROMs fallen dann flach (kA wie da beim Gameboy die 
Verbreitung ist).

Bei der Verfügbarkeit an Gameboy emulatoren wird es wohl kein riesen 
Problem sein einen Emulator zu portieren.

Schließlich kann doch jederzeit vom Anfang der ROM an das Ende 
gesprungen werden - also immer hin und her. Du müsstest dann immer 
wieder von SD Karte laden. Wird nicht gehen.

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Artjomka schrieb:
> Mich würde mal interessieren wie du die einzelnen "Anwendungen" von
> deiner Oberfläche aus startest? Oder ist das alles ein großes
> zusammenhängendes Projekt?

Das ist soweit ein zusammenhängendes Projekt. Beim starten eines 
Programms springt er dann in die C Datei an die entsprechende Funktion.
Einige Grafiken werden aber von der SD geladen, da das Projekt sonst zu 
groß wäre.

> Ich glaube gameboy wird nur gehen wenn du die ROM in den Flash lädst.
> bei 512kb denke ich wirst du maximal 256kb für's ROM übrig haben - also
> 4/8/16 MBit ROMs fallen dann flach (kA wie da beim Gameboy die
> Verbreitung ist).

Die größten spiele sind 16 Mbit groß. Aber der durchschnitt liegt so bei 
1-2Mbit. Aber es sind auch viele spiele (z.b. Tetris sokoban...) nur 
256Mbit groß.

> Bei der Verfügbarkeit an Gameboy emulatoren wird es wohl kein riesen
> Problem sein einen Emulator zu portieren.

Ja ich habe mal den Gnuboy gefunden. Mal sehen wie gut man den Portieren 
kann.

> Schließlich kann doch jederzeit vom Anfang der ROM an das Ende
> gesprungen werden - also immer hin und her. Du müsstest dann immer
> wieder von SD Karte laden. Wird nicht gehen.

Naja es gab einen GameBoy color Emulator für das GBA Movieplayer Modul 
(Unnoficial GoomBA Gameboy Movie Player Version).
Der GBA selber hat intern ja auch nur 256 KB ERAM (6 cycles/32 bit).
Das Movieplayer Modul selber hat kein benutzbares RAM.

Beim Start wurde einmal der Emulator selber ins  RAM geladen, und dann 
das Spiel gebootet.
Wieviel RAM das Spiel zum Buffern bekommen hat weiß ich leider nicht.

Beim Spielen(Pokemon 16Mbit) hat es dann öfters auch mal gestockt, aber 
es funktionierte.

Dazu habe ich 4x so viel mhz wie der GBA und (single cycle SRAM).
Wie gut das wirklich funktioniert muss ich dann mal schauen.

Gruß
Zippi

Autor: Phil S. (zippi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So ich hab mal die besten beiden info-PDFs hochgeladen, damit vielleicht 
Bastler die sich auch mal mit dem Thema befassen schnell antworten 
finden, und nicht erst so lange suchen müssen.

1.  Ist Deutsch
2.  Ist English

Ist sehr interessant zu lesen.

Den Speicher habe ich soweit schon mal Programmiert. Die haupt cpu 
switch case habe ich jetzt von GNUBOY kopiert, muss aber für jeden 
opcode noch den passenden befehl hinzufügen.
Ist eine echt aufwendige Sache, macht aber spaß.

gruß
Zippi

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So mal wieder ein Zwischenstand von mir.

Also ich Habe jetzt 3 Spiele in Den Flash gepackt, Lade die aber dann in 
meinen Emulierten ROM. Scheint auch alles ganz gut zu gehen.

Zur CPU: Habe mich jetzt doch dazu entschieden, den Emulator komplett 
selber zu schreiben.

Habe die CPU auch schon zu 30% Emuliert.

Aber ich habe noch ein paar Fragen: Vll ist ja jemand hier der schomal 
für den Gameboy oder Z80 Programmiert hat.

Es geht um ASM befehle:

LD A, (HL)    //Speichert in A den wert der in Adresse HL steht???

LD (HL),H    //Speichert in Adresse HL den wert H??? Welcher Sinn steckt 
dahinter
LD (HL),L    // Speichert in Adresse HL den wert L??? Welcher Sinn 
steckt dahinter

LD (BC),A    // Speichert in Adresse BC den wert A???

Sind meine Vermutungen soweit richtig?

Gruß
Zippi

Autor: Route_66 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@zippi
Es ist erst mal Alles soweit richtig. Welcher Sinn dahinter steckt etwas 
zu speichern, sollte doch wohl klar sein !
Um Dir mal einen Tip zu geben: die ganzen Sachen (HL), (BC), (IY+2) usw. 
sind vergleichbar mit Pointeroperationen z.B. unter C. HL zeigt also auf 
eine Stelle im Speicher und von dort wird was geholt oder hingebracht. 
Das kann auch der Low-Teil des Pointers (Zeigers) selbst sein: LD 
(HL),L.

P.S. Wer einen wirklich funkionierenden Emulator bauen/schreiben will, 
sollte die Ziel-CPU schon SEHR genau kennen. Gerade der Z80 bzw. sein 
Gameboy-Clone hat da einige Fallstricke.

Autor: Route_66 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, (IY+2) hast Du ja überhaupt nicht in Deiner Frage - ist aber ein 
gängiger Z80-Code!

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Route_66 schrieb:
> Sorry, (IY+2) hast Du ja überhaupt nicht in Deiner Frage - ist aber ein
> gängiger Z80-Code!

Ja bei dem Code bin ich noch nicht. OK dann hab ich den Teil schonmal 
rictig.
Kam mir nur etwas komisch vor den Low teil ,welcher mit beeinflusst wird 
durch die adresse, zu speichern.

Natürlich wird der Emulator nich auf anhieb 100% laufen, das wäre auch 
zu schön^^. Aber jeder fängt mal klein an, deswegen hab ich ja erst 
einmal en Chip8 emu geschrieben.

Weißt du zufällig wie die Wiederholungsrate vom Gameboy VRAM ist?
Ich denke ma 25FPS sollten ok sein oder?

Gruß
Zippi

Autor: Route_66 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>welcher mit beeinflusst wird durch die adresse

Du hast es also doch nicht verstanden!
Die drei Zeilen
LD (HL),H
INC HL
LD (HL),L
bewirken, wenn in HL 8123h steht, daß auf der Adresse 8123h im RAM das 
Byte 81h und auf der Adresse 8124h das Byte 23h gespeichert wird.

Autor: Route_66 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>auf der Adresse 8124h das Byte 23h gespeichert wird

Sorry! - richtig:
auf der Adresse 8124h das Byte 24h gespeichert wird
denn es wird ja zwischenzeitlich HL INCrementiert.

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Route_66 schrieb:
>>welcher mit beeinflusst wird durch die adresse
>
> Du hast es also doch nicht verstanden!
> Die drei Zeilen
> LD (HL),H
> INC HL
> LD (HL),L
> bewirken, wenn in HL 8123h steht, daß auf der Adresse 8123h im RAM das
> Byte 81h und auf der Adresse 8124h das Byte 23h gespeichert wird.

Doch genau so hab ich das auch verstanden. Nur Finde es etwas sinnlos.
Mit beeinflusst meine ich, dass man in $8021 mit dem befehl nur 0x21 
oder 0x80 reinspeicher kann. Da ist man ja sehr unabhänig XD.

dadurch ergibt sich für beide befehle je max. 256 möglichkeiten^^

Aber naja ist soweit auch egal.

Danke nochmal

Gruß

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, mal wieder ein Zwischenstand von mir.
Die CPU hab ich soweit fast emuliert, (erste geschriebene Testprogramme 
laufen schon) nur für das HC flag muss ich mir noch eine vernünftige 
Überprüfung ausdenken. Vll hat jemand ja einen Tipp.

Zu 2 Instruktionen hab ich noch eine Frage. Ich weiß leider nicht wie 
weit der Z80 diese drin hat.

1.  STOP

2.  HALT

Bei einer von beiden macht er glaube ich einen Stopp solange bis ein 
Interrupt kommt. Bin mir aber nicht ganz sicher.

Jetzt hab ich mir erstmal aus der Bibliothek das Buch 
Z80-Maschinebprogramme besorgt. Das Buch ist von 1986. und würde das 
letzte Mal am 2.Juli 1991 ausgeliehen^^

Bitte um Hilfe

Gruß
Zippi

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Wenn du ein gutes Buch suchst: Kieser/Meder 'Mikroprozessortechnik'.
Und noch etwas: der Z80 und auch Nachbauten hatten undokumentierte 
Befehle. Also Befehle (OpCodes) die im offiziellen Befehlssatz nicht 
enthalten waren, aber trotzdem funktioniert haben.

MfG Spess

Autor: Route_66 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Der Z80 kennt den Befehl HALT (076h). Da macht er dann nichts mehr als 
laufend den Refresh-Zyklus für einen eventuell vorhandenen dynamischen 
RAM. Er zeigt es außerdem mit LOW am PIN 18 an. Aus diesem Zustand 
bekommt man Ihn nur durch INT, NMI oder RESET!
Das habe ich mal für eine Tastaturabfrage verwendet: 128-Tasten-Matrix 
und nur EIN (!!!) PIO-Bit.

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Route_66 schrieb:
> Hallo!
> Der Z80 kennt den Befehl HALT (076h). Da macht er dann nichts mehr als
> laufend den Refresh-Zyklus für einen eventuell vorhandenen dynamischen
> RAM. Er zeigt es außerdem mit LOW am PIN 18 an. Aus diesem Zustand
> bekommt man Ihn nur durch INT, NMI oder RESET!
> Das habe ich mal für eine Tastaturabfrage verwendet: 128-Tasten-Matrix
> und nur EIN (!!!) PIO-Bit.

Ah gut Danke schonmal. Dann werde ich bei HALT einfach den 
Programmcounter um 1 verringern, so das er an der Stelle stehen bleibt. 
Bei nem Interrupt stell ich ihn dann ja eh auf die adresse ein. Nur was 
ist ein NMI?
Hab zurzeit noch etwas Probleme mit meinem Programmcounter. Der läuft 
irgendwie aus den 32kb raus bei vielen Games.

Ich denke, dass ich noch irgend ein Fehler bei einem Call bzw jump 
befehl habe.

Der Stop befehlt hat den opcode 0x10 also beim Z80 ist da DJNZ. Was aber 
das Stop genau macht weiß ich noch nicht. Zurzeit behandel ich das so 
wie das HALT.


gruß
Zippi

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Nur was ist ein NMI?

'Non-Maskable Interrupt'. Wird durch das negative Flanke am NMI-Pin 
ausgelöst. Ist der Interrupt mit der höchsten Priorität. Beim Auslösen 
wird nach Adresse $66 gesprungen.

MfG Spess

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LD A, (HL)    //Speichert in A den wert der in Adresse HL steht???
LD (HL),H    //Speichert in Adresse HL den wert H??? Welcher Sinn steckt
dahinter
LD (HL),L    // Speichert in Adresse HL den wert L??? Welcher Sinn
steckt dahinter

LD (BC),A    // Speichert in Adresse BC den wert A???

solche Konstrukte wurden beim Z80 immer zum Kopieren genutzt.
HL,DE und BC laden dann kam der LDIR
Schau Dir den LDIR mal genauer an. Dann verstehst Du.

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stephan Henning schrieb:
> solche Konstrukte wurden beim Z80 immer zum Kopieren genutzt.
> HL,DE und BC laden dann kam der LDIR
> Schau Dir den LDIR mal genauer an. Dann verstehst Du.

So ich hab mir mal das LDIR angesehen, aber der Gameboy selber scheint 
diesen befehl nicht zu kennen. Habe mir auch mal den Opcode angesehen, 
und der ist nicht aufgeführt im gameboy document.

Gruß

Autor: bubi... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss hier mal nachfragen wies so läuft interresiert mich sehr!
push

Autor: Ronny Minow (hobby-coder)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@zippi: Kannst Du uns mal ein Schaltplan der Hardware Deines Chip8 
Emulators zeigen?

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Phil S. schrieb:
> Weißt du zufällig wie die Wiederholungsrate vom Gameboy VRAM ist?
> Ich denke ma 25FPS sollten ok sein oder?

warn glaub ich 60Hz

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI,

Mein Displays ist zurzeit defekt, ich hoffe die neuen Kommen die Tage,
Also die Widerholunsrate betragt 60Hz hab ich jetzt auch schon 
rausgefunden.
Ich emulier das Ganze aber nur und habe in echt 30FPS.
Sieht trozdem noch gut aus.
Ein riesen Problem ist, dass ich nur 64kbyte ram hab...

Ein paar Spiele laufen schon an, hängen sich dann aber wieder auf.
Ich werde mal ein paar fotos machen und den Schaltplan online stellen.

Gruß
Zippi

Autor: Phil S. (zippi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

So heut sind die neuen Displays gekommen ;).
Dazu hier erstmal den Schaltplan.

Gruß

Autor: Ronny Minow (hobby-coder)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Phil S. schrieb:
> Hi,
>
> So heut sind die neuen Displays gekommen ;).
> Dazu hier erstmal den Schaltplan.
>
> Gruß

Uff... Da hast Du doch schon recht viel dranne... Ich denke mal, das ist 
der Schaltplan für den Chip8...?

Kannst Du mal den Schaltplan für den GB-Emu online stellen?

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Schaltplan ist der Gleiche.
Der Rest ist ja nur Software

Also ist Ein mulitmedia Board. Kann auch Musik(MP3,WAV) und Videos 
abspielen.

Autor: Phil S. (zippi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hier ist mal ein Kurzes Video, da sieht man, dass der Emulator noch 
lange nicht richtig läuft.

Gruß

Autor: Johannes G. (johannesg00)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ;)
Ich habe schon öfters überlegt einen Chip8 Emulator/Interpreter auf 
einem AVR zu programmieren...
Hast du ein paar mehr Infos? Interessante Websiten oder sowas ;)

Viele Grüße,
   Johannes

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Phil S. schrieb:
> Hallo,
>
> Hier ist mal ein Kurzes Video, da sieht man, dass der Emulator noch
> lange nicht richtig läuft.
>
> Gruß

wow, sieht ja schon mal sehr gut aus.

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

So hier ist mal nen link:
http://www.pdc.kth.se/~lfo/chip8/CHIP8.htm

Dort ist alles was du brauchst. An sich ist das garnicht so schwer.
Und später dann auf Super Chip-8 zu updaten geht auch ruck zuck.

Wenn interesse besteht kann ich gerne mal meine Chip-8/Super Chip-8 code 
online stellen.
Ist dann nur der Grudcode, also die Ausgabe und die tasten muss man dann 
noch umportieren.
Optimiert ist der auch nicht, da der Chip-8 ja nur 800-1200Hz hat sollte 
es trozdem flüssig laufen selbst mit 1Mhz.

Kleine vorraussetzung ist noch das du min 4Kbyte Ram brauchst.
Mit ein paar tricks kommst du vll auch mit 1Kbyte aus, dann müssen die 
Spiele aber im Flash liegen.

Die Größe eines Chip-8 games beträgt ca. (15-3500byte)
Die Spiele sind alle frei verfügbar.

Gruß

Autor: Phil S. (zippi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

So ich hab mal wieder ein update von meinem Gameboy emu. Hier ist ein 
Viedeo und ein paar Bilder. Das Bankswitchen funktioniert schon, aber es 
ist wirklich sehr langsam. Hätte nicht gedacht das eine Bank so oft pro 
Sekunde gewechselt wird. Pokemon Gelb läuft z.b. nur mit 3-4FPS.
Jetzt muss ich mal sehen, das ich SD multiblock read hinbekomme. Dann 
kann ich vll die Blöcke mit dem DMA updaten.
Sound geht auch noch nicht.
Dazu hab ich noch ein paar Bugs. Wird also noch viel Arbeit.

Hat jemand schonmal Multiblock read für eine SD karte im SPI modus 
programmiert?

Gruß

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

So hier mal ein Video vom akutellen Stand:
Youtube-Video "Atmel-AVR32 uc3 Gameboy Emulator"

Ich werde jetzt aber erstmal nicht mehr am Emulator weiter Arbeiten, da 
es einfach keinen Sinn hat mit 64kbyte ram.

Ich bin grad dabei ein neues Board zu Entwickeln, dann mit größerem 
Display, externem RAM und dem AT32UC3A3256.

Vll haben ja ein paar leute lust mitzuarbeiten. Oder was eigenes mit der 
Hardware aufzusetzen.

Gruß

Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wow sieht ja schon richtig brauchbar aus, abgesehen von der Framerate. 
Was nutzt du fürs Layout? Kannst du Hilfe gebrauchen?

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Framerate? Das Ding läuft zwischen 90-100% Ich mach zurzeit nur 
Frameskip. Also gebe nur jedes 2. bild aus, aber am Emulator kann man 
noch viel optimieren. Das Layout hab ich selber mit eagle gemacht.

Also vll haben ja ein paar leute lust sich mit Emulatoren auseinander zu 
setzten oder selber einfach ein paar Spiele zu Programmieren.. Ich 
mochte bei dem neuen Board es so machen, dass man die Programme einfach 
von der SD karte starten kann. Damit ist man dann auch nichtmehr von dem 
Flashspeicher vom UC3 begrenzt, und man muss nicht mehr das ganze 
Betriebssystem neu Compelieren.

Gruß

Autor: Florian R. (zeflo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Phil,

ich würde da gerne mitmachen :) Was soll den alles aufs Board drauf? 
Vielleicht passt ja noch ein MAX3421E drauf. Dann hätte man einen echten 
USB-Host und könnte mittels Bluetooth-Dongle den Wii-Controler zum 
spielen benutzen. Oder gleich einen USB-Gamepad anschließen :)

Gibt es dann eine Sammelbestellung für die Platinen?
An was für ein Display hast du denn gedacht?

Grüße, Florian

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Also hier ist der aktuelle Stand, auf das Boards soll:

>AT32UC3A3256     256kbyte-flash 128kbyte-SRAM 66Mhz(90mhz Overclock)
>MT48LC16M16A2    256Mbit (32Mbyte) SDRA
>MAX3421E          32Mbit (4Mbyte) Serial Flash
>SD Connector
>DS1337           I2C Real Timer Clock
>LTC4080          Battery Charger with Buck Converter
>KWH022ST03       2,2" Touchscreen Display 220x176px 65k-colors
>TLV320DAC32      Stereo DAC with 2x32bit data and up to 96khz
>NRF24L01          Single chip 2.4 GHz Transceiver
>ADXL322          ±2 g Accelerometer

Zusätzlich aller Spannungsregler für LCD backlight, usb host ...
Werde mich natürlich dann auch um die Beschaffung der Bauteile kümmern.

Der Controller hat schon selber ein USB OTG drauf. Kann man also 
Problemlos im Host benutzen.

Wenn man nicht so viel auf sein Board haben möchte, dann muss man es 
auch nicht komplett bestücken. Das OS wird später so aufgebaut, das es 
am Anfang überprüft was alles auf dem Board drauf ist.

Zur Software:
Grundsätzlich hab ich mir das so gedacht, im Flash selber möchte ich nur 
eine Art bootloader geflash haben, welcher dann das OS von der SD karte 
in den RAM läd, und dann wird das Programm vom SDRAM ausgeführt.
Dazu soll es natürlich möglich sein eigene Programme von der SD karte 
ausführen zu können.
Werde dann die Linkerfiles zur verfügung stellen und ein kleines 
Tutorial schreiben wie man die programme Programmiert, betriebsbereit 
bekommt und ausführt.

In den nächsten Tagen mach ich mal einen Eigenen Thread zu dem Board 
auf.

Die Platienen möchte ich bei Leiton.de herstellen lassen.

Gruß
Zippi

Autor: Florian R. (zeflo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Zusätzlich aller Spannungsregler für LCD backlight, usb host ...
> Werde mich natürlich dann auch um die Beschaffung der Bauteile kümmern.

Das ist natürlich klasse das du auch die Organisation der Bauteile 
übernehmen wirst. Weißt du schon in etwa was ein minimal/voll-bestücktes 
Board kosten wird? Nur grob.

> Der Controller hat schon selber ein USB OTG drauf. Kann man also
> Problemlos im Host benutzen.

Wäre der Controller dann in der Lage alle Funktionen eines USB-Hosts 
bereit zu stellen? Und was für eine Buchse würde dann auf dem Board 
platziert? Das müsste dann doch eine Micro-AB sein. Ein zusätzlicher 
Controller hätte auch den Vorteil das gleichzeitig ein USB-Host-Port 
betrieben, und der LiPo via USB aufgeladen werden könnte.

Apropo LiPo, gibt es da schon einen Speziellen Typ?

Soll das Board auch in ein bestimmtes Gehäuse passen?

Grüße, Flo

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian R. schrieb:
>> Zusätzlich aller Spannungsregler für LCD backlight, usb host ...
>> Werde mich natürlich dann auch um die Beschaffung der Bauteile kümmern.
>
> Das ist natürlich klasse das du auch die Organisation der Bauteile
> übernehmen wirst. Weißt du schon in etwa was ein minimal/voll-bestücktes
> Board kosten wird? Nur grob.

Also je nachdem wieviele wir sind wird das Grundsystem(DISPLAY, MCU, 
RAM, sd, AKKU, DAC .. Regler) wohl um die 60Euro kosten.
Mit allen Bauteilen(Funkmodul, Neigungssensor, serial flash) bis ca. 100 
Euro.

>> Der Controller hat schon selber ein USB OTG drauf. Kann man also
>> Problemlos im Host benutzen.
>
> Wäre der Controller dann in der Lage alle Funktionen eines USB-Hosts
> bereit zu stellen?

Soweit ich weiß, hast du da keine Einschränkungen. Musst du mal im 
Datenblatt schauen.

> Und was für eine Buchse würde dann auf dem Board
> platziert? Das müsste dann doch eine Micro-AB sein. Ein zusätzlicher
> Controller hätte auch den Vorteil das gleichzeitig ein USB-Host-Port
> betrieben, und der LiPo via USB aufgeladen werden könnte.

Ich muss mir da noch was vernünftiges Überlegen. vll mach ich auch 2 
Buchsen drauf. Aufjedenfall kann man den AKKU über USB aufladen.

> Apropo LiPo, gibt es da schon einen Speziellen Typ?

Ebay-Artikel Nr. 150369459144

Hat angeblich 1000mAh. Kann aufjedenfall mit meinem Aktuellem Board ca 
20 St mp3 abspielen.

> Soll das Board auch in ein bestimmtes Gehäuse passen?

Ich suche zurzeit noch ein schönes Gehäuse.

Gruß

Autor: Florian R. (zeflo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das klingt alles sehr gut :) Wie wäre es mit diesem Gehäuse:

http://www.sparkfun.com/commerce/product_info.php?...
http://www.sparkfun.com/commerce/product_info.php?...

Wobei es wohl ein gutes Stück größer als eigentlich nötig ist.

Weißt du schon was für Knöpfe du verwenden wirst?

Grüße, Florian

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Also die gehäuse sind schon etwas zu groß.
Sollte am bessten 50x100x20mm sein. Etwas dünner wäre noch besser. Also 
die Platiene mit display akku und allem ist 12mm Dick.

Taster, hab ich mir die gedacht:
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=C22...
oder die:
Ebay-Artikel Nr. 290427484079

Gruß

Autor: Florian R. (zeflo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, bei den Tastern sollte man nicht sparen :)
Hast du schon ein schönes Gehäuse gefunden?

Flo

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja die aktuellen Taster muss ich schonmal ab und zu austauschen.
Ich war die Tage mal bei neumerkel, aber die haben da auch nur Gehäuse, 
die Dicker als 20mm sind.
Anfertigen lassen würde wohl zu Teuer werden.
Habe auch mal Überlegt ein GBA gehäuse zu nehmen, aber die sind leider 
zu Teuer.

Gruß

Autor: Florian R. (zeflo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm ... das wäre es wahrscheinlich günstiger einen Alu-Block 10*2*8*cm^3 
zu kaufen und mit einer CNC-Fräse ein Gehäuse zu fräsen. Aber es gibt 
echt keine schönen Gehäuse.

Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Projekt stillgelegt??

Autor: Phil S. (zippi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, was heißt Stillgelegt, es funktioniert doch :).

Ich habe das Projekt mal auf ein etwas Leistungsfähigeres Gerät 
Compiliert und konnte damit auch Spiele wie Super Mario Land 2, Pokemon 
oder Kirby Flüssig spielen :).

Gruß
Zippi

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.