Zxpand+ with Midi.

ZX-Team Forum
Benutzeravatar
tofro
User
Beiträge: 920
Registriert: 14.06.2012, 16:45

Re: Zxpand+ with Midi.

Beitrag von tofro » 29.07.2017, 22:19

Die Bitrate wird er schon schaffen, das macht ja normalerweise ein UART - Mit Assembler programmiert und im Fast-Modus sollte er die Zeichenrate auch (ziemlich lässig sogar) schaffen und die Leitung tatsächlich "voll kriegen".

Ein Größenvergleich:

Ein Spectrum mit IF1 erzeugt an der Sinclair-Netzwerk-Buchse Verkehr mit 87,5kBps - Ganz ohne Hilfe eines UART, nur mit Bit-Banging (also Erzeugung der seriellen Bits nur mit Hilfe der CPU). Und er ist auch in der Lage, diese Bitrate zu empfangen und zu "verdauen". Und ein Spectrum ist jetzt nicht um Größenordnungen schneller als ein Zeddie im Fast-Modus.

Gruß
Tobias
“Computers, huh? I've heard it all boils down to just a bunch of ones and zeroes.... I don't know how that enables me to see naked women, but however it works, God bless you guys.” - King of Queens

Benutzeravatar
msch
User
Beiträge: 3644
Registriert: 05.02.2013, 15:42
Wohnort: Hessen, Rhein-Main-Gebiet

Re: Zxpand+ with Midi.

Beitrag von msch » 30.07.2017, 08:53

Na - dann hätten wir ein weiteres Experimentierfeld ;-)
Wenn sich noch jemand mit dem MIDI-Protokoll beschäftigen will.
Ich weiss nicht, was man diesbezüglich vom zxpand+ Projekt (Midiplayer) abschauen kann - man muss das Rad ja nicht doppelt erfinden.
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (lichtung, Ernst Jandl)

Benutzeravatar
bodo
User
Beiträge: 310
Registriert: 14.02.2007, 17:21
Kontaktdaten:

Re: Zxpand+ with Midi.

Beitrag von bodo » 30.07.2017, 11:14

Es gibt da weitere Aspekte: das Kommunikationsprotokoll (also die Bedeutung der einzelnen Bytes) und die elektrische Schnittstelle. Die Baudrate und das Protokoll der Byteübertragung sind hier schon klar, nämlich 31250 baud und die übliche UART-Kommunikation mit 8N1 (8 Datenbits, keine Parität und 1 Stoppbit).

Die Bedeutung der einzelnen Bytes lässt sich an den üblichen Stellen nachlesen, die Wikipediaseite scheint ein guter Startpunkt zu sein.

Die elektrische Schnittstelle ist dort auch beschrieben. Es handelt sich um eine 5-mA-Stromschleife, die auf der Empfängerseite per Optokoppler galvanisch getrennt ist. Musiker mögen halt keine Masseschleifen, die brummen so blöd. Als Steckverbinder sind 180°-DIN-Stecker (am Kabel) definiert, ich habe die noch als "Diodenstecker" kennengelernt.
B0D0: Real programmers do it in hex.

Benutzeravatar
siggi
User
Beiträge: 2183
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Zxpand+ with Midi.

Beitrag von siggi » 14.02.2018, 17:30

Paul hat geschrieben:
03.07.2017, 22:04
moggy hat geschrieben:
03.07.2017, 17:27
Hi Paul, it is a very good question.

If you would like let me know what keyboard you have and if there is particular file you want to hear I can alter the instrument-channel assignments to suit your device if it's not GM, although some drum assignments can be a pain as a drum-kit is made up of several parts and the note assignments may not match your keyboards drum-kit.

If you follow the link in the thread on the UK forum details of the req' board (pictured) is there for examination.
Thanks a lot Moggy.
I'm afraid it's only a very cheap keyboard I could afford while I was studying on university.
Not much money then :oops:
It's a Yamaha PSR 220. it has general Midi and can play the 16 instruments. While not beeing up to date it seems a good match to a ZX81 though :wink:
Kind regards Paul
Ich war in der Bucht angeln und habe nun auch so ein Schlüsselbrett an Land gezogen :mrgreen:
Nun muß nur noch Charlies Software auf Joachims RS232-Board umgehoben werden, dann können wir die im Duo oder gegeneinader spielen lassen :mrgreen:

Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
siggi
User
Beiträge: 2183
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Zxpand+ with Midi.

Beitrag von siggi » 23.02.2018, 09:26

siggi hat geschrieben:
14.02.2018, 17:30

Nun muß nur noch Charlies Software auf Joachims RS232-Board umgehoben werden, dann können wir die im Duo oder gegeneinader spielen lassen :mrgreen:

Siggi
Moin.
Ich habe mir man Charlies Midi-Interface und Software angesehen und hinsichtlich Portierung auf Joachims RS232-Board überlegt. Ist aber nicht so einfach ...
Die Midi-Interace Hardware wäre zwar recht einfach zu realisieren, damit sie mit V.24-Pegeln zurecht kommt (eine Diode und ein Widerstand sollte genügen, da braucht man dann Charlies Board nicht), aber die Software ist das eigentliche Problem.

