Hi Leute,
bei Woolworth gibt es derzeit auf den 1 Euro Wühltischen ein
LCD-Videospiel für Kids für einen Euro.
Das Teil musste natürlich umgehend erworben und zerlegt werden :)
Es handelt sich um einen Spielhandheld namens "Miuchiz Monsterz"
mit USB-Anschluss.
Das Teil wurde mal für 40 Euro vermarktet, jetzt 1 Euro :)
So, was ist drin :
Farb-LCD Powertip FP-00478-02
Flash IC SST39VF1681
2 Quarze 16 MHz und 32768 KHz
Mini-Lautsprecher
SMD 3,3 Spannungsregler
2 Ferrit-Filter am USB-Eingang
3 Batterien Micro 1,5 V
Nicht schlecht für einen Euro :)
Leider finde ich bisher nichts zum Display :(
Hier die andere Seite mit dem Display.
Auflösung geschätzt irgendwo um die 80-100 Pixel horizontal.
Zumindest in dem Woolworth hier hatten sie übrigens
1-200 Stück davon in einer Riesenkiste.
Aber da es auf der Woolworthseite im Prospekt ist, geh ich mal
davon aus dass es in allen Filialen erhältlich ist.
Wenn du mal auf der Seite von Powertip das numbering System von denen
anschaust spricht eigentlich alles für Custom design. Denn irgendwie
will die Nummer nicht so richtig in deren System passen.
Ich fürchte, da müsste man wenn dasnn reengineering betreiben.
Sebastian
Hi, sieht ja interessant aus. Zum ausschlachten ist sicher etwas dabei,
aber genial wäre es natürlich wenn man in den Flash eigene Programme
laden könnte, was ja prinzipiell möglich sein sollte.
Dazu müsste man als erstes herausfinden welcher Mikrocontroller unter
dem Plastik-Kleks mit dem grünen Aufkleber ist.
Werde mir nächste Woche zwei Stück besorgen.
Thomas R. schrieb:
> Übrigens, der 3.3V "spannungsregler" - was steht da drauf ? Muss> eigentlich ein step-up wandler sein.
Aber Spule ist keine zu sehen. Eher ist es ein LDO, der die ICs vor 4,5V
bei vollen Batterien beschützt.
So, hab etwas zum Display rausgefunden ;)
Es ist genau dieses (zumindest optisch):
http://www.alaeldean.com/alaeldean/show_product.asp?id=4166
Auf der Rückseite steht "JPH9867C-001-I-P1-Q
Google spuckt bei "PH9867C" und "PH9867C-001" viele
Seiten aus, aber kein Datenblatt in Sicht.
Zu dem vermutlichen Controller findet man aber interresantes :
The ST7626 is a driver & controller LSI for 65K color graphic dot-matrix
liquid crystal display systems. It generates 294 Segment and 68 Common
driver circuits. This chip is connected directly to a microprocessor,
accepts Serial Peripheral Interface (SPI) or 8-bit/16-bit parallel
display data and stores in an on-chip display data RAM. It performs
display data RAM read/write operation with no external operating clock
to minimize power consumption. In addition, because it contains power
supply circuits necessary to drive liquid crystal, it is possible to
make a display system with the fewest components.
SPI hört sich gut an :)
Alexander Schmidt schrieb:
> Hi, sieht ja interessant aus. Zum ausschlachten ist sicher etwas dabei,> aber genial wäre es natürlich wenn man in den Flash eigene Programme> laden könnte, was ja prinzipiell möglich sein sollte.> Dazu müsste man als erstes herausfinden welcher Mikrocontroller unter> dem Plastik-Kleks mit dem grünen Aufkleber ist.>> Werde mir nächste Woche zwei Stück besorgen.
Das Teil bindet zwei USB Devices ein, eines davon ein Wechseldatenträger
der aber unter Windows als nicht Formatiert angezeigt wird.
http://camerahacks.10.forumer.com/a/miuchiz-device-handheld-with-usb-port_post5358.html
Im Prospekt ganz unten steht übrigens in welchen Filialen das Teil
nicht erhältlich ist :
http://www.woolworth.de/downloads/prospekt_WP933_de.pdf
Andreas Jakob schrieb:
> Es ist genau dieses (zumindest optisch):>> http://www.alaeldean.com/alaeldean/show_product.asp?id=4166
Also ein passives Farbdisplay mit max 98x68 Pixel.
Schau mal ab Seite 89 im ST7626 Datenblatt. Die Anschlussbelegungen der
Displays passen meist komplett oder zumindest zu >90% zu den Vorschlägen
im Datenblatt des Controllers.
Die meisten Pins wie Vcc und GND, sowie die Kondensatoren sollten sich
ja leicht auf der Platine finden lassen. Die Lücken dazwischen kann man
dann mit den Infos aus dem Datenblatt leicht füllen.
Der Datenbus scheint direkt vom Flash zum Displayconnector
zu laufen. Damit wäre dass schonmal klar (sobald der Connector
runtergelötet ist)
Benedikt K. schrieb:
> Andreas Jakob schrieb:>> Es ist genau dieses (zumindest optisch):>>>> http://www.alaeldean.com/alaeldean/show_product.asp?id=4166>> Also ein passives Farbdisplay mit max 98x68 Pixel.>> Schau mal ab Seite 89 im ST7626 Datenblatt. Die Anschlussbelegungen der> Displays passen meist komplett oder zumindest zu >90% zu den Vorschlägen> im Datenblatt des Controllers.> Die meisten Pins wie Vcc und GND, sowie die Kondensatoren sollten sich> ja leicht auf der Platine finden lassen. Die Lücken dazwischen kann man> dann mit den Infos aus dem Datenblatt leicht füllen.
Hi zusammen,
das Teil sieht ja wirklich interesannt aus. Im Netz gibt es leider nur
wenig Infos, die nicht wirklich verifiziert sind. Angeblich soll ja ein
6502-Klon in dem Teil werkeln. Mit viel Glück enthält das eingebaute ROM
nur einen Bootloader und die Firmware wird im externen FLASH
gespeichert.
Vielleicht funktioniert ja libst2205 mit dem Teil:
http://picframe.spritesserver.nl/wiki/index.php/Libst2205
Kann eventuell jemand weiter Infos ermitteln? Nützlich wären VID/PID vom
USB-Device. Vielleicht hat jemand die Möglichkeit ein paar Oszilogramme
vom Display aufzunehmen. Damit könnte man ermitteln, ob wirklich ein
SPI-Interface genutzt wird. Ich werd mir morgen mal ein paar Teile
kaufen.
Gruß,
SIGINT
Dafür dürfte das Teil zu wenig RAM besitzen. Selbst wenn man es schafft
z.B. einen ARM oder x86 Emulator auf dem 6502 zu implementieren, bekommt
man den Linux-Kernel nirgendwo unter. Und man muss dann einen halben Tag
warten, bis X gestartet wurde ;-)
So,
ich hab mir die Konsole jetzt auch besorgt. War leider nur noch eine
da.
Ich bin mir nun relativ sicher, daß das Display ein 8Bit-Interface
besitzt, wie es oben im Link gesagt wird. Der ST7627 sieht ja relativ
einfach aus, wenn man sich das Datenblatt mal aufmerksam durchliest. Ich
werd das morgen mal genau anschauen. Eigentlich müssen wir ja nurnoch
die Pinbelegung durchmessen und dann kann es losgehen. Ich werd mir das
die Tage mal genauer anschauen. Schade, daß ich nur ein Display bekommen
hab.
Gruß,
SIGINT
Ich hab heute nochmal 10 gehamstert :)
Jetzt hoff ich das Display auch angesteuert zu bekommen,
sonst kann ich jahrelang allen kids in der Verwandschaft die
Dinger schenken :)
Hab grad angefangen die Anschlussbelegung nachzuvollziehen.
Mensch... dann muss ich morgen nochmal in einer anderen Stadt
nachschauen. Wenn wir das Display ans laufen bekommen, wäre das echt ein
Schnäppchen.
Also: LED und Daten scheinen schonmal relativ einfach zu sein. Pin1 ist
beim Lautsprecher.
Pin / Belegung
1/ LED +
2/ LED -
3-15/ Daten- und Steuerleitungen (die Belegung muss ich noch
herausfinden, sollte aber kein großes Problem sein da die Datenleitungen
bekannt sind)
16/GND
17+18/3.3V?
19/GND
20/1M Widerstand gegen Masse?!?
Kann die Beobachtungen jemand bestätigen?
Gruß,
SIGINT
Sigint 112 schrieb:
> Mensch... dann muss ich morgen nochmal in einer anderen Stadt> nachschauen. Wenn wir das Display ans laufen bekommen, wäre das echt ein> Schnäppchen.
Ich kann ja noch ein paar holen und dir im Luftpolterumschlag schicken
;)
>> Kann die Beobachtungen jemand bestätigen?>
Hier mein derzeitiger Stand :
Pin Funktion Bemerkung
1 LED +
2 LED -
3 ? zur CPU
4 ? zur CPU
5 A0
6 /RESET
7 /OE /OE vom Flash
8 D7
9 D6
10 D5
11 D4
12 D3
13 D2
14 D1
15 D0
16 GND
17 VCC 3,3V
18 VCC 3,3V
19 GND
20 ? Über 1M und C parallel an GND
@Andreas: Hey, wenn du noch 5 besorgen kannst waere das wirklich super.
Ist ja nicht wirklich viel Geld. Versand ist mit Hermes relativ
preiswert, oder?
Kannst mir ja ne PM schreiben, wenn du noch welche bekommen hast.
Zur Pinbelegung: Ich hab bei Pin6 den WE-Pin des Flash ausgezaehlt.
Leider kann ich so spaet die kleinen Pins nichtmehr zuverlaessig
zaehlen... das mach ich morgen nochmal. Der Rest ist identisch mit der
Belegung, die ich ermittelt habe. Mich wundert nur die Belegung von
Pin20... wofuer ist das gut? Die beiden Pins zum Controller duerften /CD
und E sein. Ab hier duerfte es kein Problem mehr sein das Display ans
laufen zu bekommen. Sogar den Spannungsregler duerfte man Recyceln
koennen.
Schade, dass ich nicht mehr ueber den Controller herausfinden konnte. So
ein 6502-Klon waere schoen zum rumspielen. Aber egal.
Gruss,
SIGINT
Nur gibts die (noch ?) nicht für einen Euro :)
Ich schau mal morgen wieviel die hier im Woolworth noch haben,
und hol dann evtl. nochmal ne Tüte voll.
Wenn ich die Batterien rausnehme, müssten vier Stück grade noch
so als Warensendung Maxi für 1,65 Euro durchgehen.
> Mensch... dann muss ich morgen nochmal in einer anderen Stadt> nachschauen. Wenn wir das Display ans laufen bekommen, wäre das echt ein> Schnäppchen.
Seht mal auf
http://www.woolworth.de/aktuelle-angebote/aus-unserer-werbung/
Auf der rechten Seite stehen die Daten wann das Zeug wo im Angebot ist.
Oha, ich wohn in Baden-Württemberg, und hier
gabs die definitiv ab 5.8. !
Aber wenn die anderswo erst übermorgen erhältlich sind, ist
dass für die Leute die sich noch welche holen wollen umso besser :)
Sigint 112 schrieb:
> Zur Pinbelegung: Ich hab bei Pin6 den WE-Pin des Flash ausgezaehlt.
Stimmt, ist WE.
Ich bin mir noch nicht ganz sicher, aber vermutlich sieht das Ganze
so aus :
Pin Funktion Bemerkung
1 LED +
2 LED -
3 /CS
4 /Reset
5 A0
6 /WR /WE vom Flash
7 /RD /OE vom Flash
8 D7
9 D6
10 D5
11 D4
12 D3
13 D2
14 D1
15 D0
16 GND
17 VCC 3,3V
18 VCC 3,3V
19 GND
20 VLCD Über 1M und C parallel an GND
Hi at all.
So ich will dann auch mal einsteigen. War grad in unserm Dorf Woolworth
und hab alle 6 weggekauft. Die meisten leute haben nur dum geschaut,
aber egal. An der Kasse wurde ich dann noch gefragt was das ding
eigentlich genau ist^^
Woher soll ich das wissen ;) will doch nur die Bauteile.
Werde gleich mal 1 auseinander nehmen.
gruß
Hmm
Also das Spiel da drauf ist ja der größte schrott :D.
Aktive fläche vom Display ist 19x28mm.
@ slime
>Pin 5 konnte ich bis jetzt nicht ausfindig machen
Dann werde ich gleich mal den Connector runter löten und dir sagen wo
pin 5 hingeht.
Hier:
http://www.sitronix.com.tw/sitronix/SASpecDoc.nsf/FileDownload/ST76261292513/$FILE/ST7626%20Ver_1_5.pdf
das Datenblatt von dem Controller. Das sollte mit ziemlicher sicherheit
der Richtige sein.
Gast schrieb:
> Thread-Titel -> "*Mini*-Farbdiplay für 1 Euro" ;)
aber so klein hätt ichs auch nicht vermutet, hätte so auf 30x40 getippt
@antibyte:
wenn das stimmt, dann brauchste für mich doch keine mitbringen.
falls du sie schon hast und nienamd anderes sie will, nehm ich sie
natürlich ab.
Ja das stimmt. Hab es mit einem Lineal gemessen.
Viel größer wäre auch nicht so schön, da die Pixel dann zu groß wirken.
Hier ist mal ein Bild.
Achja die Display diagonale ist:
1,33 inch = 3,3782 centimeters
lg
Seh ich das richtig, dass das gehäuse des Displays Quadratisch ist, und
nur die aktive Anzeigefläche breitformatig ist? Kann das bitte mal
jemand ausmessen? Wenn die exakt Quadratisch sind wirds für mich nämlich
auch interessant.
Gruß, Sebastian
Es läuft über den parallelen 8bit Bus. SPI geht nicht, denn dazu müsste
man die IF Pins alle auf GND legen, aber die sind intern fest verdrahtet
(eventuell auf dem Folienkabel, aber da möchte ich nicht rumlöten).
An sich ist das Display garnichtmal schlecht (vor allem für den Preis).
Schön ist, dass es abgesehen von dem einen Kondensator an der
Displayspannung (den ich momentan aber nicht mal dran habe) keine
externen Bauteile benötigt. Auch optisch ist es garnicht mal schlecht,
die Farben sind relativ kräftig.
Nur das Backlight könnte gleichmäßiger sein.
@Benedikt: Auf dich ist mal wieder verlass! :-)
Das sieht ja echt nicht schlecht aus. Ich muss so schnell wie möglich ne
Platine ätzen.
@Phil: Das Display ist fest im 8bit-Modus verdrahtet. Du müsstest die
Leitungen auf der Leiterfolie ändern um den SPI-Modus zu aktivieren.
Schau dir mal im Datenblatt an, wie man die Modi auswählt.
Gruß,
SIGINT
Thema Stromverbrauch:
Das Display läuft bei mir mit 3,3V und zieht ziemlich genau 1mA. Das
Backlight ist selbst bei <5mA noch ausreichend hell. Als gesamte
Stromaufnahme reichen als 5mA wenn man Strom sparen möchte, oder rund
10-20mA wenn das schön Backlight hell sein soll.
Das Display ist also ideal für Batteriebetriebene Geräte.
Cool, das ging ja schnell, Benedikt :)
Ich hab noch ein paar auf Reserve geholt.
Wer wirklich keine andere Möglichkeit hat an die Konsolen zu kommen,
kann mir ne PM schreiben. 3 Stück im Luftpolsterumschlag als
Warensendung kommen dann auf 5 Euro inkl. Versand.
Der Initcode ist copy&paste aus dem Datenblatt.
Dazu kommen noch die writebyte/writecommand Funktion:
1
voidwritebyte(unsignedcharbyte)
2
{A0=1;
3
PORTB=byte;
4
CS=0;
5
WR=0;
6
asm("nop");
7
asm("nop");
8
WR=1;
9
CS=1;
10
}
11
12
voidwritecommand(unsignedcharbyte)
13
{A0=0;
14
PORTB=byte;
15
CS=0;
16
WR=0;
17
asm("nop");
18
asm("nop");
19
WR=1;
20
CS=1;
21
}
Und noch loadpic (Bilder über den UART vom PC laden):
1
unsignedcharloadpic(void)
2
{unsignedcharx,y;
3
writecommand(0x75);// Y Adresse setzen
4
writebyte(0);// Y Start
5
writebyte(67);// Y Ende
6
writecommand(0x15);// X Adresse setzen
7
writebyte(0);// X Start
8
writebyte(97);// X Ende
9
writecommand(0x5C);// Daten schreiben
10
for(y=0;y<68;y++)
11
{for(x=0;x<98;x++)
12
{writebyte(uart_getchar());
13
writebyte(uart_getchar());
14
}
15
}
16
}
PS: Ich habe das Teil mal an den PC angeschlossen. Es meldet sich als
Laufwerk an. Allerdings wird das Laufwerk als unformatiert, aber mit
16MByte Kapazität angezeigt. Wie die auf einem 2MByte Flash gespeichert
werden sollen, ist mir ein Rätsel.
PSS: Hat jemand die Frauenversion (dieses rosa Teil) von dem Spiel? Die
finde ich noch lustiger als die andere Version...
Benedikt K. schrieb:
> PS: Ich habe das Teil mal an den PC angeschlossen. Es meldet sich als> Laufwerk an. Allerdings wird das Laufwerk als unformatiert, aber mit> 16MByte Kapazität angezeigt. Wie die auf einem 2MByte Flash gespeichert> werden sollen, ist mir ein Rätsel.
Das ist kein Rätsel: Das wird wie bei den Photoschlüsselanhängern sein.
Die "Festplatte" bietet nur bestimmte Adressen an, über die auf den
gesamten Speicherbereich des ST2203/5 zugegriffen werden kann.Siehe:
http://picframe.spritesserver.nl/wiki/index.php/Libst2205
Leider scheint das Interface von dem Miuchiz nicht 100% indentisch zu
sein.
Hab mich damit aber nicht weiter beschäftigt. Zudem der Prozessor noch
ein OTP-ROM besitzt, welches nicht modifiziert werden kann--> daher
wahrscheinlich uninteresannt. (es sei, im ROM sitzt eine Art Bootloader)
> PSS: Hat jemand die Frauenversion (dieses rosa Teil) von dem Spiel? Die> finde ich noch lustiger als die andere Version...
Naja... technisch scheinen die identisch zu sein. Hab aber nur das rosa
Teil. Deshalb kann ich nicht vergleichen.
Gruß,
SIGINT
@Benedikt K. (benedikt) (Moderator)
>PSS: Hat jemand die Frauenversion (dieses rosa Teil) von dem Spiel? Die>finde ich noch lustiger als die andere Version...
ich versuch mal die nächsten Tage in den Berliner Filialen
mein Glück.
Wenn es unbedingt denn in Rosa sein soll, ich halt mal Ausschau.
Wigbert
Sigint 112 schrieb:
> (es sei, im ROM sitzt eine Art Bootloader)
Das ist recht wahrscheinlich.
Auf der Webseite kann man ein Update runterladen, die Versionsnummer
wird dann im Punkte-Menü angezeigt. (Bei mir V2.00.04, das Updatetool
scheint aber unter Vista nicht zu laufen.)
http://www.miuchiz.com/de/index_monsterz.html
Sigint 112 schrieb:
> Das ist kein Rätsel: Das wird wie bei den Photoschlüsselanhängern sein.> Die "Festplatte" bietet nur bestimmte Adressen an, über die auf den> gesamten Speicherbereich des ST2203/5 zugegriffen werden kann.
Interessant. Mit einer eigenen Software kann man damit bestimmt schöne
Sachen machen.
Allerdings finde ich diese Lösung aber auch für einen ziemlichen Pfusch.
Das hätte man bestimmt besser machen können.
> Naja... technisch scheinen die identisch zu sein. Hab aber nur das rosa> Teil. Deshalb kann ich nicht vergleichen.
Ja, die Elektronik ist gleich, vermutlich auch ein Großteil der
Software. Letztendlich ist das ganze nix anderes als eine Art
Tamagotchi. Die rosa Version ist speziell auf Frauen angepasst (man kann
Kleider kaufen und anderen Scheiß machen, in der anderen Version gibts
Statt dem Kleiderladen ein Waffengeschäft). Ich fand es nur lustig als
ich die Anleitung überflogen habe, auch die Geräusche die das Ding
macht...
Ich würde fast drauf tippen, dass der Unterschied zwischen den beiden
Versionen nur im Flash ist.
Bin kurz vor Ladenschluss hier in Linau mal bei W... gewesen und hab mir
einige gesichert. Hier liegen noch etliche in der Kiste auch die rosa
Variante (hatte ich wegen der Farbe ignoriert). Denke das die hier kaum
gekauft werden (es sei denn ich habe durch meinen Kauf hier das
Interesse der Leute geweckt) und kann morgen bei Interesse noch einige
besorgen.
PM geht leider nicht ... müste mich endlich mal anmelden.
Hi,
es überrascht mich, das so geziehlt für Jungen und Mädchen
unterschieden wird. Ab wann wäre die Konsole? 3 Jahre?
Dieses Folienkabel, da sollte sich doch ein Stecker finden lassen.
Hat mal jemand das Raster ausgemessen?
Wigbert
Die Konsolen sind für 6+.
Das einfachste dürfte es sein den originalen Stecker aus zulöten, geht
mit Heißluft ziemlich gut. Man darf es nur nicht zu heiß machen, sonst
verzieht sich das Kunststoff. Das Raster ist 1mm.
Könnte es sein das das Display mit der initialisierung aus dem
Datenblatt einen schlechteren Kontrast hat? Bei mir wirken die Farben im
direkten vergleich mit einem was noch in dem "Videogame" eingebeut ist
deutlich blasser. Lässt sich da noch was machen?
Ansonsten aber schickes Teil für nen Euro.:)
Das sind halt die typischen Toleranzen bei den Displays. Es könnte sein,
dass im EEPROM vom Display der passende Wert hinterlegt ist. Mit dem
LoadEEPROM Programm aus dem Datenblatt kann es sein, dass die richtigen
Werte geladen werden, ausprobiert habe ich das aber noch nicht.
Ich habe das quick&dirty gemacht:
Die ersten 54 Bytes sind bei einer BMP Datei der Header. Den werfe ich
weg und danach kommen die RGB Bilddaten die ich dann in das passende
16bit Format für das Display umwandle und an den AVR schicke.
Ich teste solche Displays immer über den PC:
Die Software auf dem AVR besteht wirklich nur aus den Lowlevel Routinen
writebyte, writecommand und lcd_reset. Diese Funktionen lassen sich der
UART steuern.
Die eigentliche Initroutine und Datenerzeugung läuft dann auf dem PC.
Dort ist das compilieren und ausprobieren schneller als wenn ich immer
eine neue Software in den AVR flashen muss.
Benedikt K. schrieb:
> Die Konsolen sind für 6+.>> Das einfachste dürfte es sein den originalen Stecker aus zulöten, geht> mit Heißluft ziemlich gut.
Da an der Stelle auf der Platinenrückseite keine Bauteile sind,
könnte dass auch mit einem Bügeleisen auf höchster Stufe funktionieren.
Platine ne Minute aufs Bügeleisen pressen und Buchse runternehmen.
@Benedikt K. (benedikt) (Moderator)
>Ich teste solche Displays immer über den PC:
Interessant, eigene Software geschrieben?
Das jedes mal neu flashen geht mir langsam auch auf den Geist.
@Andreas Jakob (antibyte)
>könnte dass auch mit einem Bügeleisen ...
oder mit einer Reglerkochplatte, die Dinger will eh keiner mehr
haben
Wigbert
Was vielleicht auch noch ganz witzig wäre :
Flash auslöten, Leiterbahnen um die CPU mit Cutter-Messer
durchtrennen, ATMega32 auf kleiner SMD-Platine reinkleben
und mit Display, Tastern und USB-Kabel verbinden.
USB-Bootloader drauf :
http://www.obdev.at/products/vusb/prjprog.html
Fertig, AVR-Handheld Konsole ;)
@Benedikt K.
> Es läuft über den parallelen 8bit Bus. SPI geht nicht, denn dazu müsste> man die IF Pins alle auf GND legen, aber die sind intern fest verdrahtet
Mich interessiert mal, in welchem Modus das Display läuft, 6800 oder
8080?
Aus Deinem Softwarebeispiel weiter oben und nach Studium des DB würde
ich auf 8080 tippen bzw. sieht es eigentlich so aus, als wenn es beim
Schreiben egal wäre. Legst Du RD/E fest auf "H" oder auf einen Port?
Reinhard
Wigbert Picht-dl1atw schrieb:
>>Ich teste solche Displays immer über den PC:>> Interessant, eigene Software geschrieben?
Es ist einmal die Software auf dem AVR, von der ich mir quasi eine
Vorlage geschrieben habe, also ein Projekt das die Grundfunktionen
enthält, die ich entsprechend an den Bus und die benötigten Pins des
LCDs anpasse. Theoretisch könnte ich auch eine universelle Software
schreiben, die die Pins einzeln setzten kann, aber das wäre dann gleich
viel langsamer und Fehleranfälliger. Hier existieren dann z.B. die
Funktion writebyte und writecommand die per UART gesteuert werden und
als Schnittstelle zur Hardware dienen.
Das andere ist ein kleines C++ Programm in dem ebenfalls die writebyte
und writecommand Funktion existieren, nur senden diese die Daten über
den UART (bei mir ein FT232 USB-UART Wandler) an den AVR weiter, der die
Daten dann an die dortigen writebyte/command Funktionen übergibt.
Das ganze hat den Vorteil, dass ich den Code, den ich auf dem PC
entwickele dann später direkt (also komplett unverändert) in die AVR
Software übernehmen kann, in der die writebyte und writecommand Funktion
ja bereits existieren. Nur der Weg über den UART fällt dann weg.
Reinhard Richter schrieb:
> @Benedikt K.>> Es läuft über den parallelen 8bit Bus. SPI geht nicht, denn dazu müsste>> man die IF Pins alle auf GND legen, aber die sind intern fest verdrahtet>> Mich interessiert mal, in welchem Modus das Display läuft, 6800 oder> 8080?
8080 Modus.
> Legst Du RD/E fest auf "H" oder auf einen Port?
Ich habe es erstmal auf einen Port gelegt, aber der liegt dauerhaft auf
high, man kann es also auch direkt an high legen.
Ich hatte mal die Initialisierung des Displays in der Originalplatine
aufgezeichnet, da scheint RD auch dauerhaft auf high zu liegen.
soweit so gut,
Display auf meiner Platiene läuft nu auch perfekt.
RD ist ja für das lesen oder schreiben zuständig.
Ich denke mal das die auf ihrem board eine art Vram haben, und niemals
vom Display lesen werden.
Hat schonmal jemand versucht das SST auszulesen?
gruß
Verpackung
1 Plastikstreifen
1 Klebesstreifen
5 Klebepunkte
6 Tiefziehteile
8 Papierteile
Anleitung ist in Rückseitiges Papierteil eingeklebt (zwei Klebestreifen)
und in Plastiktüte (mit 2 Klebestreifen verschlossen).
Insgesamt 120 g.
Hallo, ich hab mir auch ein paar von den "Displays" gekauft. Wie genau
schließt ihr die an den AVR an? Sind die Eingänge 5V Tolerant? Wie
funktioniert das mit der Ansteuerung genau? Also wie muss man welche
Commands senden?
Gruß Björn
Phil S. schrieb:
> Hat schonmal jemand versucht das SST auszulesen?
Bis jetzt noch nicht. Der Inhalt würde mich aber auch interessieren.
Leider hab ich noch Probleme so einen Pinabstand zu handhaben. Ich werd
vielleicht am WE mal eine Trägerplatine ätzen. Wenn dort das
Applikationsprogramm sitzt und man von dort aus Zugriff auf das interne
ROM hat, dann besteht vielleicht die Möglichkeit die Spielekonsole neu
zu programmieren. Das wäre natürlich Mega-Genial, da es viele Leute gibt
die den 6502 mögen. Ich vermute, daß man nur entsprechende
Speicherstellen der "Festplatte" ansprechen muss, um das Flash neu zu
programmieren. (Die Konsole meldet sich, wie oben erwähnt, als
Festplatte an).
Vielleicht hat ja jemand interesse sich hiermit näher zu beschäftigen.
Wir könnten dann ja eine Arbeitsgemeinschaft bilden.
Gruß,
SIGINT
Hallo,
hat es eigentlich schon jemand geschafft, die Software von der
Webseite zu ziehen?
Der wuerde ich gern mal per USB-Analyser auf die Finger schauen...
doofi schrieb:
> Hallo,>> hat es eigentlich schon jemand geschafft, die Software von der> Webseite zu ziehen?>> Der wuerde ich gern mal per USB-Analyser auf die Finger schauen...http://www.miuchiz.com/Miuchiz_Update.msi
Er meinte vermutlich die richtige PC-Software, nicht nur das Update. Die
bekommt man aber erst nach der Registrierung, aber irgendwie geht der
Download dann nicht.
Möchte eine Minimalversion mit tiny2313 und 2x3 ISP bauen, möglichst 1
Seite SMD oder 1 Seite + GND plane.
Habe aber auch Interesse an einer Version mit FTDI 232 USB Wandler.
Da ich jetzt keine Zeit habe (bin auch nicht so fit in Eagle), hier mal
der allererste Anfang eines Schaltplans.
Mit 'plscsi' kann man sich schonmal einen Dump des nicht formatierten
USB-Devices ziehen.
plscsi -vx "28 0 00:00:00:00 0 00:01 0" -i x200
gibt z.B. den ersten Sektor aus.
Viel Spass beim Disassemblieren...
Ich hab erstmal mehr Hunger als Neugier.
Unter \Programme\MGA Games\Miuchiz TM Update
gibts ne 4 MB Datei Miuchiz Update.dat
Das sind vermutlich die Images für die beiden Versionen
hintereinandergehängt.
Bei mir geht der Download auch nicht...
>@Benedikt und slime
Hab zum Display mal ne Hardware frage,
Was habt ihr genau an VLCD angeschlossen?
Also ich habe dort original den Wiederstand und den Kondensator vom
board genommen. Der liegt ja zwischen VLCD und masse wenn ich das
richtig verstanden hab. An vcc hab ich 3,3V anliegen, doch leider bricht
manchmal die VLCD spannung auf 1V ab und dann sieht man natürlich nichts
mehr auf dem display.
Wie habt ihr VLCD beschaltet???
Den SST hab ich schon ausgelötet. Ich werde dann auch mal eine
Testplatiene für den SST machen. Mal sehen, es sollte eigentlich kein
Problem sein die daten auszulesen und über den serial anschluss an den
PC zu schicken.
lg
Phil S. schrieb:
> Was habt ihr genau an VLCD angeschlossen?
Ich habe da momentan nichts dran.
> Also ich habe dort original den Wiederstand und den Kondensator vom> board genommen. Der liegt ja zwischen VLCD und masse wenn ich das> richtig verstanden hab.
Ja.
> An vcc hab ich 3,3V anliegen, doch leider bricht> manchmal die VLCD spannung auf 1V ab und dann sieht man natürlich nichts> mehr auf dem display.
Was heißt manchmal? Eigentlich sollte die Spannung nach dem Starten der
internen Ladungspumpe anliegen und auch stabil bleiben bis zum
Abschalten.
Ist dies das Richtige Pixelformat?
(2) 65K color input mode
1. 8-bit mode
D7, D6, D5, D4, D3, D2, D1, D0: RRRRRGGG 1st write
D7, D6, D5, D4, D3, D2, D1, D0: GGGBBBBB 2nd write
Wenn ich versuch RGB werte, je Farbe 00..FF umzuwandeln passen die
Farben nicht so wirklich.
hi,
Manchmal heist, dass es so nach ca. 20 sec aus geht, und dann nach 1
oder 2 sec wieder an. Ist nen komisches verhalten.
Ich werde mal das Display an ne externe Spannung hängen und nicht an die
Dev board vcc.
So hab hier mal eben die Eagle lib für den SST gemacht. Vll will ja noch
jemand versuchen das ding auszulesen oder den baustein für andere
Projekte mishandeln.
gruß
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Sind zwei getrennte Funktionen besser als eine mit zusätzlichem
Parameter, wie im Datenblatt? Es ändert sich ja nur ein Bit..
Können /RESET und RD vom Display fest verdrahtet werden oder ist
resetten/Lesen erforderlich?
Das bei amazon ist wohl ne andere Version. der Bereich ums Display ist
anders (größer, andere Position), ebenso Aufdrucke.
Aber für mehr als 15 Euro wird das doch wohl keiner kaufen?
Gast schrieb:
> Sind zwei getrennte Funktionen besser als eine mit zusätzlichem> Parameter, wie im Datenblatt? Es ändert sich ja nur ein Bit..
Ich würde sagen es ist egal. Die Dritte Möglichkeit wäre A0 jeweils vor
dem Aufruf der write Funktion direkt passen zu setzen.
> Können /RESET und RD vom Display fest verdrahtet werden oder ist> resetten/Lesen erforderlich?
RD auf jedenfall, Reset würde ich ansteuern, denn damit werden alle
Register auf Defaultwerte gesetzt.
Die ersten 2kByte davon sind identisch mit dem was als USB Laufwerk
angeboten wird.
Danach kommt auf dem USB Laufwerk ein Teil der sich etwa alle 32kByte zu
wiederholen scheint.
Cool - RGB aus ner Sinustabelle durchlaufen oder wie geht das?. Sowas
könnte ich gut mit abwechselnd überblendendem Namen und Alter gut für
einen Geburtstag gebrauchen..
Vielleicht nächstes Jahr.. :-)
98x68=6664 Pixel .. da braucht man mit 2 K Flash eigentlich gar nicht
anfangen.
Der sicherlich triviale Schaltplan jetzt mit ISP aber noch ohne
Spannungsregler. Wahrscheinlich sollte das Backlight auch aus dem
Spannungsregler versorgt werden, damit die Helligkeit konstant ist.
Den Transistor kann man wohl einsparen, da der AVR bis 20 mA sinken
kann..
Ansonsten ist der t2313 etwas klein für praktischere Anwendungen, evtl.
wird nur RX benötigt, oder man spart RESET ein und benutzt einen
Bootloader, dann könnte man noch ne Taste unterbringen.
Ach nee: PA1 und PA2 sind noch frei, wenn kein Quarz benutzt wird. Dann
ist aber auf die serielle Kommunikation kein absoluter Verlaß mehr.
Mhh.
Die Aimation wird mit einer Sinustabelle berechnet, da hat Gast (kannst
du dir mal bitte einen Nickname geben) schon ganz recht gehabt. Das
Programm hat aber ein kollege geschrieben.
Die Tabelle brauch gut 8kbyte flash. Dazu hab ich für das Display noch
nen Vram gemacht also 6,6k ram. Die Animation würde aber auch ohne VRAM
laufen, da ich hier eh nur die Pixel einzeln in das ram schreibe, und
dann am ende alles ausgebe.
gruß
Hallo zusammen,
hatte mir gestern auch ein paar von den Teilen geholt...
hab mal geschaut, bei dem Spannungsrgler handelt es sich, meines
Erachtens, um einen AD7333 von Advanced Semi...
Auszug aus dem DB:
Low Quiescent Current_Low Dropout CMOS Voltage Regulator
AD73XX Series 300mA
·high output voltage accuracy ±2%
·low dropout voltage 3.0mV Iout=1mA
·low quiescent current 1.2uA
·Max input voltage 15V
·Output current 300mA
Anbei der Link zum DB:
http://www.advsemi.com/upload/2009052262603081.pdf
Viele Grüße,
Michel
Phil S. schrieb:
> Die Aimation wird mit einer Sinustabelle berechnet, da hat Gast (kannst> du dir mal bitte einen Nickname geben) schon ganz recht gehabt. Das> Programm hat aber ein kollege geschrieben.>> Die Tabelle brauch gut 8kbyte flash. Dazu hab ich für das Display noch> nen Vram gemacht also 6,6k ram. Die Animation würde aber auch ohne VRAM> laufen, da ich hier eh nur die Pixel einzeln in das ram schreibe, und> dann am ende alles ausgebe.>> gruß
Hi Phil,
sieht echt schön aus!
Kannst du bitte ein paar Infos dazu geben?
* Skalierung der Animation auf die Pixelfläche
* Ablage/Berechnung der Sinustabelle
Welchen Controller (wieviel RAM) verwendest Du/Ihr dabei?
Viele Grüße,
Michel
Zum erzeugen von Sprites und Bitmaps :
http://tilestudio.sourceforge.net/
Spuckt die Daten in einem frei definierbaren Format aus,
Vorlagen für die gängigsten Programmiersprachen sind schon dabei.
Das Ergebnis kann dann einfach in den Quelltext kopiert werden.
QAndreas Jakob
Hast du schonmal mit dem Tilestudio gearbeitet? Ich habe es selber mal
installiert und es scheint recht simple zu sein, nur mit der ausgabe hab
ich noch ein paar probleme, seit dem hab ich mich nicht mehr damit
veschäftigt.
@Mi Mo
Für die Skalierung sind 2 schleifen verantwortlich, also es ist möglich
die Animation auf jeder Display größe dazustellen.
Mit variable kann die geschwindigkeit verstellt werden oder auch gezoomt
werden.
An sich kommt man mit ein paar byte an ram aus, da man es in echtzeit
berechnen kann.
Zum Flash hab ich ja schon geschrieben, das größte ist die Sinus Tabelle
ca. 8kbyte flash speicher.
@all
Hier hab ich mal die Display lib geupdatet, da der connector links und
rechts noch lötpads zur befestigung hat, welche aber im Miuchiz nicht
angelötet wurden.
gruß
Spannungsregler AD7333 in SOT-89 - aus v-reg XC63FP (SOT-89R) aus Eagle
gebaut im zip.
Ausserdem anbei EAGLE Files für Schaltplan und angefangenes Board (auch
png) für ATtiny2313. Wär toll, wenn mir da jemand helfen könnte. Ich bin
etwas ratlos, wie man das Gewirr in ein möglichst einseitiges Layout
bekommt (mit 0-Ohm Widerständen). Zweiseitig ätzen ist mir zu aufwändig,
da aber Kupfer vorhanden ist, könnte man eine Ground-Plane machen..
Weiterhin angefangene Dimensions für das LCD und den LCD-Halter
(Bohrungsabstand 40,5x28). Pindurchmesser 1,5.
Stege am Display: 3,2 x 1,2.
In welche Layer gehören die Bohrungen/Ausstanzungen?
Hallo, ich versuche gerade vergebens das Display anzusteuern. Aber es
will einfach nichts anzeigen. Vielleicht könnte sich ja mal jemand
meinen Code ansehen. Ist eigentlich 1 zu 1 aus dem Datenblatt (mehr oder
weniger). Das ganze läuft übrigens auf einem ATmega8 der mit 3,3V
gespeist wird und mit 1MHz aus dem internen RC Oszillator läuft.
Das Problem könnte der Reset Impuls sein: Dieser muss laut Datenblatt
ein paar µs lang sein, ebenso die Pause dahinter. Da du den AVR aber nur
mit 1MHz betreibst, könnte es gerade so reichen. Bei höheren
Taktfrequenzen reicht es aber definitiv nicht mehr, also würde ich die
Pausen sicherheitshalber direkt mindestens um den Faktor 10 größer
machen.
Ansonsten sollte der Code eigentlich passen. Daher bleibt nur noch ein
Hardwareproblem. Mess mal die Spannung an dem VLCD Pin (Pin20).
Hier sind übrigens modifizierte Werte für die LoadPaint Funktion:
Wenn man sich mit den Standardwerten einen Graubalken ausgeben lässt,
dann ist das linke 1/3 schwarz, das mittlere drittel enthält den Balken
und das rechte drittel ist weiß. Mit den modifizierten Werten ist das
ganze etwas linearer, aber auch noch nicht ganz perfekt. Im Randbereich
ist das Display das ich habe richtig scheiße, da passen die Farben
überhaupt nicht. Es ist halt vermutlich auch auf Lowcost getrimmt.
Im EEPROM scheinen auch Werte zu stehen. Allerdings anscheinend keine
absoluten Werte, sondern nur Korrekturwerte die z.B. zum Volume Werte
addiert werden. Daher habe ich bei mir die EEPROM Ladefunktion
aktiviert.
Andreas Jakob schrieb:
> Flash auslöten, Leiterbahnen um die CPU mit Cutter-Messer> durchtrennen, ATMega32 auf kleiner SMD-Platine reinkleben> und mit Display, Tastern und USB-Kabel verbinden. [...]
Die Idee, da einen AVR hineinzubasteln hatte ich auch schon.
Aber wenn man sowieso eine SMD-Platine macht (bzw. machen läßt), wäre es
da nicht einfacher und robuster, die Originalplatine gleich komplett
durch eine eigene zu ersetzen, die z.B. noch Platz für eine SD-Karte
bietet? Auf dem AVR könnte ein kleiner Bootloader mit Filemanager
sitzen, der das gewählte Spiel jeweils von der Karte ins Flash schreibt
und dann ausführt.
Leider gab es beim hiesigen Woolworth nur noch die "Mädchenversion" und
ich bin mir nicht sicher, ob man das Gehäuse umlackieren kann.
Reinhard Max schrieb:
> Andreas Jakob schrieb:> Aber wenn man sowieso eine SMD-Platine macht (bzw. machen läßt), wäre es> da nicht einfacher und robuster, die Originalplatine gleich komplett> durch eine eigene zu ersetzen, die z.B. noch Platz für eine SD-Karte> bietet?
Wär schon fein, aber die müsste man herstellen lassen, und dass lohnt
sich erst wenn genug Leute Interesse haben.
SD-Kartenleser zu einem Euro gibts übrigens bei Woolworth zwei Kisten
weiter :) Der Sockel ist schön kompakt.
> Leider gab es beim hiesigen Woolworth nur noch die "Mädchenversion" und> ich bin mir nicht sicher, ob man das Gehäuse umlackieren kann.
Ich kann dir gerne zwei Leergehäuse gegen Portoersatz zusenden.
Ist billiger als lackieren ;)
Wie genau steuert ihr das Display an? Einfach einen AVR dranlöten und
dann über den?
Hab ich den Link zum Datenblatt überlesen?
Würde mir eventuell auch ein paar von den Teilen besorgen um dann damit
rumzubasteln wenn ich in ein paar Monaten wieder genug Zeit dafür hab.
Andreas Jakob schrieb:
> Wär schon fein, aber die müsste man herstellen lassen
Klar, das sowieso, aber würdest Du denn die SMD-Adapterplatine, die Du
vorgeschlagen hattest, selber machen?
> SD-Kartenleser zu einem Euro gibts übrigens bei Woolworth zwei Kisten> weiter :) Der Sockel ist schön kompakt.
Die sind mir gestern leider nicht ins Auge gefallen. Eine andere, sehr
kompakte Möglichkeit für einen µSD-Halter sind die SD-Adapter, die den
µSD-Karten meistens beiliegen. Einfach den Adapter mit dem Rücken auf
die Platine kleben und die Kontakte anlöten, so wie hier:
http://www.jobfisch.de/doku.php?id=projekte> Ich kann dir gerne zwei Leergehäuse gegen Portoersatz zusenden.> Ist billiger als lackieren ;)
Darauf komme ich gerne zurück, falls sich in Sachen AVR-Platine und/oder
Hacking des eingebauten Controllers etwas tut.
Noch 'ne Idee für das Board: Platz für ein RFM12 vorsehen, so daß man
mit mehreren von den Dingern gegeneinander spielen kann. :)
@bjoern
Naja also 0,5V war bei mir mindestens wenn Reset auf High gelegt ist.
Das Problem ist wenn dort keine 10V anliegen dann sieht man nix auf dem
Display egal ob du es richtig Init hast oder nicht.
tipp:
Einfach mal 10V(10,18V ist besster Kontrast) von einem Netzteil
anschließen, damit geht das auch wunderbar und wenn die Init geht
solltest du irgendetwas auf dem Display sehen.
gruß
Phil S. schrieb:
> tipp:> Einfach mal 10V(10,18V ist besster Kontrast) von einem Netzteil> anschließen
Nein, damit zerstört man eventuell das Display, denn der Pin ist der
Ausgang der internen Spannungserzeugung! Die 10V erzeugt das Display
selbst mit einer internen Ladungspumpe. Wenn die 10V (bzw. 8-12V je nach
Einstellung) also fehlen, dann kommt die Init nicht beim Display an.
Mein Display Läuft jetzt ;-)
Ich hab es gerade aus versehen an 5V statt 3,3V Angeschlossen aber es
funktioniert auch mit 5V gut obwohl es so nicht im Datenblatt steht...
^^Also nicht an VLCD sondern als Versorgungsspannung 5V sollte ich
vielleicht noch dazu schreiben.
Das es nicht funktioniert hat lag an einer fehlerhaften Initialisierung
ich habe nochmal alles genauestens mit dem Datenblatt verglichen und
jetzt funktioniert es.
Noch 3 Luftlinien und wahrscheinlich Probleme beim Löten der
Stiftleisten.
Die Vias müssen vermutlich noch größer, ich habe nur 0.8 mm Bohrer.
Tausend Küsse für den, der es perfektioniert! ;-)
>Benedikt>Nein, damit zerstört man eventuell das Display, denn der Pin ist der>Ausgang der internen Spannungserzeugung! Die 10V erzeugt das Display>selbst mit einer internen Ladungspumpe. Wenn die 10V (bzw. 8-12V je nach>Einstellung) also fehlen, dann kommt die Init nicht beim Display an.
Normal soll das display es selbst erzeugen. Ich habe zurzeit auch 10V
dran vom Netzteil, weil es mir anders zu unzuverlässig ist. Es
funktioniert wunder bar, hatte nachtürlich anfangs auch bedenken das ich
es zerstören könnte doch bei 1 Euro hab ich es halt probiert. Wenn bei
der Init 0V an VLCD legen macht er es bei mir Trozdem.
@bjoern
Was hast du jetzt eigentlich genau an VLCD gehängt? Im datenblatt steht
ja, dass man eigentlich nur 1 C vom wert 1-2,2uF machen soll. Habe das
auch probiert, trozdem geht es nach einiger Zeit aus.
gruß
Phil S. schrieb:
> Habe das auch probiert, trozdem geht es nach einiger Zeit aus.
Sendest du Daten wenn es ausgeht? Falls ja, dann schaltest du
versehentlich die Ladungspumpe oder sonst was aus.
Nein das mach ich nicht.
Grundsätzlich ist es so, dann wenn das Display etwas liegt geht es beim
anschalten an, und dann nach ca. 20sec aus. Wenn ich dann Resete bleibt
es meistens aus und ich muss erst wieder 1 St. warten bis es wieder
anschalten kann. Woran das jetzt genau liegt weiß ich leider nicht.
Im Gerät selber funktioniert das Display problemlos.
Eine Externe Spannungsqelle 10V zieht 0,5mA am VLCD pin.
Jep genau das hab ich mir auch gedacht das es ein Kondensator oder
soetwas sein muss welche sich erst entladen muss. Aber einen offenen Pin
habe ich nicht.
Ich probier es mal mit 1uf und 100kohm.
Hallo zusammen!
Ich war gerade hier im Woolworth, aber die sind komplett leer gekauft :\
Suche schon seid längerer zeit ein kleines und billiges display um ein
bisschen daran rumzuspielen :)
Bin nämlich erst seit kurzer zeit besitzer eines Atmega.
Hätte jemand noch so ein gerät abzugeben oder würde nochmal zu woolworth
kommen um zu gucken ob noch welche zu haben sind?
ich würde so 1-5 nehmen, je nachdem wie viele noch verfügbar sind :-)
Danke schonmal für die bemühungen!
Hi,
ich gehe nachher noch mal ins W... , hier in Kassel sind glaube ich noch
jede Menge dar. Zumindest waren gestern noch so um die 20-30 stück da.
Gruß
@bjoern: Danke.
Anbei der Kandidat zum Ätzen. Einseitig mit GND Plane und 6 Vias, zwei
0-Ohm Brücken. Alles SMD bis auf Stiftleisten (ISP, Power).
1x2 Stiftleisten für UART und Quartz.
Backlight direkt über Soft-PWM
Display liegt mit dem Rücken auf den Bauteilen und verdeckt etwa die
Hälfte der Komponenten.
Dann werd ich jetzt mal versuchen etwas Brauchbares zu produzieren.
M. G. schrieb:
> Simon R. schrieb:>> Hallo zusammen!>> Ich war gerade hier im Woolworth, aber die sind komplett leer gekauft :\>> In welcher Stadt war das denn?
In Mülheim (a.d. Ruhr)
Ich hab auch keinen mehr bekommen;
d. h. in erbendorf sind sie auch ausverkauft
Die Verkäuferin meinte, den letzten hatte sie gestern Nachmittag
verkauft:-(
Gruß Fritz
lol
Ich war grad auch nochmal in der stadt und hatte ja vorgestern schon
alle 6 gekauft die da waren. Heute lagen wieder 4 st da. Naja sofort
alle mitgenommen, ich denke mal das die im Lager noch mehr haben. Werde
morgen da nochmal hingehen und schauen ob ich noch welche bekomme. Wenn
ja, dann kann ich auch welche verschicken.
Zu meindem Display, Ich habe jetzt an vlcd nur einen 100kohm widerstand
auf masse gelötet ohne kondensator. Und jetzt Läuft das Display seit 2
Stunden ohne aussätzer.
Zum Serial Flash. Ich hab ein board geätzt, muss es jetzt nur noch
fertig bestücken. Dann schau ich mal ob ich daten aus dem SST bekomme.
Wenn das alles kein Problem ist, sollte das Dumpen(der version für
Jungs, habe leider keine frauen version) des flashes kein Problem mehr
sein.
Pic von der Flash Platiene.
gruß
Andreas Jakob schrieb:
> Zum erzeugen von Sprites und Bitmaps :>> http://tilestudio.sourceforge.net/>> Spuckt die Daten in einem frei definierbaren Format aus,> Vorlagen für die gängigsten Programmiersprachen sind schon dabei.> Das Ergebnis kann dann einfach in den Quelltext kopiert werden.
Andreas, Dank dir!
Das Programm sieht ja echt nett aus!
Hab mich aber noch nicht großartig damit beschäftigt, nur mal
reingeschaut.
Ist aber wohl echt aufwändig so eine schöne Animation zu erzeugen wie
die von Phil S.
@ Phil S.:
Ist es möglich einen Pseudo-Code zu sehen, der mal beschreibt/aufzeigt
wie die Daten berechnet wurden, bzw. wie so eine Animation abläuft?
Phil S. schrieb:
>> Zum Serial Flash. Ich hab ein board geätzt, muss es jetzt nur noch> fertig bestücken. Dann schau ich mal ob ich daten aus dem SST bekomme.> Wenn das alles kein Problem ist, sollte das Dumpen(der version für> Jungs, habe leider keine frauen version) des flashes kein Problem mehr> sein.
Du Phil,
kann es sein, dass du in Eagle die Orphans noch angeschaltet hast?
Auf deinem Bild sieht das nämlich so aus.
Orphans sind diese kleinen übrigbleibenden Kupferinseln, die sich beim
Polygon zwischen den Leiterbahnen befinden.
Kleine Frage zu deinem Platinen-Equipment:
Welchen Entwickler verwendest du, bzw. was für eine Vorlage nimmst du?
Folie oder Pergamnentparpier?
Die Platine ist um den Serial-Flash sehr sauber! Feiner Pitch mit
0,5mm?!
Ich versuche momentan nämlich meine Ätzerei zu optimieren.
Schönen Abend!
Gruß,
Michel
Stark abhängig vom Strom würde ich sagen. Bei mir sind es etwa 3V bei
5mA.
Im Original waren es direkt 3,3V wenn ich das richtig sehe. 2,56V halte
ich für eine weiße LED etwas wenig, höchstes bei extrem kleinen Strömen.
Q9 a.k.a. Gast schrieb:
> @bjoern: Danke.>> Anbei der Kandidat zum Ätzen. Einseitig mit GND Plane und 6 Vias, zwei> Display liegt mit dem Rücken auf den Bauteilen und verdeckt etwa die> Hälfte der Komponenten.
Sicher dass du da keinen Denkfehler drin hast ?
Meiner Meinung nach liegt das Display mit der Vorderseite auf den
Bauteilen ;)
@Mi Mo
Wegen dem Code für die Animation frage ich mal meinen Kollegen ob ich
den hier posten darf.
Nur so zur Info, der Code läuft zurzeit auf einer 32bit mcu. Ist aber
kein Problem auch auf einem 8bit hinzubekommen.
Zum ätzen, die Polygone waren eigentlich nicht aktive, doch ich hatte
Probleme mit dem setzen der Masse Fläche, und dann hat der mir die da
rein gemacht. Finde das aber nicht schlimm, ganz im Gegenteil je weniger
er weg ätzt desto weniger säure verbrauch ich.
Wie ich ätze:
Also ich drücke mit einem Tintenstrahldrucker(Canon Pixma iP2600) auf
Folie, die kommt dann mit der Platine in einen Belichtungs- Abtrat mit
UV röhren ca. 2-3min (das gerät ist aus den 80er Jahren).
Und dann ganznormal kurz entwickeln ca. 5 sec und dann sofort in kaltes
Wasser um den Vorgang zu Stoppen. Dann hab ich eine Plastikschüssel mit
der Säure, welche in einer Wassertopf auf dem Herd steht. Dann schön
ätzen und fertig.
Geht bis 0,2mm ganz gut.
@Q9
Sieht ganz gut aus das board. Wieviel Mhz hat die mcu eigentlich intern?
@ bjoern: hat PD0 (wird in der Endlosschleife getoggelt) was mit dem
Display zu tun? Ich vermute nicht.
Noch ne blöde Frage:
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Was macht diese Funktion?
> LoadPaint(); // Load Gamma Table Parameter (refer page 64)
Auf Seite 64 ist nicht wirklich etwas erläutert..
ATtiny2313 läuft jetzt mit 8 MHz int. Osc. Wenn man einen FT232R anbaut,
kann der auch einen höheren Takt ausspucken. Quarz kann man natürlich
auch drantüddeln.
Das Programm hat jetzt 1134 bytes, viel Platz ist da also nicht mehr.
Zum Durchreichen der Daten vom PC vielleicht brauchbar.
Vielleicht reicht's noch für einen Proportionalfont?
Hi!
Ich bin erst jetzt hierauf Aufmerksam geworden und mich würden diese
Dinger auch interessieren. Ich wohne aber in Österreich. Kann jemmand
von euch 5 von diesen Geräten besorgen und an mich schicken? Wenn ja,
dann bitte hier posten oder noch besser eine PN. Danke
Gibt's irgendwo ne allgemeine Einführung zu Grafikdisplays/-controllern?
Ohne zu Wissen, was Pages, Frames, etc. sind, macht das Datenblatt nicht
so viel Spaß.
LoadPaint setzt für vier Frames jeweils 16 Farbwerte.
Der Demo-Code stellt den Controller anscheinend auf 65K Farben im 8 Bit
Modus (siehe Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro")
D.h. es werden zwei mal 8 Bit geschrieben, 5 Bit R, 6 Bit G, 5 Bit Blau.
Wie passt das mit den 16 Werten aus LoadPaint zusammen?
Zweites Problem: Muss immer das ganze Display beschrieben werden oder
immer ein 4-Zeilen-Block der durch Page und Column Address eingestellt
wird?
@Besteller (Gast)
laut woolworth.at gibt es die Dinger auch in ÖSterreich. Ich habe jedoch
gestern in Innsbruck kein Glück gehabt.
Vielleicht gibt es ja i deiner Nähe einen woolworth.
pcs
Q9 a.k.a. Gast schrieb:
> LoadPaint setzt für vier Frames jeweils 16 Farbwerte.
Ergibt 64 Graustufen also 6bit pro Farbe.
> D.h. es werden zwei mal 8 Bit geschrieben, 5 Bit R, 6 Bit G, 5 Bit Blau.>> Wie passt das mit den 16 Werten aus LoadPaint zusammen?
6bit -> 6bit. Passt. Da RGB gleich behandelt werden, werden im
Controller für R und B halt nur 32 Graustufen davon verwendet.
> Zweites Problem: Muss immer das ganze Display beschrieben werden oder> immer ein 4-Zeilen-Block der durch Page und Column Address eingestellt> wird?
Man kann das Display theoretisch auch Pixelweise beschreiben:
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Hier gibt es Start X/Y und Ende X/Y
Man kann also ein Rechteck definieren, dass man beschreiben möchte.
Weiterhin ist man nicht gezwungen das komplette Rechteck zu beschreiben,
man kann jederzeit einfach aufhören.
Danke soweit.
Das Beschreiben eines Rechtecks leuchtet ein - aber ich verstehe immer
noch nicht, wie die ins DisplayRam geschriebenen Pixeldaten/Farbbits mit
der Farbtabelle zusammenhängen.
Gilt die Tabelle für jede Farbe? Und was bedeutet Frame?
Entschuldige die wahrscheinlich doofen Fragen, aber ich kann mir den
Zusammenhang nicht alleine erschließen. Ist allerdings auch mein erstes
Grafikdisplay..
PS:
Für eine Textausgabe nimmt man dann z.B. einen 6x8 Font (-> 6 Bytes pro
Zeichen) und schreibt die dann einfach rechteckweise..?
Q9 a.k.a. Gast schrieb:
> Danke soweit.> Das Beschreiben eines Rechtecks leuchtet ein - aber ich verstehe immer> noch nicht, wie die ins DisplayRam geschriebenen Pixeldaten/Farbbits mit> der Farbtabelle zusammenhängen.> Gilt die Tabelle für jede Farbe?
Ja.
>Und was bedeutet Frame?
Ist sozusagen der Übertragungsrahmen, also z.B. Coloum und Page Addresse
setzen , Write Mode aktivieren und Daten(Farbe senden).
> PS:> Für eine Textausgabe nimmt man dann z.B. einen 6x8 Font (-> 6 Bytes pro> Zeichen) und schreibt die dann einfach rechteckweise..?
Jein. Rechteck beschreiben stimmt. Allerdings 6 x 8 Font bedeutet 6
Pixel breit und 8 Pixel hoch. Also müsstest du wie oben beschrieben
erstaml die Commandos senden und dann die Daten.
In Falle von 65K Farbmode wäre die Datengrösse also 6x8x2 = 96byte.
gruß
Jean Player schrieb:
>> PS:>> Für eine Textausgabe nimmt man dann z.B. einen 6x8 Font (-> 6 Bytes pro>> Zeichen) und schreibt die dann einfach rechteckweise..?> Jein. Rechteck beschreiben stimmt. Allerdings 6 x 8 Font bedeutet 6> Pixel breit und 8 Pixel hoch. Also müsstest du wie oben beschrieben> erstaml die Commandos senden und dann die Daten.> In Falle von 65K Farbmode wäre die Datengrösse also 6x8x2 = 96byte.>> gruß
Naja 96byte wären es nur wenn ein zeichen als bild direct speichern
würdest. Wenn du aber das Zeichen aber nur in Bits speicherst, dann sind
es 6Byte pro Zeichen.
Ich hab hier mal einen 5x7 Font. Der lässt sich auch sehr gut lesen.
Die brauch insegsamt ca. 510byte flash.
Du musst dann nur noch die Ausgabe schreiben.
Ok, aber was genau macht diese Tabelle?
An den Textmalroutinen bin ich dran - danke für den Font, kommt mir sehr
gelegen...aber lässt mein Programm abstürzen.
global:
1
constcharstandard_font[510]={
1
avrdude: 1746 bytes of flash verified
Brauch ich da noch irgendwelche includes? Was läuft da mit dem Speicher
schief?
Die Tabelle ist quasi die Zuordnung Helligkeit -> PWM Wert in der
Displayansteuerung, denn die Kennlinie des LCDs ist alles andere als
linear. Lass dir z.B. mal einen Grau oder RGB Balken anzeigen: Links ist
schwarz, rechts ist weiß bzw. rot/grün/blau.
Und dann schau dir das ganze mal mit linearen Werten in der Tabelle
(also 0,2,4,6,8...30 an, und einmal mit der Tabelle von mir. Ich denke
der Unterschied ist deutlich sichtbar.
Was übersehe ich bei den Daten - das 'B' sieht bei mir so aus:
B - 0x3F, 0x25, 0x25, 0x25, 0x1A
0x3F2525251A
0b0011111100100101001001010010010100011010
00111
11100
10010
10010
01010
01001
01000
11010
Oder was verpeile ich da?
Wieso das B sieht doch gut aus, du musst es nur noch um 90° drehen.
Ich hab mal anstatt 1 nen $ genommen damit man es besser sieht.
00$$$$$$
00$00$0$
00$00$0$
00$00$0$
000$$0$0
$$$$0
$000$
$$$$0
$000$
$000$
$$$$0
00000
00000
Also wer noch welche von den Dingern haben will:
Ich kann noch ein paar besorgen.
Mail to: P.Zippi@gmail.com
Ja, danke, hab ich auch schon entdeckt ;-)
Wär's nicht eigentlich schneller/besser, ein Byte aus dem Zeichensatz zu
laden, und dann über die Bits zu iterieren?
Um es zu drehen lade ich jetzt für jedes Pixel ein anderes Byte neu.
Sieht schonmal gut aus.
Natürlich kann man das auch gedreht speicher, dann musst du nur alles
peer Hand umschreiben ;). Viel Spaß...
Aber wenn du es anders herum machst dann brauchst du für jedes Zeichen
40% mehr flash. Also 7byte pro Zeichen = 714 byte.
Und ob das wirklich schneller ist weiß ich nicht. Da du ja nur auf den
Speicher zugreifen musst und es nicht zwischen laden musst.
gruß
Danke für den Tipp mit dem Display. Genau sowas habe ich gerade für die
2. Version meines (MIDI)-Controllers gesucht. Bei dem günstigen Preis
kann man ja für jeden Kanalzug ein eigenes Display verbauen. freu
Ich hab da mal was angefangen.
Wird zwar eng, aber ich hoffe das lässt sich noch von hand ätzen.
Bin grad auf der suche nach passenden Buttons, bzw. die Leiterbahnen
dafür.
Hallo,
das Display hat 98 x 67 Pixels (und nicht 98 x 68 Pixels, wie es in
einem Posting geschrieben wurde).
Anbei der Schlüssel, wie das Display nummeriert wurde. Quelle : POWERTIP
Herstellerseite http://www.powertip.com.tw/products1_1.php
J P H 9867 C - 001 - I - P1
J = bedeutungslos
P = es ist ein Powertip Produkt
H = Color Display
98 = horizontal 98 pixel
67 = vertikal 67 pixel
C = es ist kein TFT, sondern ein CSTN Display
Color Super Twist Nematic (CSTN) ist eine von Sharp
entwickelte Flüssigkristall-Technologie für Farbdisplays.
001 = Serien Nummer (001 - 999 ist möglich)
I = durchsichtige Displaytype (statt reflektiv)
P1 = Version
@Daniel W.
Danke für die Infos.
Durch die eine Pixelreihe weniger kann der ein oder andere etwas
rechenleisung und Speicher sparen. Der Rest ist auch sehr interessant.
@Slime
Wie weit bist du jetzt mit deiner Platiene. Hast du schon versucht das
zu ätzen?
Hallo,
das PDF File vom Display "LCM-19-PH9867C-001" gibt es hier (91 kB):
http://www.google.de/search?q=5002308367.htm
(Bitte den Link "Im Cache" anklicken, denn die Seite stammt vom 29. Mai
2009, und existiert nur noch im Google-Cache)
Pin-Belegung:
*************************************************************
Pin Funktion
1 + LED circuit
2 - LED circuit
3 /CS
4 /Reset
5 A0
6 /WR
7 /RD
8 D7
9 D6
10 D5
11 D4
12 D3
13 D2
14 D1
15 D0
16 GND for logic circuit (Vss)
17 Power supply for logic circuit (2.8V)
18 3.3V (siehe Wahrheitstabelle)
19 GND (siehe Wahrheitstabelle)
20 LCD driver supply voltages
*************************************************************
Wahrheitstabelle für Pin18 und Pin19 gemäß PDF-File:
Pin18 Pin19 MPU Interface Type:
3.3V 0V 8080-series 8-bit MPU interface
0V 3.3V 6800-series 8-bit MPU interface
Der Umschaltpin auf SPI wäre schöner gewesen...
Was mich an dem Datenblatt wundert: V0 ist so beschrieben, als wäre es
eine Eingang. In Wirklichkeit ist es aber eher der Ausgang des internen
DCDC Wandlers zum Puffern der Spannung mit einem Kondensator.
Benedikt K. schrieb:
> Der Umschaltpin auf SPI wäre schöner gewesen...
Wenn der dritte Auswahlpin intern auf low liegt, könnte man SPI
einschalten. Nützt aber nix, da SPI seperate Leitungen nutzt die
nicht rausgeführt sind.
slime schrieb:
> Ich hab da mal was angefangen.> Wird zwar eng, aber ich hoffe das lässt sich noch von hand ätzen.> Bin grad auf der suche nach passenden Buttons, bzw. die Leiterbahnen> dafür.
Hi wenn du schon welche hast dann ist ok, Sonst hab ich hier mal was für
dich.
Das sind quasi die Taster für das board. Habe sie mal selber gebaut.
gruß
Hier die Eagle Datei dazu.
Die Stiftleiste muss dann natürlich
auf der Lötseite herausstehend verlötet werden,
dass das Display später richtig herum liegt.
Der 8080/6800 Modus muss extern verschaltet werden.
> Sie haben einen Gratis-Artikel aus einer Kooperations-Aktion in den> Warenkorb gelegt.> Auch bei einem Auftragswert unter € 17,50 fällt der sonst übliche> Mindermengenzuschlag nicht an. Es wird Ihnen nur der reguläre> Versandkostenanteil berechnet.
Muß man doch auch so scheinbar nicht bezahlen...
War heut doch mal den Weg zu einer WW filiale auf mich genommen (ich
wohn zwar in Berlin, wo es massen davon gibt, aber um meinen Wohnort
(heinersdorf) sind die alle ewig weit weg)
das WW in der Badstraße (Nähe Gesundbrunnen) hat keine mehr.
Die Kartenleser haben sie noch (~20Stück), aber so toll sind die auch
nicht.
Die SD-slots sind einfach zum stecken, ohne push in/push out.
aber gut, für 1€ einen USB-Stecker, nen billig-SD-Slot und ne rote LED.
ein Quarz ist auch noch drauf, da steht aber kein Wert drauf.
Der ein oder andere kann vielleicht noch das Gehäuse verwenden, das ist
sehr leicht zu öffnen (nur gesteckt und ungeklebt)
Bei Plus gibt es gerade einen Schlüsselanhänger-Fotoframe. Ok .. kost
10€, find ich aber auch noch erträglich.
Das LCD Display hat ne Diagonale von 1,5" (3,8cm) und eine Auflösung von
128x128 bei 64K Farben. Werd das Teil vermutlich morgen mal zerlegen.
Vlad Tepesch schrieb:
> War heut .. zu einer WW filiale ..> Die Kartenleser haben sie ... ein Quarz ist auch> noch drauf, da steht aber kein Wert drauf.
Es sind auf dem Kartenleser leichte Schleifspuren oben auf dem Quarz zu
sehen. -Wahrscheinlich wurde der Aufdruck weggefräst.
Vlad Tepesch schrieb:
> ist nicht zufälligerweise der gleiche, den PEARL grad verschenkt?
kann man auf jeden fall nicht viel falsch machen, ich hab es mir bei
PEARL einfach ma bestellt, wird schon irgendwie funktionieren.
Ich habe eben mal die Initialisierung des Displays im Spiel analysiert
und mit der Init aus dem Datenblatt verglichen:
Bis auf wenige Abweichungen ist die Init identisch.
Die Abweichungen sind einmal bei der Kontrasteinstellung, ist klar, dann
bei der Interface Modi Einstellung: Das Interface wird auf den "Type B
4096 color display" Modus eingestellt, läuft also nur mit 4096 Farben,
was für solch ein Spiel auch ausreicht.
Bei der internen Ladungspumpe wird die Booster Efficiency Einstellung
Level 1 verwendet, laut Datenblatt die Strom sparsamste, aber
schlechteste, und die Booster setting Einstellung wird auf 0x05
gestellt. Laut Datenblatt existiert diese Einstellung aber garnicht, die
Werte enden bei 0x04. Ich werde morgen mal ausprobieren was diese
Einstellung bewirkt.
Und die Werte aus dem EEPROM werden auch geladen.
Daniel W. schrieb:
> Es sind auf dem Kartenleser leichte Schleifspuren oben auf dem Quarz zu> sehen. -Wahrscheinlich wurde der Aufdruck weggefräst.
Bei meinem sieht es so aus, als hätte der nie einen Aufdruck gehabt: Die
Oberseite ist komplett blank. Hat mich auch schon gewundert.
Hi,
gute Arbeit Benedikt, weiter so. Würde gerne Unterstützung leisten beim
Re-Engineering, allerdings habe ich daheim kein Oszi.
Falls jemand Interresse an einem 12x16 Font für das Display hat. Hänge
ich mal den Code+Tabelle an. Weil ich 5x7 zu anstrengend zu lesen fand.
Aso, zu finden ist die Tabelle unter "const char Font12x16[] PROGMEM"
und der Code unter "void Display12x16Font(...)".
Gruß
Nochmal zur Initialisierung:
Ich habe mal die verschiedenen Einstellungen des DC-DC Wandlers
durchprobiert. Der größte Unterschied zwischen allen ist die
Stromaufnahme des Displays:
Mit den Einstellungen aus dem Datenblatt bin ich bei rund 0,8mA
Stromaufnahme bei 3,3V. Der DC-DC erzeugt im Leerlauf rund 15,6V, unter
Last (mit aktivem Display) 13,7V. Also mehr als ausreichend. Damit
sollte das Display im Bereich 2,7V-3,5V funktionieren.
Die Booster Setting Einstellung 0x05 wie sie im Spiel verwendet wird,
aber nicht im Datenblatt erwähnt wird, liefert etwas weniger Spannung,
verbraucht aber mehr Strom.
Die Einstellungen aus dem Datenblatt dürften also die optimalen sein.
Der Volume Wert der im Spiel geladen wurde war 0x25, 0x02. Danach wurde
das EEPROM geladen, das einen Offset aufaddiert. Damit sollte für jedes
Display der optimale Kontrast eingestellt sein, da vermutlich im EEPROM
entsprechend ausgemessene Werte hinterlegt sind.
@Andreas Jakob (antibyte)
Du füllst doch mit dem Bascode das Display mit hochzählen der
Byte
Ist dann eine breiter Spektralbalken zu sehen, oder was kommt aufs
Display raus
Wigbert
Vlad Tepesch schrieb:
> Die Kartenleser haben sie noch (~20Stück), aber so toll sind die auch> nicht.> Die SD-slots sind einfach zum stecken, ohne push in/push out.> aber gut, für 1€ einen USB-Stecker, nen billig-SD-Slot und ne rote LED.> ein Quarz ist auch noch drauf, da steht aber kein Wert drauf.> Der ein oder andere kann vielleicht noch das Gehäuse verwenden, das ist> sehr leicht zu öffnen (nur gesteckt und ungeklebt)
Könntest Du mal ein Foto posten?
Danke.
Hi zusammen,
nun muss ich auch mal nachziehen. Hab eben Zeit gefunden mein Board zu
ätzen. Hab zum testen Jeans Code genommen. Nun kann ich etwas
rumspielen. Eine Plasma- oder Feueranimation wären ganz nett.
Hat sich eigentlich schon jemand mit dem Rest der Konsole beschäftigt?
Weiter oben gibt es ja die ersten 16K vom Flash (wenn ich das Posting
richtig verstanden habe). Anscheinend enthält das Dump nicht nur 6502
Programmcode sondern auch Zusatzinformationen. Hab aber nur kurz drüber
geschaut und bin nicht ganz schlau daraus geworden. Ich meine die
LCD-Init gesehen zu haben (Speicherzugriffe auf $8000+$8001) und einen
USB-Deskriptor für das Speicherdevice. Hat vielleicht schon jemand den
gesammten Flash ausgelesen und ist etwas schlauer? Ich fände es mehr als
genial, wenn man die Konsole out-of-the-box mit neuen Spielen füttern
könnte. Ich bin überzeugt, daß das möglich ist. Vielleicht können wir
auch mit einem USB-Sniffer infos über das Upload-Protokoll bekommen. Ich
werd mich mal ransetzen, wenn ich wieder genu g Zeit finde.
Gruß,
SIGINT
Wigbert Picht-dl1atw schrieb:
> @Andreas Jakob (antibyte)> Ist dann eine breiter Spektralbalken zu sehen, oder was kommt aufs
Naja, Spektralbalken wäre übertrieben :)
Siehe Bild.
@Andreas Jakob (antibyte)
liegt sicher daran, das wir Spectrum mit "k" geschrieben haben.
Aber die Init ist jedenfalls sehr Hilfreich.
Danke für die Vorarbeit
Wigbert
@Andreas Jakob (antibyte)
korrigier das mal, dann sieht es schon etwas besser aus.
For J = 0 To 67
For I = 0 To 97
Lcd_write Dat , I
Lcd_write Dat , J
Next I
Next J
Hi
Also der Quarz auf dem SD reader ist ein 12Mhz Quarz aber das wissen die
Meisten warscheinlich schon.
Zur Font, hier ist mal eine 5x8px Font. Dieser 1px mehr macht schon viel
aus.
Auf wunsch kann ich auch jede Schrift Große und art erzeugen.
12x16 finde ich für diese Display schon recht groß, da kann man dann
nicht viel darstellen.
Gruß
@Jean, du hast ja teilweise den von mir geposteten Code übernommen. Für
den Display Reset würde es reichen 2-3us zu warten statt 1ms ich hatte
das etwas großzügig bemessen.
Das LoadPaint lässt sich gut mit for Schleifen machen, dadurch kann
etwas Flash eingespart werden. Die Initialisierung von 0 bis 67 ist noch
zu lang (=68 Punkte) sollte auf 67 reduziert werden.
In Display12x16Font() ist glaub ich auch ein Fehler Write(DATA, y+7);
sollte das nicht y+15 sein?
Ansonsten gute Arbeit, vor allem die Fonts.
Gast schrieb:
> @Andreas Jakob (antibyte)>> korrigier das mal, dann sieht es schon etwas besser aus.> For J = 0 To 67> For I = 0 To 97> Lcd_write Dat , I> Lcd_write Dat , J> Next I> Next J
Stimmt.
Und die folgende Änderung erzeugt hübsche, sich
ständig ändernde Testmuster :
Sub Lcd_test()
Dim Ti As Byte
Ti = Rnd(255)
Lcd_write Cmd , &H30
Lcd_write Cmd , &H15
Lcd_write Dat , 0
Lcd_write Dat , 97
Lcd_write Cmd , &H75
Lcd_write Dat , 0
Lcd_write Dat , 67
Lcd_write Cmd , &H5C
For J = 0 To 67
Rotate Ti , Left , J
For I = 0 To 97
Rotate Ti , Left , I
Lcd_write Dat , Ti
Lcd_write Dat , Ti
Next I
Next J
End Sub
bjoern schrieb:
> @Jean, du hast ja teilweise den von mir geposteten Code übernommen. Für> den Display Reset würde es reichen 2-3us zu warten statt 1ms ich hatte> das etwas großzügig bemessen.
jo sind deine Routinen teilweise. Habe mir nur die Display..x..Font
Routinen dazu gedichtet.
Jo Reset werde ich reduzieren.
> Das LoadPaint lässt sich gut mit for Schleifen machen, dadurch kann> etwas Flash eingespart werden. Die Initialisierung von 0 bis 67 ist noch> zu lang (=68 Punkte) sollte auf 67 reduziert werden.
jo haste Recht. Aber Verbesserungen mache ich später, wenn alles läuft.
Derzeitig habe ich erst mal nen PC Programm geschrieben, um Bilder im
BMP Format über die Serielle Schnittstelle an den USART vom µC zu
schicken (Später natürlich von SD lesen).
Da ich keinen Converter gefunden habe um das 24bit Format in 16bit zu
wandeln, muss der µC halt intern von 24bit auf 16bit umrechnen.
> In Display12x16Font() ist glaub ich auch ein Fehler Write(DATA, y+7);> sollte das nicht y+15 sein?
Nein das ist so richtig. Ich schicke erst die oberen acht Bit des
Zeichens und dann die unteren acht bit (=16bit). Also erst von y --->
y+7 und dann y+8 ---> y+15.
> Ansonsten gute Arbeit, vor allem die Fonts.
Danke, deine Arbeit aber auch ;-)
Eigentlich habe ich mir auch schon nen PC Programm geschrieben um 24bit
zu 16bit zu wandeln. Erst hatte ich Methoden von Visual Studio benutzt,
welche allerdings nit gehen. Entweder bleibt das Format 24bit oder es
wird zu PNG, sehr merkwürdig auf jeden Fall.
Nun habe ich alles selbst geschrieben. Sieht auch alles gut aus. Nur die
Farbmaske, die in dem BITMAPINFOHEADER eingetragen werden muß raffe ich
noch nit so. Weil das Feld sollte 4 byte lang sein, aber es sollen 4
Double Words eingetragen werden als Farbmaske ??? Vielleicht kann da ja
jemand helfen.
GRUß
Hehe son Programm hab ich mir natürlich auch schon geschrieben ;-)
Also die Bitmaps wandle ich mit GIMP um.
Ich erstelle ein neues Bild mit 98x67Pixeln dann kopiere ich da die
Grafiken rein. Gehe auf Bild -> Modus -> Indiziert da stelle ich die
Anzahl der Farben runter so 60 Farben (sonst gabs irgendwie probleme mit
der Übertragung der Bitmaps).
Dann gehe ich noch auf Bild -> Transformation -> Vertikal Spiegeln.
Dann Datei -> Speichern Unter -> test.bmp
Es erscheint ein Dialog "Als BMP speichern" dort Erweiterte Optionen
wählen und 16 Bit R5 G6 B5 wählen.
Jetzt musst du nur noch den BMP header entfernen (die ersten 70 Byte)
und kannst die restlichen Bytes 1:1 an das Display schicken
ich hab noch was vergessen... vorm speichern nochmal auf
Bild->Modus->RGB zurückstellen. Die Farben bleiben dabei reduziert aber
sonst kannst du dieses R5 G6 B5 nicht wählen.
Oje Oje,
das geth mit GIMP ;-(
Und ich programmiere da dran 2Std schon, nur der Mist Header geht noch
nit.
Dann schmeiss ich mal mein Converter Programm über Board und nehme Gimp.
P.S: Danke für den Tip Bjoern. Aber wieso 70bytes ? Dachte BMP hat 54
bytes.
P.S 2: Nochmals oje jetzt geht mir nen Licht auf. Das sind ja genau 16
bytes.
Das ist dann sicher die Farbmaske die dazu kommt. Ich glaube das
teste ich mal gleich aus in meinem Proggi. Im Fernsehen läuft ja eh nur
Mist wie immer.
Gruß
Meint ihr, dass ihr den SPI Modus auch noch zum Laufen bekommt?
Ich könnte das Display wahrscheinlich gut gebrauchen, habe aber zu wenig
freie Pins zur Verfügung.
Nein. Denn dazu fehlen ganz einfach die SPI Pins, die vermutlich am Chip
nicht kontaktiert sind.
Mit sehr viel Glück liegen die Pins am Folienkabel an und sind da auf
GND gelegt, was ich aber nicht vermute.
Daniel W. schrieb:
>>>Also der Quarz auf dem SD reader ist ein 12Mhz Quarz>> Mit dem Oszilloskop gemessen oder woher stammt die Info?
Hop hab ich gemessen.
Zum SPI modus: Naja ich denke Spi wirst du nicht hinbekommen, aber es
gibt z.b. CPLDs mit den kann man sich wunderbar ein Sieberegister
aufbauen welcher auch nach 8 bits ein pin toggelt. Dann hast du auch ein
SPI interface.
Zur font. Hier die 5x8.
Möchtegerneinsteiger schrieb:
> Mal ne kurze Frage:> Hat jetzt noch irgendwer ein paar von den Dingern zum Versenden?> Danke
Hi,
ich schau morgen nochmal in der Stadt nach, weil von meinen Gehorteten
Displays will ich keins abgeben.
Falls noch welche da sind melde ich mich. Da du nit angemeldest bist
schreib ich dann hier rein und du meldest dich dann oder lässt es
bleiben.
Wie viele brauchst du denn ?
Gruß
>gewoolwortheten displays
Hehehehe, oder so ;-)
Möchtegerneinsteiger schrieb:
> Super! Ich wär mit dreien zufrieden.> Ich melde mich dann auf jeden Fall.> Danke schon im Vorraus.>> Gruß Fritz
Jo, ich glaube zwar nit das Jemand den Mist weggekauft hat (meine damit
das dämliche Spiel). Aber drück die Daumen.
Gruß
Hallo,
aus dem PDF-File des Displays geht es nicht hervor, deshalb eine Frage
zu den Display-Pins 18 und 19 von dem Foto ...
Beitrag "Re: Mini-Farbdisplay"
Die Pins (vom 8080-Mode) besitzen doch sicher einen internen Pull-Up
Widerstand. Wenn man 18+19 unangeschlossen lässt oder "in der Luft
hängen lässt", würde der interne Pull-Up Pin 18+19 nach +Ub ziehen, oder
nach Masse?
Daniel W. schrieb:
> Die Pins (vom 8080-Mode) besitzen doch sicher einen internen Pull-Up> Widerstand.
Davon steht im Datenblatt aber nichts.
> Wenn man 18+19 unangeschlossen lässt oder "in der Luft> hängen lässt", würde der interne Pull-Up Pin 18+19 nach +Ub ziehen, oder> nach Masse?
Weder noch, die wären ganz einfach undefiniert, also zufällig.
Hallo...
Wenn noch jemand 2 oder 3 Stk übrig hat, würde ich die gern haben
wollen.
Leider war bei unserem Woolworth (Iserlohn) nichts mehr zu bekommen.
Danke
Dirk
@Slime
Ich bin begeistert, sieht echt gut aus.
Auf der Rückseite der Platiene befindet sich auch noch ein Taster für
den Reset, dort könntest du den Reset vom AVR schaltbar machen, dann
kann man den AVR leicht reseten und muss nicht erst die Batterien raus
machen.
Gruß
Philipp
Betreff: Tiny2313 -BOARD ( Q9.zip )
Hallo,
die (siehe unten) mit Fragezeichen versehenen Bauteile sind ohne
Beschriftung. -Weiss jemand die fehlenden Werte ?
Bekannte Werte (aus Q9.zip):
============================
R7= 1M (R7 liegt parallel zu C4)
C4= 1uF (R7 liegt parallel zu C4)
C7= 10uF (input Spannungsregler)
C5= 10uF (output Spannungsregler)
R2= (UB+ für attiny2313 - Null Ohm?)
C1= 100nF(liegt zwischen Masse und UB+ des attiny2313)
R3= 4700 Ohm
Unbekannte Werte:
=================
? C2 (C2 ist parallel mit C3)
? C3 (C3 ist parallel mit C2)
? R8 (möglicherweise ein Null Ohm Widerstand)
? R4,R5,R6 (sitzen in MOSI, MISO und SCK Leitung)
? R1 (LED-Anode, geht an Pulsweiten-Ausgang des tiny2313)
Hi,
R1 ist der vorwiederstand der LED ca. 0-100ohm kannst du da nehmen.
kleiner = heller
R8 = 0ohm (brücke wegen 1 layer)
C2 + C3 Sind nochmale koppel Cs. Da kannst du gut 100nF oder auch 1uF
nehmen.
R4, R5, R6 hmm eigentlich können die 0ohm sein, wenn das Display die SPI
nicht beeinflusst.
Sonst mach da 330 ohm hin.
Gruß
Phil S. schrieb:
> R4, R5, R6 hmm eigentlich können die 0ohm sein, wenn das Display die SPI> nicht beeinflusst.> Sonst mach da 330 ohm hin.
Wenn RD\ fest auf 3,3V liegt, dann kann das Display nicht senden, somit
stört es beim Programmieren nicht. Die Widerstände sind daher eigentlich
überflüssig.
HI,
Naja wenn du dir das Original Board anschaust, dann siehst du, dass der
Quarz fast genauso weit weg liegt.
So hab noch ein Update für die Miuchiz Sucher.
Habe noch ein paar neue gefunden. Verschicke sie nach Bedarf.
Wer interessiert ist, einfach mail an P.Zippi@gmail.com
Gruß
Phil S. schrieb:
> Naja wenn du dir das Original Board anschaust, dann siehst du, dass der> Quarz fast genauso weit weg liegt.
Du musst ja nicht jeden Mist der Chinesen nachmachen...
Es wird vermutlich funktionieren, aber gut ist das nicht.
Hier gibts gerade eine Diskussion zu dem Thema, die zeigt worauf es
ankommt:
Beitrag "Quarz Platinenlayout: GUARD RING?"
Slime wie willst du das USB machen? Ein AT90USB wäre gut für USB
geeignet (dann ist man auch nicht so limitiert wie bei FTxxx lösungen).
Eigentlich wäre ein AT91SAM7 noch viel besser... Der hätte USB und viel
power...
Sieht schon ganz gut aus, der quarz muss aber auf jeden fall näher ran
(gibt ja keinen grund dafür den so weit weg zu legen) - ich würde auch
nicht so einen Klopper nehmen sondern eher sowas:
http://www.reichelt.de/?ACTION=3;ARTICLE=85002;PROVID=2402
Die Bohrungen sehen riesig aus (zumindest der Restring), willst die
platine selber ätzen?
@Phil: Krass, da hast aber glück gehabt. Ich mail dich mal an :-)
Das sieht alles schon sehr schön und interessant aus.
Ein AVR-Handheld wäre wirklich witzig ...
Hier ein paar Anregungen:
Implementiert doch noch z.B. einen DS1820 für die (kontinuierliche)
Temperaturerfassung. Das Gerät könnte bis zur portablen Wetterstation
(Luftfeuchtigkeit, Luftdruck) ausgebaut werden, falls die Anschlüsse am
Atmega644 reichen.
Ferner könnte man eine Art Batterietester erwägen, wenn es gelingt
Anschlüsse in irgendeiner Form nach draussen zu legen. Lässt sich
fast alles mit wenigen Bauteilen realisieren.
Ralf2008
zur Info.
In Halle/Saale Südstadtring 90 (Kauflandcenter) gibt es keine.
Vielleicht gab es auch keine, da laut Info der Verkäuferin keine Werbung
mehr ausliegt.
Benedikt K. schrieb:
> Phil S. schrieb:>>> Naja wenn du dir das Original Board anschaust, dann siehst du, dass der>> Quarz fast genauso weit weg liegt.>> Du musst ja nicht jeden Mist der Chinesen nachmachen...> Es wird vermutlich funktionieren, aber gut ist das nicht.> Hier gibts gerade eine Diskussion zu dem Thema, die zeigt worauf es> ankommt:> Beitrag "Quarz Platinenlayout: GUARD RING?"
Hi
natürlich hast du recht das es viel besser ist den näher dran zu bauen.
Habe da auch schon den größten misst gesehen und mich immer wieder
gewundert das es doch funktionierte.
@Slime
vll könnte man auch anstatt des USB die ISP rausführen, darüber könnte
man dann Programmieren oder auch die Hardware erweitern(da SPI).
gruß
Zuerst einmal freue ich mich über das rege Interesse an der AVR Platine.
Lob und Kritik sind immer willkommen.. :) Das macht das Projekt noch
interessanter und hilft eventuelle Fehler im vornherein zu beseitigen
oder zu vermeiden.
@Läubi .. (laeubi): Das mit dem Quartz ist absicht so. Du musst bedenken
in dem original Gehäuse ist der Platz vorgegeben und damit auch die Lage
mancher Bauteile. Sicher lässt sich das mit einem noch kleineren Quartz
besser lösen, den müsste ich jedoch erst bestellen. :S
@Marius S. (lupin): USB ist (erstmal) nicht vorgesehen. Lässt sich aber
sicher recht einfach über software USB lösen. Für nen Bootloader ist das
allemal ausreichend. Ich hab jetzt erstmal die ISP Pins mit nach oben
neben den Micro SD Slot gelegt.
Mit dem selbstätzen liegst du völlig richtig :) Daher auch der relativ
große Restring.
Eigentlich sollte zusätzlich noch ein RFM12 Modul mit rein. Gibt
allerdings nur eine stelle wo sich das relativ problemlos unterbringen
lässt. Links neben das Display, Genau über dem Reset Loch. Damit sind
die Pins des AVR dann aber nahezu alle belegt.
Wenn an dem Projekt doch so reges interesse besteht, vllt. doch mal
drüber nachdenken die Platine fertigen zu lassen. :)
slime
Phil S. schrieb:
> vll könnte man auch anstatt des USB die ISP rausführen, darüber könnte> man dann Programmieren oder auch die Hardware erweitern(da SPI).>> gruß
Da ja der USB-Stecker schon vorhanden ist, würde sich ein
Software-USB-Bootloader anbieten. Keine Mehrkosten und kein Programmer
mehr nötig.
http://www.fischl.de/avrusbboot/
slime schrieb:
> Wenn an dem Projekt doch so reges interesse besteht, vllt. doch mal> drüber nachdenken die Platine fertigen zu lassen. :)
Ich nehm zwei :)
Phil S. schrieb:
> Zum Serial Flash. Ich hab ein board geätzt, muss es jetzt nur noch> fertig bestücken. Dann schau ich mal ob ich daten aus dem SST bekomme.> Wenn das alles kein Problem ist, sollte das Dumpen(der version für> Jungs, habe leider keine frauen version) des flashes kein Problem mehr> sein.
Ich hab ne "Frauen Version" aber ist das nicht ein parralleles Flash?
Bist du schon weitergekommen mit dem auslesen?
Könnte man eventuell den Flash auf dem Board lassen und an den
Testpunkten drähte zum auslesen anlöten? Hat das schonmal jemand
ausgemessen?
BTW: Man kann da so eine Art Tetris spielen nur mit Elektrobauteilen!
(IC grau, Folienkondesator rot und Kerko blau). Ist eigentlich ganz
lustig gemacht das Teil.
@slime (Gast)
eine RFM 12 Variante würde ich auch bauen. Sind die Taster alle belegt?
Vielleicht könnte man die beiden Ovalen Taster unter dem Display
zu Statusanzeige o.ä. umbauen. Muss mir das mal genauer ansehen.
Wigbert
Hier mal die eagle Files. Vllt hat jemand Lust da noch etwas dran zu
optimieren. Bedenkt aber bei Änderungen, der Platz im Gehäuse ist
begrenzt.
Es fehlen im Layout noch die Top und Bottom GND Polygone. Daher noch ein
paar Airwires. Ich mal die immer erst zum Schluss, also nicht wundern.
slime
slime schrieb:
> Eigentlich sollte zusätzlich noch ein RFM12 Modul mit rein. Gibt> allerdings nur eine stelle wo sich das relativ problemlos unterbringen> lässt.
Um mehr Platz für zusätzliche Hardware zu schaffen, könnte man auch das
Batteriefach entfernen und statt der drei Mikrozellen einen flachen
LiPo-Akku nehmen, wie man sie z.B. für kleines Geld bei Pollin bekommt.
> Damit sind die Pins des AVR dann aber nahezu alle belegt.
Wenn Du das RFM12 mit an den SPI hängst, ist nur ein zusätzlicher Pin
für den Chipselect nötig.
> Wenn an dem Projekt doch so reges interesse besteht, vllt. doch mal> drüber nachdenken die Platine fertigen zu lassen. :)
Also für mich käme nur fertigen lassen per Sammelbestellung in Frage und
ich wäre mit zwei bis drei Exemplaren dabei.
@Läubi: Mit diesem Verschnitt aus Tetris und Vier Gewinnt habe ich mich
auch schonmal etwas Zeit verbracht und dabei festgestellt, wie unpräzise
die Tasten leider sind.
Reinhard Max schrieb:
> @Läubi: Mit diesem Verschnitt aus Tetris und Vier Gewinnt habe ich mich> auch schonmal etwas Zeit verbracht und dabei festgestellt, wie unpräzise> die Tasten leider sind.
Das liegt wohl daran das es sich um so Gumimatten taster sind die nur
für zentralen Druck von oben gut funktionieren.
Lustig währe halt wenn man die Spiele der Versionen zusammenfassen
könnte und ggf neue einprogrammieren, so eine Art "mini gameboy"
portieren auf einen AVR wird wohl leider etwas schwer.
> Wenn Du das RFM12 mit an den SPI hängst, ist nur ein zusätzlicher> Pin für den Chipselect nötig.
ggf könnte man das Flasch auch so wie hier parrallel zum display Hängen
dan hätte man auch gleich genug speicher für grafiken etc.
Hi,
Ich würde übrigens bei den richtungstasten die gleichen flächen wie bei
den restlichen tasten benutzen, denn wie bei dem munchiz selbst hab ich
mitbekommen das die richtungstasten nur sehr schwer reagieren (ich
musste sie regelrecht einpressen damit der druck auf die taste erkannt
wurde)
Läubi .. schrieb:
> könnte und ggf neue einprogrammieren, so eine Art "mini gameboy"> portieren auf einen AVR wird wohl leider etwas schwer.
Uzebox als Basis nehmen und anpassen :
http://belogic.com/uzebox/> dan hätte man auch gleich genug speicher für grafiken etc.
Auf Slimes Entwurf ist doch ein SD-Sockel vorgesehen,
da kannst du ganze Videosequenzen draufpacken :)
@ Reinhard Max (rmax):
Wenn du den interrupt vom RFM auch benutzt dann brauchts zwei Pins.
Bleiben noch zwei übrig.
@Läubi .. (laeubi):
Na dafür hab ich doch die SD Karte eingelpant/baut.
Du musst bedenken das das Flash noch x Addressleitungen braucht.
slime schrieb:
> @ Reinhard Max (rmax):> Wenn du den interrupt vom RFM auch benutzt dann brauchts zwei Pins.> Bleiben noch zwei übrig.>> @Läubi .. (laeubi):> Na dafür hab ich doch die SD Karte eingelpant/baut.> Du musst bedenken das das Flash noch x Addressleitungen braucht.
Ja es ist schon spät ;) Ich stell immer wieder fest das so ein Flash
zwar reizfoll ist aber eigentlich aufgrund des Pinnings+großer Anzahl
benötigter Leitungen fast unbrauchbar.
Fur die RFM12-Variante sind mir zu viele Tasten.
Wir haben links die Richtungstasten, rechts 2 Tasten für Enter + Menü
Stellt sich erstmal die Frage, wie man die unteren Tasten mit was
Durchsichtigen ersetzt.
Bei Akkubetrieb würde sich das Laden über USB-Buchse anbieten.
Da der Deckel mehrmals rastet, könnte man eine Quadähnliche Antenne
im Rahmen einkleben. Dünnen Draht o.ä. Mal ein bischen rechnen.
Der AVR, langweilt der sich ? Müsste für Zusatzfunktionen gross
genug sein.
Wigbert
Läubi .. schrieb:
> Phil S. schrieb:>> Zum Serial Flash. Ich hab ein board geätzt, muss es jetzt nur noch>> fertig bestücken. Dann schau ich mal ob ich daten aus dem SST bekomme.>> Wenn das alles kein Problem ist, sollte das Dumpen(der version für>> Jungs, habe leider keine frauen version) des flashes kein Problem mehr>> sein.> Ich hab ne "Frauen Version" aber ist das nicht ein parralleles Flash?> Bist du schon weitergekommen mit dem auslesen?
Die verschiedenen Versionen unterscheiden sich wohl nur durch die
Software. Das Flash sollte bei allen Versionen das SST-Parallel-Flash
sein.
Da liegt wohl auch das Problem beim auslesen: Man muss halt viele Pins
ansteuern. Ich muss mal schaun, ob ich am Wochenende mal ein paar
Schieberegister rauskram und versuch das Flash auszulesen. Oder ich
versuch mich mal wieder in VHDL und nutz mein FPGA-Board. Nur Zeit muss
ich finden.
> Könnte man eventuell den Flash auf dem Board lassen und an den> Testpunkten drähte zum auslesen anlöten? Hat das schonmal jemand> ausgemessen?
Du kannst direkt an die Pins gehen... ist aber viel Lötarbeit. Technisch
kein Problem, solange du nur zuhören möchtest.
> BTW: Man kann da so eine Art Tetris spielen nur mit Elektrobauteilen!> (IC grau, Folienkondesator rot und Kerko blau). Ist eigentlich ganz> lustig gemacht das Teil.
Ich würde ja gerne die Konsole im Originalzustand lassen und neue Spiele
per USB hochladen können. Das sollte gehen, falls wir irgendwie
herausbekommen, wie der Firmwareupdate funktioniert. Leider hatte ich
bis jetzt keine Zeit mich damit zu beschäftigen.
Gruß,
SIGINT
Also ich hab das Teil mal an meinen Linux Rechner angeschlossen und vom
erkannten Datenträger dann per "dd" ein image erstellt was ziemlich
genau 16MB groß ist. Das dürfte eigentlich der komplette Flash inhalt
sein oder irre ich mich? also warum anders auslesen?
Wie schon oben erwähnt, wird die Festplatte wahrscheinlich nur als
"Trägermedium" verwendet um Datentransfers durchzuführen. Durch
schreiben und lesen bestimmter Stellen auf der Platte kann man Daten mit
der Konsole austauchen. So wird das zumindest bei vielen
USB-Bilderrahmen gemacht, die einen ähnlichen Mikrocontroller verwenden.
(den ST2205U statt des ST2203)
Ich wette, daß es hier genauso läuft.
Gruß,
SIGINT
Sigint 112 schrieb:
> Läubi .. schrieb:>> Phil S. schrieb:>>> Zum Serial Flash. Ich hab ein board geätzt, muss es jetzt nur noch>>> fertig bestücken. Dann schau ich mal ob ich daten aus dem SST bekomme.>>> Wenn das alles kein Problem ist, sollte das Dumpen(der version für>>> Jungs, habe leider keine frauen version) des flashes kein Problem mehr>>> sein.>> Ich hab ne "Frauen Version" aber ist das nicht ein parralleles Flash?>> Bist du schon weitergekommen mit dem auslesen?>> Die verschiedenen Versionen unterscheiden sich wohl nur durch die> Software. Das Flash sollte bei allen Versionen das SST-Parallel-Flash> sein.> Da liegt wohl auch das Problem beim auslesen: Man muss halt viele Pins> ansteuern. Ich muss mal schaun, ob ich am Wochenende mal ein paar> Schieberegister rauskram und versuch das Flash auszulesen. Oder ich> versuch mich mal wieder in VHDL und nutz mein FPGA-Board. Nur Zeit muss> ich finden.
Hi,
Ja ich habe mir ein dev board mit einem ATmega128 gemacht und genügent
IOs + serial port. Muss erstmal schauen das ich das zum laufen bekomme.
Dann werde ich den flash auslesen.
@Sigint 112
Hast du die frauen oder männer version?
Ich habe leider nur die Männer version. Ein dump von beiden wäre ja mal
Interessant.
gruß
morgen oder übermorgen bekomme ich auch etwas zum spielen ( danke an
Phil S. !).
Ist das wirklich ein SST39VF1681 ?
Wie uncool, ich kann maximal SST39VF088 oder SST39VF160 auslesen (also
MPF und keine MPF+) mit den programmer den ich hier habe, adapter für
TSOP48 habe allerdings da.
Der inhalt würde mich schon interessieren, irgendwo tief im kopf ist der
6502 asm noch "gespeichert"
hat jemand sich die update firmware angeguckt ?
Da steht drin "ST2205U", also doch.
Um andere firmware benutzen muss man erst an den OTP/Flash check vorbei.
Auf der Sitronix webseite gibts auch paar tools :
http://www.sitronix.com.tw/tools_ST2205U.htm
z.b. den SSI (Sitronix Smart ICE) der auch als softdebug binary files
annimt. Der emuliert auch keyboard und lcd display, allerdings schreibt
Sitronix als note "partial work" - was auch immer das bedeutet :)
@Phil:
Hab die Mädchenversion und das Monsterz. Hab mir eben das Update-Tool
runtergeladen. Da gibts eine Datei "Miuchiz Update.dat", die zwei
Firmwareversionen enthält. Man kann sehr schön Bilddaten und Texte
erkennen. Allerdings hab ich noch keinen eindeutigen Programmcode
Disassemblieren können. Teile des Dissassemblys sehen sinnvoll aus...
aber dann kommen Teile dazwischen, die keinen Sinn ergeben. Ich muss das
am WE mal alles sortieren und bewerten. Wichtig wäre es die Bilddaten
rauszufiltern.
Gruß,
SIGINT
@Sigint 112
Hast du schonmal geschafft dein Ding upzudaten? Bei mir kommt dann immer
ERROR. Wäre mal cool wenn man auf das monstar ding die mädchenversion
drauf bekommt. Das wäre schonmal ein Anfang.
Ich werde aufjedenfall trozdem den flash dumpen. Dann kann man schauen
ob da wirklich alles drauf geschrieben wurde.
PS: Kannst du mir vll 2 Mädchenversionen besorgen?
Gruß
Sigint 112 schrieb:
> Da gibts eine Datei "Miuchiz Update.dat", die zwei> Firmwareversionen enthält.
Es gibt aber 3 verschiedene Versionen von dem Spiel, d.h. da fehlt eine
Version. Oder stecken die beiden Mädchenversionen in der gleichen Datei?
Andreas Jakob schrieb:
> Wenn man den Power-Knopf gedrückt hält und dann einen> Reset macht, kommt man in einen Testmodus für die Tasten :)
Sehr cool, Wenn man dann alle tasten betätigt und sie verschwunden sind,
macht der ein color und flash test.
Checksums
OTP
0011fcc8
Flash
0514188E
Yasmin hat 07A8C866 und selbe OTP.
Hab das Updatetool unter Vista zum laufen gekriegt.
Die beiden Buttons für die Sprache waren schlicht nicht
zu sehen. Vielleicht liegt es an meinen geänderten DPI
Einstellungen.
Mit TAB + Enter konnte ich dann aber das Tool starten.
Im Anhang ein Screenshot wo man die verwendeten Adressen im
virtuellen Laufwerk sieht.
Nach dem Update liest er die Version aus und weigert sich nochmal
upzudaten :
23:55:05,7768294 Miuchiz Update.exe 4292 CreateFile
\Device\HarddiskVolume18 SUCCESS Desired Access: Generic Read/Write,
Disposition: Open, Options: No Buffering, Synchronous IO Non-Alert,
Non-Directory File, Attributes: N, ShareMode: Read, Write,
AllocationSize: n/a, OpenResult: Opened
23:55:05,8746512 Miuchiz Update.exe 4292 WriteFile
\Device\HarddiskVolume18 SUCCESS Offset: 25.088, Length: 512, I/O
Flags: Non-cached, Priority: Normal
23:55:05,8771259 Miuchiz Update.exe 4292 WriteFile
\Device\HarddiskVolume18 SUCCESS Offset: 25.088, Length: 512, I/O
Flags: Non-cached, Priority: Normal
23:55:05,9846214 Miuchiz Update.exe 4292 ReadFile
\Device\HarddiskVolume18 SUCCESS Offset: 45.056, Length: 8.192, I/O
Flags: Non-cached, Priority: Normal
23:55:06,1084985 Miuchiz Update.exe 4292 WriteFile
\Device\HarddiskVolume18 SUCCESS Offset: 25.088, Length: 512, I/O
Flags: Non-cached, Priority: Normal
23:55:06,1111434 Miuchiz Update.exe 4292 WriteFile
\Device\HarddiskVolume18 SUCCESS Offset: 25.088, Length: 512, I/O
Flags: Non-cached, Priority: Normal
23:55:06,1141153 Miuchiz Update.exe 4292 WriteFile
\Device\HarddiskVolume18 SUCCESS Offset: 25.088, Length: 512, I/O
Flags: Non-cached, Priority: Normal
23:55:06,2177378 Miuchiz Update.exe 4292 ReadFile
\Device\HarddiskVolume18 SUCCESS Offset: 45.056, Length: 8.192, I/O
Flags: Non-cached, Priority: Normal
23:55:06,3425066 Miuchiz Update.exe 4292 WriteFile
\Device\HarddiskVolume18 SUCCESS Offset: 25.088, Length: 512, I/O
Flags: Non-cached, Priority: Normal
23:55:06,3451496 Miuchiz Update.exe 4292 CloseFile
\Device\HarddiskVolume18 SUCCESS
Hi. Falls mal jemand Platinen zur Ansteuerung des Displays anfertig,
wäre ich gerne mit 1-2 dabei.. Verfolge eure Detektivarbeiten am Gerät
mit großen Interesse.. Prima!
Peter
Also ich könnte noch 1-2 abgeben, aber nur in Berlin, bin zu faul das zu
versenden.
dschens_b [na was wohl?] gmx [siehe erste Frage, das kommt hier nicht
rein] de.
Hallo,
in Hannover, Lister Meile und Hannover Engelbosteler Damm, war gestern
nichts mehr zu finden.
Ich habe heute die letzten Teile in Rinteln erhalten.
Gruß
Joachim
Phil S. schrieb:
> @Sigint 112> Hast du schonmal geschafft dein Ding upzudaten? Bei mir kommt dann immer> ERROR. Wäre mal cool wenn man auf das monstar ding die mädchenversion> drauf bekommt. Das wäre schonmal ein Anfang.
Ein Update hab ich auch nicht hinbekommen. Vielleicht sind die Teile
einfach auf dem aktuellen Stand.
> Ich werde aufjedenfall trozdem den flash dumpen. Dann kann man schauen> ob da wirklich alles drauf geschrieben wurde.
Die Größe würde passen... genau 2MB.
> PS: Kannst du mir vll 2 Mädchenversionen besorgen?
Leider gibts hier keine mehr. Hab die letzte Konsole bekommen. Ich schau
aber trotzdem nochmal nach, ob die nicht noch welche Eingelagert hatten.
Werd das wahrscheinlich aber erst Freitag schaffen.
Gruß,
SIGINT
Bisher wurde nur Text oder komplette Bilder auf dem Display angezeigt.
Ich versuche gerade ein paar Linien zu zeichnen, aber das ist furchtbar
ineffizient, denn man muss um die Adresse zu setzen 2x 3 Bytes senden.
Für einen Pixel muss man also 8 Bytes schreiben! Sieht jemand irgendeine
Möglichkeit das zu beschleunigen (außer das komplette Bild im µC zu
erzeugen und dann komplett zu übertragen)?
Hey Leute,
es könnte Zufall sein, aber ich glaube es nicht:
Wenn man die Adressen von folgendem Link mit den Festplattenzugriffen
von Andreas vergleicht dann sieht man, daß die Offsets gleich sind.
http://picframe.spritesserver.nl/wiki/index.php/Libst2205
25.088 <-> 0x6200 Command Write
26.112 <-> 0x6600 Data Write
45.056 <-> 0xB000 Data Read
Gruß,
SIGINT
>>Benedikt K. (benedikt) (Moderator) wrote:>>Datum: 13.08.2009 12:41>>Mess mal die Spannung an dem VLCD Pin (Pin20).
Also auf dem Konsolen-Board liegt an Pin20 eine Parallelschaltung aus
1MOhm und 100nF.
-Habe einmal die Fassung des Folienkabels abgelötet, und ein Foto
gemacht.
Wenn die Spielkonsole eingeschaltet ist, liegt an Pin20 (VLCD) eine
Spannung von +10,1 Volt an.
Wir verwenden in unseren selbst geäzten Platinen aber keine 10 Volt,
sondern nur 3,3 Volt. Bei 3,3 Volt ist der Wert von 100nF (parallel mit
1MOhm) wohl zu klein. Deshalb muss man 1uF (parallel mit 1MOhm)
verwenden.
Daniel W. schrieb:
> Wir verwenden in unseren selbst geäzten Platinen aber keine 10 Volt,> sondern nur 3,3 Volt.
Mehr verwendet das Spiel aber auch nicht, da stehen auch nur 4,5V der
Batterien zur Verfügung.
> Bei 3,3 Volt ist der Wert von 100nF (parallel mit> 1MOhm) wohl zu klein.
Nein, kann nicht sein. Da passt etwas anderes nicht. Die 10V erzeugt das
Display nämlich selbst.
Benedikt K. schrieb:
> Die 10V erzeugt das Display nämlich selbst.
Dann war es ein Denkfehler meinerseits. Ich dachte bislang die 10,1 Volt
kämen von einem Stepupwandler, der auf dem Motherboard irgendwo sitzt.
>von einem Stepupwandler, der auf dem Motherboard irgendwo sitzt.
"Motherboard" OMG ROFLCOPTER!!!11einseins ;-)
Induktivitäten sind viel zu teuer für solch ein Produkt ;-)
Obwohl der Handheld batterie betrieben ist wird einfach ein linearregler
für die 3,3V eingesetzt - ist günstiger.
@Benedikt
Das mit den Linien, Kreisen etc. habe ich auch schonmal programmiert mit
dem Bresenham. Aber du hast recht es ist sehr ineffizient. Eine andere
möglichkeit der Adressierung fällt mir aber auch nicht ein um Pixel zu
setzen.
Bresenham ist klar, ich denke ich werde für waagrechte und senkrechte
Linien Ausnahmen einbauen, und den Rest halt gezwungenermaßen mit den
8Bytes machen. Anders geht es ja nicht ohne mehr RAM. Mal schauen ob ein
AVR dann schnell genug ist. Notfalls kommt ein PIC24H dran, mit den
40MIPs sollte der dann ausreichen schnell sein...
Jop sieht echt geil aus glückwunsch.
Du kannst auf die Taster auch Zinn machen, das hält etwas länger als
wenn du da nur das Kupfer lässt.
Hast du ihn schon inbetrieb genommen?
hi,
will grad so ein display an meinen avr anschliessen und da bin ich im
datenblatt über die 3.3V Versorgung gestolpert. Ich bin anfänger im dem
bereich und wollte fragen wie ich am besten aus meinen 5V 3.3V mache.
wäre für einen tipp sehr dankbar
mfg ch
Du kannst den Spannungsregler von der Miuchizplatine nehmen.
Der ist mit "MD3-33" beschriftet.
Anschlussbelegung steht irgendwo oben im Thread.
Zwischen Masse und Ein-Ausgang jeweils wenigstens nen 100nF
Kondensator hängen.
Ansonsten, wenn es schnell gehen soll, kannst du auch zwei
Dioden in Serie schalten. Durch den Spannungsabfall kommst du
in einen Bereich den das Display verträgt.
Hi,
also falls noch Interesse besteht. Ich habe in Kassel mal den Rest
aufgekauft, da ja anscheinend noch reges Interesse besteht an den
Dingern und welche keine bekommen haben.
Also falls noch Jemand welche haben will, per Email melden bei mir.
P.S: esko du hattest mir ja schon geschrieben. Finde deine Nachricht
aber nit mehr. Also bitte einfach noch mal melden.
Gruß
Andreas Jakob schrieb:
> Du kannst den Spannungsregler von der Miuchizplatine nehmen.> Der ist mit "MD3-33" beschriftet.> Anschlussbelegung steht irgendwo oben im Thread.> Zwischen Masse und Ein-Ausgang jeweils wenigstens nen 100nF> Kondensator hängen.> Ansonsten, wenn es schnell gehen soll, kannst du auch zwei> Dioden in Serie schalten. Durch den Spannungsabfall kommst du> in einen Bereich den das Display verträgt.
aber die Datenleitungen müssen doch nicht auf 3.3V runter oder?
mfg christian
edit: habe noch die 1N4001P-Dioden, funktionieren die?
vielen Dank
wenn du das Display mit 3,3V betreibst müssen die Datenleitungen auch
auf 3,3V. Ich betreibe mein Display jetzt allerdings schon ein paar Tage
an 5V funktioniert bei mir auch. Bei 1€ das Stück kann mans ja mal
riskieren ;-)
> wenn du das Display mit 3,3V betreibst müssen die Datenleitungen auch> auf 3,3V> ok, dann werd ich einfach nur die versorgung mit den 1n4001p dioden auf> 3.3v machen und die datenleitungen auf 5v lassen.
ok is das nich!
@christian D
Bist du sicher, dass das Ansteuern des Displays nicht eine Nummer zu
groß für Dich ist?
Es reicht, wenn du deine gesamte Schaltung (AVR & Display) über die zwei
Dioden (1n4001 sind ok) versorgst. Dann läuft nämlich der AVR auf der
selben Spannung wie das Display und die sollte ungefähr im erlaubten
Rahmen liegen.
> Bist du sicher, dass das Ansteuern des Displays nicht eine Nummer zu> groß für Dich ist?
mal gucken ob es klappt, viel zu verlieren hab ich nicht.
Ich hätte einfach nicht gedacht das der Avr mit 3.3V zufrieden ist. Auf
jeden Fall vielen Dank
Hinter den zwei Dioden noch eine Z-Diode (3.3V) an GND, dann ists
perfekt. Dann sind in jedem Lastzustand 3.3V vorhanden.
Ansonsten nur das Display mit 3.3V versorgen, den AVR mit 5 V, und dann
mit Spannungsteilern arbeiten (1.8k/3.3k), hat sich schon mehrfach
bewährt, ist aber (viel) mehr Aufwand.
In Berlin Steglitz gabs letzte Woche welche von den Spielen, die hatten
die aber noch nichtmal rausgelegt, mußte danach fragen. Hab vier
Mitgenommen, nur die Mädchenversionen (Yasmin & Cloe).
In der Bucht kann man das Display auch kaufen für 10 €.
MfG BC
>ok, dann werd ich einfach nur die versorgung mit den 1n4001p dioden auf>3.3v machen und die datenleitungen auf 5v lassen. hoffe das geht so:)>danke
Ich glaube du hast mich da falsch verstanden, ich versorge die komplette
schaltung samt Display mit 5V okay laut datenblatt ist das aber
eigentlich nicht. aber wie gesagt es funktioniert bei mir seit ein paar
tagen schon
sorry,
"ich meine, die obige Pinbelegung des Reglers ist falsch,
da In und Out vertauscht"
scheint doch nicht so.
Der erste Regler mit In am Tab im SOT-89 den ich sehe
Ich suche noch immer nach 'nem Datenblatt
Weils in Berlin scheinbar keine mehr gibt jetzt nochmal die Frage an
die, die ne ganze LKW-Ladung ergattern konnten:
Wer hat noch ein paar 5-10 Stk und könnte die abgeben? Im Prinzip
interessiert mich nur das Display (mit Connector), falls jemand die
Gehäuse oder den Flash selbst braucht...
Bitte per PN melden!
Gruß
Fabian
Hi,
mit der Textausgabe bedarf ich mal Hilfe.
Ich hab eine Font 8x8 da wäre das H:
127 ; 8 ; 8 ; 8 ; 127 ; 0 ; 0
wenn jetzt ein Byte in eine Zeile geschrieben, wäre der
Buchstabe um 90° gedreht.
Wie geht das hier?
Beim Nokia3310 waren immer Blöcke, die im Befehlsmodus eingestellt
wurden.
Dank Euch mal schon
Wigbert
Wigbert Picht-dl1atw schrieb:
> Ich hab eine Font 8x8 da wäre das H:> 127 ; 8 ; 8 ; 8 ; 127 ; 0 ; 0
Die Zeichen sind also Vertikal angeordnet, das ist etwas ungünstig, geht
aber auch.
Hier gibt es fertigen Code:
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Das schöne an dem Display ist, dass man einzelne Pixel direkt setzen
kann, und dass man einen bestimmten Bereich einstellen kann der
beschrieben werden soll. Für 8x8 sähe das Setzen der Adresse und des
Bereiches dann so aus:
1
Write(COMMAND,0x15);// Column address set
2
Write(DATA,x);// From column address
3
Write(DATA,x+7);//nit 8 da erste x addresse schon zählt
4
Write(COMMAND,0x75);// Page address set
5
Write(DATA,y);// From page address
6
Write(DATA,y+7);//nit 8 , da ja die y Addresse schon zählt
7
Write(COMMAND,0x5c);// Entry Memory Write Mode
Danach muss du insgesamt 8x8x16bit schreiben, Zeile für Zeile. Da bei
deiner Schriftart 8 untereinander liegende Pixel in einem Byte sind, das
Display aber die Pixel in horizontaler Richtung möchte, musst du erst
die ganzen Bit0 aller 8 Bytes abtasten, dann Bit1 usw.
@Benedikt
>das>Display aber die Pixel in horizontaler Richtung möchte, musst du erst>die ganzen Bit0 aller 8 Bytes abtasten, dann Bit1 usw.
das war mein Problem,
Dank Dir
Wigbert
Hi,
bitte keine Emails mehr an mich, alle Displays sind weg. Der Email
Ordner voll. Ich weiss nit mehr wie ich allen Antworten soll.
Alle weg.
Bitte um Nachsicht das ich nit allen Antworte. Denen ich nit Antworte
bekommen leider keine mehr sry. Alle anderen haben meine Kontodaten und
überweisen in den nächsten 5 Tagen. Ansonsten gibt es noch welche und
ich melde mich hier :-)
Gruß
Am Anfang des Threads gab es die Idee dem Ding eigenen Code über das
Update zu übergeben. Hat sich da schon jemand weiter mit beschäftigt und
mehr herausgefunden?
Werde gleich hier mal im WW vorbeischauen und hoffe die haben noch ein
paar von den Dingern. Wäre interessant für mich es für ISP/JTAG zu
missbrauchen, eventuell mit Cache des letzten hex files. Zum "offline"
programmieren. Vorausgesetzt es finden sich genügend verwendbare IO pins
zum herausführen.
> @rufus> ob der hier grade quasi verschenkte Artikel mit dem von dir oben> geposteten Projekt kompatibel ist ?> http://www.pearl.de/a-GRA11087-5618.shtml?vid=385
Hat sich schon jemand dieses Teil bestellt und mal nachgesehen, welcher
Controller verbaut ist?
@Mic
> Hat sich schon jemand dieses Teil bestellt und mal nachgesehen, welcher> Controller verbaut ist?
Hi, ich habe mir das "Ding" bestellt, ist allerdings bis dato noch nicht
angekommen.
Sofern Bedarf besteht könnte ich heute bei uns nochmal nachschauen, ob
es noch welche gibt. Bin am Dienstag da gewesen und da hatten die noch
jede Menge.
Mic schrieb:
>> @rufus>> ob der hier grade quasi verschenkte Artikel mit dem von dir oben>> geposteten Projekt kompatibel ist ?>> http://www.pearl.de/a-GRA11087-5618.shtml?vid=385>> Hat sich schon jemand dieses Teil bestellt und mal nachgesehen, welcher> Controller verbaut ist?
hab grad in meinem Posteingang den Versand von Pearl bestätigt bekommen
...
> > ob der hier grade quasi verschenkte Artikel mit dem von dir oben> > geposteten Projekt kompatibel ist ?> > http://www.pearl.de/a-GRA11087-5618.shtml?vid=385>> Hat sich schon jemand dieses Teil bestellt und mal nachgesehen, welcher> Controller verbaut ist?
Ja. Der Controller ist nicht identifizierbar, da direkt auf die Platine
gebondet und unter einem Klecks Epoxy verborgen.
Das gesamte Teil ist mit dem Pearl-Phantasienamen "Sumicon" beschriftet,
es scheint in den verschiedensten Gehäusen vertrieben zu werden.
Herstellerbezeichnung ist vermutlich ZW1507.
Neben etwas Hühnerfutter ist auf der Platine noch ein AMIC A25L080M
(http://www.amictechnology.com/pdf/A25L080.pdf) im SO-8 verbaut. Das ist
ein 8 MBit Flash-Baustein.
Das Display selbst ist beschriftet mit
DFM-074C-NL-WD IEJB002
BG999076A-V0.1(BLD-0030-W-R)
Der gelötete Flexfolienleiter ist beschriftet mit
FPC888074C-V0.0
Mit dem Display hat sich anscheinend auch schon jemand
auseinandergesetzt, allerdings kann ich exakt gar kein japanisch:
http://suz-avr.sblo.jp/article/30765458.html
Das hier scheint die Pinbelegung des Flexfolienleiters zu sein:
1 VCC
2 GND
3 --
4 --
5 CS#
6 Data/Command#
7 RD#
8 WR#
9 RST#
10 D0
11 --
12 D1
13 --
14 D2
15 --
16 D3
17 --
18 D4
19 --
20 D5
21 --
22 D6
23 --
24 D7
25 --
26 LEDK(-)
27 LEDA(+)
Und der verwendete Controller auf dem Display ist vermutlich ein ST7637
(http://www.sitronix.com.tw/sitronix/SASpecDoc.nsf/FileDownload/ST76372737188/$FILE/ST7637_v1.6.pdf)
So, Display geht, Buttons gehen (sogar erstaunlich gut), SD-Card geht.
Hier mal ein kleines Video. Ich hoffe man kann bischen was erkennen.
http://amalas.eu/~slime/100_2315.MOV
slime schrieb:
> So, Display geht, Buttons gehen (sogar erstaunlich gut), SD-Card geht.> Hier mal ein kleines Video. Ich hoffe man kann bischen was erkennen.> http://amalas.eu/~slime/100_2315.MOV
was ist das auf dem video ? :))
Hallo,
der Anschluss des Displays ist auch möglich, ohne einen Platine zu
ätzen.
Man kann einen Teil der Miuchiz-Platine aussägen, und dort sechzehn
normale Kabel anlöten.
-Die Platine stellt Lötaugen mit 1.6 mm Durchmesser zur Verfügung.
Siehe auch den Plan mit der Pinbelegung ...
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Rufus t. Firefly schrieb:
>> > http://www.pearl.de/a-GRA11087-5618.shtml?vid=385>>>> Hat sich schon jemand dieses Teil bestellt und mal nachgesehen, welcher>> Controller verbaut ist?>> Ja. Der Controller ist nicht identifizierbar, da direkt auf die Platine> gebondet und unter einem Klecks Epoxy verborgen.
Wenn man den Bilderrahmen per USB anschließt, welche VID und PID wird
dann in der Systemsteuerung angezeigt?
Evtl. kann man so den Hersteller/Typ des Controllers rausfinden.
slime schrieb:
> So, Display geht, Buttons gehen (sogar erstaunlich gut), SD-Card geht.> Hier mal ein kleines Video. Ich hoffe man kann bischen was erkennen.> http://amalas.eu/~slime/100_2315.MOV
nice ... in welchem Format speicherst du das Video ??
kannst du evtl den code posten
SG
Rufus t. Firefly schrieb:
> Herstellerbezeichnung ist vermutlich ZW1507.>
Besser gesagt ZW-15xx, das kann der 11, 17, 01, 07 usw. sein, die sind
alle mit 8mb oder 16mb flash und cstn display.
Hersteller ist Prestige Rich International Ltd. (Prestierich)
http://www.chinadigiworld.com:83/pview.asp?fd_id=137492
Die bauen auch OEM, passt also.
Ja, auch ich habe es geschafft, danke an "bjoern (Gast)" für den Code!
warum ich mich so freue? Ist meine Zweite Sache die ich jemals an einen
µc angeschlossen habe(nach LED).
Daniel W. schrieb:
> hast du einen 3.3 Volt Spannungsregler auf dem AVR-Board?
Nein, nach meiner Frage ein paar post´s weiter oben, sagte man mir es
würde auch mit 5V ohne Probleme funtkionieren. Und das tut es auch!
Also, warum auf 3.3V runter? =)
Die sehr niedrige Stromaufnahme des Display lässt wohl etwas Luft
nach oben hin. Ich denke mit 5V ist man dann aber ziemlich an der
Grenze, da könnte schon eine schlecht geregelte Versorgungsspannung
den IC abrauchen lassen.
Christian D. schrieb:
> Daniel W. schrieb:>> hast du einen 3.3 Volt Spannungsregler auf dem AVR-Board?>> Nein, nach meiner Frage ein paar post´s weiter oben, sagte man mir es> würde auch mit 5V ohne Probleme funtkionieren. Und das tut es auch!> Also, warum auf 3.3V runter? =)
dir ist schon klar das :
Absolute Maximum Rating
Power Supply VDD 4.0V
Input voltage VDD+0.5V
sind oder ?
slime schrieb:
> Hier nochmal ein anderes Video. Ich denke da sollte jeder erkennen was> das ist.> http://www.youtube.com/watch?v=fkzOUrqAsgE
viel besser, cool sache das.
bjoern schrieb:
>>ok, dann werd ich einfach nur die versorgung mit den 1n4001p dioden auf>>3.3v machen und die datenleitungen auf 5v lassen. hoffe das geht so:)>>danke>> Ich glaube du hast mich da falsch verstanden, ich versorge die komplette> schaltung samt Display mit 5V okay laut datenblatt ist das aber> eigentlich nicht. aber wie gesagt es funktioniert bei mir seit ein paar> tagen schon
Das wurde mir geschrieben. Also es funktioniert ja. Ich finde es ein
bischen zu kompliziert das jetzt noch auf 3.3V zu machen. Aber ich werde
bescheid geben wenn es nicht mehr funktioniert!
@bjoern
Funktioniert es bei dir noch immer? Wie lange hast du es schon laufen
gelassen?
slime schrieb:
> Hier nochmal ein anderes Video. Ich denke da sollte jeder erkennen was> das ist.> http://www.youtube.com/watch?v=fkzOUrqAsgE
Richtig cool, könntest du ein bisschen Code posten?
ja, welche SD-Routinen benutzt du, welches Format, wie konvertierst Du,
wieviel Flash braucht das Programm, wie könnte man synchrones Audio
hinbekommen? :-)
hab mir das din von PEARL bestellt und wollts erst mal in seiner
original funktionalität ausprobieren.
Wie kriegt man da fotos rauf?
wenn ich das an USB hänge kommt ein neues Laufwerk mit einem Programm.
Wenn ich das starte, sagt das nur, dass es das gerät nmicht finden kann.
Hi,
hier ist mal ein Zwischenstand von mir. Also die Hardware für den SST
steht soweit. Ich hoffe ich komme die Tage dazu auch die Software zum
auslesen zu schreiben.
@slime
Hi, der Videoplayer sieht nicht schlecht aus. Wie viel FPS hast du?
Ich habe auch einen geschrieben, der war aber für ein UC3 von Atmel mit
Komprimierung (verlustfrei oder verlustbehaftet).
http://www.youtube.com/watch?v=Lzbz_tU4f3g
Ich denke aber das Sound zusätzlich schwer wird, könnte man aber
probieren. Kannst mich ja mal anschreiben.
gruß
Der Ton sollte eigentlich kein allzu großes Problem sein, wenn man
diesen entweder als zweite Datei (nicht so optimal, denn dann muss das
Dateisystem immer hin und her springen), oder interleaved speichert. Man
könnte die Audiodaten als 512Byte Blöcke zwischen die Videodaten mischen
(z.B. nach jedem Frame einen Audio Block). Bei 12,8kHz Samplerate wäre
man bei 25fps wenn den Ton das Timing bestimmen lässt.
Daniel W. schrieb:
> für das PEARL-Display könnte man IMHO einen eigenen Thread machen.
Jep, gute Idee!
Diesen habe ich nun auch eröffnet, um das ganze ein bisschen zu
splitten.
Hoffe das is im allgemeinen Ok!
-> Pearl Fotoalbum am Schlüsselbund
Gruß Michel
Phil S. schrieb:
> Hi,>> hier ist mal ein Zwischenstand von mir. Also die Hardware für den SST> steht soweit. Ich hoffe ich komme die Tage dazu auch die Software zum> auslesen zu schreiben.>> @slime> Hi, der Videoplayer sieht nicht schlecht aus. Wie viel FPS hast du?> Ich habe auch einen geschrieben, der war aber für ein UC3 von Atmel mit> Komprimierung (verlustfrei oder verlustbehaftet).> http://www.youtube.com/watch?v=Lzbz_tU4f3g>> Ich denke aber das Sound zusätzlich schwer wird, könnte man aber> probieren. Kannst mich ja mal anschreiben.>> gruß
Hi Phil!
Dein Video auf youtube is cool!
Kompliment!
Wie hast du denn das mit dem Sound gemacht?
Auch so wie Benedikt im Posting drüber beschrieben hat?
Gruß,
Michel
Christian D. schrieb:
> Daniel W. schrieb:>> hast du einen 3.3 Volt Spannungsregler auf dem AVR-Board?>> Nein, nach meiner Frage ein paar post´s weiter oben, sagte man mir es> würde auch mit 5V ohne Probleme funtkionieren. Und das tut es auch!> Also, warum auf 3.3V runter? =)
Die Frage ist doch eher: Warum auf 5V hoch? Bring doch hier
überhauptnix, da AVR und Display mit 5V wunderbar kalr kommen.
@zippi: Schönes board, ist das Projekt irgendwo dokumentiert? Verwendest
du eine selbst entwickelte Komprimierung? Das SPI zum Display läuft
bestimmt auf fullspeed.
@laeubi: gibt halt immer wieder leute die würden solch ein 3,3V display
am liebsten mit ihrer 12V SPS ansteuern... ;(
@ Mi Mo und Marius
Ja die Komprimierung habe ich selber gemacht. Sie funktioniert so
ähnlich wie Benedikt das gesagt hat.
Es kommt immer ein Frame, der wird in einen Videospeicher geladen, ein
atmega644 hätte aber zu wenig ram, auch für das kleine Display, und dann
kommen die Audiodaten für 1/25 Sekunde. Dann wieder die Bild Daten u.s.w
.
zur Komprimierung:
im Videofile sind nur die Pixel gespeichert, welche auch verändert
werden sollen.
Bei der verlustbehafteten Komprimierung kann eingestellt werden ab wann
ein Pixel geändert werden soll (dabei wird darauf geachtet, dass man
Helligkeits- Änderungen eher wahrnimmt als Farb- Änderungen).
> Ich arbeite noch an 3 zusätzlichen verfahren um die Daten kleiner zu bekommen.
Da der atmega644 nicht so viel ram hat, müsste man öfters pro Frame
zwischen audio- und Videodaten hin und her springen. Aber ich denke,
dass man dann nicht sehr viele fps hinbekommt und die Audioqualität wäre
wohl auch nicht so toll.
Dokumentiert ist mein Projekt nicht. (fertig ist es auch noch nicht)
Benedikt K. schrieb:
> PS: Ich habe das Teil mal an den PC angeschlossen. Es meldet sich als> Laufwerk an. Allerdings wird das Laufwerk als unformatiert, aber mit> 16MByte Kapazität angezeigt. Wie die auf einem 2MByte Flash gespeichert> werden sollen, ist mir ein Rätsel.
der SST39VF1681 ist also ein 2 MB Flash. Gibt's irgendwo ein Datenblatt
davon ?
So,
ich fang mal an die Firmware zu analysieren. Ich hab leider nicht viel
Erfahrung mit solchen Sachen... aber dafür mach ich das ja. Ich hab die
Firmware erstmal in ein Bild umgewandelt. Man kann schön die Bilddaten
erkennen. (Ich hab das Bild künstlich verrauscht) Mal schauen, ob ich
die Programme herausfiltern kann. Die Bilder verwenden nur 256 Farben.
Ein Byte entspricht einem Pixel, bei einer Bildbreite von 98 Pixeln.
Gruß,
SIGINT
Sigint 112 schrieb:
> So,> ich fang mal an die Firmware zu analysieren. Ich hab leider nicht viel> Erfahrung mit solchen Sachen... aber dafür mach ich das ja. Ich hab die> Firmware erstmal in ein Bild umgewandelt. Man kann schön die Bilddaten> erkennen. (Ich hab das Bild künstlich verrauscht) Mal schauen, ob ich> die Programme herausfiltern kann. Die Bilder verwenden nur 256 Farben.> Ein Byte entspricht einem Pixel, bei einer Bildbreite von 98 Pixeln.>> Gruß,> SIGINT
Hi,
das scheint die Mädchen version zu sein. Wie hast du die Firmware jetzt
gedumpt?
gruß
@Phil:
Ja, das ist eindeutig die Mädchenversion. Das Firmwareimage ist beim
Update-Programm dabei, welches man auf der Webseite runterladen kann.
Genaugenommen befinden sich zwei Versionen in der Datei. Leider hab ich
noch keine Zeit gefunden das SST-Flash auszulesen.
Gruß,
SIGINT
Och noe! Warum les ich das jetzt erst, dass beim WW Niendorf Markt noch
was ist? Bin gestern mim Fahrrad erst im Iserbrooker und dann im
Eidelstädter WW gewesen, die waren beide alle. Dann dacht ich mir
"nochmal 2*5km extra für nach Niendorf?" -> "Nein... is sicher eh nix
mehr da"...
Naja, so werd ich dann Montag noch ne Fahrradtour machen :-)
Sigint 112 schrieb:
> @Phil:> Ja, das ist eindeutig die Mädchenversion. Das Firmwareimage ist beim> Update-Programm dabei, welches man auf der Webseite runterladen kann.> Genaugenommen befinden sich zwei Versionen in der Datei. Leider hab ich> noch keine Zeit gefunden das SST-Flash auszulesen.>> Gruß,> SIGINT
Hi,
ok, ich werde mal sehen wie weit ich heute mit dem auslesen den SST
komme. Dannach würde ich gerne versuchen die Mädchenversion zu flashen.
gruß
Ich hab interesannte Neuigkeiten. Ich hab mich mal mit der "Miuchiz
Update.dat" beschäftigt. Anscheinend sind zwei Versionen der
Mädchen-Konsolen Firmware in der Datei enthalten. Die Datei enthält
einen Header mit Infos über die enthaltenen Firmware-Versionen. Ab
Offset 0x20 liegt eine Tabelle mit 8x16Byte, die auf verschiedene
Infoblöcke der Firmware-Versionen verweist.
Die Infoblöcke liegen von 0xa0 bis 0x1bf.
Von 0xa0 bis 0xcf liegen die Infos für die erste Firmware.
Von 0xd0 bis 0xff für die zweite Version. Alle anderen Einträge sind
wohl leer.
Nun das Intersannte: Man kann auf dem Monsterz auch die Version der
Mädchenkonsole hochladen. Dazu muss man nur die Werte an den Offsets
0x48,58,68,78,88,98 von "0x02" auf "0x03" ändern. Leider hab ich noch
nicht rausbekommen, wie man dann eine noch neuere Firmware hochladen
kann.
Ich hab keine Ahnung, wie der Konolentyp und die Version genau
hinterlegt ist. Scheinbar gibt es auch nur ein Update für die
Mädchenkonsole und nicht für die anderen. Komische Sache.
Gruß,
SIGINT
Hab noch was vergessen: Die Pointer an den Positionen 0x2c,0x2d..
0x3c,0x3d.. etc. müssen noch angepasst werden. Die können auf 0xa0 0x00
geändert werden. Das Bild zeigt die Originaleinstellungen.
Gruß,
SIGINT
Bin auch immer noch auf der Suche.
Falls also jemand noch 2 oder 3 (würde mich auch mit einem zufrieden
geben) übrig hat, bitte Mail an mich...
Danke
Dirk
>Och noe! Warum les ich das jetzt erst, dass beim WW Niendorf Markt noch>was ist? Bin gestern mim Fahrrad erst im Iserbrooker und dann im>Eidelstädter WW gewesen, die waren beide alle. Dann dacht ich mir>"nochmal 2*5km extra für nach Niendorf?" -> "Nein... is sicher eh nix>mehr da"...
Fuhle 171 war am letzten Montag noch alles voll
jo me ist Di. in der Fule den schaue ich mal das ich noch nen paar
bekomme mir persönlich sind die teile zu klein um nen sinnvollen Zweck
zu erfüllen aber bei nem eur kann man ja mal nen pahr besorgen.
Leudde ich komm aus Wedel und wenn ich dann noch 5,20€ fürn HVV
Tagesticket bezahl is das zu teuer für die Displays :-) Fuhle is leider
etwas weit mim Fahrrad. Naja, wenn ich heut abend nochmal 2 Stunden vom
Lernen entbehren kann fahr ich nochn paar Woolies an :-)
Hi,
So ich hab hier mal den download von dem Spiel. Erwartet nicht so
viel^^.
Bin grad in der Mädchenwelt mit meiner monster version(update to
mädchen).
http://www.2shared.com/file/6453225/48242af6/Miuchiz_2.html
In anhang ist das geänderte update für die Monster version. (rückupdate
gibt es nicht.)
gruß
So, nun hab ich auch 6 Stück im Woolworth Altona ergattert. Keine Ahnung
ob es die letzten waren, aber es waren die letzten im Wühlkasten. Die
Kassiererin wollte mir unbedingt den Kassenzettel mitgeben, "falls eins
kaputt ist". Eine Familienmutter hinter mir zu ihrem Kind "Guck mal, die
Computerspiele kosten nur 1 Euro!".
Ich freu mich auf die Bastelzeit wenn ich in 1 Woche wieder zu haus bin
:-)
Nun auch mit Sound. :)
http://www.youtube.com/watch?v=YYBC6IjbG-M
8kHz pwm aound @ 10ps.
Viel mehr wird nicht drin sein. Aber, immerhin.
Die Audio und Videodaten sind, wie oben schon beschrieben, immer
abwechselnd in der Datei angeordnet. Das ganze basiert auf ethersex.
http://www.ethersex.de Der code für die grundlegende ansteuerung des
Displays ist mittlerweile im git enthalten. Source für den Video Player
und tools um ein Video in das passende Format zu wandeln werde ich
commiten sobald ich alles etwas aufgeräumt hab.
Bei der Hardware müssen noch ein paar Sachen geändert werden,
Zum einen schafft ein AVR Pin bei 3,3V nur ca. 10mA. Das ist für die
Displaybeleuchtung doch etwas wenig. Ich hab die LED jetzt erstmal
ohne Wiederstand direkt an die 3,3V gehängt. Am besten man schaltet
das über nen FET evtl.? Genauso die Versorgung fürs Display. Wobei da
ein direkter Pin ausreichen sollte. Das Ding hat ja keinen ein/aus
Schalter, daher müsste das schon alles irgendwie abschaltbar sein.
Der Speaker braucht auf jeden Fall auch irgendwie einen kleinen
Verstärker.
So ist das doch etwas arg leise. :( Ich hatte gedacht das ich die OC0A
und OC0B Pins irgendwie gegensätzlich schalten könnte um so effektiv die
doppelte Spannung im Speaker zu haben, aber hab nochnicht rausgefunden
wie ich das am geschicktesten anstell. Irgendwelche Ideen zum Verstärker
oder dem zweiten OC Pin?
slime
@slime:
Wie hast du die PWM geglättet für den Sound? Einfacher RC Tiefpass? Ich
hab damit suboptimale Erfolge erzielt...
Dann würde eventuell eine Gegentaktansteuerung mit 4 kleinen Fets lohnen
als Verstärker: 2 N-Fets und 2 P-Fets am gleichen µC Pin, vor das 2.
Paar noch nen kleinen Transistor (besser: auch Fet) als Inverter. So
kriegst du volle +/- 3,3V am Lautsprecher. Bei geschätzten 16 Ohm
fließen bei 3,3 V bereits bis zu 3,3 V/16 Ohm = 200 mA -> die
Größenordnung erklärt schonmal, warum es direkt am µC leiser war, da du
wohl nicht mehr auf 3,3 V am Lautsprecher gekommen bist.
BSS123 als N-Fet und BSS83P als P-Fet. Noch nen 5. Fet (hust) zum
Abschalten des ganzen... Gibts da vielleicht bessere Schaltungsideen von
jemandem?
Wenn OC0A auf "set on compare match" steht, OC0B auf "clear om compare
match" stellen und schon laufen beide gegenläufig.
Zum Verstärken gibt es auch fertige Kopfhörerverstärker z.B. im SO8
Gehäuse.
Gast schrieb:
> ...> Zum Verstärken gibt es auch fertige Kopfhörerverstärker z.B. im SO8> Gehäuse.
Wenn man eh schon PWM hat, kann man bei kleinen Leistungen auch
problemlos einen Mini-Class D Verstärker aufbauen. Deshalb ja auch jetzt
schon meine Frage nach dem Ausgangsfilter, denn da hab ich sogar bei 15
kHz PWM Frequenz schon Probleme gehabt (es ist einfach nicht steil
genug). Gut, mit nem "normalen" Verstärker kannst du vorher mehrere
Filter in Reihe packen, das macht dem hochohmigen Signal nicht so viel
aus, dann kriegst du mehr Flankensteilheit. Dennoch seh ich irgendwie
Class-D als Vorteil an.
btw seh ich grad die Daten vom verbauten LS:
32 Ohm; 0,25 W. Den Speaker find ich sogar relativ "robust" - ist nicht
so eine ultra-billig-Tröte sondern könnte durchaus "etwas" taugen.
In welcher Stadt in NRW (Bevorzugt Umkreis Bielefeld - Dortmund) gibt es
denn noch welche? (Mit dem Semestericket komme ich überall kostenlos
hin, wenn ich mich nur lang genug in den Nahverkehr setze).
Hallo,
seit letzter Woche verfolge ich die Postigs hier. Gerne würde ich auch
mitbasteln. Leider habe ich kein Spiel abbekommen.
Kann mir jemand einen Tipp geben, wo es in Berlin noch zu haben ist?
Danke und Gruß
Anruf war sinnlos. Ich bin in einer Zentrale gelandet. Die konnten mir
nicht sagen, ob das Spiel in meiner bevorzugten Filliale vorhanden ist.
Sie konnte auch nicht sagen, in welcher Filiale es noch vorhanden ist.
Wenn jemand dieses Spiel in Berlin gesehen hat, dann bitte hier posten.
Danke!
>Gibts da vielleicht bessere Schaltungsideen von>jemandem?
Weiss ja nicht, was ihr für Anforderungen habt,
aber ein TDA2822M ist billig, einfach zu beschalten,
und läuft ab 1,8V
p.s. in Osnabrück gab es am Samstag keine mehr
Kay schrieb:
>>Gibts da vielleicht bessere Schaltungsideen von>>jemandem?>> Weiss ja nicht, was ihr für Anforderungen habt,> aber ein TDA2822M ist billig, einfach zu beschalten,> und läuft ab 1,8V
Naja, 0,2-0,35 W @ Bridge @ 3 V @ 4 Ohm ... so wirklich pralle ist das
nicht, aber mehr ist da halt nicht rauszuholen. Mit ner FET-Class-D
Stufe sollte man etwas mehr schaffen.
(Vpp = 6V, Vp = 3V, Veff = 2,1 V -> ~1 W @ 4 Ohm, 0,5 W @ 8 Ohm, 0,25 W
@ 16 Ohm)
Oder wie weiter oben irgendwo beschrieben: Aus 2 Mosfets. Damit nutzt
man die vorhandene Spannung noch besser aus, da die beiden BE-Spannungen
wegfallen (dafür hat man aber beim Umschalten ein paar Verluste mehr).
Alternativ funktionieren auch Logik ICs, z.B. mehrere parallele Gatter
eines 74LVX245.
Davon abgesehen: <1W reicht für sowas auch bei weitem aus, man will mit
sowas ja nicht das ganze Haus beschallen.
Na, Jungs!
Bastelt mal schön weiter mit dem Spiel. Ich war gestern in einem anderen
Woolworth. Leider habe ich auch dort nichts bekommen.
Ich gebe auf!
Schön, dass wir mal drüber gesprochen haben.
Gruß aus Berlin
Hi,
Heute mal der erste poster^^
Habe es heute geschafft den flash zu dumpen. Hier ist mal die Datei.
Das Programm scheint erst ab adresse 0x00003000 zu starten.
Wo sind denn jetzt unsere Disassembler profis.
Man kann sogar die einzelnen miniGame codes erkennen.
gruß
Daniel W. schrieb:
> Es war heute und gestern ziemlich ruhig hier. -Ist es eigentlich> möglich, den 2MB Flash-Speicher über den USB-Port des Miuchiz-Spiels> auszulesen ?
Theoretisch kann man das Flash über USB lesen und schreiben.
Ich finde nur kein Tool mit dem man die geschriebenen/gelesenen
Daten des Updateprogramms protokollieren kann.
Kennt jemand ein Tool dass nicht nur die Zugriffe, sondern auch
den Datenstrom zum Dateisystem loggen kann ?
Es gibt eine Software, die heisst "Advanced USB Port Monitor".
Die kann man einsetzen als "USB traffic sniffer" und "USB Bus Protocol
Analyzer".
Text:
Advanced USB Port Monitor packs the robust functionality to capture,
view and process USB traffic. It offers sophisticated viewing to debug
and test High (480Mbps), Full (12Mbps) and Low (1.5Mbps) speed USB
devices.
Downloadseite:
http://www.popularshareware.com/Advanced-USB-Port-Monitor-transfer-29684.html
Dateiname: ausbmon20.exe (Filegroesse 4MB)
So ich war gerade in Marburg im Woolworth ... die ham noch den ganzen
wühldings damit voll (steht wenn man rein kommt rechts ... bis ich mich
durch die ganzen wühltische gekämpft hab bis ich die 1€ wühlkörbe
gefunden hab ...) allerdings nur Jungsversionen, keine mädchenversionen,
komischerweise. Also das sind sicher noch 50 stück.
Also Wigbert, wenn du jungsversionen gebrauchen kannst sag bescheid,
aber mädchenversionen hatten sie leider nicht :(
Hi,
So wie ich das sehe habe die Bilddaten im flash irgendwo eine
farbtabelle.
Und in der Mädchen version werden Bilder übereinander gelegt. Z.b. das
unterste bild mit dem Fenster, da wird vorher eine Tapete hinter gelegt.
Wäre cool wenn mal jemand die Übertragung vom update aufzeichnen könnte.
gruß
>Also Wigbert, wenn du jungsversionen gebrauchen kannst sag bescheid,>aber mädchenversionen hatten sie leider nicht :(
ich werds überleben, Jungenversion hab ich ja.
Dank Dir erst mal.
Wigbert
Daniel W. schrieb:
> Es gibt eine Software, die heisst "Advanced USB Port Monitor".
USB Sniffer hab ich schon ausprobiert.
Das Datenaufkommen ist derart gewaltig, dass man wenn man nicht
weiß wo man schauen muss echt kein Land mehr sieht.
Ein Monitor auf Dateisystemebene wäre da echt hilfreicher.
Ich hab heute mal aus dem flushdump von mir ein Update zusammen
gebastelt. Damit könnt ihr die Bratz version zur Monsterz version
updaten.
>Habe im Intro auch eine eigene Grafik eingefügt.>>Das Update geht sowohl mit Miuchiz Monsterz als auch mit Miuchiz Bratz.
also ich hätte auch noch interesse an so einem spiel bzw dem display (hr
hr hr). da der thread ja schon fast nen monat alt ist denke ich kaum das
es noch spiele geben wird. wenn jemand noch 1 oder 2 übrig hat wäre ich
dankbar wenn mir das jemand gegen unkosten natürlich zuschicken könnte.
meine email ist : themason (ät) gmx (pungt) de
Wird denn da beim Update die Checksumme nicht geprüft ?
Das wäre ja schonmal vorteilhaft für weitere Hacks :)
Phil S. schrieb:
> Ich hab heute mal aus dem flushdump von mir ein Update zusammen> gebastelt. Damit könnt ihr die Bratz version zur Monsterz version> updaten.>>>Habe im Intro auch eine eigene Grafik eingefügt.>>>>Das Update geht sowohl mit Miuchiz Monsterz als auch mit Miuchiz Bratz.
@Andreas:
Komisch... ich hätte auch gedacht, daß eine Prüfsumme existiert. Aber
anscheinend nicht.
Ich hab heute mal angefangen die Firmware anzuschauen. Die
Monsterz-Firmware ist viel übersichtlicher als die Bratz-Firmware. Es
lohnt sich wahrscheinlich diese auseinander zu nehmen. Ich vermute, daß
der USB-Bootloader wahrscheinlich relativ autonom arbeitet. Ich versuch
morgen mal eigenen Code einzuschleusen.
Ich hab schon eine interesannte Sache herausgefunden:
Beim Starten wird ein kleines Programm in den Speicher geschrieben,
das für die Bankumschaltung zuständig ist:
org $02E7
pla
sta X0033
pla
sta X0032
lda X00EB
jmp L0000
Die Sprungadresse L0000 wird vorher von Programm geändert. Der erste
Aufruf holt zweimal den Wert #$02 vom Stack und lädt ihn in das Register
für die Programmbank. ($0032 und $0033) Leider hab ich keine Ahnung, wo
ins Flash die Programmbank dann zeigt. Physikalisch liegt der Start der
Bank dann ab $1010000 im Flashspeicher... diese Adresse gibt es aber
nicht. Wahrscheinlich hab ich das Prinzip des Bankings aber noch nicht
richtig verstanden.
Gruß,
SIGINT
P.S.:
ldx #$0A
L7756:
lda X7763,x
sta X02E7,x
dex
cpx #$FF
bne L7756
bra L776E
;
X7763:
db $68, $85, $33, $68
db $85, $32, $A5, $EB
db $4C, $00, $00
;
L776E:
jmp L7792
P.P.S.:
DASMx ist gut zum disassemblieren geeignet, da es Codethreading
besitzt.
Vielleicht wenn du ein paar Einträge weiter oben nett nachfrägst :
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Rene Böllhoff schrieb:
> also ich hätte auch noch interesse an so einem spiel bzw dem display (hr> hr hr). da der thread ja schon fast nen monat alt ist denke ich kaum das> es noch spiele geben wird. wenn jemand noch 1 oder 2 übrig hat wäre ich> dankbar wenn mir das jemand gegen unkosten natürlich zuschicken könnte.> meine email ist : themason (ät) gmx (pungt) de
@Sigint 112
Mein update ist auch etwas zusammen gepfuscht wenn ich ehrlich bin.
Also 1. musste ich beide Updates in der Datei ersetzen deswegen ist die
Datei auch 4mb groß. 2. hinter den Games kommen Daten(ein paar 100
bytes) ka wie groß genau. So wie es aussieht wird also immer der
komplette sst Speicher beschrieben. Wenn du dann dein eigenes Programm
flashen willst, musst du die restlichen Daten mit 0xff auffüllen.
Ein ganz anderes Problem ist noch die Update abfrage, also die ersten 2
Bytes sind für die Versions-abfrage. Bei dem Bratz update steht da 0x03
0x02. Die hinteren 0x02 sind für die Miuchiz Hardware Version. Wenn du
die änderst dann denkt der Updater, dass du ein Miuchiz v1 hast. (ist
mir leider passiert).
Bei meiner Monster Version hab ich dort 0x04 0x02 hingeschrieben, damit
er auch erkennt, dass es ein update ist. Leider geht das nur bis 0x05.
Up dann lässt er keine Updates mehr zu.
Vll gibt es irgendwo ein bit womit man die abfrage umgehen kann. Sonst
müsste man doch einen eigenen Updater schreiben.
Gruß
So, ich hab mal analysiert was beim Start passiert:
Über mehrere Sprünge gelangt das Programm an die Adresse $76A6. Hier
beginnt das Hauptprogramm. Da alle Banking-Register noch die Werte $00
enthalten (ausser BRR, RAM ist beim Reset von $2000 bis $3FFF aktiv)
sollten wir uns komplett in den ersten 64K des Flashspeichers aufhalten.
(Ich muss noch genau herausfinden, wie das mit den verschiedenen
Chipselects funktioniert)
Der Programmablauf ist folgender:
Interrupts werden eingeschaltet (SEI)
Stack wird initialisiert
Speicher $80 bis $FF wird gelöscht (Zeropage)
Speicher $100 bis $1FF wird gelöscht (Stack)
Speicher $200 bis $1FFF wird gelöscht (RAM)
PORTA und PORTB werden auf Eingang gesetzt und Pullups aktiviert
PORTD und PORTE werden eingestellt (CS3 und CS4 aktiviert, und mehr)
PORTF wird Ausgang und gelöscht
Programm- und Daten-Banking Register (nur LOW-Teil ?!?!?) werden
gelöscht
WDT-Reset
Interrupt-Bank wird auf $0000 gesetzt und aktiviert
Alle BaseTimer Zeiten werden aktiviert
Prescaler reset und aktiviert
Programm zum wechseln der Programmbank wird ins RAM kopiert
PORTA wird eingelesen und wenn ungleich 0 nach $77AA gesprungen
ansonsten
nach $77C6
$77AA:
Programmbank wird gewechselt (PRR=$0202) und an den Start der
Programmbank gesprungen.
$77C6:
Fortsetzung folgt...
Bernd schrieb:
> Mal ne Frage:> Wie analysiert man sowas??
Man muss glaub ich den Flash Inhalt disassemblieren.
Kann mir jemand sagen wie ich das mit DASMx mache? also welche Parameter
ich dem geben soll das der die .bin datei disassembliert!
Danke
Sigint 112 schrieb:
> PORTA wird eingelesen und wenn ungleich 0 nach $77AA gesprungen> ansonsten> nach $77C6
Da könnte das Testprogramm liegen, dass startet wenn man beim Reset
die Powertaste gedrückt hält.
PORTA hat integriertes debouncing, daher hängen dort mit Sicherheit
die Tasten dran.
Das Testprogramm spricht Lautsprecher, Display und die Tasten an.
@Andreas:
Genau das hab ich auch gedacht. Wenn ins Testprogramm gesprungen wird
ist der USB-Bootloader nicht aktiv. Dieser wird nämlich in der Sub $4007
gestartet, die nicht von dem Testprogramm aufgerufen wird. Aber eine
andere Frage: Wie hast du den gesammten Programmcode disassembliert?
Irgendwie scheint das komisch auszusehen. Ich hab die ersten 64K vom
Flashdump genommen und disassembliert. (siehe Anhang) Der Resetvektor
ist $7ffc,%7ffd.
Problematisch wird es, wenn die Speicherbank gewechselt wird. Da hab ich
noch nicht herausbekommen, wie welche Flash-Adresse im Speicher des
65c02 gemappt wird. Zudem kann DASMx keine Dateien >64K disassemblieren.
(ist ja auch logisch, da der 65c02 nicht mehr als 64K ansprechen kann)
By the way:
Man sollte die Codethreading Option von DASMx nutzen, da hierbei
zwischen Code und Daten unterschieden werden kann. Codethreading
bedeutet, daß DASMx das 65c02 Programm ablaufen lässt und schaut, wo es
hin kommt. Diese Teile müssen entsprechend Programmcode sein. Man kann
über eine SYM Datei sagen, wo bekannte Programmteile liegen und wo Reset
und Interruptvektoren liegen.
Damit kann man relativ sicher sein, daß man Programmcode übersetzt und
nicht Daten. Leider haben wir Speicherbänke, die gewechselt werden und
Programmcode der ins RAM kopiert wird. Daher ist ein Dissassembly nicht
wirklich einfach.
Würden wir es schaffen beliebig oft ein Firmwareupdate durchzuführen, so
könnten wir das Testprogramm durch unseren Testcode ersetzen und frei
rumexperimentieren.
Gruß,
SIGINT
Hallo
ich versuch das Display zum spielen zu bekommen aber es will nicht ...
Kann mir jemand auf die Sprünge helfen ?? im Anhang mein Code für nen
Mega32
eigentlich komplett slime's Ethersex Code
Beim anschließen des Displays an den Mega kann man ja denk ich nicht
viel falsch machen .. oder ? und ab mit 3,3 oder 5V funktioniert beides
bei mir nicht ...
an VLCD kommt nix raus...
Stephan G
Kann man eigentlich die Scrollingfunktion vom Displaycontroller sinnvoll
einsetzen, oder ist das wegen dem kleinen Displayram nicht möglich?
Anbei der Zeichensatz in 90° abfotografiert.
Pixel in der ersten Zeile machen die ganze Spalte heller!
Sobald ich den Text ein Pixel runtersetze sieht's besser aus.
Für das "Kerning" ist ein gedrehter Font ganz praktisch, da man schnell
ermitteln kann, ob es Pixel in der Spalte gibt (wenn nicht - weglassen).
Dafür muss man dann beim Schreiben ins Display-RAM Spalten und Zeilen
vertauschen. Kommt also vermutlich auf den gleichen Rechenaufwand raus.
Stephan G. schrieb:
> hier mal noch nen Bild meiner Schaltung ...> mit dem 3,3V Spannungsregler gehts auch nicht ...LED+ ist im Schaltplan nicht mit UB+ verbunden.
hi
also den ST7626_RD bzw den RD Pin vom Display hab ich fest auf 3,3V
gelegt ... sollte ich den auch noch anschliessen ?
...nur mit
PIN_SET(ST7626_WR);
am Anfang geht auch nix...
SG
Am besten find ich die gefakten Bilder.
Das eine sieht aus wie auf Papier ausgedruckt und
obendraufgelegt, und das andere kann man mit der
Auflösung überhaupt nicht darstellen :)
was ist da so unglaublich ? Schon mal nachgedacht das um so ein display
kaufen, auszubauen, testen, reinigen, verpacken mehr als eine stunde
notwendig ist ???
So gesehen stundenlohn von was, 2 eur ? Lächerlich, fürs 10fache würde
ich nciht mal aus dem bett aufstehen, also was solls, gönne den anderen
die paar eur.
Die 9.99 eur für den oled sind fair.
Man beachte auch, dass er kostenlosen Versand anbietet. D.h. dass dazu
noch eine Versandtasche, Porto und die ebay Verkaufsprovision, sowie die
Angebotsgebühren kommen.
Wenn man dann noch bedenkt, dass es nicht soooo schnell und "sauber"
geht, den Stecker von der Platine abzulösen, bleibt wirklich nicht viel
über.
Oh, schade... Erwischt... =)
Aber keine Sorge, dass ist nicht Adriano's Freundin, sondern meine. :-)
(Hoffe ich doch zumindest...)
Die Bilder habe ich alle selber geknippst. Alles andere würde auch unter
Copyright fallen. (Ich durfte schonmal 280 Euro an einen Anwalt für eine
Abmahnung bezahlen, weil ich 3 Bilder von so'ner blöden Barmatte genutzt
habe...)
Ist ja nichts verwerfliches dran etwas die Hobbykasse aufzufüllen.
Aber das Produktbild ist echt übertrieben gut ;)
http://ebay.globaladmin.de/tft/5.jpg
> was ist da so unglaublich ?
Wer kein besseres Angebot findet ist selbst Schuld "lol"
und
"Suchen+Finden" ist die andere Seite der Medaille der Marktwirtschaft ;)
> Schon mal nachgedacht das um so ein display> kaufen, auszubauen, testen, reinigen, verpacken mehr als eine stunde> notwendig ist ???
korrekt,
die Anbieter arbeiten immer nur für die Menschheit.
Das, was mich besonders anmacht, ist die Grösse dieser Teile,
so gross, da passt sogar 'nen Win-Desktop drauf :)
p.s.
der Preis geht inkl. Versand natürlich ernsthaft in Ordnung
Andreas Jakob schrieb:
> Aber das Produktbild ist echt übertrieben gut ;)
Nö, es ist schlichtweg falsch:
Wenn man es mit einem echten Bild vergleicht (z.B. mit dem hier:
http://www.mikrocontroller.net/attachment/56111/Display5.JPG) fällt auf,
dass der Rand vor allem unten sehr viel breiter ist, als auf dem
gefakten Bild. Das kann böse nach hinten losgehen (Reklamation usw.).
Von daher ist es ratsam ein echtes Foto von dem Display zu verwenden.
Bilder zu 16 Bit RGB 565 Format wandeln, ohne BMP Header entfernen oder
das Bild umdrehen zu müssen.
Wollte sehen, ob's mit Linux 'Hausmitteln' geht. Nicht ganz.
Für Windows möglicherweise auch mit Cygwin / MinGW.
Benötigt ImageMagick > 6.3.2 für die Skalierung mit der Option -extent.
Geht aber auch ohne Skalierung oder auf anderem Weg.
Ansonsten, wie oben erwähnt, the GIMP, oder selber schreiben:
Beitrag "Re: Bild nach 565 (16Bit) convertieren für LCD"
Oder eins der zahlreichen Converter-Tools benutzen.
Viel Spaß beim Basteln.
Ein echtes Bild habe ich aber leider nicht. Und das Spiel will ich nicht
darstellen. Wenn jemand glaubt, dass es sich dabei um keine Fotomontage
hält, ist ihm auch nicht mehr zu helfen.
1. Muss man mal realistisch sein, was man für sein Geld bekommt.
2. Wie soll das Display was darstellen, wenn das Kabel doch in der Luft
hängt. ;-)
Die gezeigten Bilder sind in der Tat sehr zum positiven umgestellt, aber
so ist das nunmal in der Werbung...
Sigint 112 schrieb:
> Würden wir es schaffen beliebig oft ein Firmwareupdate durchzuführen, so> könnten wir das Testprogramm durch unseren Testcode ersetzen und frei> rumexperimentieren.
Hi
War die letzten tage leider nicht online.
Ich frage mich vor allem wo die Software versions- Erkennung im Gerät
gespeichert wird.
Es werden ja die kompletten 2mbyte in den Flash geschrieben.
Wenn wir das herausfinden könnten, wäre es vielleicht möglich ein Code
zu schreiben welches den Wert wieder zurücksetzt.
Hmmm,
mir ist eben was ganz blödes aufgefallen. Wenn die CPU resettet wird
nehmen alle Register ja Standardwerte an. Bei den Registern BRR,PRR ist
dies die $00 und bei DRR wird das interne RAM eingeschaltet. Nun ist das
Problem, daß bei diesen Einstellungen ab Adresse $2000 und $4000 das
Flash liegt, mit der Startadresse $0000 an den beiden Adressen.
Also:
1
CPU | FLASH
2
----------------
3
$0000 | null
4
..
5
$1FFF | null
6
----------------
7
$2000 | $0000
8
...
9
$3FFF | $1FFF
10
----------------
11
$4000 | $0000
12
...
13
$7FFF | $3FFF
14
---------------
Also müsste an der Stelle $3Fxx die Reset und Interruptvektoren
liegen... tun Sie aber nicht. Jetzt stell ich mir die Frage, ob das
interen ROM doch genutzt wird und welches Chipselect der Flash nutzt.
Ich hab da keine eindeutige Antwort drauf.
By the way: Ich hab mal versucht das Programm an Flashadresse $8000 zu
ändern (von dem ich ausgegangen bin, daß es das Testprogramm ist).
Leider scheint das nicht der Fall zu sein. Das Game kann ich nun
ausschlachten.
Gruß,
SIGINT
@Sigint 112
Hmm ich hoffe du hast auch so viele Miuchiz rum fliegen das es nicht so
schlimm ist wenn du einer zerstörst.
befindet sich der Bootloader eigentlich auch in dem Flash?
Das wäre dann natürlich beschissen.
So habe jetzt mal einen SST ausgewechselt von einem Board was als v1.0
erkannt wird. Auch nach dem Wechsel sagt er immer noch, dass es eine
V1.0 ist. Also denke ich mal, dass diese Daten im internen Rom liegen.
So hab etwas Interessantes festgestellt. Wenn man den Miuchiz erst an
den PC anschließt und dann einschaltet kann man ihn jedes Mal updaten.
Habe vorne noch 0x04 0x02 stehen.
Geht wunderbar. Habe grad die ganze zeit zwischen boy und meiner boy mit
Zippi Intro gewechselt. Über all am Anfang 0x04 0x02 stehen. Doch wenn
ich die Girl Version drauf mache, gibt es Probleme.
@Sigint 112
schon versucht den ROM abzuschalten und dann test code zu starten ?
Kannst den MMD/CS0 (pad 30) vom GND trennen, guck dir seite 26 von dem
ST2205U datasheet. Der pad30 ist herausgeführt neben den flash - siehe
bild - die breite leiterbahn.
Am besten genau da zwischen den flash und dem chip trennen, unter dem
flash ist schon durchkontakitert zum gnd.
Thomas R. schrieb:
> @Sigint 112>> schon versucht den ROM abzuschalten und dann test code zu starten ?>> Kannst den MMD/CS0 (pad 30) vom GND trennen, guck dir seite 26 von dem> ST2205U datasheet. Der pad30 ist herausgeführt neben den flash - siehe> bild - die breite leiterbahn.>> Am besten genau da zwischen den flash und dem chip trennen, unter dem> flash ist schon durchkontakitert zum gnd.
nein das ist falsch, pad30 ist es nciht oder ist es doch - und dann wird
sehr böse.
Siehe bild :
grün markiert ist RD was auch ans OE vom flash geht, so wiet ok
rot markiert ist der pin der an GND angeschlossen ist, man sieht in dem
roten kreis das da ein Bonddraht war. Kann zwar alles sein, ich vermute
aber das es genau der MMC/CS0 ist. Der nächste pin, gelb markiert geht
schon ans flash WE, das könnte der µC WR pin sein.
Wenn das so ist, dann hilft nur einen loch zu bohren und leiterbahn
trennen um ROM abzuschalten , beides blau merkiert auf dem bild.
Leider habe keine geräte mehr um zu testen.
Für freiwillige :
Loch bohren sollte einfach sein, 0.5,- 0.8 mm bohrer, abstände sind auf
dem bild. Danach wenn es immer noch geht, lol, die leiterbahn trennen,
dann sollte nicht mehr gehen.
So hier ist mal eine Analyse vom USB Transfer beim updaten.
Vielleicht kennt sich ja jemand gut mit USB aus und kann ein eigenes
Flash tool schreiben, welches vorher keine Version abfrage durchführt.
@Sigint
Bist du schon weiter gekommen? Du kannst ja mal ein Testprogramm an die
stelle von dem match spiel setzen. Dann solle nichts schiefgehen.
Fabian H. schrieb:
> Ein echtes Bild habe ich aber leider nicht. Und das Spiel will ich nicht> darstellen. Wenn jemand glaubt, dass es sich dabei um keine Fotomontage> hält, ist ihm auch nicht mehr zu helfen.>> 1. Muss man mal realistisch sein, was man für sein Geld bekommt.> 2. Wie soll das Display was darstellen, wenn das Kabel doch in der Luft> hängt. ;-)>> Die gezeigten Bilder sind in der Tat sehr zum positiven umgestellt, aber> so ist das nunmal in der Werbung...
Naja im zweifelsfal reicht ein vermerkt das die Abbildung abweichen kann
;-) wer nicht lesen kann ist selber schuld :P
Q9 schrieb:
> Nicht so schön wie Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"> aber dafür einfach zu programmieren..
Kannst du den Code Posten? Ich möchte gucken wie du das gemacht hast.
Danke
Das avi ist H.264.
Das Folgende machst du mit ruckfreien N Hz (von nem Timer ableiten):
Den alten Punkt löschen (Überschreiben mit Hintergrundfarbe).
Für beide Achsen:
Geschwindigkeit und Position prüfen (fliegt der Punkt gerade raus?).
Wenn ja, Geschwindigkeit umdrehen (bei mir ein int8_t) und Farbe
wechseln.
Neue Position berechnen (aktuelle + Geschwindigkeit).
Dann den Punkt malen.
@Phil: Hab nur sechs von den Teilen und jetzt ein defektes. Der
Bootloader befindet sich wahrscheinlich im Flash, da hier der Text
"Flash Disk Sitronix Multimedia" zu finden ist. Das ist in der Tat etwas
unpraktisch, solange wir nicht genau wissen, welche Programmteile dafür
notwendig sind.
Das irgendwas ins interne ROM geschrieben wird halte ich für
unwahrscheinlich, da ich nicht im Datenblatt gefunden habe, wie man aus
dem Programm heraus ins ROM schreibt.
Wo genau befindet sich der Programmcode vom Spiel und wird der an $4000
gebankt?
@Thomas: Das ROM abzuschalten halte ich erstmal für unpraktisch,da wir
dann sehr wahrscheinlich auch den Bootloader verlieren. Aber deine
Untersuchungen sind trotzdem genial. Ich gehe jetzt davon aus, daß der
Flash am /CS1 und das Display am /CS4 hängen. Aber ich finde einfach
nicht heraus, wo das Testprogramm genau liegt. Jedesmal wenn ich
versuche das vermeindliche Testprogramm zu ersetzten dann kill ich meine
Konsole. Ich hab schon versucht mein Test ab $3000 und $8000 zu
platzieren, aber nichts funktioniert.Anscheinend hab ich was wichitges
noch übersehen.
Ich denke nicht, daß ich noch heraus bekomme wie wir eigene Programme
nutzen können. :-(
Gruß,
SIGINT
Sigint 112 schrieb:
> @Thomas: Das ROM abzuschalten halte ich erstmal für unpraktisch,da wir> dann sehr wahrscheinlich auch den Bootloader verlieren. Aber deine> Untersuchungen sind trotzdem genial. Ich gehe jetzt davon aus, daß der> Flash am /CS1 und das Display am /CS4 hängen. Aber ich finde einfach> nicht heraus, wo das Testprogramm genau liegt. Jedesmal wenn ich> versuche das vermeindliche Testprogramm zu ersetzten dann kill ich meine> Konsole. Ich hab schon versucht mein Test ab $3000 und $8000 zu> platzieren, aber nichts funktioniert.Anscheinend hab ich was wichitges> noch übersehen.>
Der bootlader wird schon im rom sein, (über)schreiben wird nicht gehen
weil OTP.
Allerdings wenn man den org. flash "rausnimmt" (CE/OE trennt) und einen
eigenen flash einbaut (noch besser eeprom) könnte man test code laufen
lassen - natürlich muss der interne ROM dafür abgeschaltet sein.
Das blöde ist nur dass der LCD eienen controller hat, so wird nciht
gehen den code in dem softice zu simulieren. So muss man erstmal blind
den externen LCD controller im 6502 asm initialiesieren.
Und natürlich wenn der code läuft dann kann man denken wie wir es in den
flash so rienbekommen das es auch gestartet wird. Selber ganzes firmware
schrieben ist etwas komplex - vor allem ohne dev board und samples -
daher ist das was schon im flash vorhanden vielleicht doch nutzlich.
So,
Also der bootlader scheint entweder im Flash zu sein oder er wird vom
Flash aus aufgerufen. Auf jeden fall hab ich grade mal einen nur mit
0xff geflasht. Und dann geht nix mehr^^. Es geht nur die Display
Beleuchtung an und er flackert kurz. Das wars. Usb wird nicht einmal
erkannt.
Wo das spiel genau liegt muss ich noch mal schauen.
@Sigint 112
Wenn du angst hast das du alle zerflasht, und noch unbedingt irgendwann
die Spiele spielen willst. Dann bau dir doch auch eine externe Hardware,
somit kannst du im schlimmsten fall den Chip auslöten und vom PC aus neu
flashen.
Wenn du willst kannst du mir die auch schicken, bzw ich hab bestimmt
auch noch 1-2 st. die ich abgeben kann.
Sigint 112 schrieb:
> Ich denke nicht, daß ich noch heraus bekomme wie wir eigene Programme> nutzen können. :-(
So schnell aufgeben???
Ist denn die Kommunikation mit der Konsole nicht identisch oder
zumindest sehr ähnlich mit den Schlüsselanhängern, die auf dem gleichen
Mikrocontroller basieren und hier schon einige Male erwähnt wurden?
Dafür gibt es ja bereits Firmware-Analysen und -Hacks, die hier auch
hilfreich sein könnten.
So hab grad mal den Miuchiz ohne flash angeschaltet. Also dann startet
er den bootloader. Ob das der gleiche ist weiß ich nicht. Sieht aber so
aus. Auch 16mb massenspeicher.
@Reinhard:
Der Bootloader wird wahrscheinlich identisch sein, da wahrscheinlich
ein Standardbootloader von Sitronix verwendet wird .(der Sitronix Text
im Flash legt dies nahe) Aber der Rest dürfte nicht mit den Bilderrahmen
übereinstimmen. Ich schau mir das aber später mal genauer an.
@Phil:
Den Flash auslöten trau ich mich noch, aber dann ein externes Flash per
Leitungen an den Miuchiz anzuchliessen übersteigt meine Fähigkeiten. So
viele Leitungen halten bei mir nicht zuverlässig, sondern reißen immer
ab.
!!!ABER: Ich hab es geschafft ein eigenes Programm auf dem Miuchiz zu
starten.
Ab Flash-Adresse $0D 8000 liegt das Spiel Match Emz! Das wird in die
Programmbank $4000 gemappt und dann die Adresse $4000 angesprungen. Hier
liegt erstmal ein JMP nach $428B (Flash: $0D 828B). Ich hab nun ab
dieser Adresse ein kleines Testprogramm gelegt, was den LCD neu
initialisiert und ein Testbild ausgibt. Und es funktioniert!!! Der
Bereich zwischen $4000 und $428B enthält ein Icon und Infos die vom
Hauptprogramm interpretiert werden.
Nun können wir weiter experimentieren.
Gruß,
SIGINT
Hier mal mein Testprogramm...
einfach mit ACME übersetzen und die ersten beiden Byte abschneiden
(Ladeadresse des PRG-Formats). Danach im Flashdump ab $0D828B einfügen.
(Ersetzen der Daten, damit nachfolgende Programme nicht im Speicher
verschoben werden) Dann in die "Miuchiz Update.dat" einfügen und
flashen.
@Phil: Das mit dem Bootloader ist sehr interesannt. Hätte nicht gedacht,
daß der im ROM ist. Jetzt müssten wir noch herausfinden, wie man den
starten kann,wenn der Flashinhalt ungültig ist. (Leider startet der ja
dann nicht automatisch)
Gruß,
SIGINT
Sigint 112 schrieb:
> daß der im ROM ist. Jetzt müssten wir noch herausfinden, wie man den> starten kann,wenn der Flashinhalt ungültig ist. (Leider startet der ja> dann nicht automatisch)
/CS vom Flash auf high erzwingen ?
Pad mit dem Lötkolben erhitzen und Pin hochbiegen,
dann kannst du einen Schalter und Pullup einschleifen.
Sigint 112 schrieb:
> @Andreas: Hat funktioniert... leider meckert die Software, daß das> Miuchiz schon auf dem aktuellen Stand ist. So ein Mist.
Hat nicht jemand geschrieben, wenn man erst nach dem anstecken an
USB einschaltet geht das Update versionsunabhängig ?
@Sigint
Saubere arbeit.
Hier der Tip zum downgraden^^. Geht nur wenn dein update unter 0x04 0x02
lag.
Du nimmst MEIN
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Miuchiz Monster update und schreibst vorne 0x05 0x02 hin und flashen.
Dann Miuchiz ausmachen, an usb anschließen anschalten. Datei zu version
0x01 0x02 umschreiben und wieder flashen. Dann kannst du wieder eigene
programme flashen bis du wieder 0x04 0x02 erreichst. Ist etwas aufwendig
geht aber.
Werde mich morgen auch mal an eigene Programme machen.
Leider funktioniert das nicht, wenn man den Bootloader im ROM nimmt. Ich
muss beim Einschalten den CS vom Flash auf High legen und danach an den
Mikroprozessor anschliessen, damit das Flashen funktioniert. Leider
liesst der dann das Flash aus und sendet die Version an das Flashtool.
Es muss ein Bug sein, daß durch Anstecken und darauf folgenden
Einschalten ein Flashen funktioniert.
Gruß,
SIGINT
So hier ist mal ein Miuchiz Update Linker tool:
Enthalten:
Miuchiz upl
Miuchiz update
Miuchiz flash dump
test.prg
test.prg ist das test Programm von Sigint. (Die ersten beidem Bytes
wurden nach dem compilieren entfernt)
Was macht das Programm genau:
Es erstellt eine „Miuchi Update.dat„ (inc. des eigenen Codes an der
Adresse vom Spiel Match Emz) zum flashen.
>"Miuchiz upl" starten>Miuchiz dump: -> Flashdump auswählen>Program: -> Eigenes Programm(z.b. test.prg) auswählen.>Miuchiz Update: -> Ziel für „Miuchiz Update.dat“ auswählen.>Start drücken und moment warten.> fertig.
Somit muss man nicht immer 1000 Daten hin und her kopieren.
Hab einen neues Testprogramm geschrieben um das Bankswitching zu testen.
Das Flash ist eindeutig an CS4 und das Display an CS3 angeschlossen. Das
Flash liegt vom ST2205 aus betrachtet ab Adresse $80.0000, das Display
ab $60.0000.
Zum Programm:
Das Programm legt das Display in die BRR (Bios-Bank ab $2000) und eine
Grafik in die DRR (Daten-Bank ab $8000). Ein Byte entspricht einem
Pixel, mit dem Farbformat BBBGGGRR (hatte kein anderes Bildformat zur
hand).
Das Bild wird einfach nur ins Display geladen.
Ich bin leider nicht der 6502 Profi... aber da gibts bestimmt welche
hier im Forum.
Ich bin mal gespannt, wie lange es dauert bis jemand Tetris programmiert
hat. ;-)
Als nächstes versuche ich mal das ROM auszulesen. Ich hab nur keine
Ahnung, wie ich den Inhalt an den PC übertragen soll... vielleicht hilft
das USB-Interface weiter. (USB-CDC)
Gruß,
SIGINT
Danke für die hilfsbereitschaftskeit. Ich möchte nur den Code zur
Bildausgabe sehen und dann verstehen... ich bin dabei Pong mit meinem
Atmega8 auf das Dispaly zu zaubern. Und denke mit ein Paar Bildern(z.B
gewonnen-Bild/verloren-Bild) könnte ich das ganze ien bisschen
schmücken.
gruß chrisu
Edit : Danke für den Code über den post hier ....mh der ist ja schon für
die ganze konsole
Hallo,
mit dem BASCOM Code ("Tapetenmuster".bas) wird das Display im 16 Bit
System mit 65536 Farben angesprochen.
Ich schreibe in BASCOM 2x hintereinander ein einzelnes Byte ...
==========================
Lcd_write Dat , WERT_1
Lcd_write Dat , WERT_2
==========================
...und das zusammen ergibt dann die 16 Bit für ein Pixel.
-Kann man das Display auf 8 Bit umschalten? -Im BASCOM Code finde ich
keinen Hinweis, dass man das Display auf 8 Bit Farben umschalten kann.
Ok, also kann ich die Bios Bank als video ram nutzen bzw wird wohl im
spiel auch als Vram benutzt. Mit 98x67(8bit) komm ich auf 6566 bytes.
Das heißt ich könnte sogar den Vram etwas größer machen. Für Spiele
Programmierung schonmal nicht schlecht.
Oder wird die Bios Bank auch für andere sachen verwendet?
Sigint 112 schrieb:
> Als nächstes versuche ich mal das ROM auszulesen. Ich hab nur keine> Ahnung, wie ich den Inhalt an den PC übertragen soll... vielleicht hilft> das USB-Interface weiter. (USB-CDC)>> Gruß,> SIGINT
Achja, wenn du willst kannst du auch ein Programm schreiben das er den
inhalt vom Rom ins Flash schreibt. Dann kann den flash neu Dumpen.
@Phil: Naja, du kannst in die Bios-Bank den internen RAM des ST2205
mappen und diesen dann als VRAM nutzen. Aber auf das Display kannst du
nur ueber die zwei Adressen $2000 und $2001 zugreifen. Befehle gehen an
$2000 und Daten an $2001. Um auf das Display zugreifen zu koennen musst
du es aber erst in die Bios-Bank (oder jede andere Bank) mappen.
Stichwort: Memory Mapped IO
Nun gibt es das Problem, dass die originale Software ja auch das RAM und
die Zeropage verwendet. Wenn man also irgendwas im RAM aendert, dann
kannes sein, dass das Hauptprogramm nichtmehr laeuft und ein Neustart
notwendig ist. Daher wuerde ich gerne die gesamte Miuchiz Software
entfernen und nur eigene Programme verwenden. Das scheitert aber am
USB-Bootloader.
Gruss,
SIGINT
Hier mal mein unfertiges Pong-Spiel, ich steuere auf dem Video nur den
rechten Panel. Alles ist in Assembler geschrieben...
Ich weiß man kann es noch "schöner" gestalten...
gruß chrisu
Sigint 112 schrieb:
> @Phil: Naja, du kannst in die Bios-Bank den internen RAM des ST2205> mappen und diesen dann als VRAM nutzen. Aber auf das Display kannst du> nur ueber die zwei Adressen $2000 und $2001 zugreifen. Befehle gehen an> $2000 und Daten an $2001. Um auf das Display zugreifen zu koennen musst> du es aber erst in die Bios-Bank (oder jede andere Bank) mappen.> Stichwort: Memory Mapped IO> Nun gibt es das Problem, dass die originale Software ja auch das RAM und> die Zeropage verwendet. Wenn man also irgendwas im RAM aendert, dann> kannes sein, dass das Hauptprogramm nichtmehr laeuft und ein Neustart> notwendig ist. Daher wuerde ich gerne die gesamte Miuchiz Software> entfernen und nur eigene Programme verwenden. Das scheitert aber am> USB-Bootloader.>> Gruss,> SIGINT
OK,
Aber warum hast du vorher mit 0x8001 auf das Display geschrieben?
Und was macht:
>lda #$1c>sta $34>lda #$01>sta $35 ;DRR auf Flashadresse $0E.0000 einstellen (Daten - Bank)
genau?
Und wofür?
@Phil:
Also, im Prinzip ist es ganz einfach. Der 65C02 kann ja nur 64kB
adressieren, daher wird Banking benutzt um die 2MB des Flash und das
Display ansprechen zu können. Eigentlich unterstüzt der ST2205 bis 44MB,
aber das Miuchiz nutzt halt nur 2MB. Die 64kB der 65C02 CPU wird in
mehrer Bereiche aufgeteilt:
$0000 - $007F Hardwareregister der CPU(USB, Sound,SPI, etc.)
$0080 - $00FF ZeroPage (das was davon übrig ist)
$0100 - $01FF Stack
$0200 - $1FFF RAM (intern in der CPU)
$2000 - $3FFF BIOS Bank (BRR)
$4000 - $7FFF Programm Bank (PRR)
$8000 - $FFFF Data Bank (DRR)
Die ersten vier Bereiche sind fest und können nicht geändert werden. In
die Bank-Bereiche kann externer Speicher eingeblendet werden. In unserem
Fall sind das das Flash oder das Display. Ich kann so z.B. in die BIOS
Bank einen beliebigen Teilbereich des Flash einblenden. Welchen
Teilbereich ich genau einblende wird durch die BRRL und BRRH Register
bestimmt. (für die BIOS Bank)
>lda #$1c>sta $34>lda #$01>sta $35 ;DRR auf Flashadresse $0E.0000 einstellen (Daten - Bank)
Dieser Programmteil blendet den Flashspeicher in die Data Bank ein. Und
zwar ab der Flashadresse $0E0000. Wenn die CPU also auf Speicherstelle
$8000 zugreift, da holt sie in wirklichkeit das Datenwort aus dem Flash
an Stelle $0E0000 (vom Flash aus betrachtet!) Auf den externen Adressbus
der CPU wird die Adresse $8E0000 ausgegeben, aber es sind nicht alle
Leitungen des Adressbus mit dem Flash verbunden, wesswegen die 8
verschwindet.
Nun zum Display: Das Display ist auch am externen Speicherbus der CPU
angeschlossen. Allerdings besitzt das Display nur zwei Register
(auswählbar über A0 des Displays). Das Display liegt am externen
Speicherbus an der Speicherstelle $60.0000 bis $7F.FFFF (unterhalb des
Flashspeichers $80.0000 bis $FF.FFFF).
Ich kann mir das Display wahlweise in die Data Bank, BIOS Bank oder
Program Bank legen. Ich muss nur die Register DRR, PRR oder BRR
entsprechend einstellen.
Schau dir mal genau das Datenblatt vom ST2205 an, da steht eigentlich
alles drin. Ich hab nur lange gebraucht alles richtig zu verstehen. Wenn
der Groschen gefallen ist, dann ist aber alles ganz einfach.
Gruß,
SIGINT
By the way: Ich hab eben mal CC65 runtergeladen in der Hoffnung, daß ich
in C programmieren könnte. Aber leider verstehe ich nicht ganz, was der
Compiler alles benötigt um ein Programm zu übersetzen. Es müssen wohl
der Startup-Code, Linkerscripte und die Standardlib angepasst werden.
(angeblich nur minimal) Kennt sich hier jemand damit aus?!
Gruß,
SIGINT
Hi,
Ok, Datenblatt angeschaut und soweit verstanden. Bis auf die größe des
speichers.
Oben im Datenblatt steht etwas von 32kbyte ram und 16 kbyte rom.
$0000 - $007F Hardwareregister der CPU(USB, Sound,SPI, etc.)
$0080 - $00FF ZeroPage (das was davon übrig ist)
$0100 - $01FF Stack
$0200 - $1FFF RAM (intern in der CPU)
$2000 - $3FFF BIOS Bank (BRR)
$4000 - $7FFF Programm Bank (PRR)
$8000 - $FFFF Data Bank (DRR)
ergeben aber 64kbyte ram.
Und wo befindet sich der rom.
Und die adresse wo sich Display und Flash befindet hast du wohl durch
disassemblen herrausgefunden.
Ergänzung zu meinen 2 Postings oben :
16 Bit System(RRRRR GGGGGG BBBBB)
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
16 Bit System Typ b-Modus(RRRRx GGGGxx BBBBx)
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Nachtrag:
============
Ich habe mit BASCOM die oberen 50% des Displays mit 4bit Farben gefüllt
und die unteren 50% des Displays mit 5/6/5bit Farben gefüllt, und es
macht absolut null Unterschied aus. Das kann man auch in dem Foto sehen.
Warum sollte es einen unterschied machen bei so wenigen farben? einen
Unterschied würde es wohl nur machen, wenn du ein richtiges Bild mit
hoher Farbtiefe anzeigen würdest (einmal mit 12 und dann mit 16 bit).
Wahrscheinlich speichert das Display intern sowieso immer mit 16 Bit
Farbe, nur die Übertragung vom µC zum Controller ist anders.
@Daniel: Du verwendest genau 3 Farben. Die kann man auch mit 3Bit
kodieren.
Um einen Unterschied zu sehen musst du alle möglichen Farben ausgeben,
also einen Farbverlauf. Da siehst du den Unterschied dann. Denk darüber
nochmal nach!
@Phil: Du hast das Prinzip noch nicht ganz verstanden. Von $0000 bis
$FFFF sind in der Tat 64kiB. Dies sind aber nur der logische Adressraum
der CPU. Die alten 65C02 hatten nur 16 Adressleitungen, konnten also
64kiB ansprechen.
Der ST2205 ist aber eine hochgezüchtete 65C02 CPU. Heute möchte man mehr
Speicher ansprechen und hat daher dem ST2205 26 Adressleitungen
verpasst.
Damit kann der ST2205 Speicher von $0000000 bis $3FFFFFF ansprechen.
(Davon sind aber nur maximal 23 nach aussen geführt; die restlichen
Leitungen werden verwendet um Chipselect-Signale zu erzeugen.)
Das Problem: Der 65C02-Kern der CPU kennt nur Adressen bis $FFFF, aber
es müssen Adressen bis $3FFFFFF angesprochen werden.
Die Lösung: Man unterteilt den großen Flash in viele kleine Teile, die
einzeln in den Adressraum des 65C02-Kern passen. Die BIOS-,Date- und
Programm-Bank sind die Platzhalter für die kleinen Teile des Flashs.
Jenachdem welchen Wert man in die Register PRR,DRR oder BRR lädt, dann
wird ein anderer Bereich des Flash in die jeweilige Bank gelegt. Die
ersten vier Bereiche (Register, Stack, ZP und RAM) sind fest und ändern
sich nie.
Zum Thema ROM und RAM: Der interne ROM und das RAM hängen auch an dem
26Bit Adressbus der CPU. Das RAM wird über ein Bit im Bankregister
aktiviert und in die entsprechende Bank gelegt.
Wenn das interne ROM aktiviert ist, dann hängt es am Chipselect 0 und
kann wie das externe Flash angesprochen werden, das am Chipselect 4
hängt... nur halt unter einer anderen externen Adresse als das Flash.
Das Display hängt am Chipselect 3. Die zwei Register, die es besitzt,
können im gesammten Speicherbereich vom CS3 angesprochen werden: Also
Befehle an den Adressen $60.000, $60.0002, $60.0004,.... und Daten an
den Adressen $60.0001,$60.0003,....
Das hat nix mit dem ST2205 zu tun, sondern ist bei vielen anderen
Mikroprozessoren auch so, wenn das Display entsprechend am Bus hängt.
Es hilft sehr viel, wenn man die Grundlagen von Mikroprozessorsystemen
verstanden hat.
Der Miuchiz ist sehr simpel und extrem logisch aufgebaut. Eigentlich ein
Paradebeispiel für ein Mikroprozessorsystem des alten Schlages.
Das Problem für mich ist nur die Datenmenge, die analysiert werden muss.
Sowas hab ich noch nie gemacht.
Schau dir mal alte Z80 oder 6502 Systeme an, da wirst du viele
Übereinstimmungen finden. Speziell, wenn diese Systeme mehr als 64kiB
Speicher ansprechen konnten. (Ein Beispiel ist der Gameboy)
Gruß,
SIGINT
P.S.: Ja, die Adressen des Display hab ich durch Zufall herausgefunden.
Ich hab genau die Init-Routine disassembliert. Zu dem Zeitpunkt hatte
ich aber noch nicht das Banking vollkommen verstanden und nur durch
zufall die richtige Annahme gemacht.
>>Wahrscheinlich speichert das Display intern sowieso immer mit 16 Bit>>Farbe, nur die Übertragung vom µC zum Controller ist anders.
Habe die Settings des BASCOM Codes "rgb.bas" (siehe oben) probiert.
Mein Eindruck ist, dass das Display an den Input-Pins den "65K color
input mode" verwendet.
Man sendet hintereinander 2 Byte:
RRRRR GGG
GGG BBBBB
-Ausgewertet wird intern vom Display aber nur:
RRRRx GGG
Gxx BBBBx
x sind Dummy Bits, die vom Display ignoriert werden.
Siehe Pdf Farb-Erklärung (Seite 16 bis 18).
Daniel W. schrieb:
> -Ausgewertet wird intern vom Display aber nur:> RRRRx GGG> Gxx BBBBx>> x sind Dummy Bits, die vom Display ignoriert werden.
Nein, das Display verwendet alle Bits, nur ist deine Farbtabelle
ungünstig, bzw. die FRC nicht aktiv, da alle 4 Tabellen gleich sind.
Somit sind nur 4096 unterschiedliche Farben (16 pro RGB) vorhanden. Um
wirklich alle 65536 Farben zu nutzen, müssen die 4 Tabellen
unterschiedlich sein.
Hier habe ich eine modifizierte Tabelle gepostet:
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Daniel W. schrieb:
>>>Wahrscheinlich speichert das Display intern sowieso immer mit 16 Bit>>>Farbe, nur die Übertragung vom µC zum Controller ist anders.>> Habe die Settings des BASCOM Codes "rgb.bas" (siehe oben) probiert.>> Mein Eindruck ist, dass das Display an den Input-Pins den "65K color> input mode" verwendet.
Das ist nur ein dummes 8Bit-Interface, welches von vielen
Hardwarekomponenten und Displays verwendet wird. Das kennt nichts von
"color input mode", nur 8Bit Daten/Befehle lesen oder schreiben.
> Man sendet hintereinander 2 Byte:> RRRRR GGG> GGG BBBBB>> -Ausgewertet wird intern vom Display aber nur:> RRRRx GGG> Gxx BBBBx>> x sind Dummy Bits, die vom Display ignoriert werden.
Mich würde jetzt mal interessieren, wie du darauf kommst. Hast du ein
paar Bilder, mit denen du deine Behauptungen belegen kannst?
Das Display wird die Daten, die du ihm schickst, so interpretieren, wie
du es vorher bei der Initialisierung eingestellt hast. Stellst du den 4k
Modus ein wird das Display auch nur 4096 Farben darstellen... stellst du
16M Modus ein wird es circa 16Millionen Farben darstellen können.
Ob man die Farben auf dem Display unterscheiden kann ist eine ganz
andere Sache, das sind halt physikalische Grenzen.
Gruß,
SIGINT
Sigint 112 schrieb:
> stellst du> 16M Modus ein wird es circa 16Millionen Farben darstellen können.
Nein, maximal 65536, denn der Speicher ist nur 16bit breit.
Davon abgesehen könnte das Display 6bit pro Farbe, also 18bit
darstellen.
Egal wie man die Daten sendet, die Daten werden auf 16bit umgewandelt
und im internen Speicher abgelegt.
Hi,
Ja soweit hatte ich das schon fast verstanden.
0000-1fff sind meine ersten 8kbyte Ram. Doch da sind auch Register drin
wodurch der Ram etwas kleiner wird.
Jetzt kann ich 2000-3fff auch auf einen Ram mappen BRR[15]=1.
Dann habe ich wieder 8kbyte.
Zuletzt kann ich auch noch 4000-7fff auch auf den Ram mappen mit
PRR[15]=1.
Das sind dann 16kbyte.
Machen zusammen 32kbyte.
Und mit DRR[15]=1 kann ich den kompletten ram auf 8000-ffff setzen.
Doch wie ich jetzt auf den Rom komme weiß ich noch nicht.
Danke noch mal Sigint.
Gruß
@Benedikt:
Ich verstehe die Grafik auf Seite 27 so, daß die 8Bit für jede Farbe
vollständig gespeichert werden. Allerdings heisst der Modus ja
"Truncated 16M color mode"... komische Sache.
@Phil:
Das mit dem RAM dürft so stimmen. Ich hab das aber noch nicht
ausprobiert. Hab bis jetzt nur die $200-$1FFF genutzt.
Da das interne ROM nur 16kiB groß ist passt es komplett in die
Daten-Bank oder Programm-Bank. Das ROM hängt am CS0 also im
Adressbereich $00.0000-3F.FFFF. Es sollte reichen, wenn du DRR oder PRR
mit dem Wert $00 lädst (also DRRL,DRRH=$00 oder PRRL,PRRH=$00). Dann
kannst du über die entsprechende Bank auf die 16kiB ROM zugreifen. Es
sei die CPU hat Schutzmaßnahmen gegen das Auslesen.
Es sollte weiterhin möglich sein Bereiche vom Flash zu löschen und das
ROM ins Flash zu schreiben. Die Schreib- und Löschsequenzen des Flash
stehen im Datenblatt.
Gruß,
SIGINT
Sigint 112 schrieb:
> Ich verstehe die Grafik auf Seite 27 so, daß die 8Bit für jede Farbe> vollständig gespeichert werden. Allerdings heisst der Modus ja> "Truncated 16M color mode"... komische Sache.
Das ist ziemlich bescheuert einen 16M Modus einzubauen wenn der
Controller nur 16bit kann. Vermutlich ist der nur aus
Kompatibilitätsgründen drin.
Dass der Controller wirklich nur 16bit kann, sieht man z.B. auf der
ersten Seite (65K Color Dot Matrix LCD Controller/Driver) und im
Blockdiagramm auf Seite 10 (DISPLAY DATA RAM (DDRAM) [98 X 68 X 16]).
In der Beschreibung findet man 64 gray-scale display. Der Controller
erzeugt die Farben über eine PWM mit 32 Stufen. Diese 32 Stufen kann man
in der Farbtabelle 16 Farben zuordnen. Diese höhere Auflösung ist
notwendig, denn die optische Kennlinie des Displays ist stark
nichtlinear. Über die PWM alleine kann man also 16 Graustufen, also 4096
Farben erzeugen. Zusätzlich wird über 4 Frames noch eine
Frameratemodulation gemacht, also in jedem der 4 Frames ein anderer PWM
ausgegeben, daher auch die 4 Tabellen.
Wenn alle 4 Tabellen gleich sind ist nur die PWM aktiv, daher sieht man
nur 16 Stufen pro Farbe. Mit unterschiedlichen Tabellen erreicht man 4
Zwischenstufen, also 64 Graustufen, was theoretisch 6bit pro Farbe, bzw.
18 bit insgesamt erlaubt. Davon nutzbar sind aber nur 16bit wegen dem
begrenzten Speicher.
PS: Wenn man einen Graustufen oder RGB Balken anzeigt, sieht man auch
auf diesem Display die einzelnen Schritte. 32 bzw 64 unterschiedliche
Stufen sind nicht wirklich viel wenn man Farbverläufe hat.
So ich hab mich dann auch mal an eigenen Programmen Probiert.
Ist quasi die Animation von Q9 nur für den Miuchiz und in asm.
Hier ist mal der ASM code.
@Phil S. (zippi):
Noch mal ein paar Dummyfragen zum Miuchiz_upl:
1. Die test.asm / flyeck.asm muß man womit assemblieren?
2. Bei der resultierende prg Datei müssen die ersten beiden Bytes
entfernt
werden (z,B mit WinHEX etc.)
3. Damit wird das Miuchiz_upl gefüttert und erzeugt eine *.dat Firmware
Update Datei.
4. Ich vermute, dann braucht man noch ein Tool, um diese geänderte
Firmware
in das Gerät zu spielen..? Wo bekomm ich die und wir heißt das
Programm?
5. Wie wird das Test-/eigene Programm dann gestartet?
6. Noch was vergessen oder falsch verstanden?
Peter
petersieg schrieb:
> 4. Ich vermute, dann braucht man noch ein Tool, um diese geänderte> Firmware> in das Gerät zu spielen..? Wo bekomm ich die und wir heißt das> Programm?
Auf der miuchiz.com Webseite kannst du dir ein Update runterladen.
Im Ordner dieses Tools tauschst du die Update-Firmware gegen die
modifizierte aus.
Danke!
Ich habe mir von weiter oben die:
Miuchiz_Update.msi ca. 953kb heruntergeladen.
Ich vermute, das ist das Update-Tool?
Ansonsten muß mna sich ja erst registrieren..
Peter
Hi,
>Also hier ist mal ein Update vom Miuchiz upl.
Damit brauchst du die 2 bytes nicht mehr entfernen kann das Programm
automatisch. einfach "jump program boot address" anklicken.
In dem Ordner, ist ein unter Ordner der heist Miuchiz update. Da kannst
du ihm deine "Miuchiz Update.dat" hinspeichern lassen(in dem Ordner ist
dann auch das Update tool.). Der Miuchiz dump befindet sich im flash
dump Ordner.
Ich hab den Compiler auch mal mit rein gemacht. Ist im ACME Ordner. Da
ist auch eine make.bat:
Wenn man die mit dem Editor öffnet steht dort "acme -v3 flyeck.asm".
Wenn du jetzt ein asm file in dem gleichem ordner befindet, welche
"flyeck.asm" heißt (kannst du auch umbenennen), dann wird die, falls du
keinen fehler im code hast, Compiliert.
Im example ordner findest du das programm fly eck für Miuchiz.
Jetzt kannst du Miuchiz upl starten. Und das Update file erstellen.
Miuchiz upl setzt dann dein Programm an die stelle vom match´emz. Also
im Spiel einfach zum PC gehen und das Spiel außwählen.
PS: Wenn jemand verbesserung vorschläge für "Miuchiz UPL" hat kann die
gerne posten.
@Phil S.: Prima.. werde ich probieren.. DANKE!
>Also im Spiel einfach zum PC gehen und das Spiel auswählen. <-- ??
Verstehe ich leider nicht..?
Das betraf die Frage, wie ich das Programm (hier flyeck) dann starte..?
---
Zum make.cmd: hier kann man besser den festen Namen duch %1.asm
ersetzen..
Dann führt make ..\examples\flyeck zum gewünschten prg File..
---
Im Verzeichnis 'Miuchiz update' ist ja schon das Programm 'Miuchiz
update.exe'.. ist das das Updateprogramm von der Webseite, das über die
*.msi Datei ansonsten auch installiert wird..? = Ich brauche die Miuchiz
Update.msi gar nicht mehr installieren, sondern Gerät über USB in den PC
stecken und Miuchiz update.exe starten..?
Peter
petersieg schrieb:
> @Phil S.: Prima.. werde ich probieren.. DANKE!>>>Also im Spiel einfach zum PC gehen und das Spiel auswählen. <-- ??> Verstehe ich leider nicht..?>> Das betraf die Frage, wie ich das Programm (hier flyeck) dann starte..?> ---> Zum make.cmd: hier kann man besser den festen Namen duch %1.asm> ersetzen..> Dann führt make ..\examples\flyeck zum gewünschten prg File..> ---> Im Verzeichnis 'Miuchiz update' ist ja schon das Programm 'Miuchiz> update.exe'.. ist das das Updateprogramm von der Webseite, das über die> *.msi Datei ansonsten auch installiert wird..? = Ich brauche die Miuchiz> Update.msi gar nicht mehr installieren, sondern Gerät über USB in den PC> stecken und Miuchiz update.exe starten..?>> Peter
Also im Spiel zum PC gehen, heist du gehst mit dem Monster zum PC und
dann kann man zwischen den spielen wählen. Da nimmst du dann Match'emz.
In dem Video von mir sieht man das eigentlich ganz gut.
Wenn du das Programm beenden willst musst du es hinten reseten.
Und zum Update, ja das ist das Update Programm. Du musst es also nicht
installieren.
>>>>>Wichtig:
Um zu Updaten, Miuchiz ausschalten, dann an USB anschließen und wieder
anschalten (Ist wohl ein bug wodurch die abfrage der Version
übersprungen wird).
Hallo,
wie kann man Fonts auf dem Display ausgeben mit BASCOM?
Bei BASCOM ergibt z.B. das Asci-Zeichen "C" mit der Bascom-Funktion
ASC("C")
die Zahl 67. Wie kann man aus der Zahl 67 dem Programm BASCOM
mitteilen, dass es einen Sprung auf den dritten "DATA" -Datensatz
machen soll?
Oder wäre es sinnvoll, die Zeichen A-Z vielleicht in eine einzelne,
riesig lange Konstante hinein zu programmieren, z.B. als
Stringkonstante:
A B C
Const Myfont = "0,126,17,17,17,126 ,0,127,73,73,73,54 ,
0,62,65,65,65,34"
...oder sollte man besser DATA benutzen:
========================================
DATA 0,126,17,17,17,126 'A
DATA 0,127,73,73,73,54 'B
DATA 0,62,65,65,65,34 'C
DATA 0,127,65,65,65,62 'D
DATA 0,127,73,73,73,65 'E
DATA 0,127,9,9,9,1 'F
DATA 0,62,65,73,73,122 'G
DATA 0,127,8,8,8,127 'H
DATA 0,0,65,127,65,0 'I
DATA 0,48,64,64,64,63 'J
DATA 0,127,8,20,34,65 'K
DATA 0,127,64,64,64,64 'L
DATA 0,127,2,4,2,127 'M
DATA 0,127,2,4,8,127 'N
DATA 0,62,65,65,65,62 'O
DATA 0,127,9,9,9,6 'P
DATA 0,62,65,81,33,94 'Q
DATA 0,127,9,9,25,102 'R
DATA 0,38,73,73,73,50 'S
DATA 0,1,1,127,1,1 'T
DATA 0,63,64,64,64,63 'U
DATA 0,31,32,64,32,31 'V
DATA 0,63,64,60,64,63 'W
DATA 0,99,20,8,20,99 'X
DATA 0,7,8,112,8,7 'Y
DATA 0,113,73,69,67,0 'Z
'Font-Quelle: 6x8 Zeichensatz aus dem Verzeichnis
"C:\BASCOM\SAMPLES\LCDGRAPH\my6_7.font"
Wer will denn an dem Ding überhaupt noch weiterarbeiten? Ich meine jetzt
nicht nur als Display, sondern auf 6502 Basis?
@SIGINT:
Nochwas: Wie stehen denn die Chancen, dass man den Auswahlbildschirm mit
dem Monster noch weg kriegt und das eigene Programm direkt zum Starten
bekommt?
Problem dürfte ja sein, dass man dann über USB nocht mehr an die Büchse
drankommt, oder?
Ich hatte nämlich überlegt, mir auch ein oder zwei Geräte zu holen. Gibt
es ja bei Ebay auch noch für 5 oder 6 Euro. Nen Woolworth haben wir
leider nicht in der Nähe...
Gruß,
Andreas
Nun, ist evtl. etwas philosophieren.. aber dank der Arbeiten hier, hat
man jetzt eine unschlagbar günstige 'Konsole' mit:
* Spielkonsole mit Tasten und Farbdisplay
* USB-Updatemöglichkeit
* 65c02 kompatibler CPU - dafür ACME und evtl. sogar mal cc65 zur
Entwicklung
Daher sehe ich das ähnlich wie beim C64 DTV.. Ideal für
Hacker/Modder/Programmentwickler..
Das ist so alles schon toll.. und wenn wie gesagt erst C Programmierung
über
cc65 o.ä möglich ist.. und evtl. auch andere Teile im Flash genutzt
werden
können etc. gibt es hier doch so einige Möglichkeiten.. bis hin zu
Hardwareerweiterunge über SPI o.ä..
Bei ebay gibts übrigens auch welche für 2,50€+Versand..
Peter
@Andreas R.:
Also ich mach auf jeden Fall weiter. Das Display ist zwar nett, aber
ich hab dafür noch keine konkrete Verwendung. Ich hab das erstmal
gebunkert.
Mich interessiert eher die komplette Konsole, als Lehrobjekt. Leider hab
ich im Moment große Zeitprobleme, wesswegen ich nicht wirklich voran
komme. Nun zum Technischen:
Es ist prinzipiell möglich fast die komplette Konsole
softwareseitung zu übernehmen. Die Doku der CPU steht und zur Verfügung
und der Aufbau ist sehr einfach. (nur Spannungsversorgung, Flash,
Tasten, USB und LCD)
Es gibt aber ein paar Probleme die ich habe: Das interne ROM enthält
einen USB-Bootloader, der unabhängig vom Flash arbeitet. Allerdings
scheint im Flash auch ein Teil, oder eine Erweiterung zu liegen. Die
Zusammenhänge sollten noch analysiert werden, damit wir unabhängig vom
Miuchiz-Flashtool sind. Damit hab ich aber keine Erfahrung.
Zudem scheint es so, daß das Programm im ROM das Programm im Flash
startet. Ich hab noch keine sichere Methode gefunden unsere Programme
direkt zu starten und den Bootloader funktional zu halten. Ich hab schon
3 unbrauchbare Konsolen hier liegen. Die könnte ich mit Tricks
wahrscheinlich wiederbeleben. Ich muss nur die Versionskontrolle beim
Flashtool austricksen... hab nur keine Ahnung, wie. Ein eigenes Tool
wäre sehr hilfreich, aber ich hab keine Ahnun wie ich auf die
"Festplatte" des Miuchiz zugreifen kann ohne ein Dateisystem.
@petersieg:
Die Konsole ist ja prinzipiell voll nutzbar, solange man aufpasst,
daß man nicht die falschen Flashbereiche überschreibt. Sogar USB sollte
machbar sein, wenn man die Interrupt-Bank auf seine eigene ISR umbiegt.
Aber schöner wäre es die volle Kontrolle zu erlangen und ein eigens
Flashtool nutzen zu können.
Am Wochenende beschäftige ich mich mal mit CC65. Ich habe gemerkt, daß
ich mit Assembler nicht sooo gut klar kommen. Das wird schnell
unübersichtlich und ist schlecht modularisierbar.
Bis jetzt hab ich CC65 noch nicht dazu überreden können Programmcode für
mich zu erzeugen. (also mit --target none)
Gruß,
SIGINT
Hi Andreas,
Da der bootloader auch im internem ROM ist, muss mann vielleicht nur das
Programm bei anliegen der VBUS Spannung an der start Adresse des
bootloaders springen lassen. Wie weit das aber geht müssen wir noch
testen. Dann könnte man vll das Komplette spiel ersetzen.
Wenn ich die tage dazu komme, werde ich versuchen ein Programm zu
schreiben was den Inhalt vom Rom in den Flash schreibt und dann den
Flash extern auslesen.
Dann sind wir schon mal ein schritt weiter.
Da mein ASM schlecht ist, hoffe ich das sich jemand mal mit dem CC64
auseinander setzt.
Wenn du wirklich Interesse hast mit zu Programmieren würde ich dir 2st
Miuchiz Monster inc. Versand für 5Euro zuschicken.
@Sigint
Wie schon erwähnt wenn du willst mach ich deine 3 defekten Miuchiz
wieder heile.
gruß
Sigint 112 schrieb:
> @Phil:> Das mit dem RAM dürft so stimmen. Ich hab das aber noch nicht> ausprobiert. Hab bis jetzt nur die $200-$1FFF genutzt.> Da das interne ROM nur 16kiB groß ist passt es komplett in die> Daten-Bank oder Programm-Bank. Das ROM hängt am CS0 also im> Adressbereich $00.0000-3F.FFFF. Es sollte reichen, wenn du DRR oder PRR> mit dem Wert $00 lädst (also DRRL,DRRH=$00 oder PRRL,PRRH=$00). Dann> kannst du über die entsprechende Bank auf die 16kiB ROM zugreifen. Es> sei die CPU hat Schutzmaßnahmen gegen das Auslesen.> Es sollte weiterhin möglich sein Bereiche vom Flash zu löschen und das> ROM ins Flash zu schreiben. Die Schreib- und Löschsequenzen des Flash> stehen im Datenblatt.
Hi,
Gut also das ROM hat schonmal kein leseschutz. Jetzt muss ich erstmal
sehen das ich irgendwas ins Flash schreibe und auslese um zu testen,
dass das auch ohne Probleme funktioniert.
gruß
Könnte man nicht am Start in eine eigene Routine springen, die z.B.
einen Taster der Konsole abfragt.
Ist der Taster gedrückt, springt die Routine ganz normal in den
Standardbootloader. So kommt man ins Spiele-Auswahlmenu und kommt per
Updatetool an das Gerät ran.
Ist der Taster nicht gedrückt, wird unser eigener Code angesprungen.
Damit wäre es kein Problem, wenn wir in unserem eigenen Code die Konsole
aufhängen.
Man könnte immer wieder per USB updaten?!
Würde das irgendwie gehen?
Gruß,
Andreas
Andreas Rickert schrieb:
> Hallo nochmal,>> @Phil S.: Hab Dir ne PM geschrieben wegen den 2 Stück Miuchiz.>> Gruß,> Andreas
Ich frage mich schon dauernt warum ich nie PMs bekommen hab^^. Habe
jetzt meine alte mail add gefunden wo die hingeschickt werden.
Da sind ja ein haufen PMs^^.
>Ist der Taster gedrückt, springt die Routine ganz normal in den>Standardbootloader.
Ja und wo ist der Standardbootloader? Im Rom! Aber wo genau wissen wir
aber nicht.
gruß
Nur mal so als Idee, ohne mich näher damit beschäftigt zu haben:
Im Flash wird es vermutlich eine Einsprungadresse geben, an der dann
wiederum ein Sprungbefehl zum Codestart steht. Diesen Sprungbefehl
ändert man so um, dass in einen freien Flashbereich gesprungen wird,
dort wird ein Taster abgefragt. Wenn Taster gedrückt, dann Sprung zu der
ursprünglichen Codestart-Adresse durchführen, ansonsten eigenen Code
ausführen.
Hallo zusammen,
ich hab es teilweise geschafft: Der CC65-Compiler läuft soweit!
Anbei die notwendigen Dateien. Zuerst müsst ihr den Compiler runterladen
und installieren.(Pfad setzen nicht vergessen) Danach entpackt alle
Dateien aus dem Archiv in ein Verzeichniss. Übersetzen könnt ihr das
Programm dann mit:
"cl65 -m main.map -t none -C none.cfg main.c st2205u.o st2205u.lib"
Die Datei "main" enthält dann das fertige Programm, welches ihr in die
"Miuchiz Update.dat" einfügen müsst. (Offset: 0xD844B)
Es gibt noch Probleme, die ich noch nicht ganz verstehe aber einfache
Programm laufen schon. Ich arbeite weiter an den Problemen.
Zum Thema Bootloader:
Ich bin mir nicht sicher, wie ich den Bootloader im internen ROM
anspringen kann. Über den Resetvektor schein ich nicht den Loader
starten zu können. (seltsam) Oder ich hab irgendwas falsch gemacht. Am
besten wäre es, wenn wir das ROM auslesen und analysieren. Ich schaffe
es leider nicht das ROM unbeschädigt runter zu löten.
Zum Thema Taster:
Es gibt eine Abfrage der Taster und einen Sprung in das Testprogramm.
Aber leider hab ich mir ein paar Konsolen damit gebricked, als ich diese
Abfrage nutzen wollte. Die sicherste Methode zum Testen ist das
MiniGame. Irgendwann hoffe ich das komplette Spiel ersetzen zu können
und meine defekten Konsolen mit einem eigenen Flashtool wieder
herstellen zu können.
Wir müssen nur die Versionskontrolle überlisten, dann kann man beliebig
Firmware hochladen. (Der interne Bootloader kann ja nicht überschrieben
werden. Und über ein Hardwarehack ist dieser immer startbar.CS des Flash
beim Start unterbrechen)
Ich hoffe wir kommen mit der Konsole etwas weiter... das Teil ist
wirklich interesannt zum basteln. Ich hoffe irgendwann eine SD-Karte in
das Teil ein zu bauen und per USB darauf Spiele ablegen zu können. ;-)
Gruß,
SIGINT
Hi nochmal,
wie sieht das denn eigentlich mit den anderen HW-Schnittstellen aus.
Irgendwer hat ja schon von SPI-Erweiterungen geträumt...
Das Ding hat doch sicher ne RS232. Kommt man an die Pins ran? Dann
könnte man ja darüber mal das ROM auslesen?
Gruß,
Andreas
@Andreas:
Alles was nicht gebondet ist wird auch nicht nutzbar sein. Und ich
gehe davon aus, daß diese Schnittstellen nicht gebondet sind. Die werden
hier ja nicht eingesetzt. An das ROM kommen wir entweder über USB ran,
oder indem wir es aufs FLASH schreiben. Wenn sich jemand mit USB
auskennt könnte er ja ein CDC-Device implementieren. Oder jemand
versucht mal das Miuchiz Flashtool neu zu schreiben... dann sollten wir
auch das Flash runterladen können. Beides erfordert Kentnisse, die ich
noch nicht habe.
@petersieg: Was meinst du mit Hardcopy? Anbei mal ein Video.
http://www.youtube.com/watch?v=yVHN353s6OM
Und das Binary als Download. Das Binary muss ab $D844B in die "Miuchiz
Update.dat" eingefügt werden. (Ersetzt das vorhandene Programm)
Gruß,
SIGINT
Die main kannst du ganz normal mit Miuchiz UPL linken. Einfach nur den
hacken bei jump boot address weglassen. Wird dann an $d844B hingepackt.
Zum Flash: ich muss erstmal schauen wie ich OE# und WE# vom flash
verstellen kann um einen sector zu löschen und neu zu beschreiben.
Hallo!
Bei meinem Woolworth gibts die leider nicht mehr, falls jemand nochmal
an dem Grabbeltisch vorbei geht und da noch welche liegen, könnte man
mir 3-5 Stück mitbringen, wenn die noch 1-2 Euro kosten?
Das wäre super!
Vielen Dank
Hallo zusammen,
ich hab herausgefunden, daß Cygwin auch Device-Files hat und ich auf
das Miuchiz zugreifen kann. Also hab ich mal versucht die Befehle der
libST2205u zu nutzen, um den Flash zu lesen. Anscheinend nutzt das
Miuchiz andere Befehle. Die Adressen sind aber sehr wahrscheinlich
identisch.
0x6200 Befehle
0x6600 Daten schreiben
0xB000 Daten lesen
Wir brauchen also die Befehle, um ein eigenes Flashtool schreiben zu
können. Diese finden sich im Bootloader. Also geht das Suchen weiter.
Link: http://picframe.spritesserver.nl/wiki/index.php/Libst2205
Gruß,
SIGINT
Sigint 112 schrieb:
> Also hab ich mal versucht die Befehle der> libST2205u zu nutzen, um den Flash zu lesen.
Das hatte ich neulich mal unter Linux mit dem st2205tool probiert, das
ebenfalls die lib benutzt.
http://www.neophob.com/files/st2205tool-1.4.3.tar.gz
Ich mußte nur den is_photoframe-Check abschalten, weil der String, auf
den da getestet wird, bei den Konsolen anders lautet und an einer
anderen Stelle liegt. Das Ergebnis war, daß nach dem Senden des
Lesebefehls die Leseoperation hängen bleibt, vermutlich weil der Befehl
den Controller zum Absturz gebracht hat.
> Anscheinend nutzt das Miuchiz andere Befehle.> Die Adressen sind aber sehr wahrscheinlich identisch.
Könnte es nicht auch umgekehrt sein: gleiche Befehle aber andere
Adressen, bzw. daß sich nicht die Adressen auf der USB-Storage-Ebene
unterscheiden, sondern die controller-internen Adressen, die man in die
Befehle schreiben muß?
Wenn jeweils die gleiche Bibliothek des Chipherstellers eingesetzt
wurde, erscheint mir das plausibler. Und wie sonst als durch eine Lib
oder Appnote des Chipherstellers sollten verschiede Gerätehersteller auf
die abartige Idee kommen, mit genau diesen Chips das
USB-Storage-Protokoll als eine Art Registerschnittstelle zu mißbrauchen?
> Wir brauchen also die Befehle, um ein eigenes Flashtool schreiben zu> können. Diese finden sich im Bootloader.
Die sollten sich auch mit einem USB-Sniffer finden lassen. Die gibt es
für Windows teilweise als kostenlose 30-Tage-Version mit relativ guten
Analysewerkzeugen für die einzelnen USB-Protokolle.
Evtl. reicht es auch, das Update-Programm in einer Art strace laufen zu
lassen, falls es sowas für Windows gibt.
Andreas Jakob schrieb:
> Die Adressen stimmen schon, nur der Ablauf scheint anders.
Kann denn das Tool, das Du da verwendet hast, auch die gelesenen und
geschriebenen Daten loggen?
Wenn es das könnte, oder ich ein Tool gefunden hätte welches das kann,
gäb es schon ein Flashtool für den Miuchiz.
USB-Sniffer liefern derart viel Daten die man zuordnen muss, dass das
auch
keine Hilfe ist.
Bleibt noch ein Debugger, aber da fehlt mir die Geduld :)
Man müsste einen Filter schreiben, der sich wie ein Virenscanner
in den Datenstrom einklinkt.
Andreas Jakob schrieb:
> Wenn es das könnte, oder ich ein Tool gefunden hätte welches das kann,> gäb es schon ein Flashtool für den Miuchiz.
Hast Du es mal mit StraceNT probiert?
http://www.intellectualheaven.com/default.asp?BH=projects&H=Strace.htm
Es behauptet von sich, ähnliche Funktionen wie strace für Linux zu
bieten und damit würde es gehen, wenn man mit -s dafür sorgt, daß genug
Inhalt von den Schreib- und Leseoperationen angezeigt wird.
Jo, hab ich schon probiert.
Du kriegst aber nur das Dateihandle, die Speicheradresse des Buffer und
die
Länge des Buffer damit raus.
Was in dem Buffer drinsteht aber leider nicht.
Ich denke es macht mehr Sinn auf der anderen Seite, im Miuchiz
Disassembly,
zu suchen.
Marburg (Hessen) hat nur ein Woolworth und da gibt es noch welche, ich
hab 5 geholt, und es sind noch ca. 5 da. (kann also noch beschaffen)
meine frage, gibt es eine moglichkeit, ein video signal auf den display
darzustellen, ohne programm, also compsit, component, RGB oder vga ?
direkt am display wird es nicht gehen, aber mit einem steuerchip
(ähnlich wie ihn auch die Playstation 1 und 2 display benutzen) hat da
jemand ein wenig ahnung?
Danke
derGeen schrieb:
> Marburg (Hessen) hat nur ein Woolworth und da gibt es noch welche, ich> hab 5 geholt, und es sind noch ca. 5 da. (kann also noch beschaffen)>> meine frage, gibt es eine moglichkeit, ein video signal auf den display> darzustellen, ohne programm, also compsit, component, RGB oder vga ?> direkt am display wird es nicht gehen, aber mit einem steuerchip> (ähnlich wie ihn auch die Playstation 1 und 2 display benutzen) hat da> jemand ein wenig ahnung?> Danke
Hallo derGeen!
Ich kann dir deine Frage leider nicht beantworten, hätte aber gerne
welche (von mir aus auch gerne alle 5 wenn die noch da sind dann).
Könntest du mir die holen und nach Berlin schicken?
Komme natürlich für Versand, Verpackung, etc. auf.
Vielleicht schickst du mir ne Mail an info@plaputta.de?
Danke!
derGeen schrieb:
> meine frage, gibt es eine moglichkeit, ein video signal auf den display> darzustellen, ohne programm, also compsit, component, RGB oder vga ?
In schwarz/weiss könnte dass vielleicht ein Mikrocontroller mit A/D
Wandler und zusätzlichem Sync-Seperator (LM1881) hinbekommen, bei der
geringen Auflösung.
In Farbe kannst du dir für den nötigen Aufwand besser gleich ein anderes
Display kaufen.
>In schwarz/weiss könnte dass vielleicht ein Mikrocontroller mit A/D>Wandler und zusätzlichem Sync-Seperator (LM1881) hinbekommen, bei der>geringen Auflösung.>In Farbe kannst du dir für den nötigen Aufwand besser gleich ein anderes>Display kaufen.
S/W würde mir vollkommen ausreichen
Die PS1/2 Displays sind rein analoge TFT Displays. Die können daher mehr
oder weniger direkt die 50Hz RGB Signale verdauen.
Bei diesem Display lohnt sich der Aufwand nicht wirklich. Machbar ist es
aber. Ich würde allerdings einen CPLD oder einen kleinen FPGA zusammen
mit z.B. einem TVP5150 verwenden. Der gibt die Daten mit 27MHz als YUV
aus. Je nach Aufwand kann man die Daten also entweder in RGB umrechnen
oder nur die Y Daten als SW Bild verwenden.
Ein AVR dürfte nämlich damit etwas überfordert sein, mit rund 2MHz einen
Wert vom ADC einzulesen, den entsprechend in einen 16bit Wert umzuformen
und diesen dann an das Display weiterzureichen. Solch dumme Aufgaben
sind ideal für CPLDs/FPGAs. Alternativ könnte sowas wie ein dsPIC/PIC24H
auch gehen. Der kommt mit Bitschiebereien und ähnlichem wunderbar zu
recht und kann dank PMP (Parallel Master Port) die Daten im Hintergrund
über das 8bit Interface an das Display schieben, während er neue
Bilddaten einliest und in 16bit Werte umwandelt. Eventuell könnte sogar
der interne ADC ausreichen. Mit solch einem µC habe ich schon mit über
40fps einen Film von einer SD Karte auf dem Display abgespielt.
derGeen schrieb:
> keien anfragen merh wegen Miuchiz 2.0. Marburg ist leer und ich hab auch> alle schon weg.> @Tobias Plaputta: kannst du auch mit EINER glücklich werden ?
Bis ich das kaputt mache, ja, nehme sehr gerne :)
Geht das in einen Maxibrief?
Alles weitere vielleicht unter info@plaputta.de
Vielen Dank
Hallo zusammen,
ich hab mal angefangen den USB-Bootloader im Flash zu analysieren.
Die Appnote AN1169 von Microchip ist eine gute Infoquelle für die USB
Mass Storage Klasse.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en534213
Der Bootloader steht im Flash ab $4000 und wird in die Programmbank
geladen ($4000-$7FFF).
Fast alles aus dem Appnote kann ich im Bootloader wiederfinden. (ist ja
logisch)
Die interesannten Stellen hab ich aber noch nicht analysiert, da ich
gerade angefangen hab. Vielleicht hat ja jemand Lust mit rein zu schaun.
Gruß,
SIGINT
P.S.: Ich glaube, daß die Chancen gut stehen ein eigenes Flashtool zu
schreiben. Allerdings wird das Tool nicht Narrensicher sein,es sei ein
Profi beschäfftigt sich damit.
So... melde mich auch mal wieder.
@Phil S.: Die beiden Miuchiz sind angekommen! Funktionieren auch. Hab
schonmal reingeguckt.
Der Thread hier ist zum Diskutieren ja super - keine Frage. Aber da es
zum Einen hier um das reine Hacking geht und zum anderen darum, das
Display mit einem Atmel zu betreiben, ist der Thread schon etwas
unübersichtlich. Außerdem sind alle Infos im ganzen Thread verteilt.
Also hab ich unter www.miuchiz-hacking.de.vu mal ein kleines Dokuwiki
angelegt und mit etwas Leben gefüllt. Ist alles noch etwas
durcheinander. Wer Lust hat kann gerne mit editieren!
Gruß,
Andreas
Hallo nochmal,
ich hoffe, ich finde bald raus, was ich ändern muss, damit mein Hoster
die Anmeldeemails durchlässt... Irgendwelche php und sendmail
Einstellungen. Muss ich nochmal nachlesen.
Lange Rede... wenn ich das weiss, mache ich das Wiki nur noch für
angemeldete Nutzer editierbar. Ist sicherer.
Gruß,
Andreas
Hallo zusammen,
so wie es aussieht hab ich eine gute und eine schlechte Nachricht.
Die gute Nachricht ist, daß ich wahrscheinlich die Befehle gefunden hab
die an die Adresse $6200 gesendet werden müssen.
1
L4148: ;Kommandos an $6200 ?
2
lda X0434
3
cmp #$2A
4
beq L415C
5
cmp #$28
6
beq L4161
7
cmp #$80
8
beq L4166
9
cmp #$81
10
beq L416B
11
rts
Diese Werte decken sich mit den Daten der "Miuchiz USB.doc". Das Mass
Storage Protokoll ist eigentlich relativ einfach:
Der Host sendet einen Command Block Wrapper an das Device. (USBC)
Dieser Wrapper enthält die Operation, die das Device ausführen soll.
Dann schickt entweder das Device oder der Host die notwendigen Daten.
Darauf schickt das Device einen Command Status Wrapper. (USBS)
Dieser teilt dem Host mit, ob die Daten beim Device angekommen sind.
Nun die schlechte Nachricht:
Die Befehle an das Miuchiz sind relativ lang und komplex. Ich hab noch
nicht ihren Inhalt herausgefunden. Also muss der Bootloader weiter
analysiert werden.
Gruß,
SIGINT
@Sigint 112
schon mal versucht den bootlader von dem Pearl ding zu nehmen ?
Es sollte der selbe µC sein, allerdings finde ich die firmware
übersichtlicher und vllt besser geeignet zum weiternutzen.
@Thomas:
Naja, ich hoffe und glaube, daß der Bootloader im ROM das selbe
Transferprotokoll verwendet wie im Flash. Und der Bootloader im ROM ist
immer verfügbar. Daher möchte ich dieses Protokoll nutzen.
Thomas R. schrieb:
> schon mal versucht den bootlader von dem Pearl ding zu nehmen ?
Wenn du den digitalen Bilderrahmen meinst, der hat eine andere CPU.
Andreas Rickert schrieb:
> Hallo nochmal,>> ich hoffe, ich finde bald raus, was ich ändern muss, damit mein Hoster> die Anmeldeemails durchlässt... Irgendwelche php und sendmail> Einstellungen. Muss ich nochmal nachlesen.
Anmelden geht nicht. Hab's probiert, es kommt keine Email.
Hi,
So ich schreib dann auch mal wieder.
Habe mich natürlich weiter damit beschäftigt den internen rom
auszulesen.
Jetzt ist es so weit und ich kann das rom_dump online stellen.
@Sigint 112
Wäre cool wenn man jetzt probiert den bootloader im rom anzuspringen.
Gruß
Zippi
@Phil:
Hmmm, ich finde einiges aus dem anderen Bootloader (im Flash) wieder.
Aber es gibt ein paar neue Rätsel:
Warum ist die Datei größer als 16KiB?
Dort wo ich die Interrupt-Vektoren erwarte stehen nur "0" und danach
kommen dann vermutlich die Vektoren. Diese scheinen allerdings nicht zu
stimmen, da ein Vektor z.B. mitten in eine Subroutine zeigt.
Es dauert wohl noch etwas länger, bis wir brauchbare Ergebnisse
erhalten.
Gruß,
SIGINT
Hi,
Ja es schein als ob bei der übertragung zum pc was nicht so ganz
geklappt hat. Ich habe mir die datei gestern nur ganz kurz angesehen.
Ich werde das heute nochmal neu machen. Habe auch schonmal 0x000-0x200
ausgelesen (also die Register). Dort schien das ganze auch etwas
verschoben und die länge passte auch nicht ganz.
gruß
Hi,
Ich melde mich wieder zurrück.
Habe jetzt ein anderes tool zum datenloggen genommen (hatte vorher
HyperTerminal). Außerdem hatte ich das erste byte übersprungen. Deswegen
fehlte auch das 1. byte. Jetzt sind es genau 16kbyte.
Sollte alles soweit passen.
gruß
Zippi
Andreas Rickert schrieb:
> Hallo nochmal,> ich hoffe, ich finde bald raus, was ich ändern muss, damit mein Hoster> die Anmeldeemails durchlässt... Irgendwelche php und sendmail> Einstellungen. Muss ich nochmal nachlesen.> Lange Rede... wenn ich das weiss, mache ich das Wiki nur noch für> angemeldete Nutzer editierbar. Ist sicherer.>> Gruß,
@Andreas
du hast PM
Habe es HEUTE zum letzten Mal probiert. Es war der 5. vergebliche
Registrationsversuch, und die Anmelde-Mail geht immer noch nicht.
Das Problem ist übrigens bekannt, und es werden Lösungen dazu angeboten.
Siehe:
http://www.google.de/search?q=site%3Adokuwiki.org+intitle%3Aemail+subscription
Hallo!
Hab jetzt endlich rausgefunden, wo ich in welcher php.ini was ändern
muss, damit es auch wirklich funktioniert.
Dass jetzt keiner denkt, ich hätte mehrere Tage an dem Problem
gewerkelt... aber man hat ja auch noch ne Arbeit und ein bißchen
Privatleben.
Außerdem sollte das Wiki im Moment für ALLE editierbar sein. Von daher
braucht sich keiner anmelden, oder...
Werd bei nächster Gelegenheit jetzt aber umstellen. Ihr könnt jetzt
nochmal versuchen, euch anzumelden.
Gruß,
Andreas
Hi nochmal,
@Daniel W.: Das Problem war tatsächlich bekannt. Bei Goneo muss die
"Envelope-From"-Einstellung bei der gesendeten Email mit einem gültigen
Emailkonto von Goneo übereinstimmen.
In Deinem Google-Link geht es glaub ich um noch was anderes...
Trotzdem danke für den Hinweis!
Gruß,
Andreas
Hi,
ich glaub nicht das nochmand welche über hat. Sonst kannst du auch
einfach mal ebay schauen. Da bekommt man vereinzelt auch welche für 5
Euro.
gruß
Zippi
@ Andreas wegen: miuchiz-hacking.de.vu
Habe eine neue BASCOM Seite angelegt.
Als ich ein file (eine .BAS Datei) anhängen wollte, öffnete sich ein
neues Browserfenster mit einem "Dateimanager".
Dort fehlt aber die Option, ein File hochzuladen !
Bitte füge eine Option hinzu, damit das Hochladen eigener Dateien
möglich ist.
@Andreas
habe heute endlich die Anmeldemail bekommen. Konnte in dem Wiki eine
eigene BASCOM Seite anlegen, und eine .bas Datei hochladen.
-Allerdings muss man die Datei als .zip hochladen. Der Uploadmanager
akzeptiert leider keine .txt und auch keine .bas Dateien.
Hallo,
ich habe gestern bei eBay 10 Miuchiz Monsterz für je 3 EUR ersteigert.
Würde ein paar davon für 5 EUR inkl. Versand abgeben.
Wenn jemand zum Experimentieren noch welche benötigt PM an mich.
das is doch mal ne Wertsteigerung ob die es noch auf die ursprünglichen
40 € schaffen ? :D
3€ von der bucht und für 5€ weiter, und dabei gab es die dinger für 1
äffchen lol
Ich werd mal Spielzeug produziren, und da drauf schreiben:
"Brandaktuelles drecks Spiel mit Bekannter CPU super zum Knacken und
aufspielen eigener Codes" dazu noch nen bisschen Code ins Netz streuen
(nicht zu viel) und hie rund da die möglichkeit für schnittstellen auf
die Platine.
Das verkauft sich dan wie warme Semmeln 8D
derGeen schrieb:
> 3€ von der bucht und für 5€ weiter, und dabei gab es die dinger für 1> äffchen lol
Ohhh... da ist jemand wütend, weil er die Marktlücke nicht gesehen hat.
Sowas nennt man freie Marktwirtschaft. Ist nicht das beste System...
aber es ist eins.
> Ich werd mal Spielzeug produziren, und da drauf schreiben:> "Brandaktuelles drecks Spiel mit Bekannter CPU super zum Knacken und> aufspielen eigener Codes" dazu noch nen bisschen Code ins Netz streuen> (nicht zu viel) und hie rund da die möglichkeit für schnittstellen auf> die Platine.>> Das verkauft sich dan wie warme Semmeln 8D
Dann mach das doch. Es hält dich niemand davon ab.
Klar, ich kann mir auch ne X-BOX oder eine PS3 kaufen und stur die
fertigen Produkte konsumieren. Aber muss ich dann die Leute nerven, die
sich etwas mit der Technik beschäftigen wollen und aktiv werden?!?
Und zum Thema "bisschen Code": Es gibt Leute die noch Arbeiten müssen
und andere Hobbys haben. Wenn du meinst das Übergenie zu sein, dann
steuer doch mal hilfreiche Tipps bei.
Labern können viele; aktiv werden die wenigsten!
EOT!
OK... langsam, das ging in den falschen hals.
für wieviel das ding weiter gegeben wird ist mir doch Wurst.
Ich hab lediglich die Situation der Dinger zynisch gespiegelt.
Schau die an wie hoch die Preiße auf ebay sind dafür, was der Hersteller
nicht geschafft dürch bescheidenes Marketing kommt jetz, aber den Profit
sieht er nicht merh.
Ich find es witzig wie wir uns drauf stürzen weil wir die möglichkieten
erkannt haben.
"Übergenie" ich nicht, ich bin weit von dem entfernt was ihr hier
anbietet, ich stecke noch mitten im lernen von 6502/10 ASM.
zum Thema freie Marktwirtschaft kann man jetz auch andere Ansichten
haben. Ich hab den Woolworth leer gekauft und alle überflüssigen Miuchiz
(noch mit Verlust Hermes is dreck) weiter gegeben damit die user mit
dem Wissen auch Möglichkeit bekomen uns zu helfen.
Aber anders Thema, Wurscht.
@Q9:
Hi, ich habe mal deine Platine
(Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro") nachgebaut.
Könntest du mir das Testprogramm dafür zukommen lassen, damit ich mal
sehen kann ob das was ich hier zusammengelötet habe auch funktioniert?
(Und habe ich das so richtig verstanden, dass alle rechteckigen Lötaugen
auf Masse sollen?)
Danke!
Toby
Hi, die Rückseite ist Masse, ich kann dir aber aus dem Kopf nicht sagen,
welche Pins eine Masseverbindung haben. Musst du selber im EAGLE
angucken.
Ich kann dir mal ein hex schicken, aber warte nicht drauf, da muss ich
erst ne funktionierende Version raussuchen, habe aber Zeitmangel.
Im Prinzip ist es nur erforderlich, die Ports anzupassen. Die Codes im
Thread benutzen ja keine Peripherie.
>zum Thema freie Marktwirtschaft kann man jetz auch andere Ansichten>haben. Ich hab den Woolworth leer gekauft und alle überflüssigen Miuchiz>(noch mit Verlust Hermes is dreck) weiter gegeben damit die user mit>dem Wissen auch Möglichkeit bekomen uns zu helfen.>Aber anders Thema, Wurscht.
Tja wenn du Verlust gemacht hast, dann hast du was flasch gemacht^^
@Sigint
Bist du eigentlich schon mal weiter gekommen mit dem Bootloader, oder
dem CC64. Ich finde das Display Display Ausgabe beim C Compiler extrem
langsamer ist als bei ASM. Ich habe auch schon versuch den ASM Code mit
asm("") zu implementieren. Aber ohne erfolg.
gruß
Zippi
@Phil:
Nein, im Moment mach ich nichts mehr, da ich ein anderes Kunstprojekt
für meine Mutter umsetzen muss. Ich hab mich auch schon gefragt, ob man
die C-Programme etwas beschleunigen kann. Mit der aktuellen
Geschwindigkeit kann man nicht viel sinnvolles machen. Ein großes
Problem dürften die Funktionsaufrufe sein, die sehr viel Overhead
erzeugen. Vielleicht kann man mit DMA was basteln, aber das dürfte nur
für reine Kopieraktionen brauchbar sein. Bei prozeduralen Grafiken
bringt das nichts.
Am Bootloader hab ich auch nicht weiter gemacht... hab leider zu viel um
die Ohren. Bin mir nicht sicher, ob ich dieses Jahr überhaupt noch dazu
komme.
Gruß,
SIGINT
@SIGINT:
Das ist aber schade.. das du z.Z wenig Zeit hast.. nun bald wird es ja
Herbst/Winter.. ;-)
Könntest du bitte das C Testprogramm aus dem obigen Video mit
Tastaturabfragen und Hexausgaben.. hier mit Quellcode einstellen..
Danke!
Gruß, Peter
Hi!
@Sigint: Es wäre auch schön, wenn Du den aktuellen Stand Deiner Analyse
des Bootloaders (kommentierte Source?!) hier noch posten könntest -
falls noch nicht geschehen.
Gruß,
Andreas
Hallo Zusammen,
habe mal eine Frage zu dem Michuiz Lautsprecher: Ich würde den gerne
über PWM an einem ATmega88 betreiben. Meint ihr, das geht indem ich das
Ding direkt an einen Portpin anschliesse, oder mache ich mir so den AVR
kaputt? Muss ich da nen Transistor dazwischenhängen? Hat da schon jemand
Erfahrungen gemacht?
VG,
mui
Ich habe den Widerstand des Lautsprechers gemessen, sind etwa 30 Ohm.
Bei 5 Volt würde ein Strom von 166 mA fließen, der maximal erlaubte Wert
sind laut Datenblatt des Atmega88 aber nur 40 mA.
Ich würde einen Widerstand zwischen Portpin und Lautsprecher hängen,
vielleicht reicht die Lautstärke.
Da man einen Lautsprecher mit Wechselspannung betreiben muß, damit ein
Ton zu hören ist, hat der Gleichstromwiderstand seiner Wicklung nicht
viel zu sagen.
Wenn man den Lautsprecher direkt an einen Portpin hängt und ein
Rechteck-Signal draufgibt, ist der Wechselspannung eine vom
Tastverhältnis abhängige Gleichspannung überlagert, die dem Lautsprecher
auf Dauer schadet. Um die wegzubekommen, kann man einen Kondensator in
Reihe mit dem Lautsprecher schalten oder den Lautsprecher zwischen zwei
Portpins hängen, die immer entgegengesetzt geschaltet werden.
Will man mehr als nur rechteckige Piepstöne á la PC-Lautsprecher
ausgeben, kann man das mit einer entsprechend hochfrequenten PWM machen
und vor den Lautsprecher einen Tiefpaß schalten.
Wenn der Portpin bei PWM auf High geschaltet wird, dann fließt anfangs
ein viel zu hoher Strom, und in dem Datenblatt des Atmega88 steht nicht,
dass in kleinen Zeiträumem die maximale Stromgrenze von 40 mA
überschritten werden darf.
und das Teil über nen Transistor schalten? Also Basis an Portpin,
Emitter über R an GND und den Lautsprecher zwischen Collector und +5V?
Würde das gehen? Das Rechteckgeknarre à la PC-Lautsprecher würde mir
langen, will eigentlich nur nen konstanten Ton ausgeben, hab aber gerade
keinen Piezobuzzer zur Hand...
aber wo müsste dann der Block C hin um die Gleichspannung rauszufiltern?
Außerdem kann ich doch gar keine echte Wechselspannung erzeugen, oder
nicht? Oder müsste ich dann OCR1A und OCR1B invertiert zueinander
betreiben und dann da NPN, bzw, PNP Trnsistoren hinschalten?
Ach.. da ja bald Weihnachten ist.. wünsche ich mir.. das sigint 112 oder
jemand anderes doch bitte mehr Programme für diese süße Konsole
schreibt...
So ein Pong oder ähnlich wäre super.. ;-)
Peter
Sorry für die Thread-Necrophilie - ich habe noch:
2 Konsolen schwarz
2 Konsolen rosa
Da ich zur Zeit ausmiste (und gnadenlos wegwerfe), kann ein geneigter
Bastler die Teile kostenlos bei mir, in Braunschweig abholen.
Ich bitte um Verständnis: ich werde die Konsolen nicht verschicken, da
ich schwerbehindert bin und im Moment einfach froh bin Job und Alltag zu
leisten. Das Post-Gemähre kann ich zur Zeit leider nicht gebrauchen.
Also bei Interesse antworten, dann melde ich mich im Forum an und die 4
Originalverpackten Konsolen können bei mir in BS, Stadtgebiet, abgeholt
werden.
Gruß & Danke,
Nils
Hallo *
habt ihr mit den Dingern sowas wie einen ansteuerbaren USB-Bildschirm
(vorzugsweise linux) geschafft bzw. ist das hinzukriegen? Ansonst liegen
hier noch 4 davon herum, falls jmd. interesse hat.
sl, ritch
hallo, hätte denn jemand noch 1 oder 2 da? ich habe vor mir eine
ganganzeige zu bauen für mein auto hätte da jemand eine idee wie man
sowas bauen kann?
mfg gerrit