Forum: Projekte & Code STECCY - ZX-Spectrum-Emulator mit STM32


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jan (Gast)


Lesenswert?

Planloser schrieb :
>LED_A ist für die Hintergrundbeleuchtung, muss also angeschlossen
>werden.

Wo anschließen? an die 5V?
Mit Vorwiderstand?

Habe leider kein Dattenblat zu diesem Display gefunden.
Habe ich was in dem Steccy Artikel überlesen?

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Planloser schrieb:
> LED_A ist für die Hintergrundbeleuchtung, muss also angeschlossen
> werden.

Ich habe diese nicht angeschlossen an meinem Display. Stattdessen habe 
ich die 5V meines Netzteils an dem Pin namens "5V" daneben 
angeschlossen.

Ganz wichtig:

Es muss noch eine Lötbrücke auf der Display-Platine geschlossen werden. 
Drei dieser Lötbrücken siehst man auf Jans Foto oben rechts. Die 
Lötbrücke lautet "Always On" (die unterste der drei Lötbrücken), sonst 
bekommt die Hintergrundbeleuchtung keine Stromversorgung.

EDIT:

Bild angefügt, siehe roten Kreis.

: Bearbeitet durch Moderator
von jo mei (Gast)


Lesenswert?

Frank M. schrieb:
> Bild angefügt

So eine Sparsamkeit an Pixeln hätte ich dir nicht zugetraut ;-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

jo mei schrieb:
> So eine Sparsamkeit an Pixeln hätte ich dir nicht zugetraut ;-)

Habe nur den Ausschnitt aus Jans Foto verwendet - war ohnehin in dieser 
Ecke relativ unscharf. Jan wird den Ausschnitt aber wiedererkennen. ;-)

Ich werde noch ein schärferes Bild von meiner Display-Platine schießen 
und das Thema "Lötbrücke" samt Bild im STECCY-Artikel anfügen.

: Bearbeitet durch Moderator
von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Danke sehr für den Hinweis mit der Brücke.
Ich habe mir diese Stelle gar nicht angeschaut.
Jetzt ist das Bild da.
Es ist aber gespiegelt :- )
Ich muss wahrscheinlich die ini Datei hinzufügen. ?
Ich muss mir nochmal alles durchlesen.
Gruß,
Jan

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jan schrieb:
> Es ist aber gespiegelt :- )

Du drückst die F1 Taste mehrmals und zählst dabei mit, wie oft Du diese 
gedrückt hast. Sobald das Bild richtig erscheint, schreibst Du die 
ermittelte Zahl in die INI-Datei:
1
ORIENTATION=X
wobei X die ermittelte Zahl ist.

Ebenso gibt es TFT-Displays, deren RGB-Farbfolge abweichend voneinander 
verdrahtet sind. Wenn auf dem Display Falschfarben angezeigt werden, 
kann man mit der Taste F2 die RGB-Farbfolge umstellen.

Auch dieses kann man in der INI-Datei "steccy.ini" speichern.

Hier trägt man ein:
1
  RGB=0      # Standard-Reihenfolge RGB
2
  RGB=1      # Nicht-Standard ist GRB

Steht im Artikel STECCY unter: "5-Zoll oder 7-Zoll-TFT-Display"

Ebenso findest Du das nochmal in der Zusammenfassung der INI-Datei:
STECCY: INI-Datei

: Bearbeitet durch Moderator
von 900ss (900ss)


Angehängte Dateien:

Lesenswert?

Hurra, hier geht's auch :) Siehe Anhang.
Hatte nie so ein Teil. Aber Steccy hat mich gereizt. Tolle Arbeit Frank.
Wo bekomme ich einen Joystick und eine entsprechende Tastatur? Mit der 
PC-Tastatur macht das keinen Spaß.

Edit: Das Spiel läuft scheinbar nicht. Es ist für die 128k Version. Es 
startet wie gezeigt und dann ist Ruhe.

: Bearbeitet durch User
von 900ss (900ss)


Lesenswert?

uff... ich dachte, du hast den Z80-Emulator wenigstens irgendwo her 
genommen, also einen vorhandenen open source. Aber wie es aussieht hast 
du auch den selber gehäkelt.
Respekt! Was für Arbeit.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Hurra, hier geht's auch :) Siehe Anhang.

Freut mich!

> Hatte nie so ein Teil. Aber Steccy hat mich gereizt. Tolle Arbeit Frank.

Danke. :-)

> Wo bekomme ich einen Joystick und eine entsprechende Tastatur? Mit der
> PC-Tastatur macht das keinen Spaß.

ZX-Spectrum-Tastatur-Clones gibts auf eBay - neu. Die kosten allerdings 
99 EUR. Ich habe mir einfach einen defekten ZX-Spectrum auf eBay für 
etwas mehr als 30 EUR geschossen und die Innereien rausgeworfen.

Mit den Joysticks wird es schwieriger, digitale Joysticks gibts kaum 
noch. Im Moment gibt es auch nur eine Joystick-Emulation auf der 
PC-Tastatur - nämlich das Nummerntastenfeld. Wenn Du da eine Quelle 
auftust, gib mir Bescheid ;-)

Aber ich werde noch ein Digital-Joystick Interface einbauen, wo man dann 
einen echten Joysick anschließen kann. Im Moment benutze ich im 
ZX-Spectrum-Gehäuse einen STM32F103, welcher aus der ZX-Tastatur eine 
PS/2-Tastatur macht. Damit kann ich die ZX-Tastatur über ein dünnes 
Kabel abgesetzt vom STECCY-STM32F407-Board und Display verwenden. Hier 
könnte man auch noch einen Joystick anschließen - also an den 103er. 
Natürlich kann man die ZX-Tastatur-Matrix auch direkt am STM32F407-Board 
betreiben, ich schätze mal, dass ich auch hier noch 5 Pins finde, um den 
Joystick direkt am 407er zu betreiben.

> Edit: Das Spiel läuft scheinbar nicht. Es ist für die 128k Version. Es
> startet wie gezeigt und dann ist Ruhe.

Sorry, STECCY emuliert momentan nur die 48K Version vom Spectrum. Aber 
mich reizt schon noch, auch die 128er Variante zu unterstützen. Gibts 
das Tetris-Spiel nicht auch für 48K?

900ss D. schrieb:
> uff... ich dachte, du hast den Z80-Emulator wenigstens irgendwo her
> genommen, also einen vorhandenen open source.

Nö, das macht ja keinen Spaß ;-)

> Aber wie es aussieht hast du auch den selber gehäkelt.

So ist es.

> Respekt! Was für Arbeit.

Danke :-)

: Bearbeitet durch Moderator
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Gibts das Tetris-Spiel nicht auch für 48K?

Ich habe gerade mal auf worldofspectrum.org geschaut, dort gibt es 
mehrere Dutzend Tetris-Varianten. Die meisten laufen auch auf 48K, 
ausgerechnet das eine aber nicht.

900ss D. schrieb:
> Hatte nie so ein Teil.

Wenn Du noch nie einen Spectrum gehabt hast, dann würde ich nicht Tetris 
darauf spielen, sondern eher etwas, was es damals nur für den Spectrum 
gab, z.B. "Manic Miner" - mein persönliches ZX-Spectrum Lieblingsspiel. 
Im Artikel habe ich auch noch ein paar typische Spectrum-Spiele 
aufgeführt.

von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die Hilfe.
Alles verhält sich wie beschrieben.
Bin begeistert.

Danke für das tolle Projekt.
Grüße,
Jan

von Nobs (Gast)


Lesenswert?

Frank M. schrieb:
> Aber
> mich reizt schon noch, auch die 128er Variante zu unterstützen.

DAS sind allerdings ganz gute Neuigkeiten. Darauf bin ich sehr gespannt!

900ss D. schrieb:
> Wo bekomme ich einen Joystick und eine entsprechende Tastatur? Mit der
> PC-Tastatur macht das keinen Spaß.

Meine Rede! Mit einer "normalen" PC-Tastatur kommt man auf keinen grünen 
Zweig. Ich habe mir die Original-Matrixtastatur auf 
Streifenrasterplatine mit Mikrotastern nachgebaut und obendrauf ein 
laminiertes Bild einer Originaltastatur gemacht. Es gibt/gab so was in 
professionell aber auch als fertige Tastatur zu kaufen. Such mal nach 
"48K-KDLX" in der großen Suchmaschine, vielleicht findest du so eine 
noch irgendwo. Auch die Tastaturfolien, Frontplatten, Gehäuse und 
Gummimatten gibts als Repros. Das geht aber teils richtig ins Geld.

Joystick bzw. Gamepad steht bei mir auch noch auf der Wunschliste, aber 
das hab ich jetzt erst mal verschoben.

Mein Steccy ist schon ein paar Stündchen gelaufen. Hab mal übungsweise 
ein Type-In-Spiel probiert und selber ein bißchen mit Basic gespielt. 
Die Original-Handbücher für Spectrum und Spectrum Plus sind dafür 
wirklich ganz praktisch und nach meinem Ermessen gut geeignet zum 
Einstieg.

von Kurz Schluss (Gast)


Lesenswert?

Jan schrieb:
> Das display hat einen pin LED_A - Pin 37. Muss dieser Pin irgendwo
> angeschlossen?
Das ist die Anode der LED-Hintergrundbeleuchtung - die muss (meist über 
einen Vorwiderstand!) gegen Deine Versorgungsspannung geschaltet werden.

Unter https://www.mikrocontroller.net/articles/STECCY#Display findest 
Du:

"Da die Hintergrundbeleuchtung des Displays ca. 400mA als Strom zieht, 
sollte die 5V-Versorgung des Displays nicht über das STM32-Board, 
sondern direkt über ein 5V-Netzteil mit mindestens 1, besser 2 Ampere, 
erfolgen. Darüber kann dann auch das STM32-Board versorgt werden. Pins 
für 5V sind auf dem STM32-Board genügend vorhanden. Es muss also nicht 
der USB-Stecker zur Stromversorgung verwendet werden. Auf keinen Fall 
sollte man das BlackBoard gleichzeitig über den 5V-Stiftsockel und über 
den USB-Stecker betreiben!"

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Kurz Schluss schrieb:
> Jan schrieb:
>
>> Das display hat einen pin LED_A - Pin 37. Muss dieser Pin irgendwo
>> angeschlossen?
>
> Das ist die Anode der LED-Hintergrundbeleuchtung - die muss (meist über
> einen Vorwiderstand!) gegen Deine Versorgungsspannung geschaltet werden.

Das hat sich schon geklärt, siehe oben.

Zusammenfassung:

- LED_A - Pin 37 NICHT anschließen
- 5V (Pin daneben) direkt an das Netzteil anschließen
- Lötbrücke "Always On" auf Display-Platine setzen

von Kurz Schluss (Gast)


Lesenswert?

Ooops! Da hat mein Browser wohl die letzten Einträge unterdrückt - dann 
hat sich das mit LED_A ja erledigt... :-)

von Jan (Gast)


Lesenswert?

genau, es hat sich erleditg.
Aber folgendes könnte man im Artikel ergänzen :

- LED_A - Pin 37 NICHT anschließen
- 5V (Pin daneben) direkt an das Netzteil anschließen
- Lötbrücke "Always On" auf Display-Platine setzen

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jan schrieb:
> Aber folgendes könnte man im Artikel ergänzen

Habe ich soeben gemacht.

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Ich habe gerade mal auf worldofspectrum.org geschaut, dort gibt es
> mehrere Dutzend Tetris-Varianten. Die meisten laufen auch auf 48K,
> ausgerechnet das eine aber nicht.

Ich hatte die als erstes entdeckt und direkt genommen. später erst hae 
ich entdeckt, dass die für die 128k Variante ist.

Frank M. schrieb:
> Wenn Du noch nie einen Spectrum gehabt hast, dann würde ich nicht Tetris
> darauf spielen, sondern eher etwas, was es damals nur für den Spectrum
> gab, z.B. "Manic Miner"

