Forum: Mikrocontroller und Digitale Elektronik Mini-Farbdisplay (+mehr) für 1 Euro


von Matthias L. (matze88)


Lesenswert?

@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?

von Gast (Gast)


Lesenswert?

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.

von slime (Gast)


Lesenswert?

Der steht ja auf toggle on compare match, das ist das problem.

von Matthias L. (matze88)


Lesenswert?

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.

von Malte _. (malte) Benutzerseite


Lesenswert?

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).

von Flin (Gast)


Lesenswert?

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ß

von Andreas J. (antibyte)


Lesenswert?

Hier sind die Telefonnummern aller 26 !(krass) Filialen in Berlin.
Vielleicht einfach mal zwei drei in deiner Gegend anrufen ob
sie noch welche haben.

http://www.woolworth.de/unternehmen/standorte/filialfinder/deutschland/suche/?suchbegriff=1

von Flin (Gast)


Lesenswert?

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!

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hi,
die Belin-Liste ist für die Tonne.
Anrufen welche Filialen es noch gibt.

Wigbert

von Kay (Gast)


Lesenswert?

>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

von outlander (Gast)


Lesenswert?

In Marburg  gibt s  noch n menge da >30

von Fabian B. (fabs)


Lesenswert?

Magste da nicht mal vorbei fahren, 10Stk kaufen und mir die 
anschliessend gegen Vergütung zusenden?

Gruß
Fabian

von Matthias L. (matze88)


Lesenswert?

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)

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

http://www.hanneslux.de/avr/divers/melody/melody02.html
Dort der zweite Schaltplan, das macht schon ordentlich krach und klingt 
ganz passabel!

von Benedikt K. (benedikt)


Lesenswert?

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.

von Flin (Gast)


Lesenswert?

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

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Hihi ich wusst garnicht, dass es in marburg überhaupt son laden gibt :D 
Dann werd ich mal da hin tiegern und mir nen paar besorgen ;)

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Hauke Radtki (lafkaschar)
Hi,
wenn Du 2x Mädchenversionen übrig hast, denk mal an mich.
(für Forschungszwecke)

Wigbert

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ja klar, muss sehen wann ich hinkomme, bin gerade auch mit umzug 
beschäftigt, aber ich hoffe ich schaffs noch bevor alle weg sind ;)

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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ß

von Daniel W. (pegasus)


Lesenswert?

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 ?

von Andreas J. (antibyte)


Lesenswert?

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 ?

von Daniel W. (pegasus)