Der Zeddy muß die Midi-Bytes mit recht hoher Geschwindigkeit (ca. 31 Kbaud) beim UART raushauen, was eigentlich den FAST-Modus erfordert, damit das kontinuierlich und ohne Pausen (z. B. während Bildausgabe bei SLOW) passiert, damit das Schlüsselbrett und die Mussig nicht ins Stottern gerät.

Andererseits wird in Charlies Software der 50-Hz-Takt der Bildausgabe als Taktgeber benutzt, der Zeddy muß also ("given by Design") im SLOW-Modus laufen.
Das könnte man vielleicht noch hinkriegen, wenn man Wilfs NOVA benutzt:
http://www.user.dccnet.com/wrigter/inde ... va2005.htm
Da kann man ja die Bildausgabe auf eine Zeile reduzieren, hat damit noch den 50 Hz Takt, aber viel mehr Rechenzeit zum Raushauen der Bytes übrig.

Das eigentliche Problem ist aber, daß die MIDI-Dateien (und erst recht die mit Charlies Programm für den Zeddy "mundgerecht" vorbereitenen Midi-Daten) nicht komplett ins Zeddy-Ram passen. Beim ZxPand werden die Daten ja blockweise (128/256 Byte?) kontinuerlich von der Karte gelesen und ausgegeben ("Streaming-Modus"). Außer ZxPand hat aber keines unserer Speichermedien diese "Streaming-Möglichkeit" (also Bytes kleckerlesweise von Datei zu lesen, nicht die ganze Datei auf einmal).

Zwar kann die VDRIVE-Firmware das, aber der USB-Treiber nutzt dies (noch) nicht. Auch die ZeddyNet-Lib kann das, aber die ZeddyNet-Applikationen nutzen das (noch) nicht (zudem bräuchte man ja dann einen TNFS-Server im Hintergrund als Datenspeicher).
Da muß also erst noch bestehende Massenspeicher-Software aufgeblasen werden, bevor man damit kontinuierlich Midi-Daten raushauen kann ...

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
Joachim
User
Beiträge: 904
Registriert: 06.11.2004, 20:21

Re: Zxpand+ with Midi.

Beitrag von Joachim » 23.02.2018, 09:59

Hallo Siggi,
eine Möglichkeit, nachundnach Daten einzuladen, könnte ich auch gut gebrauchen (Konvertierung von HPGL-Files für meine Fräse/Eiermaler). Könnte es mit einer zweiten seriellen Schnittstelle klappen? Eine andere Alternative wäre die Mega-Byte-Karte aus dem ZX-TEAM. Das sind 64 16KB-Bänke, die mit POKE 9, ebbes umgeschaltet werden. Allerdings weiß ich nicht, ob 1 MB ausreicht für die Midi-Daten.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
msch
User
Beiträge: 3644
Registriert: 05.02.2013, 15:42
Wohnort: Hessen, Rhein-Main-Gebiet

Re: Zxpand+ with Midi.

Beitrag von msch » 23.02.2018, 10:26

Mehr als ausreichend. Midi files sind recht kompakt.
Siehe http://www.midiworld.com/files/
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (lichtung, Ernst Jandl)

Benutzeravatar
siggi
User
Beiträge: 2183
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Zxpand+ with Midi.

Beitrag von siggi » 23.02.2018, 10:33

Die Megabyte-Karte würde reichen (@Mathias: die Midi-Files werden ja nicht direkt vom Zeddy verarbeitet, sondern Charlie wandelt die mit dem PC in eine Datei um, deren Daten der Zeddy im 50 Hz-Raster unverändert raushauen kann, die VIIIIIIEEEEEEEL grösser ist als die Midi-Datei), aber die haben ja wenige Leute. Das Aufbohren des USB-Treibers wäre m. E. sinnvoller und für viele hier nutzbar.

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
msch
User
Beiträge: 3644
Registriert: 05.02.2013, 15:42
Wohnort: Hessen, Rhein-Main-Gebiet

Re: Zxpand+ with Midi.

Beitrag von msch » 23.02.2018, 12:07

Ah, danke für die Aufklärung. Wie gross werden die denn?
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (lichtung, Ernst Jandl)

Benutzeravatar
tokabln
User
Beiträge: 1201
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: Zxpand+ with Midi.

Beitrag von tokabln » 23.02.2018, 12:17

Also eigentlich im KB Bereich

Ein Beispiel:
Interpret: Ed Sheeran
Titel: Perfect
Länge: 4:25
Tempo: 13 Wechsel [93-109 bpm]
Spuren: 15
Dateigröße: ~ 61 KB

http://shop.midimusic.de/index.php?p=ti ... 1362&opc=0
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, IBM PC 5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

Benutzeravatar
siggi
User
Beiträge: 2183
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Zxpand+ with Midi.

Beitrag von siggi » 23.02.2018, 13:54

msch hat geschrieben:
23.02.2018, 12:07
Ah, danke für die Aufklärung. Wie gross werden die denn?
So wie ich es sehe, wird aus einer 16kB Midi-Datei eine ca. 320 kB große .ZXM-Datei, wenn Charlies MIDIMASH-Programm damit fertig ist:

https://github.com/charlierobson/ZXpand ... /midi-mash

Da ist jede Menge "Luft" drin, die aber einfach vom Zeddy rausgeblasen werden kann (bzw. beim ZxPand vom PIC) ...

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Antworten