Ich mag Tetris :) Aber ich werde Manic Miner auch probieren :) Ich kenne 
mich da ja garnicht aus. Aber auf Lemminge bin ich auch schon scharf, 
dass hab ich "damals" (tm) noch unter MSDOS gespielt.
Ansonsten bin ich nicht so der PC Spiele Fan. Aber so'n Pocket-Teil ist 
ganz nett :) Zumal ich auch den Z80 viel genutzt habe.

von 900ss (900ss)


Lesenswert?

Nobs schrieb:
> Such mal nach
> "48K-KDLX" in der großen Suchmaschine

Danke für den Tip. Da gibst ja was. :)

Frank M. schrieb:
> Ich habe mir einfach einen defekten ZX-Spectrum auf eBay für
> etwas mehr als 30 EUR geschossen und die Innereien rausgeworfen.

Das ist auch eine Idee. Aber im Moment sind die "kaputten" nicht so 
günstig zu haben. Du scheinst Glück gehabt zu haben.

Mit dem Joystick muss ich mal sehen. Evtl. könnte man einen Controller 
eine Spielekonsole nehmen? Ich habe hier noch ein paar Sony PS1. Hab 
aber keine Ahnung wie das IF aussieht.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Evtl. könnte man einen Controller eine Spielekonsole nehmen?

Ich habe eben auf eBay einen "Classic Controller Pro GamePad für 
Nintendo Wii" bestellt: https://www.ebay.de/itm/233882567937

Dafür schreibe ich dann einen Joystick-Emulator, denn es hat I2C und ist 
relativ leicht auszulesen.

Mit den vielen Buttons und den beiden analogen Joysticks könnte man auch 
relativ komfortabel das STECCY-Menü bedienen... RESET, LOAD, usw.

: Bearbeitet durch Moderator
von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Ich habe eben auf eBay einen "Classic Controller Pro GamePad für
> Nintendo Wii" bestellt

Ich jetzt auch :) Hast du denn letzten schwarzen bekommen? ;)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Ich jetzt auch :) Hast du denn letzten schwarzen bekommen? ;)

Nee, leider nicht. Egal ;-)

von Kurz Schluss (Gast)


Lesenswert?


von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Kurz Schluss schrieb:
> Sorry! Aber ist das nicht der gleiche hier in schwarz?

Jepp, nur ca. 40% teurer ;-)

> ...wie kann man hier eigentlich einen Link einfügen???

Hast Du doch gerade gemacht :-)

Tipp: Im allgemeinen kann man im Link alles ab dem Fragezeichen 
rauslöschen, denn da stehen nur Deine persönlichen Vorlieben wie zum 
Beispiel Deine letzte Suche usw.

Dann kürzt sich Dein Link auf: 
https://www.ebay.de/itm/2-x-Classic-Controller-Pro-HD-GamePad-Fur-Nintendo-Wii-Bestpreis-Wii-U-Apr/333877428510

von Kurz Schluss (Gast)


Lesenswert?

Danke!!! Mich hat die Vorschau irritiert! Da hat sich nix gekürzt - 
hab's erst bemerkt als ich's abgeschickt hab'... (Danke auch für den 
Hinweis mit dem Fragezeichen!)

Frank M. schrieb:
> Jepp, nur ca. 40% teurer ;-)

??? Im obigen Link kosten die Teile doch 17,42€ und bei dem meinigen 
15,68€ ??? Hab' ich da was auf den Augen? (...was ja nicht 
auszuschließen ist ;-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Kurz Schluss schrieb:
>> Jepp, nur ca. 40% teurer ;-)
>
> ??? Im obigen Link kosten die Teile doch 17,42€ und bei dem meinigen
> 15,68€ ??? Hab' ich da was auf den Augen? (...was ja nicht
> auszuschließen ist ;-)

Ich habe gestern 11,24 EUR bezahlt. Die 17,42 EUR sind für 2 Controller, 
siehe Feld "Menge". Die Auswahl "Menge 1" ist nun ausgegraut, also nicht 
mehr anwählbar.

Aber ich sehe gerade: Deine schwarzen werden auch im Paar verkauft, sind 
also tatsächlich billiger :-)

: Bearbeitet durch Moderator
von Kurz Schluss (Gast)


Lesenswert?

Ahja, das erklärt natürlich einiges - wobei ich 15,68€ für zwei Stück 
auch nicht wirklich schlecht finde...
(...kann man doch eigentlich nie genug davon haben! ;-)

von Kurz Schluss (Gast)


Lesenswert?

Ok, Du warst schneller mit Deiner Antwort/Änderung...

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Ich habe gestern 11,24 EUR bezahl

Ich auch :-D

von 900ss (900ss)


Lesenswert?

Kann es sein das Steccy auf die USB-Tastatur sehr träge reagiert? Bei 
Spielen geht es manchmal gut und manchmal reagiert er garnicht auf die 
"Joystick"-Tasten. Zum Spielen ist das so nicht geeignet.

Auch nach einem Reset (Button auf dem Board) erkennt er scheinbar die 
Tastatur nicht immer. Mir ist aufgefallen, dass D2 leuchtet auf dem 
Board, wenn er sie erkannt hat. D2 leuchtet aber nicht immer nach Power 
On oder Reset-Button. Wenn D2 nicht leuchtet, reagiert er nie auf die 
Tastatur. Ich brauche mehrere Resets, bis es geht.

Ich habe leider keine andere Tastatur hier um zu prüfen, ob es an der 
liegt. Immerhin ist es eine Dell Tastatur ;)

: Bearbeitet durch User
von Kater (Gast)


Lesenswert?

good contribution

von 900ss (900ss)


Lesenswert?

Hmmm... wenn man Manic Miner erstmal gestartet hat, dann klappt es ganz 
gut mit den Cursortasten. Aber immer noch 0 Punkte ;)
Aber die Tastatur ist instabil. Hab auch gehabt, dass die LED D2 
mittendrin ausging, dann war die Tastatur tot.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Kann es sein das Steccy auf die USB-Tastatur sehr träge reagiert?

Ja, die USB-Anbindung ist hier (noch) nicht optimal. Ich habe leider 
noch nicht herausgefunden, woran das liegt. Bei Dir scheints allerdings 
extrem zu sein, die Trägheit ist bei mir nur wenig schlechter als bei 
PS/2.

PS/2 läuft hier absolut stabil, auch die Tastendrücke werden sofort 
angenommen. Ich selbst verwende daher meist die PS/2-Tastatur, damit 
gibt es keine Probleme.

Ich schaue mal, dass ich das noch verbessert bekomme.

> Bei
> Spielen geht es manchmal gut und manchmal reagiert er garnicht auf die
> "Joystick"-Tasten.

Das mit dem "gar nicht reagieren" auf die Joystick-Tasten hatte ich 
allerdings noch nie.

> Zum Spielen ist das so nicht geeignet.

Tip für Manic-Miner: o = Links, p = Rechts, q = Sprung

Viele Spiele benutzen die Tasten o, p, q, a für links, rechta, oben, 
unten. Da es kein "unten" bei Manic Miner gibt, lässt die Taste 'a' hier 
das Spiel pausieren.

Es müssen also nicht unbedingt die Joystick-Tasten sein.

> Auch nach einem Reset (Button auf dem Board) erkennt er scheinbar die
> Tastatur nicht immer.

Das passiert bei mir leider auch in 1 bis 2 von 10 Fällen.

Wie gesagt: Mit PS/2 gehts absolut flüssig, USB hat wohl noch ein paar 
Probleme. Leider habe ich den Grund dafür noch nicht gefunden.

: Bearbeitet durch Moderator
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Hab auch gehabt, dass die LED D2 mittendrin ausging, dann war die
> Tastatur tot.

Den Widerstand auf dem Blackboard hast Du entfernt - so wie im Artikel 
beschrieben?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Bei Spielen geht es manchmal gut und manchmal reagiert er garnicht auf
> die "Joystick"-Tasten.

Ich habe nun nochmal eine USB-Tastatur angeschlossen - funktioniert 
soweit einwandfrei. Es kommt jedoch in 1 von 10 Fällen dazu, dass die 
USB-Tastatur nicht sofort nach dem Boot des STM32 erkannt wird.

Zu den Joystick-Tasten:

STECCY unterstützt vier verschiedene Joystick-Emulationen:

- Sinclair Joystick 1
- Sinclair Joystick 2
- Kempston Joystick
- Cursor Joystick

Bei vielen Spiele kann man den Joystick-Typ einstellen, einige setzen 
einfach einen bestimmten Typ voraus - meistens Kempston Joystick. Das 
war damals der Quasi-Standard.

Manic Miner funktioniert mit den "Joystick-Tasten" nur richtig, wenn man 
die Emulation auf "Kempston Joystick" oder "Cursor Joystick" umstellt. 
Ich empfehle ersteres.

Dann ist auf dem Nummernfeld:

- 4 Links
- 6 Rechts
- 0 Sprung

Ich habe übrigens gestern geschrieben, dass man auf der alphanumerischen 
Tastatur mit "q" bei Manic Miner springen kann. Es ist aber die 
Leertaste, also SPACE.

So, ich habe jetzt eine halbe Stunde Manic Miner mit USB-Tastatur 
gespielt, bin im fünften Level. Es geht also :-)

Kann sonst noch jemand von Erfahrungen mit USB-Tastatur berichten?

: Bearbeitet durch Moderator
von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Den Widerstand auf dem Blackboard hast Du entfernt - so wie im Artikel
> beschrieben?

Der ist auf meinem Board nicht vorhanden. Hab mir große Mühe gegeben ihn 
zu finden :)

Bei mir wird Tastatur nicht zu 90% erkannt. In 6-7 Fällen von 10 ja.
Es kommt vor, dass LED D2 mitten im Spiel ausgeht und dann ist die 
Tastatur tot. So kann man nicht gewinnen ;)

Ich habe bisher immer "Cursor Joystick" verwendet.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Der ist auf meinem Board nicht vorhanden. Hab mir große Mühe gegeben ihn
> zu finden :)

Da ist etwas faul. Kannst Du bitte mal ein Foto von Deinem Board machen? 
Derartige Störungen habe ich mit USB nicht.

: Bearbeitet durch Moderator
von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

900ss D. schrieb:
> Der ist auf meinem Board nicht vorhanden. Hab mir große Mühe gegeben ihn
> zu finden :)

Anbei eine Testversion der ILI9341-TFT-Variante mit verbesserter 
USB-Initialisierung.

Wenn KEYBOARD=USB eingetragen ist, wird nun mehrmals versucht, die 
USB-Tastatur zu verbinden. Dadurch kann der Boot-Vorgang in Einzelfällen 
länger brauchen.

Ich habe nun nacheinander 40 mal die Reset-Taste gedrückt und jedesmal 
wurde die Tastatur auch gefunden, d.h. Erkennungsrate = 100%.

Allerdings kann ich Deine anderen Probleme mit der USB-Tastatur nicht 
nachvollziehen. Die Tastatur selbst funktioniert einwandfrei. 
Disconnects zwischendurch habe ich auch nicht. Allerdings könnte ich 
einen Reconnect im Fehlerfall einbauen.

Der Pullup R21 muss auf jeden Fall runter, der stört bei USB-OTG. Siehe 
auch Schaltbild und Position auf dem Board dazu.

P.S.

Übrigens ist in der Testversion bereits das Wii Gamepad und Wii Nunchuk 
als Controller integriert. Allerdings mangels Hardware noch ungetestet 
;-)

: Bearbeitet durch Moderator
von 900ss (900ss)


Angehängte Dateien:

Lesenswert?

Frank M. schrieb:
> Der Pullup R21 muss auf jeden Fall runter, der stört bei USB-OTG.

Ich weiss, deshalb habe ich das auch geprüft. Es gibt bei mir an der von 
dir markierten Stelle nur 2 Widerstände und R21 etwas weiter rechts auf 
dem Board, der aber elektrisch nicht USB verbunden ist. Hab ich 
durchgemessen.

Foto anbei.