Lesenswert?

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)

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

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 :(

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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ß

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>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

von Andreas J. (antibyte)


Lesenswert?

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.

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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.

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

Hier noch die andere grafik.

gruß

von Rene B. (themason) Benutzerseite


Lesenswert?

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

von Andreas J. (antibyte)


Lesenswert?

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.

von Sigint 112 (sigint)


Lesenswert?

@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

von Sigint 112 (sigint)


Lesenswert?

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.

von Andreas J. (antibyte)


Lesenswert?

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

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Wenn ich das Disassemblieren will, welchen Prozessortyp & Bezeichnung 
muss ich dafür wählen?

von Andreas J. (antibyte)


Lesenswert?

Ist ein 65c02

von Phil S. (zippi)


Lesenswert?

@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ß

von Sigint 112 (sigint)


Lesenswert?

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...

von Bernd (Gast)


Lesenswert?

Mal ne Frage:
Wie analysiert man sowas??

von Ch D. (chrisu) Benutzerseite


Lesenswert?

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

von Andreas J. (antibyte)


Lesenswert?

dasmx -a -c65c02 miuchizflash.bin

von Andreas J. (antibyte)


Angehängte Dateien:

Lesenswert?

Im Anhang das disassemblierte Flash (13 MB Text).

von Andreas J. (antibyte)


Lesenswert?

Und hier die Doku zum Mikrocontroller, mit den Adressen für
Memorymapping, I/O etc.

http://meuk.spritesserver.nl/st2205um.pdf

von Andreas J. (antibyte)


Lesenswert?

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.

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

@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

von Stephan G. (toaran)


Angehängte Dateien:

Lesenswert?

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

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Versuch doch mal mehr als nur 10 Pixel auszugeben, vielleicht sind 10 
zuwenig.
also
for(x=0;x<97;x++){
    for(y=0;y<67;y++){
     putpixel....x,y
    }
}

von Stephan G. (toaran)


Lesenswert?

nee 10 sollte man sehn .. aber auch mit allen pixeln geht es nicht ...

wenn an VLCD keine 10V raus kommen stimmt irgendwas nicht ...

SG

von Q9 (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Stephan G. (toaran)


Angehängte Dateien:

Lesenswert?

hier mal noch nen Bild meiner Schaltung ...

mit dem 3,3V Spannungsregler gehts auch nicht ...

von Andreas J. (antibyte)


Lesenswert?

JTAG am PORTC ausgeschaltet ?

von Stephan G. (toaran)


Lesenswert?

Ja

von Daniel W. (pegasus)


Lesenswert?

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.

von Stephan G. (toaran)


Lesenswert?

hängt an PA2 zum ein und ausschalten .. das funktioniert auch ....

von Daniel W. (pegasus)


Lesenswert?

D7 ist mit RD verbunden. Das ist auch ein Fehler.

von Stephan G. (toaran)


Lesenswert?

ne das sieht nur so aus ... liegt im schaltplan nur übereinander ...

siehe eagle Schaltplan

von Stephan G. (toaran)


Angehängte Dateien:

Lesenswert?

anhang vergessen ... bissi spät ..

von slime (Gast)


Lesenswert?

@ Stephan G. (toaran) :
Füg mal die zwei Zeilen am anfang von ST7626_init noch ein.
    PIN_SET(ST7626_WR);
    PIN_SET(ST7626_RD);

von Stephan G. (toaran)


Lesenswert?

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

von Kay (Gast)


Lesenswert?


von Andreas J. (antibyte)


Lesenswert?

Lol, und das OLED aus dem Blutzuckermessgerät verkauft er auch.

http://shop.ebay.de/display-24/m.html?_nkw=&_armrs=1&_from=&_ipg=

Nette Gewinnspanne, wenn man das nebenher macht ...

von ext4 (Gast)


Lesenswert?

fehlt nur noch das er noch aufs forum verlinkt...

von Andreas J. (antibyte)


Lesenswert?

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 :)

von Thomas R. (tinman) Benutzerseite


Lesenswert?

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.

von Karsten (Gast)


Lesenswert?

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.

von Thomas R. (tinman) Benutzerseite


Lesenswert?

OT:

erwischt ...

http://www.mikrocontroller.net/user/show/hdr

aka

http://www.fabianharder.de/

ist es :P

Finde persönlich nciht schlimm, solange nur public informationen weiter 
gegeben werden (pdf, samples). Das ist freie marktwirtschaft.

Lediglich "adriano6" kann sich gedanken machen das seine freundin jetzt 
auf ebay ist :)

http://ebay.globaladmin.de/oled/4.jpg

von Fabian H. (hdr)


Lesenswert?

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...)

von Andreas J. (antibyte)


Lesenswert?

Ist ja nichts verwerfliches dran etwas die Hobbykasse aufzufüllen.
Aber das Produktbild ist echt übertrieben gut ;)

http://ebay.globaladmin.de/tft/5.jpg

von Kay (Gast)


Lesenswert?

> 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

von Kay (Gast)


Lesenswert?

>fehlt nur noch das er noch aufs forum verlinkt...

exakt !!!!

von Benedikt K. (benedikt)


Lesenswert?

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.

von Q9 (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Fabian H. (hdr)


Lesenswert?

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...

von Phil S. (zippi)


Lesenswert?

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.

von Sigint 112 (sigint)


Lesenswert?

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

von Phil S. (zippi)


Lesenswert?

@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.

von Thomas R. (tinman) Benutzerseite


Angehängte Dateien:

Lesenswert?

@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.

von Thomas R. (tinman) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

von Thomas R. (tinman) Benutzerseite


Lesenswert?

achso, GND kommt natürlich auch von der anderen seite rein, so wird 
lediglich nur die MMC/CS0 vom GND getrennt, den µC hat denoch GND 
verbunden.

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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.

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

Atmega8-Projekt auf LOCHRASTER:
================================

1) BASCOM Datei tapetenmuster.bas (erzeugt ein "Tapetenmuster")
2) Mega8-Pinout Schematic (Bilddatei)
3) Ausgesägte Miuchiz-Platine (Bilddatei)

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

Atmega8, auf Lochraster aufgebaut.

von K. J. (Gast)


Lesenswert?

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

von Q9 (Gast)


Angehängte Dateien:

Lesenswert?

Nicht so schön wie Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro" 
aber dafür einfach zu programmieren..

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

Avi zu MPEG-1 konvertiert (Anhang)

von Ch D. (chrisu) Benutzerseite


Lesenswert?

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

von Daniel W. (pegasus)