Danke auch für die neue Version. Werde ich ausprobieren. Mein Controller 
ist auch noch nicht unterwegs :-/

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Ich weiss, deshalb habe ich das auch geprüft. Es gibt bei mir an der von
> dir markierten Stelle nur 2 Widerstände und R21 etwas weiter rechts auf
> dem Board, der aber elektrisch nicht USB verbunden ist. Hab ich
> durchgemessen.

Das scheint tatsächlich eine andere Revision von dem Board zu sein. Ich 
habe in den letzten 2-3 Jahren mehrere von den Boards bei verschiedenen 
Händlern erworben, aber diese Variante ist mir noch nicht untergekommen. 
Interessant... ich suche mal nach einem Schaltplan dazu.

Steht da irgendwo eine Versionsnummer auf dem Board?

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Versionsnummer
Es steht DevEBox STM32_F4VE Ver: V33, SN: 1911Z
Auf der Rückseite.
Hab auch nach einem Schaltbild gesucht, bisher aber nichts gefunden.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Es steht DevEBox STM32_F4VE Ver: V33, SN: 1911Z
> Auf der Rückseite.

Danke. Hier die Variante, die ich kenne und nutze: 
https://stm32-base.org/boards/STM32F407VET6-STM32-F4VE-V2.0.html

Auszug:

"Warning: The microcontroller on this board features internal pull-up 
resistors for the USB data lines. However, this board has an additional 
pull-up resistor on D+ (R21). This resistor is not needed and violates 
the USB specification when the internal pull-up resistors are also used. 
This may cause errors while using USB on this board."

> Hab auch nach einem Schaltbild gesucht, bisher aber nichts gefunden.

Offenbar haben die Chinesen mittlerweile auch gemerkt, dass dieser 
Pullup hier einfach nur schädlich ist. Kann sein, dass sie ihn mit der 
neuen Version haben verschwinden lassen.

: Bearbeitet durch Moderator
von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Hier die Variante

Ja, das hatte ich auch gefunden. Ich habe auch noch im Ali-Shop gesucht, 
wo ich das Board gekauft hatte. Aber mit Doku haben die es nicht so ;)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Übrigens ist in der Testversion bereits das Wii Gamepad und Wii Nunchuk
> als Controller integriert. Allerdings mangels Hardware noch ungetestet
> ;-)

Habe hier noch einen Nunchuk-Clone in der Grabbelkiste gefunden. Lief in 
der obigen Testversion direkt ;-)

Allerdings sind die I2C-Routinen zu langsam, so dass STECCY bei 
angeschlossenem Nunchuk nur noch in Zeitlupe läuft. Das liegt daran, 
dass die verwendeten I2C-Routinen noch rudmentär sind und nach Absenden 
der Adresse auf die Antwort warten. Ich werde das nun in eine 
Statemachine umschreiben, welche ich dann zyklisch aufrufen kann.

: Bearbeitet durch Moderator
von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Allerdings sind die I2C-Routinen zu langsam

Ich vermute auch dass das "USB-Problem" durch zu CPU-Last entsteht oder 
weil irgendwo gewartet wird? Ich habe heute nur mal geprüft, wie oft die 
Tastatur nicht erkannt wird. 20x Reset-Taste, die Tastatur wurde 5x 
nicht erkannt. Habe aber nicht deine neue Version genutzt.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Ich vermute auch dass das "USB-Problem" durch zu CPU-Last entsteht oder
> weil irgendwo gewartet wird?

Nein, da wird nur in einzelnen Fällen nur sehr kurze Zeitabschnitt 
gewartet. Alles andere läuft in einer (ziemlich komplexen) Statemachine 
von ST. Ich benutze hier die Referenz-Implementation von ST für den 
Low-Level-Teil. Allerdings musste ich in der Vergangenheit hier und da 
ein paar kleinere Bugs darin fixen.

Wie gesagt: Bei mir läuft die USB-Tastatur flüssig. Spiele sind 
überhaupt kein Problem.

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Referenz-Implementation von ST

Die scheint dann aber noch verbesserungswürdig zu sein. :)
Die scheint nicht mit allen Situationen zurechtzukommen. Meine Tastatur 
nutze ich tagsüber im Homeoffice. Da tut sie fehlerfrei. Keine Ahnung. 
Ich habe ein Adapterkabel dazwischen. Weiß ich weshalb das so wackelig 
funktioniert. Spannungsversorung vielleicht noch.
Aber das Labornetzteil wird es auch nicht sein. Ich muss mir das bei 
Gelegenheit mal genauer ansehen. Eine PS2-Tastatur extra kaufen möchte 
ich auch nicht.

: Bearbeitet durch User
von Jan (Gast)


Lesenswert?

Eine Frage bzw. Anregung  zu den 4 Joistick-Emulationen. Einige Spiele 
kann man nur mit der Tastatur steuern. Vielleicht könnte man eine 
Tastatur-Joistick emulation einfügen? (quasi die fünfte Emulation)

Dazu bräuchte man ein Menü wo man erstmal diese Emulation für ein 
bestimmtes Speil Konfigurieren muss :
z.B.

Links  : Emulation Tastatur Taste 9

Rechts :  Emulation Tastatur Taste 0

Oben  : Emulation Tastatur Taste 2

Unten :  Emulation Tastatur Taste w

Joistick taste : Emulation Tastatur Taste m

(Das könnte man abspeicherbar machen)

Und schon könnte man Chuckie Egg mit dem Joistick spielen.
Gruss,
Jan

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Jan schrieb:
> Vielleicht könnte man eine Tastatur-Joistick emulation einfügen?

Prinzipiell eine gute Idee. Ich denke mal drüber nach. Das braucht man 
eigentlich nur, wenn man die Tasten im Spiel nicht ändern kann. Die 
meisten können das aber, auch Chuckie Egg, siehe unten.

> Und schon könnte man Chuckie Egg mit dem Joistick spielen.

Kannst Du bereits jetzt schon. :-)

Du stellst zunächst ein: Cursor Joystick

Dann lädst Du das Spiel und drückst "R" für "Redefine Keys". Dann 
drückst Du die gewünschten Joystick-Tasten. Das geht deshalb, weil 
"Cursor Joystick" die Tasten 5-6 und 0 simuliert. Auch mit den 
Sinclair-Joystick-Emulationen sollte das laufen, weil das auch nur 
Tastendrücke simuliert. Lediglich Kempston scheitert hier, weil Chuckie 
Egg Kempston nicht unterstützt.

P.S.

Seit einer Stunde lese ich den Wii-Nunchuk nun über I2C-DMA aus. Das zu 
Debuggen hat mich zwei lange Abende gekostet. Damit läuft STECCY nun mit 
normaler Geschwindigkeit, über die Turbo-Taste sogar um ein Vielfaches 
schneller als die Normalgeschwindigkeit. Ich habe gerade mal Chuckie Egg 
gestartet, um die Sache mit den Joystick-Tasten auszuprobieren. Und 
direkt die Gelegenheit genutzt, um den Nunchuk zu testen. Auch der 
Nunchuk funktioniert in Chuckie Egg einwandfrei :-)

Der Nunchuk kann mit einer Hand bedient werden. Das könnte praktischer 
sein als das bestellte Wii-Gamepad, das irgendwann diese Woche noch 
eintreffen soll.

Jetzt warte ich noch auf das Wii-Gamepad, um das ebenso zu testen. 
Sobald das auch läuft, gibts ein neues Release.

: Bearbeitet durch Moderator
von Jan (Gast)


Lesenswert?

Frank M schrieb:
>Kannst Du bereits jetzt schon. :-)

Danke für die ausführlichen Informationen, das hört sich super an.

Ich werde es ausprobieren,
die Joysticks muss ich noch beschaffen.

Gruss,
Jan

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Das Wii Gamepad Classic ist angekommen, meldet sich als "Wii Gamepad 
Classic Pro". Nach ein paar kleinen Anpassungen läufts nun auch in 
STECCY.

Ich muss mir noch überlegen, was ich mit den vielen Sticks und Buttons 
machen soll.

Momentan habe ich:

- Home -> STECCY-Menü
- Select -> Turbo-Modus an/aus
- Start -> Z80 Reset

Alle anderen Buttons (7 Stück an der Zahl) emulieren die Feuer-Taste. 
Die beiden Sticks und das Richtungskreuz erzeugen die 
Joystick-Richtungen links, rechts, oben, unten.

Diese Doppelbelegungen sind eigentlich Verschwendung. Haben aber den 
Vorteil, dass sowohl Links- als auch Rechtshänder ihre 
Lieblingstasten/-sticks selbst wählen können.

Das STECCY-Menü lässt sich auch gut mit dem Gamepad bedienen: Rauf und 
Runter wählen den vorherigen/nächsten Menüpunkt, alle Feuertasten wählen 
diesen aus, die Home-Taste beendet das Menü oder Untermenü ("Zurück").

Aber vielleicht habt Ihr noch ein paar Ideen, was man mit der Fülle von 
Tasten anfangen kann.

: Bearbeitet durch Moderator
von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Frank,

ich habe inzwischen eine USB Tastatur angeschlossen, sie ist aber nicht 
immer nach dem Reset vorhanden. (zur Zeit habe ich keine INI Datei auf 
der CF-Karte). Außerdem habe ich festgestellt das Chuckie Egg mit der 
USB Tastatur etwas langsamer läuft als mit der PS2 Tastatur. Zum 
Vergleich habe ich den Game Over Sound mit jeweils USB, oder PS2 
Tastatur aufgenommen.

Ich beobachte auch das nach einigen Minuten die USB-Tastatur nicht mehr 
Funktioniert. Ein reset ist notwendig.
Ich benutze das gleiche Board wie 900ss
STM32_F4VE Ver: V33, SN: 1911Z
und die folgende usb Tastatur : 
https://www.amazon.de/KB-207U-B-schnurgebunden-mini-Tastatur-deutsches-Tastaturlayout/dp/B0044S3ATW

Ich würde gerne den Nunchuk ausprobieren., der ist heute gekommen. Die 
zum Download bereit gestellte Version unterszützt es aber wahrscheinlich 
noch nicht? (Die Version 1.4.5 vom 17.01.2021)

Den Wii Gamepad habe ich noch nicht, eine Idee für die Tastenbelegung 
wäre eine Konfiguration über das INI File.

Gruß,
Jan

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Jan,

Jan schrieb:

> ich habe inzwischen eine USB Tastatur angeschlossen, sie ist aber nicht
> immer nach dem Reset vorhanden.

Das war bei mir zunächst auch so. Mittlerweile habe ich das verbessert. 
Das Programm versucht nun mehrmals, sich mit der USB-Tastatur zu 
verbinden. So klappt das nun bei mir einwandfrei. Der Boot kann dann 
aber auch mal bis zu 20 Sekunden dauern.

> (zur Zeit habe ich keine INI Datei auf der CF-Karte).

Die wirst Du aber demnächst brauchen: Man muss nun
1
KEYBOARD=USB
zwingend eintragen, wenn man USB nutzen möchte. Das habe ich jetzt wegen 
der längeren Initialisierungsphase (s.o), die sonst nicht notwendig ist, 
geändert. Sonst müsste ein PS/2- oder ZX-User längere Zeit warten, weil 
das Ding immer und immer wieder nach der USB-Tastatur sucht, welche 
vielleicht gar nicht angeschlossen ist.

Übrigens sollte man, wenn man keine USB-Tastatur verwendet, auch die 
obige Zeile aus der INI-Datei löschen oder auskommentieren. Sonst gibts 
zu lange Wartezeiten.

> Außerdem habe ich festgestellt das Chuckie Egg mit der
> USB Tastatur etwas langsamer läuft als mit der PS2 Tastatur.

Ich mache immer meine "Messungen" durch Vergleich mit dem Emulator Fuse 
und kann mit der USB-Tastatur keine Verlangsamung erkennen. STECCY und 
Fuse haben eine Geschwindigkeitsdifferenz von vielleicht 2-3 Prozent. 
Manchmal ist STECCY etwas schneller, manchmal Fuse. Das sieht man aber 
erst nach mehreren Minuten, dass da minimale Abweichungen sind.

Allerdings habe ich auch das Gefühl, dass die PS/2-Tastatur wesentlich 
flotter anspricht als die USB-Tastatur.

Ich habe auch mittlerweile die Meldungen von 900ss zum Anlass genommen, 
dass die USB-Statemachine nun innerhalb der STECCY-Wartezyklen 
aufgerufen wird, also wenn STECCY sowieso nichts zu tun hat. Kann sein, 
dass damit das Zeitverhalten jetzt besser ist. Ich bin gespannt auf 
Deinen Bericht, wenn Du die angehängte Testversion mal ausprobierst.

> Vergleich habe ich den Game Over Sound mit jeweils USB, oder PS2
> Tastatur aufgenommen.

Höre ich mir nachher mal an, danke.

> Ich beobachte auch das nach einigen Minuten die USB-Tastatur nicht mehr
> Funktioniert. Ein reset ist notwendig.

Hm, das passiert mir allerdings gar nicht. Das hatte ich nur in der 
Anfangszeit, als ich mit der Integration von USB in STECCY zu tun hatte. 
Wie ich schon schrieb: Ich werde später noch einbauen, dass beim 
Verlieren der USB-Verbindung ein Reconnect versucht wird.

> Ich benutze das gleiche Board wie 900ss
> STM32_F4VE Ver: V33, SN: 1911Z

Mittlerweile habe ich auch ein mit V33. Ich hatte letztens noch ein 
Black Board bestellt und jetzt habe ich bemerkt, dass es auch ein V33 
ist. Ich werde das demnächst ausprobieren.

> und die folgende usb Tastatur :
> 
https://www.amazon.de/KB-207U-B-schnurgebunden-mini-Tastatur-deutsches-Tastaturlayout/dp/B0044S3ATW

Du kannst gern die angehängte Testversion mit der USB-Tastatur 
ausprobieren, dann freue ich mich auf Deinen Testbericht :-)

> Ich würde gerne den Nunchuk ausprobieren., der ist heute gekommen. Die
> zum Download bereit gestellte Version unterszützt es aber wahrscheinlich
> noch nicht? (Die Version 1.4.5 vom 17.01.2021)

Nur diejenige, die ich vor ein paar Tagen hier im Thread hochgeladen 
habe. Allerdings läuft diese Version noch im Polling- und nicht im 
DMA-Modus und macht damit STECCY unerträglich langsam.

> Den Wii Gamepad habe ich noch nicht, eine Idee für die Tastenbelegung
> wäre eine Konfiguration über das INI File.

Ja, oder Konfiguration über das STECCY-Menü.

Ich habe hier mal die aktuelle Entwicklungsversion mit angehängt.

- steccy.hex: SSD1963-Variante
- steccy-ili9341.hex: ILI9341-Variante

Änderungen:

- USB-Tastaturanbindung verbessert
- KEYBOARD=USB nun zwingend, wenn man USB-Keyboard verwenden will
- Unterstützung von Wii-Nunchuk
- Unterstützung von Wii-Gamepad
- ZX-Tastatur wird nun in einer Statemachine eingelesen - UNGETESTET!

Wie man Nunchuk oder Gamepad anschließt, ist bereits im Artikel 
dokumentiert. Das Ansprechverhalten beider Controller entspricht der 
PS/2-Tastatur - also richtig flott.

Viel Spaß

Frank

: Bearbeitet durch Moderator
von Jan (Gast)


Lesenswert?

Hallo Frank,

danke für den fantastischen Support.

Ich habe die letzte Version geflasht, eine ini Datei angelegt und die 
USB Tastatur getestet.
Jetzt funktioniert es sehr gut, ich konnte bis jetzt keine Probleme 
beobachten.

Ich habe auch beim Chuckie Egg diesen Game-Over Sound mit PS2 Tastatur 
und mit USB Tastatur mit der jetzigen Version aufgenommen (dabei 
natürlich die ini Datei für die jeweilige Tastatur entsprechend 
angepasst).
Ich konnte keinen Unterschied im Sound beobachten.
(Eine Soundbeobachtung lässt sich für solche 
Geschwindigkeitsunterschiede recht gut heranziehen, da eine Verschiebung 
der Tonhöhen sehr gut vom dem menschlichen Gehör wahrgenommen wird)
Anscheinend ist die USB-Tastaturanbindung jetzt deutlich besser. Keine 
Aussetzer mehr und kein ausbremsen des Systems.

Den Nunchuk habe ich soeben auch ausprobiert, er Funktioniert auch. Ich 
konnte Chuckie Egg damit sehr gut steuern (Cursor Joystick). Der Nunchuk 
den ich habe ist in der Farbe Weiß, und die Kabeln haben die  folgende 
Farben :

1-Braun
2-Rosa
3-Gelb
4-Weiß
5-nc
6-Blau

Ich werde weiter testen.

Danke nochmals und eine gute Nacht.
Jan

von Jan (Gast)


Lesenswert?

Eine Idee hätte ich noch,

Das Board bietet die Möglichkeit eine RTC zu implementieren.
Man könnte die RTC  nutzen um die Spieldauer zu begrenzen. Jeden Tag 
maximal eine Stunde. Der Hintergrund ist, das ich Steccy als erste 
Spielkonsole / Computer meinen Sohn anbieten möchte, die Spieldauer soll 
aber begrenzt werden, auf z.B. eine Stunde am Tag. Die Spieldauer etc. 
könnte man in einem Passwortgeschützten Menü konfigurieren.

Was haltet Ihr von dieser Idee?
Gruss,
Jan

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> USB-Tastaturanbindung verbessert

Das möchte ich mal bestätigen. Erkannt wird die Tastatur jetzt jedesmal. 
Max. Zeit bis LED leuchete: ca. 7 Sek. Normalerweise 3-4 Sek.
Beim Spielen verhält sich sich auch wesentlich besser. Aber immer mal 
wieder träge, d.h. es wird nicht immer die Taste genommen oder 
verzögert.
Ich spiele mit Cursor Joystick.

Wii-Gamepad liegt hier :)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Frank M. schrieb:
>
>> USB-Tastaturanbindung verbessert
>
> Das möchte ich mal bestätigen.

Freut mich.

> Erkannt wird die Tastatur jetzt jedesmal.
> Max. Zeit bis LED leuchete: ca. 7 Sek. Normalerweise 3-4 Sek.
> Beim Spielen verhält sich sich auch wesentlich besser. Aber immer mal
> wieder träge, d.h. es wird nicht immer die Taste genommen oder
> verzögert.

Das kann ich leider nicht nachvollziehen. Aber ich arbeite regelmäßig an 
Verbesserungen. Wenn ich in dieser Hinsicht noch was rausholen kann, 
melde ich mich ;-)

> Wii-Gamepad liegt hier :)

Anschließen! Du brauchst ganze 4 Drähte :-)

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Anschließen! Du brauchst ganze 4 Drähte :-)

Gerade passiert. Tut sich nichts. Hmmmm.... aber bei 4 Adern kann man 
viele Fehler machen. Siehe RS232, die funktioniert auch nie auf Anhieb 
:)
Die Farbbelegung stimmt mit deiner überein, also Clone.

: Bearbeitet durch User
von 900ss (900ss)


Lesenswert?

Meine INI sieht so aus:
1
# PATH: Default is current directory (only QT and Linux), e.g. PATH=/home/pi/steccy
2
PATH=
3
# ROM: Default is 48.rom
4
ROM=48u.rom
5
# Autostart: Default is yes
6
AUTOSTART=yes
7
# Autoload: Default is none
8
AUTOLOAD=
9
# Keyboard: Default is PS2 and USB. Use ZX for ZX-Spectrum matrix keyboard
10
KEYBOARD=USB
11
# Orientation: Default is 0 (only STM32)
12
ORIENTATION=2
13
# RGB Order: Default is 0 (only STM32)
14
RGB=0

von 900ss (900ss)


Lesenswert?

Wii-Gamepad tuts doch. Musste erstmal die Tasten Belegung rausbekommen.
Damit läuft es recht gut. Besser als mit der Tastatur.
Sehr hübsch :)

PS. Der Turbo-Mode (ausversehen aktiviert) ist witzig :)

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich habe nun unter Linux eine STECCY-Version laufen, die sowohl den 
ZX-Spectrum 48K als auch den Spectrum 128K unterstützt.

Das Ganze muss jetzt noch auf den STM32 portiert werden. Die 
Z80-Memory-Zugriffe werden nun wegen dem RAM- und ROM-Bankung alle nur 
noch indirekt ausgeführt. Ich hoffe, dass dieses auf dem STM32 nicht zu 
langsam wird. Am Wochenende weiß ich mehr :-)

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Ich habe nun unter Linux eine STECCY-Version laufen, die sowohl den
> ZX-Spectrum 48K als auch den Spectrum 128K unterstützt.

Mein lieber Mann, du legst aber ein Tempo vor. Wo nimmst du die 
Zeit/Energie her?

Kann man dann umschalten zwischen 48k/128k Version? Falls das merklich 
langsamer ist mit der 128k Variante, wäre das evtl.sinnvoll? Oder 
zumindest 2 Binaries, die man laden könnte, die 48k oder 128k Variante. 
Aber das zu pflegen ist wohl recht aufwendig.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Kann man dann umschalten zwischen 48k/128k Version?

Ja, kann man. Einfach das 48.rom laden. Dann verhält sich der Emulator 
wie ein Spectrum 48K.

> Falls das merklich langsamer ist mit der 128k Variante, wäre das
> evtl.sinnvoll?

Das nützt nichts. Ich habe das RAM-Layout für den 48K so angepasst, dass 
es dem Default-Banking des 128K entspricht. Vorteil: Man muss nicht noch 
zusätzlich abfragen, ob es gerade ein Spectrum-48K oder -128K ist - was 
wieder zusätzlicher Aufwand wäre. Nachteil: Der Speicher ist nicht mehr 
linear und muss deshalb über indirekten Zugriff gelesen und beschrieben 
werden.

Doku dazu: https://worldofspectrum.org/faq/reference/128kreference.htm

Ich bin aber ganz zuversichtlich, dass auch der 128K auf dem STM32 mit 
voller Geschwindigkeit laufen wird. Momentan wird der 48K von Faktor 3,5 
auf 1 gebremst. Da ist also noch Luft nach oben.

> Oder
> zumindest 2 Binaries, die man laden könnte, die 48k oder 128k Variante.

Ja, das wäre die Konsequenz, wenn es doch schiefgehen würde.

> Aber das zu pflegen ist wohl recht aufwendig.

Nein, die Memory-Zugriffe sind in Makros gekapselt. Da gäbe es dann halt 
zwei verschiedene Getter und Setter für den Speicherzugriff. Alles 
andere, wie zum Beispiel Laden/Speichern von Snapshots kann ruhig etwas 
langsamer erfolgen. Das würde keiner merken.

: Bearbeitet durch Moderator
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Das Ganze muss jetzt noch auf den STM32 portiert werden.

Die ZX-Spectrum 128K Emulation läuft nun auch auf dem STM32.

Dabei war noch eine größere Schwierigkeit zu überwinden. STECCY in der 
128K-Emulation benötigt an RAM für den ZX:

- 2 x 16K ROM = 32K ROM
- 8 x 16K RAM = 128K RAM

Macht zusammen satte 160K RAM. Der STM32F407VE hat an RAM:

- 64K CCRAM - Core Coupled RAM
- 128K RAM

Das CCRAM kann vom STM32 direkt angesteuert werden. Sonst kann dort 
keine weitere Peripherie wie DMA zugreifen. Damit ist CCRAM sogar etwas 
schneller als das normale RAM, weil es keine Waitstates benötigt. Der 
Gebrauch ist im allgemeinen aber eher ungewöhnlich, weil es 
standardmäßig gar nicht initialisiert wird.

Da im normalen 128K STM32-RAM auch alle initialisierten 
Programm-Variablen, der Stack und der Heap liegen liegen, musste ich die 
benötigten 160K segmentieren. Ich habe daher ins CCRAM diejenigen 
ZX-Pages verlagert, die für das 16K ROM und 48K RAM eines ZX-Spectrum 
48K benötigt werden. Die zweite Hälfte des 32K ROMs und 5 weitere 
RAM-Pages für den Spectrum 128K habe ich ins normale RAM gelegt, 
insgesamt 96K.