Lesenswert?

Kann 'mal jemand den Code für Zeichenausgabe in BASCOM posten?

von Q9 (Gast)


Lesenswert?

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.

von Klaus2 (Gast)


Lesenswert?

...und der schweif kommt vermutlich durch die displayträgheit, also 
keine (code)magie! :)

Klaus.

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Mh Danke, Ich bin nicht so gut als das ich daraus jetzt Code schreiben 
könnte... Bitte, ein Codestück.

von Sigint 112 (sigint)


Lesenswert?

@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

von Thomas R. (tinman) Benutzerseite


Lesenswert?

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.

von Phil S. (zippi)


Lesenswert?

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???

von R. M. (rmax)


Lesenswert?

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.

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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.

von Sigint 112 (sigint)


Lesenswert?

@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

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

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

von Andreas J. (antibyte)


Lesenswert?

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.

von Sigint 112 (sigint)


Lesenswert?

@Andreas: Hat funktioniert... leider meckert die Software, daß das 
Miuchiz schon auf dem aktuellen Stand ist. So ein Mist.

von Andreas J. (antibyte)


Lesenswert?

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 ?

von Phil S. (zippi)


Lesenswert?

@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.

von Sigint 112 (sigint)


Lesenswert?

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

von Sigint 112 (sigint)


Lesenswert?

P.S.:http://www.youtube.com/watch?v=ct72-jxRNAs
Das soll einen Farbverlauf zeigen... nur ein kleines Testprogramm

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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.

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

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

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

noch ein Bild

von Miuaner (Gast)


Lesenswert?

(Wie) Unterstützt denn das Display 8-Bit-Pixel direkt? Hab nix 
diesbezügliches im Datenblatt des ST626 gesehen.

von Benedikt K. (benedikt)


Lesenswert?

Garnicht. Im Spiel wird es im 4096 Farben Modus betrieben, und zwar im 
Type B Modus, also 2 Transfers pro Pixel, 4bit pro RGB Farbe.

von Sigint 112 (sigint)


Lesenswert?

Genau, ich bastel mir aus dem einen Byte die passenden Bytes für das 
Display. Das mach ich nur, um Speicher zu sparen.

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Kannst du mal deinen Code zur Bild-Anzeige posten? Vielen Dank

von Q9 (Gast)


Lesenswert?

chrisu, was läuft bei dir, was möchtest du machen, woran scheitert es?

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

Hier mal das kommentierte Programm...

von Ch D. (chrisu) Benutzerseite


Lesenswert?

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

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

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.

von Q9 (Gast)


Lesenswert?

Wegen 8 Bit: Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Siehe Datenblatt S. 16 ff.

von Phil S. (zippi)


Lesenswert?

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?

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

Ach so, das Display wird also im Typ-B Modus mit 16*16*16 Farben (=4096 
Farben), und nicht im 65.536 Farb-Modus betrieben.

von Phil S. (zippi)


Lesenswert?

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.

von Sigint 112 (sigint)


Lesenswert?

@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

von Ch D. (chrisu) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Phil S. (zippi)


Lesenswert?

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?

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

Movie mit dem Webseiten Avi-Konverter
media-convert.com ins MPEG-1 Format umgewandelt.

Film wurde kleiner (nur noch 1,37 MB)

von Sigint 112 (sigint)


Lesenswert?

@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

von Sigint 112 (sigint)


Lesenswert?

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

von Phil S. (zippi)


Lesenswert?

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.

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

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.

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

Atmega8 BASCOM Programm. -Füllt den Bildschirm mit RGB.

von Artjomka (Gast)


Lesenswert?

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.

von Sigint 112 (sigint)


Lesenswert?

@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.

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

>>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).

von Benedikt K. (benedikt)


Lesenswert?

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"

von Sigint 112 (sigint)


Lesenswert?

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

von Benedikt K. (benedikt)


Lesenswert?

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.

von Phil S. (zippi)


Lesenswert?

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ß

von Sigint 112 (sigint)


Lesenswert?

@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

von Benedikt K. (benedikt)


Lesenswert?

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.

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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.

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

Und hier ist auch mal das passende Video dazu.

Gruß

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

MOV zu MPEG-1 umgewandelt

von petersieg (Gast)


Lesenswert?

@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

von petersieg (Gast)


Lesenswert?

EDIT: Assembler ist ACME - weiter oben gefunden..
(Kann leider Beitrag nicht mehr editieren)

Peter

von Andreas J. (antibyte)


Lesenswert?

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.

von petersieg (Gast)