Die Initialisierung des CCRAM macht übrigens nicht der STM32, sondern 
die Emulation. Auch der ZX-Spectrum geht beim Boot von einem 
uninitialisiertem RAM aus und macht die Initialisierung daher selber - 
praktisch.

Nach Abzug aller sonstigen STECCY-Variablen bleiben noch ca. 10K 
STM32-RAM übrig. Das reicht :-)

STECCY 128K läuft im Turbo-Mode mit ungefähr Faktor 3 gegenüber dem 
Original-Spectrum. Im normalen Betrieb ist STECCY weiterhin genauso 
schnell wie der Original-Spectrum. Von daher ist hier auch alles im 
grünen Bereich.

Ich werde hier noch einiges testen und dann spätestens morgen die 
Hex-Files zur Verfügung stellen. Der Quellcode kommt dann etwas später 
nach GitHub, da das SVN hier auf µC.net eingestellt wird.

: Bearbeitet durch Moderator
von Burkhard T. (mikro-tiger)


Lesenswert?

Tolle Arbeit - bin schon sehr gespannt..

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> 900ss D. schrieb:
>> Kann man dann umschalten zwischen 48k/128k Version?
>
> Ja, kann man. Einfach das 48.rom laden. Dann verhält sich der Emulator
> wie ein Spectrum 48K.

Das hatte cih so gemeint mit ROM neu laden.

Frank M. schrieb:
> Das nützt nichts.

OK, dann lohnt es sich icht das 48k ROM zu laden. Odre gibt es den Fall 
das 48k Spiele nicht auf 128k Version laufen?
Ich gestehe, Null Ahnung :)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> OK, dann lohnt es sich icht das 48k ROM zu laden. Odre gibt es den Fall
> das 48k Spiele nicht auf 128k Version laufen?
> Ich gestehe, Null Ahnung :)

Es gibt viele Spiele, die vor Erscheinen des Spectrum 128K geschrieben 
worden sind. Einige von ihnen verwenden bestimmte ROM-Routinen als 
Unterprogramme, wobei sie diese an fester Stelle im ROM erwarten. Oder 
sie machen andere Schweinereien als Kopierschutz. Das kann bei dem 128K 
dann in die Hose gehen - auch wenn der Original-128K-Spectrum per Menü 
die Möglichkeit hat, in das "eingebaute" 48K-Rom zu springen. Das ist 
aber von 1986 und nicht 1:1 identisch mit dem 48K-Rom des Spectrum 48K 
von 1982. In den 80ern war da halt noch viel Wildwuchs.

Von daher macht es schon Sinn, beide ROMs auf der SD vorrätig zu haben 
und umschalten zu können.

Das ist jetzt auch für Snapshots wichtig: Lädt man einen Snapshot 
(.z80-Datei) und wurde diese auf einem 48K erstellt, lädt STECCY 
automatisch das 48.rom, damit das passt. Außerdem wird das 
Memory-Banking abgeschaltet, damit ein solches Programm dieses nicht 
"versehentlich" benutzt und sich damit selbst abschießt. Wurde umgekehrt 
der Snapshot auf einem 128K erstellt und hat gerade die 48K-Emulation 
laufen, wird das 128.rom dazu geladen, das Memory-Banking aktiviert und 
auf die 128K-Emulation umgeschaltet.

Du siehst: Da gibt es einiges zu berücksichtigen und ich weiß auch 
nicht, ob ich schon alles hundertprozentig umgesetzt habe.

: Bearbeitet durch Moderator
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Ich habe die Version 1.5.0 hochgeladen. Für die 128K-Emulation benötigt 
man zusätzlich die Datei 128.rom auf der SD-Karte, zu finden in 
Steccy-roms.zip. Also kopiert bitte mindestens die beiden Dateien

- 128.rom
- 48.rom

auf die SD-Karte.

Außerdem habe ich die beiden Hex-Dateien für die Displays SSD1963 und 
ILI9341 abgelegt, alles zu finden unter STECCY: Download.

Es ist sinnvoll, in steccy.ini einzutragen:
1
ROM=128.rom

Die 128K-Emulation sehe ich noch in der Beta-Phase, die 48K-Emulation 
läuft aber stabil.

Ich werde heute am späten Abend noch die entsprechenden Kapitel im 
STECCY-Artikel aktualisieren. Der Source kommt später, dann auf GitHub.

von Nobs (Gast)


Lesenswert?

Das ist ja der Hammer! Kaum schaut man mal ein paar Wochen nicht hier 
rein, schon wird man mit so einer Entwicklung überrascht. Ganz tolle 
Arbeit! Das muß natürlich schnellstmöglich getestet werden.

Ich hatte in der Zwischenzeit noch eine andere Variante der Spectrum 
128k-Emulation auf STM-Board von Dima Samsonov gefunden (Youtube und 
Github). Allerdings kommt die Dokumentation nicht an die des Steccy 
heran, weshalb ich das auch nicht weiter verfolgt habe.

Sobald ich die Zeit finde, aktualisiere ich meinen Steccy und versuche 
die 128k-Emulation. Emuliert diese Version bereits den AY-Chip?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Nobs schrieb:
> Sobald ich die Zeit finde, aktualisiere ich meinen Steccy und versuche
> die 128k-Emulation. Emuliert diese Version bereits den AY-Chip?

Leider nein, die Emulation des AY-Chip ist noch eine ganz andere Kiste.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Nobs schrieb:
> Ich hatte in der Zwischenzeit noch eine andere Variante der Spectrum
> 128k-Emulation auf STM-Board von Dima Samsonov gefunden (Youtube und
> Github).

Ich werde mal bei Gelegenheit einen Blick drauf werfen.

> Allerdings kommt die Dokumentation nicht an die des Steccy
> heran, weshalb ich das auch nicht weiter verfolgt habe.

Viele Programmierer unterschätzen die Dokumentation komplett und 
schenken ihr deshalb wenig Beachtung. Meiner Meinung besteht jedoch ein 
Projekt aus gleichen Anteilen Programmierung und Dokumentation.

STECCY ist mittlerweile auf GitHub:

https://github.com/ukw100/STECCY

Die Dokumentation auf µC.net habe ich bereits zu 95% in das README.md 
auf Github transferiert - war eine Menge Arbeit.

Heute abend werde ich noch die Download-Links im STECCY-Artikel auf 
GitHub umbiegen. Ich überlege auch, ob ich die Dokumentation in Zukunft 
weiterhin zweigleisig halten soll: Englisch auf GitHub, Deutsch in der 
Artikelsammlung auf µc.net - und dann auch noch in zwei völlig 
verschiedenen Formen: Markdown auf GitHub, Wiki auf µC.net. Schließlich 
wäre das zukünftig mehr als doppelte Arbeit...

: Bearbeitet durch Moderator
von W.S. (Gast)


Lesenswert?

Frank M. schrieb:
> Schließlich
> wäre das zukünftig mehr als doppelte Arbeit...

Warum nicht einfach ein PDF für beides? Dort kann man sich dann auch mit 
Grafiken, Schaltungsdetails usw. auslassen.

W.S.

von Tom S. (year2525)


Lesenswert?

Hallo Frank,
vielen Dank für diese Arbeit und fürs Teilen, ganz große Leistung, 
Respekt und Verneigung.
Die Doku ist super, hab es gerade auf github gebrowst (und auch geforkt, 
could not resist). Da steckt sehr viel Liebe zum Detail drin.

Ich würde empfehlen die Doku nur an einer Stelle zu pflegen, aus meiner 
Sicht besser auf github um mit der Zeit und dem modernen Format zu 
gehen.
Und ein extra Wiki wäre ja auch innerhalb des Repos unabhängig von der 
Readme möglich.

von Burkhard T. (mikro-tiger)


Angehängte Dateien:

Lesenswert?

Hallo Frank,
 auch ich möchte mich hiermit ganz herzlich für Deine Mühen, die Du mit 
diesem Projekt hattest, bedanken.
Ich habe zwar jahrelange Erfahrung mit dem ZX-Spectrum, mit der STM32 
Programmierung stehe ich aber noch ganz am Anfang. Die ersten Probleme 
fingen schon mit dem Übertragen der hex-Files an (ich übe jetzt mit dem 
STM32Cube Programmer). Das erste Ergebnis ist jetzt auf dem beigefügten 
Bild zu sehen:
Steccy-ili9341 (V1.50) mit 128-rom. Läuft recht ordentlich mit einer 
provisorisch angestöpselten ZX-Tastatur ...

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Burkhard T. schrieb:
> Ich habe zwar jahrelange Erfahrung mit dem ZX-Spectrum, mit der STM32
> Programmierung stehe ich aber noch ganz am Anfang. Die ersten Probleme
> fingen schon mit dem Übertragen der hex-Files an (ich übe jetzt mit dem
> STM32Cube Programmer). Das erste Ergebnis ist jetzt auf dem beigefügten
> Bild zu sehen:

Ich weiß jetzt nicht, ob der STM32Cube Programmer auch so ein fettes 
Teil wie STM32Cube ist, aber das relativ schlanke "STM32 ST-LINK 
Utility" von ST reicht im allgemeinen aus:

https://www.st.com/en/development-tools/stsw-link004.html

Ich werde den Link noch in die Dokumentation aufnehmen.

> Steccy-ili9341 (V1.50) mit 128-rom. Läuft recht ordentlich mit einer
> provisorisch angestöpselten ZX-Tastatur ...

Freut mich sehr, dass es klappt! Die Tastatur ist wirklich schick - 
sogar mit abgesetzten Cursor-Tasten! Das scheint über eine Gatter-Logik 
gelöst zu sein, damit die Cursor-Taste die Kombination SHIFT + Ziffer 
auslöst. Gibts dazu einen Schaltplan?

Ich sehe, Du hast auch dieses winzige ILI9341-Teil. Vermutlich scheuen 
viele die Verkabelung mit den SSD1963-TFT-Displays. Ich lasse bei Aisler 
gerade eine Adapter-Platine anfertigen, damit man die größeren Displays 
auch einfach so aufstecken kann. Sobald die Platinen angekommen sind, 
werde ich testen und berichten. Ich bin nämlich den Kabelsalat auf dem 
Tisch wirklich leid...

von Burkhard T. (mikro-tiger)


Lesenswert?

Hallo,
STM32Cube läuft eigentlich ganz ordentlich, wenn man das Teil erstmal 
richtig konfiguriert hat (STM32 Bootloader). Probleme bereitet es mir 
nur, die richtigen Adressbereiche einzustellen, oder was auch immer der 
Programmer will - am Ende bekomme ich immer eine Fehlermeldung. Im 
"Automatic-Modus" klappt es aber (Hex-Datei laden - Download - Fertig). 
Vermutlich muss ich mich nur einmal ordentlich in das umfangreiche 
Manual hineinlesen...
Die Tastatur gibt's in der Bucht (ohne Schaltplan)
https://www.ebay.de/itm/Keyboard-for-debugging-the-ZX-Spectrum-16k-48k-48k-128k-toastrack-Harlequin/224073962871?hash=item342bd95577:g:o~MAAOSwBXhgCUc4
Der "Drahtverhau" stört mich auch ein wenig - da lasse ich mir bzgl. des 
Keyboardanschlusses aber noch etwas einfallen. Z.Z. ist das alles noch 
im "Entwicklermodus".
Deine "Aufsteckplatine" würde mich auch interessieren. Im Augenblick 
scheuen mich einfach die Kosten für das große SSD1963-Display.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Burkhard T. schrieb:
> Der "Drahtverhau" stört mich auch ein wenig - da lasse ich mir bzgl. des
> Keyboardanschlusses aber noch etwas einfallen.

Wie Du vielleicht weißt, habe ich mir bei eBay einen defekten ZX 
Spectrum für wenig Geld geschossen und das Innenleben einfach 
rausgeschmissen, weil es mir nur um die Tastatur ging.