Lesenswert?

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

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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.

von petersieg (Gast)


Lesenswert?

@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

von Phil S. (zippi)


Lesenswert?

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).

von petersieg (Gast)


Lesenswert?

ok. Kurze Rückmeldung.. hat geklappt! flyeck läuft auf meiner Konsole..
Prima Arbeit von allen Beteiligten!

Peter

von Daniel W. (pegasus)


Lesenswert?

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"

von Andreas J. (antibyte)


Angehängte Dateien:

Lesenswert?

Daniel W. schrieb:
> Hallo,
>
> wie kann man Fonts auf dem Display ausgeben mit BASCOM?

Beispiel ist im Anhang.

von Andreas Rickert (Gast)


Lesenswert?

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

von petersieg (Gast)


Lesenswert?

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

von Sigint 112 (sigint)


Lesenswert?

@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

von Phil S. (zippi)


Lesenswert?

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ß

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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ß

von Andreas R. (majorsky78)


Lesenswert?

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

von Andreas R. (majorsky78)


Lesenswert?

Hallo nochmal,

@Phil S.: Hab Dir ne PM geschrieben wegen den 2 Stück Miuchiz.

Gruß,
Andreas

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

Multi-Color Textausgabe. Das LCD-Display wurde auf Flachbrett-Scanner 
gescannt.

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei ein BASCOM-Programm zur Textausgabe auf Atmega8
mit 5x7 Font.

Die Textfarbe und die Hintergrundfarbe sind frei wählbar.

von Phil S. (zippi)


Lesenswert?

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ß

von M. G. (looking)


Lesenswert?

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.

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

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

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

Die Änderungen des Sourcecodes in libsrc... cc65-2.12.0

von Andreas R. (majorsky78)


Lesenswert?

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

von petersieg (Gast)


Lesenswert?

@sigint: Super! Textausgabe 5x7 und Pixel setzen in C..
Hast du mal eine Hardcopy davon..?

Peter

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

@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

von Phil S. (zippi)


Lesenswert?

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.

von Tobias P. (plaputta)


Lesenswert?

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

von Sigint 112 (sigint)


Lesenswert?

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

von R. M. (rmax)


Lesenswert?

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.

von Andreas J. (antibyte)


Lesenswert?

Hab ich doch schonmal gemacht :

Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"

Die Adressen stimmen schon, nur der Ablauf scheint anders.

von R. M. (rmax)


Lesenswert?

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?

von Andreas J. (antibyte)


Lesenswert?

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.

von R. M. (rmax)


Lesenswert?

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.

von Andreas J. (antibyte)


Lesenswert?

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.

von derGeen (Gast)


Lesenswert?

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

von Tobias P. (plaputta)


Lesenswert?

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!

von Gast (Gast)


Lesenswert?

Skalieren ist wohl das Problem.

von Andreas J. (antibyte)


Lesenswert?

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.

von derGeen (Gast)


Lesenswert?

>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

von Benedikt K. (benedikt)


Lesenswert?

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.

von derGeen (Gast)


Lesenswert?

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 ?

von Tobias P. (plaputta)


Lesenswert?

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

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

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.

von Andreas R. (majorsky78)


Lesenswert?

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

von Andreas R. (majorsky78)


Lesenswert?

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

von Tobias P. (plaputta)


Lesenswert?

Wenns nicht klappt weisste ja bescheid :)
miuchiz-hacking.tiwiki.de?

von Sigint 112 (sigint)


Lesenswert?

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

von Thomas R. (tinman) Benutzerseite


Lesenswert?

@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.

von Sigint 112 (sigint)


Lesenswert?

@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.

von Andreas J. (antibyte)


Lesenswert?

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.

von Daniel W. (pegasus)


Lesenswert?

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.

von Sigint 112 (sigint)


Angehängte Dateien:

Lesenswert?

Hi zusammen,
  bin etwas weiter gekommen. Dauert aber noch etwas, bis ich 
herausgefunden habe wie wir ein Flashtool schreiben können.

Gruß,
  SIGINT

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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

von Sigint 112 (sigint)


Lesenswert?

@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

von Phil S. (zippi)


Lesenswert?

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ß

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

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

von Daniel W. (pegasus)


Lesenswert?

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

von Andreas R. (majorsky78)


Lesenswert?

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

von Andreas R. (majorsky78)


Lesenswert?

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

von Derliz P. (mohrfeus)


Lesenswert?

Hi

gibts noch jemand der 1-2 der Spiele abtreten könnte?

Gruß

Mohrfeus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.