Ich werde nun in das ZX-Gehäuse ein kleines STM32-Bluepill-Board 
reinkleben und die Tastatur-Matrix damit verbinden. Der kleine STM32 
dekodiert die Matrix und sendet dann PS/2-Signale, so daß ich die 
ZX-Tastatur abgesetzt über ein dünnes PS/2-Kabel an STECCY 
(BlackBoard+Display) anschließen kann. Spart die blöden Flachbandkabel 
ein :-)

Das Programm dafür ist schon fertig, bin nur zu faul, das Bluepill-Board 
sauber im Gehäuse unterzubringen... Naja, vielleicht am Wochenende.

: Bearbeitet durch Moderator
von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> so daß ich die ZX-Tastatur abgesetzt über ein dünnes PS/2-Kabel an
> STECCY (BlackBoard+Display) anschließen kann.

Passt STECCY nicht in das Gehäuse des ZX Spectrums? Von dort dann ein 
Kabel zum externen Display. So hatte ich das geplant wenn ich mal einen 
günstigen ZX Spectrum bekomme.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Passt STECCY nicht in das Gehäuse des ZX Spectrums? Von dort dann ein
> Kabel zum externen Display.

Kann sein, dass es passt, aber dann brauche ich ein sehr breites 
Flachbandkabel zum Display, das auch nicht zu lang sein darf. Hier ist 
auch nicht jede zweite Ader GND, wie es früher bei der Verwendung von 
Flachbandkabeln üblich war.

Dann doch lieber ein dünnes PS/2-Kabel zum Display, wo das BlackBoard 
mittels Adapter hinten drauf gesteckt ist. Das Display bekommt natürlich 
auch noch ein Gehäuse.

: Bearbeitet durch Moderator
von Frank M. (ukw) (Moderator) Benutzerseite



Lesenswert?

Anbei 2 Bilder von dem geplanten Adapter, den ich bei Aisler bestellt 
habe.

Sollte diese Woche noch bei mir ankommen. Dann berichte ich, obs klappt 
:-)

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> ein sehr breites Flachbandkabel zum Display

Ein Display über SPI anzusteuern ist wahrscheinlich zu langsam?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Ein Display über SPI anzusteuern ist wahrscheinlich zu langsam?

Ja. Damit sind keine 50 Bilder pro Sekunde möglich.

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Ja. Damit sind keine 50 Bilder pro Sekunde möglich.

Dann muss man da halt noch einen HDMI-Aushang anbauen. ;)

von Burkhard T. (mikro-tiger)


Lesenswert?

Die Lösung mit dem Display-Adapter macht einen recht stabilen Eindruck. 
Da man im 128er-Modus die ZX-Befehle auch Buchstabe für Buchstabe 
eingeben kann und nicht auf die "Befehlstasten" angewiesen ist würde da 
auch eine USB- oder PS/2-Tastatur ausreichen. Irgendwie hat man sich im 
Laufe der Jahre auch an das PC-Tasten-Layout gewöhnt. Beim 
"Rubber-Key"-Spectrum-Layout kommt man schon ganz schön ins Stocken, 
wenn ma da ein Basic-Programm eintippen möchte.

Wird die Adapter-Platine irgendwie zu erwerben sein? Oder muss man da 
selbst eine Kleinserie beauftragen?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Burkhard T. schrieb:
> Wird die Adapter-Platine irgendwie zu erwerben sein? Oder muss man da
> selbst eine Kleinserie beauftragen?

Ich habe da jetzt 6 Platinen für insgesamt knapp 22 EUR bestellt, also 
ca. 3,70 EUR pro Platine. Wenn sie funktioniert, kannst Du gern eine 
oder zwei haben. Wenn da noch mehr an Nachfrage ist, kann ich auch gern 
mal einen größeren Batzen davon bestellen, dann wird das noch wesentlich 
billiger.

Die Buchsenleisten sind natürlich nicht mit drin. Bei Pollin gibts die 
zu vernünftigen Preisen:

- Art. 451358 2x20 Buchsenleiste 0,55 EUR
- Art. 451357 2x16 Buchsenleiste 0,50 EUR

Die Versandkosten sind natürlich viel höher, daher habe ich von jeder 
Buchsenleiste direkt 10 Stück (und noch anderen Kram) bestellt. Wenn die 
Platine läuft, kann ich auch die beiden Buchsenleisten mit in den Brief 
stecken.

von Burkhard T. (mikro-tiger)


Lesenswert?

RIESENINTERESSE (1 Platine und Buchsenleisten)!!!

von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Frank,
auch meinerseits vielen vielen Dank für dieses tolle Projekt.
Mein Steccy hat ein rustikales Gehäuse bekommen:- )

Mein Sohn hat es zum Geburtstag bekommen und ist total begeistert.
Die 128k Variante habe ich noch nicht ausprobiert, das werden wir  aber 
auch noch tun.

Ich habe eine Frage.
Ich habe ein Mathe Lernprogramm gefunden, welches für meinen Sohn  ganz 
gut geeignet ist. (er ist 8). Einmal ist das Programm (FUNMATHS.TAP ) 
abgestürzt und ich habe basic code zum sehen bekommen. Daher glaube ich 
das es ein basic Programm ist. (es ist recht einfach) Jetzt bin ich auf 
die Idee gekommen das Programm zu erweitern bzw, zu verändern. Ich würde 
gerne die Lernaufgaben an sein Wissensstand anpassen.
Aber wie mache ich es?, Womit? Auf dem Steccy? Oder  PC?
(Basic Grundkenntnisse habe ich noch von damals mit dem C64 :-) )

Wenn ich mir die TAP Datei auf einem PC anschaue, dann sehe ich keinen 
Basic-Kode. (zwischen durch sind text strings lesbar)

Gruß,
Jan

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jan schrieb:
> Mein Steccy hat ein rustikales Gehäuse bekommen:- )

Sehr originell, Gratulation! :-)

> Ich habe ein Mathe Lernprogramm gefunden, welches für meinen Sohn  ganz
> gut geeignet ist. (er ist 8). Einmal ist das Programm (FUNMATHS.TAP )
> abgestürzt und ich habe basic code zum sehen bekommen.

Es könnte sein, dass der Basic Code lediglich das Ladeprogramm für 
nachfolgenden Binärcode ist. Alle Spectrum-Programme sind so aufgebaut, 
dass sie zunächst ein Basic-Programm laden, welches automatisch 
gestartet wird. Dieses lädt dann weitere Dateien nach - das können 
Screen-Inhalte oder auch Binärcode sein.

Aber da gibt es einen Trick in STECCY: Einfach vor dem Laden den 
Menüpunkt "Autostart" auf "No" setzen. Dann wird das Nachladen 
verhindert und man kann in Ruhe den Basic-Code studieren.

> Daher glaube ich das es ein basic Programm ist.

Ich bin gerade mal wie oben beschrieben vorgegangen: es wird kein Code 
nachgeladen, daher ist es ein reines Basic-Programm - aber ein ziemlich 
langes.

Du kannst das ja mal genauso machen und dann "LIST" eingeben, indem Du 
einfach "K" drückst. Oder Du lädst mal die neueste Version von STECCY. 
Beim 128K-Basic kannst Du die Befehle auch ganz normal eingeben, Also L 
I S T einzeln drücken, oder einfach mit den Cursor-Tasten durch den Code 
gehen, siehe dazu Tipp unten (Turbo-Mode).

> Jetzt bin ich auf
> die Idee gekommen das Programm zu erweitern bzw, zu verändern. Ich würde
> gerne die Lernaufgaben an sein Wissensstand anpassen.
> Aber wie mache ich es?, Womit? Auf dem Steccy? Oder  PC?

Das Problem ist: Der Basic-Code wird auf dem Spectrum aus 
Speicherplatzgründen nicht als ASCII gespeichert, sondern binär - in 
sog. "Token". Von daher kannst Du das schlecht auf dem PC eingeben. Der 
BASIC Editor im ZX-Spectrum ist auch nicht das Komfortabelste, 
wenngleich es in der 128K-Version schon wesentliche besser ist. Hier 
hast Du einen Fullscreen- statt nur einen Zeilen-Editor. Ich würde Dir 
raten, hier den Turbo-Modus zu aktivieren (Taste F3), dann ist der 
Editor wesentlich flüssiger.

Zusätzliches Problem: Der Autor hat Teile des Basic-Programms unsichtbar 
gemacht, indem er in den Code INK-Attribute hat einfließen lassen. Das 
siehst Du, wenn Du mit LIST das Programm ausgeben lässt, dass ab ca. 
Zeile 2000 teilweise leere Bildschirmbereiche ausgegeben werden. Im 128K 
Spectrum haben diese Attribute im Basic-Editor aber keine Auswirkungen 
und es wird alles sauber angezeigt.

Schaue Dir das Basic also besser in der 128K-Emulation an - mit 
aktiviertem Turbo-Mode. Dann kannst Du mit den Cursor-Tasten ziemlich 
flott durch die Zeilen flitzen. Ohne Turbo-Modus geht das ziemlich 
langsam. Zur Eingabe würde ich dann den Turbo-Mode wieder abschalten, 
sonst hast du ruckzuck viele gleiche Zeichen im Puffer ;-)

> (Basic Grundkenntnisse habe ich noch von damals mit dem C64 :-) )
> Wenn ich mir die TAP Datei auf einem PC anschaue, dann sehe ich keinen
> Basic-Kode. (zwischen durch sind text strings lesbar)

Wie gesagt: Die Basic-Token sind binär gespeichert. Meines Wissens nach 
gibt es aber PC-Programme, die den Basic-Code aus TAP-Dateien auch als 
ASCII anzeigen können. Das könnte angesichts der recht langen 
Basic-Zeilen, die der Autor des Programms "verbrochen" hat, durchaus zum 
besseren Verständnis  des Codes beitragen. Ein PC kann halt mehr als nur 
32 Zeichen pro Zeile darstellen. Wenn Du in der Richtung nichts findest, 
melde Dich bei mir. Ich habe mal so ein Progrämmchen geschrieben, 
welches ZX-Basic in Klartext verwandelt.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jan schrieb:
> Jetzt bin ich auf die Idee gekommen das Programm zu erweitern bzw, zu
> verändern.

Ich habe mir das Basic-Programm mal mit meinem ZX-Basic-Decoder auf dem 
PC angeguckt, weil manche Zeilen über 100 Zeichen Länge haben.

Aufgefallen sind mir dabei folgende Zeilen:
1
 2010 LET n=INT (RND*20)
2
 2020 LET m=INT (RND*20)
und
1
 3010 LET n=INT (10+(RND*10))
2
 3020 LET m=INT (RND*10)

Zu Zeile 2010 + 2020:

RND gibt eine Zufallszahl zwischen 0 und 1 (excl.) aus. Durch die 
Multiplikation mit 20 wird daraus eine Zahl zwischen 0 und 20 (excl.). 
Durch die INT-Funktion wird der Nachkommaanteil abgeschnitten. Damit 
bleibt eine Zahl zwischen 0 und 19 übrig. Diese beiden Zahlen n und m 
werden dann einer mathematischen Grundrechenart unterworfen.

Um das Programm nun schwieriger zu machen, musst Du die Zahl 20 für 
beide Zahlen einfach durch einen höheren Wert ersetzen, zum Beispiel 40.

Zu Zeile 3010 + 3020:

Hier ist das ähnlich, aber für beide Zahlen asymmetrisch: n wird eine 
Zahl zwischen 10 und 19, m wird eine Zahl zwischen 0 und 9.

Nachdem Du das Programm geändert hast, kannst das Programm wie folgt in 
STECCY wieder speichern:

- STECCY-Menü SAVE anwählen
- Datei für SD-Karte eintippen, z.B. VERSUCH
- Im Basic eingeben: SAVE "VERSUCH" LINE 1

Dann wird das Programm gesichert. Der Zusatz "LINE 1" sorgt dafür, dass 
das Programm nach dem Laden automatisch in Zeile 1 gestartet wird - 
vorausgesetzt, Du hast im STECCY-Menü den Autostart wieder aktiviert ;-)

Viel Spaß!

EDIT:

Ich hätte mal ein paar Zeilen weiter lesen sollen:
1
2030 GO SUB n+100: LET a=a+l: GO SUB m+100

In den Zeilen 100 bis 120 werden per Draw-Befehl die Zahlen 0 bis 20 
"gemalt". Wenn Du also größere Zahlen verwenden willst, musst Du auch 
die entsprechenden Zeilen ergänzen, um die Zahlen zu malen, also die 
Zeile 121 für die Zahl 21, Zeile 122 für 22, Zeile 123 für 23 usw. Du 
kannst natürlich wiederkehrende Ziffern aus den vorhergehenden Zeilen 
"klauen".

: Bearbeitet durch Moderator
von Christian (Gast)


Lesenswert?

Hallo

An so einer Adapterplatine hätte ich auch Interesse.

Grüße
   Christian

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Christian schrieb:
> An so einer Adapterplatine hätte ich auch Interesse.

Prima, ich sehe schon, dass ich wohl auch noch welche nachbestellen muss 
:-)

Morgen oder übermorgen treffen die Platinen ein. Wenns klappt, melde ich 
mich.

von Christian (Gast)


Lesenswert?

Danke Frank.

Grüße
   Christian

von Jan (Gast)


Lesenswert?

Hallo Frank,
vielen Dank für die ausführliche Hilfe.
Ich werde es ausprobieren und meine Ergebnisse hier teilen.
Gruss,
Jan

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Die TFT-Adapter-Platine ist gestern angekommen. Funktioniert!

Lediglich das Kabel für die 5V Hintergrundbeleuchtung muss noch an das 
BlackBoard geführt werden, weil die TFT-Steckleiste keine 5V vorsieht, 
siehe zweites Bild. Hier wurde ein 7" Display verwendet. Der Adapter 
nebst Blackboard passt aber auch prima hinter ein 5" Display.

: Bearbeitet durch Moderator
von Jan (Gast)


Lesenswert?

Hallo Frank,

Ich habe steccy 128k geflasht.
Dann habe ich es geschaft das funmaths.tap basic code  im Steccy 
anzuzeigen.



Die Modifikation bzw. die Analyse des Basic-Kodes mit Steccy ist  nicht 
sehr komfortabel.
Die Zeilen sind sehr lang.

Ich würde das gerne auf dem PC machen.

Ich habe folgendes Paket gefunden :
https://pypi.org/project/zxtaputils/

Mit tap2basic sollte es möglich sein den basic code aus der TAP-Datei 
auszulesen.
Und mit tapify.py sollte es dann möglich sein den modifizierten 
Basic-Kode in eine TAP Datei zu schreiben.

Leider schaffe ich es nicht den basic code aus der TAP-Datei auszulesen.
Ich bekomme folgenden Fehler wenn ich im linux subsystem für windows 
folgendes aufrufe :

$ python3 tap2basic.py FUNMATHS.TAP
Traceback (most recent call last):
  File "tap2basic.py", line 1, in <module>
    from .bas2asc import detokenize_bytes
ImportError: attempted relative import with no known parent package
xy@LAPTOP-z:/mnt/c/Elektrotechnik/Steccy/zxtaputils-1.0.0/zxtaputils$

Ich weis leider nicht wie dieses zxtaputils Paktet zu benutzen ist.
Vielleicht kennst Du bereits dieses Paket bereits und kannst mir auf die 
Sprünge helfen.

Gruß,
Jan

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jan schrieb:
> Ich weis leider nicht wie dieses zxtaputils Paktet zu benutzen ist.
> Vielleicht kennst Du bereits dieses Paket bereits und kannst mir auf die
> Sprünge helfen.

Tut mir leid, das kenne ich nicht. Ist Deine E-Mail-Adresse, die man als 
Gast optional angeben kann, korrekt? Dann sende ich Dir den Basic-Code 
in ASCII zu. Den kannst Du dann direkt im Editor auf dem PC öffnen.

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich habe nun meine Original-ZX-Spectrum-Tastatur in eine PS/2-Tastatur 
umgewandelt. So kann ich sie mit einem dünnen PS/2-Kabel mit dem 
STECCY-BlackBoard verbinden, welches mit dem neuen Adapter hinter dem 
TFT steckt.

Das Projekt "ZX Keyboard goes PS/2" werde ich in den nächsten Tagen 
gesondert bei GitHub einstellen.

von Jan (Gast)


Lesenswert?

Frank M schrieb:
>Tut mir leid, das kenne ich nicht. Ist Deine E-Mail-Adresse, die man als
>Gast optional angeben kann, korrekt? Dann sende ich Dir den Basic-Code
>in ASCII zu. Den kannst Du dann direkt im Editor auf dem PC öffnen.

Ja, sie ist korrekt.
Das wäre sehr nett.

Danke im Voraus

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jan schrieb:
> Das wäre sehr nett.

Habe es Dir geschickt.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Burkhard T. schrieb:
> RIESENINTERESSE (1 Platine und Buchsenleisten)!!!

Christian schrieb:
> An so einer Adapterplatine hätte ich auch Interesse.

Schreibt mich bitte per PN an, damit ich Euch beiden eine Adapterplatine 
nebst Buchsenleisten zukommen lassen kann.

von Kurz Schluss (Gast)


Lesenswert?

Frank M. schrieb:
> Das Projekt "ZX Keyboard goes PS/2" werde ich in den nächsten Tagen
> gesondert bei GitHub einstellen.

Hallo Frank,
das ist ja eine super Sache!!! Da bin ich wirklich gespannt darauf! 
Vielen Dank für Deine Bemühungen und das tolle Projekt!!!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Das Projekt "ZX Keyboard goes PS/2" werde ich in den nächsten Tagen
> gesondert bei GitHub einstellen.

Hier ist es: https://github.com/ukw100/STECCY-Keyboard

Release mit Hex-File für den STM32F103 auf dem Bluepill Board:

https://github.com/ukw100/STECCY-Keyboard/releases/tag/1.0

Auch hier im STECCY-Artikel habe ich einen Abschnitt vorgesehen:

https://www.mikrocontroller.net/articles/STECCY#Tastatur

von Kurz Schluss (Gast)


Angehängte Dateien:

Lesenswert?

Frank M. schrieb:
> Hier ist es: https://github.com/ukw100/STECCY-Keyboard

Herzlichen Dank!!!
...gibt es eigentlich einen Grund warum Du so einen mächtigen Controller 
dafür verwendet hast?

Kennst Du eigentlich dieses Projekt hier? 
https://deskthority.net/viewtopic.php?f=7&t=6767
Damit habe ich es geschafft eine echte CBM3032 Tastatur an eine 
Raspberry mit BMC64 über USB mit Hilfe eines Arduino-Micro 
anzuschließen...

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Kurz Schluss schrieb:
> ...gibt es eigentlich einen Grund warum Du so einen mächtigen Controller
> dafür verwendet hast?

Weil ich die Dinger mal zu Dutzenden beim Chinesen für unter 2 EUR 
erstanden habe, billiger als ein AVR-Board. Mittlerweile mache ich 
nichts mehr mit AVR, ich weiß gar nicht mehr, in welcher Schublade mein 
AVR-Flasher-Board vor sich hingammelt. Außerdem konnte ich Teile der 
STECCY-Tastatur-Routinen direkt übernehmen, ohne diese noch extra 
portieren zu müssen.

Du kannst das Programm auch leicht auf AVR umschreiben. Außer 
GPIO-Zugriffen und ein paar Delays ist da nichts weltbewegendes drin.

> Kennst Du eigentlich dieses Projekt hier?
> https://deskthority.net/viewtopic.php?f=7&t=6767

Nein, kenne ich nicht. Schaue ich mir an :-)

> Damit habe ich es geschafft eine echte CBM3032 Tastatur an eine
> Raspberry mit BMC64 über USB mit Hilfe eines Arduino-Micro
> anzuschließen...

Apropos Raspberry Pi:

Das STECCY-Keyboard macht nicht nur PS/2, sondern schickt die 
PS/2-Tastatur-Codes (press/release) jetzt schon ebenso auf dem UART 
raus. Deshalb kann man die ZX-Tastatur-Matrix über UART auch am RasPi 
anschließen. STECCY läuft ja auch auf dem Pi :-)

Ist aber noch ungetestet. Die entsprechende UART-Empfangsroutine für den 
Pi-STECCY muss ich auch noch schreiben.... nebst Dokumentation, wie man 
die serielle Console auf dem Pi abschaltet.

Der nächste Punkt ist dann die Verwendung von Wii-Nunchuk und 
Wii-Gamepad am Pi. Daher werde ich das STECCY-Keyboard auch noch mit den 
Wii-Routinen ausstatten, damit man hier ebenso die Wii-Dinger 
anschließen kann. Da kommt mir der kleine STM32F103 auch wieder 
entgegen, weil ich die SW aus STECCY direkt übernehmen kann. Mit der 
UART-Verbindung zum Pi kommen dann auch die Wii-Signale rüber und können 
vom Pi-STECCY ausgewertet werden. Dann kann der RaspPi-STECCY genauso 
viel wie der STM32-STECCY.

von Kurz Schluss (Gast)


Lesenswert?

Frank M. schrieb:
> Weil ich die Dinger mal zu Dutzenden beim Chinesen für unter 2 EUR
> erstanden habe, billiger als ein AVR-Board.

COOL!!! Hast Du da noch welche über die Du veräußern würdest??? (Das 
Bluepill das ich habe ist fest als SPO256 Emulator abgestellt! ;-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Kurz Schluss schrieb:
> COOL!!! Hast Du da noch welche über die Du veräußern würdest???

Klar, kannst gern 1, 2 oder drei haben. Die Bluepills sind auch keine 
Fakes, da ich sie schon vor längerer Zeit erstanden habe, als Fakes noch 
kein Thema waren. Einige von ihnen habe auch in WordClocks laufen, wo 
nachgewiesenermaßen die Fakes erst gar nicht funktionieren.

von Kurz Schluss (Gast)


Lesenswert?

Hallo Frank,
da würde ich mich doch gerne mal für 3 Stück bei Dir anmelden! :-)
(...Du hattest mir schon mal ein Display gesendet...)
Vielen Dank!!!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Christian schrieb:
> An so einer Adapterplatine hätte ich auch Interesse.
> Grüße
> Christian

Hast Du meine Mail bekommen? Ich bräuchte noch Deine Adresse, damit die 
Post vor Ostern rausgeht.

von Kurz Schluss (Gast)


Lesenswert?

Hallo Frank,
hast Du meine PayPal-Zahlung für die Bluepills bekommen?
Viele Grüße und frohe Ostern

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Kurz Schluss schrieb:
> Hallo Frank,
> hast Du meine PayPal-Zahlung für die Bluepills bekommen?
> Viele Grüße und frohe Ostern

Ja, Brief ging auch Donnerstag auf die Reise.

von Kurz Schluss (Gast)


Lesenswert?

Frank M. schrieb:
> Ja, Brief ging auch Donnerstag auf die Reise

Herzlichen Dank!!! Heute ist Dein Brief bei mir aufgeschlagen. Mal sehen 
wann ich dazu komme meine ZX-Spectrum-PS2 Tastatur damit aufzubauen...

von Johannes S. (Gast)


Lesenswert?

meine Adapterplatine ist auch gestern gekommen, vielen Dank!

von Chris Tian (Gast)


Lesenswert?

Hallo Frank,

bei mir ist der Brief heute angekommen.
Vielen lieben Dank nochmals

Chris Tia N

von Johannes S. (Gast)


Lesenswert?

Frank M. schrieb:
> Anbei 2 Bilder von dem geplanten Adapter, den ich bei Aisler bestellt
> habe.

hast du einen Plan von der Verdrahtung der Adapterplatine? Das Touch 
display ist nicht komplett angeschlossen, oder?

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Johannes S. schrieb:
> hast du einen Plan von der Verdrahtung der Adapterplatine? Das Touch
> display ist nicht komplett angeschlossen, oder?

Ich meine schon, siehe Anhang. Oder habe ich eine Verbindung vergessen?

von Johannes S. (Gast)


Lesenswert?

danke, hatte nur im eingelöteten Zustand nachgesehen, da war das nicht 
genau zu erkennen. Mit Plan ist einfacher.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Kurz Schluss schrieb:
> Mal sehen wann ich dazu komme meine ZX-Spectrum-PS2 Tastatur damit
> aufzubauen...

Wenn Du soweit bist, solltest Du das neue STECCY-Release 1.5.1 flashen. 
Ich musste nämlich für die ZX-Spectrum-PS2-Tastatur noch die 
Unterstützung der Cursors-Keys (Shift 6 etc) ins Menü einbauen. Dies 
ging bisher nur mit der ZX-Tastatur als Matrix-Tastatur.

Außerdem zeigt STECCY nun an, ob man sich gerade im 48K oder 128K Modus 
befindet.

Link auf neues Release 1.5.1:

https://github.com/ukw100/STECCY/releases/tag/1.5.1

von Kurz Schluss (Gast)


Lesenswert?

@Frank M.: Vielen Dank für den Hinweis!!!

von 900ss (900ss)


Lesenswert?

Ich bin zu doof ;)

Ich habe jetzt das Update auf die 128k Version gemacht: V1.5.1
Wenn ich den Tapeloader wähle, erscheint unten "Tape Loader" to 
cancel....

Und dann? Ich krieg nichts weiter hin. Habe dann nach dem Manual gesucht 
und es damit versucht. Ich benutze eine USB PC-Tastatur und habe mir ein 
Foto des ZX auf den PC geparkt, damit ich die Tasten finde. Klappt 
nichts. Nur TAB und Reset, dann bin ich wieder im Hauptmenu.
Das ist kein schönes Spiel ;)

Weiterführende Hinweise sind willkommen :)

Edit: Die 48K Version lädt das Spiel, es startet automatisch nach "Load" 
was vorher nicht so war. Aber die Cursortasten der Tastatur funktioren 
nicht mehr. Jeder gefühlte 300. Anschlag wird erkannt. Hmmm...

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Ich habe jetzt das Update auf die 128k Version gemacht: V1.5.1
> Wenn ich den Tapeloader wähle, erscheint unten "Tape Loader" to
> cancel....

Der 128K-Tapeloader macht nichts anderes als
1
LOAD ""
"einzutippen".

Du gehst am besten vorher (geht aber auch nachher) ins STECCY-Menü, 
lädst über den Menüpunkt "LOAD" das Programm in den "Cassettenspieler", 
dann bestätigst Du den 128k-Tapeloader mit RETURN. Geht aber auch in der 
umgekehrten Reihenfolge.

Du kannst aber auch ins 128K-Basic gehen und dann L O A D " " eintippen 
- im 128K-Basic werden die Basic-Befehle durch Buchstabeneingabe 
eingegeben - im Gegensatz zur 48K-Version, wo jede Taste ein Token ist.

Im 128K-Basic brauchst Du also das Foto der ZX-Tastatur nur noch 
bedingt.

> Edit: Die 48K Version lädt das Spiel, es startet automatisch nach "Load"
> was vorher nicht so war.

Welches Spiel?

> Aber die Cursortasten der Tastatur funktioren
> nicht mehr.

Im Basic oder im Spiel? Ist das in der 1.5.0 auch so?

Link zur 1.5.0: https://github.com/ukw100/STECCY/releases/tag/V1.5.0

Die 1.5.1 bretrifft ja im wesentlichen nur die Anpassung der ZX-Tastatur 
mit PS/2-Verbindung.

> Jeder gefühlte 300. Anschlag wird erkannt. Hmmm...

Komisch, kann ich übderhaupt nicht nachvollziehen.

von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> Komisch, kann ich übderhaupt nicht nachvollziehen.

Nee, bei der Tastatur waren wir uns noch nie einig ;)

Ich probiere morgen mal die alte Version. Die Cursortasten 
funktionierten im Spiel nicht mehr. In den Menus schon. Wie das Spiel 
genau hieß, weiß ich nicht im Kopf, liege jetzt auf dem Sofa ;)

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss D. schrieb:
> Ich habe jetzt das Update auf die 128k Version gemacht: V1.5.1
> Wenn ich den Tapeloader wähle, erscheint unten "Tape Loader" to
> cancel....

Ich glaube, Dir fehlt noch etwas an Hintergrundwissen:

Das Start-Menü

- Tape Loader
- 128 Basic
- Calculator
- 48 Basic
- Tape Tester

erzeugt der Original ZX-Spectrum 128K, nicht STECCY. Das ist der 
Boot-Bildschirm des 128K-Spectrums. Daher ist das auch nicht in der 
STECCY-Dokumentation beschrieben. Übrigens kommt man mit SHIFT-1 wieder 
zurück zum Boot-Menü des 128K-Spectrums (außer, wenn man "48 Basic" 
auswählt), wenn man einen der Menüpunkte versehentlich angewählt hat. 
Den Tape-Loader kann man mit der Tastenkombination SHIFT-SPACE 
abbrechen, was auf der PC-Tastatur auch einfacher mit ESC geht. 
Vielleicht verstehst Du jetzt, warum noch ein wenig mehr Aktion nötig 
ist als nur "Tape Loader" auszuwählen. Der User muss trotzdem immer noch 
den Cassettenrecorder starten. ;-)

Ich überlege aber, einen zusätzlichen Hook über die 
Tape-Loader-ROM-Routinen zu legen. Hat man noch keine Tape-Datei 
ausgewählt und werden die Tape-Loader-Rom-Routinen angesprungen, könnte 
man eigentlich an dieser Stelle auch die Tape-Dateien anzeigen...

Wenn Du im 128K-Bootmenü "48 Basic" auswählst, bleibst Du im 128er 
Modus. Der ZX-128K hat 2 ROMs, das eine ist das 128K Basic Rom (c 1986), 
das andere ist das 48K Basic Rom (c 1982) des 128er(!) Spectrums.

Erst wenn Du über das STECCY(!)-Menü "ROM" das 48K-Rom auswählst, wird 
auch der Original 48K Spectrum emuliert und nicht mehr der 128K. Das 
STECCY-Menü ist weiterhin über die TAB-Taste aufrufbar.

900ss D. schrieb:
> Die Cursortasten funktionierten im Spiel nicht mehr. In den Menus schon.

Vermutlich war im Spiel nicht mehr Cursor-Joystick eingestellt. Dann 
gehen nämlich höchstwahrscheinlich die PC-Cursor-Tasten nicht. Der 
Original-Spectrum kennt auch keine Cursor-Tasten, nur die Kombinationen 
SHIFT-5 bis SHIFT-8, welche ein Cursor-Joystick emuliert. STECCY setzt 
die 4 PC-Cursor-Tasten in die Kombinationen SHIFT-5 bis SHIFT-8 um. Wenn 
aber im Spiel andere Tasten oder ein anderer Joystick eingestellt ist, 
kann das nicht klappen.

: Bearbeitet durch Moderator
von Burkhard T. (mikro-tiger)


Lesenswert?

@ukw Hallo Frank,
habe es endlich geschafft, den STM32 mit einem 7" Display auszustatten.
Die erste Hürde war, dass auf meinem Display-Board keine Verbindung bei
"Backlight-Controll" - "Allways_ON" gesetzt war. Nachdem ich dann eine
Lötbrücke gesetzt habe lief es aber. Eine USB-Tastatur angeschlossen und
im 128K-Modus gestartet. Alles toll mit der Adapterplatine für das
Display - nur die Netzteilverbindungen waren erforderlich und sonst kein
"Drahtverhau". Nach dem Booten das STECCY-Menü mit der TAB-Taste
aufgerufen und der erste Eintrag oben rechts "Kempston Interface"
leuchtet rot .... und das war's dann :(
LEERTASTE- keine Funktion - ESC - keine Funktion -
Ausschalten/Einschalten, dann bootet er wieder. Die Spectrum-Funktionen
sind in Ordnung aber im STECCY-Menü komme ich nicht zur Dateiauswahl,
weil es im obersten Eintrag "hängt". Ist das jetzt nur bei mir so oder
ist da ein Fehler in der Steccy.hex (V1.5.1)?
-Gerade ausprobiert - bei der Version 1.5.0 hab ich das gleiche
Problem...

- jetzt habe ich den ini-Eintrag in der SD-Karte so geändert, dass nur 
48K Modus startet - und damit funktioniert auch das STECCY-Menü.
Mit dem 128K-ROM "friert" der Bildschirm beim Drücken der TAB-Taste (ich 
habe nur die USB-Variante) komplett ein ...

- so und nun habe ich den STM32 nochmals programmiert (V1.5.1) und was 
ist das Ergebnis? Plötzlich läuft alles !!!
Scheint ein "temporärer Wanderfehler" gewesen zu sein.
Somit kann ich abschließend nur meine höchste Hochachtung für diese 
programmiertechnische Meisterleistung aussprechen !!! Danke Frank(ukw)

: Bearbeitet durch User
von Burkhard T. (mikro-tiger)


Lesenswert?

Hallo,
was mir zu der Geschichte noch einfällt: als der "Einfrierfehler" 
auftrat hatte ich in der "ini" neben KEYBOARD=USB auch KEYBOARD=ZX 
aktiviert. Zum Schluss hatte ich den ZX-Eintrag deaktiviert.

von Burkhard T. (mikro-tiger)


Lesenswert?

Tatsächlich habe ich jetzt auch rekonstruieren können:
Sobald in der "ini"
KEYBOARD=ZX
KEYBOARD=USB
gemeinsam aktiviert sind, friert SPECCY nach Betätigen der 
Tabulatortaste ein.
Also die ZX-Tastatur mit # deaktivieren oder tatsächlich auch eine 
ZX-Tastatur anschließen, evtl. reagiert der SPECCY dann ja auf die 
ZX-Tastatur.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Burkhard T. schrieb:
> Tatsächlich habe ich jetzt auch rekonstruieren können:
> Sobald in der "ini"
> KEYBOARD=ZX
> KEYBOARD=USB
> gemeinsam aktiviert sind, friert SPECCY nach Betätigen der
> Tabulatortaste ein.

Danke für Deinen Hinweis, ich kann auch nicht immer alle Kombinationen 
von Tastaturen, Displays, Gamepads und Ini-Dateien testen. Ich werde 
versuchen, das nachzustellen und es dann beheben.

P.S.

Ich habe Deinen zusätzliche geöffneten Thread zu dem nun von Dir selbst 
gelösten Problem mit der Begründung "Doppelpost" gelöscht.

: Bearbeitet durch Moderator
von Burkhard T. (mikro-tiger)


Lesenswert?

Danke für das Löschen - war schon spät gestern Abend...

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Version 1.5.2 ist online.

Erweiterungen und Bug-Fixes:

- Automatischer Aufruf des LOAD-Menüs durch Basic-Kommando "LOAD"
- Turbo-Modus kann über ZX Spectrum Software gesteuert werden
- ROM Hooks zur Beschleunigung von PLOT, DRAW, über ZX Software 
steuerbar
- Unterstützung von POK-Dateien: Unsterblichkeit u.a. bei Spielen
- Bug Fix in USB Tastaturrroutinen

GitHub Repository: https://github.com/ukw100/STECCY

GitHub Release 1.5.2: 
https://github.com/ukw100/STECCY/releases/tag/V1.5.2

Sowohl die Dokumentation bei GitHub als auch der Artikel auf µc.net 
wurde aktualisiert.

Viel Spaß!

von Kurz Schluss (Gast)


Lesenswert?

Hi Frank,

hast Du eigentlich noch irgendwas mit einem externen (VGA) Monitor auf 
dem Radar? Die SSD1963 7" sind mittlerweile immer schlechter verfügbar 
und klettern dafür im Preis (...dein Link zum Eckstein-Shop funzt auch 
nicht mehr und dort heißt's auch nur "Lange Lieferzeit beachten"...)

Viele Grüße

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://de.wikipedia.org/wiki/Clive_Sinclair
Der Erfinder des ZX80/81/Spectrum ist gestern im Alter von 81 Jahren 
gestorben.

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.