M4 Board – ein sehr einfacher Name für ein tolles neues Board für den Schneider CPC – dieses Mal aus Dänemark. Ich habe meine Version mit einem Anschluss für das schon bekannte Mother X4 bestellt.
An dem Gerät wird immer noch gearbeitet und die Firmware kann zum Glück relativ einfach aktualisiert werden.
Das M4 bietet einen Slot für eine microSD-Karte und Wi-Fi! Das Board kann direkt vom CPC mit Strom versorgt werden oder über eine USB Stromversorgung. Auf dem M4 gibt es dafür einen Jumper, mit dem das entsprechend eingestellt werden kann. Wenn EXT ausgewählt wird, wird die Stromversorgung des CPC verwendet, wenn USB ausgewählt wird, wird der USB-Anschluss verwendet.
Es gibt zwei Status LEDs:
ON – zeigt an, ob das Board mit Strom versorgt wird (blaues LED)
DD – Disc Drive – Diskettenlaufwerk – diese LED blinkt, wenn von der SD-Karte gelesen oder geschrieben wird
Der Schalter auf dem M4 kann zum Reboot des Boards als auch des CPC verwendet wird
Verwendung
Eine microSD-Karte in das M4 Board einstecken. Diese wird am besten mit FAT32 formatiert. Dann den CPC einschalten.
Ab diesem Zeitpunkt kann das SD-Dateisystem verwendet werden – z.B. SAVE/LOAD/RUN/CAT usw.
LOAD/SAVE sollte sich normal verhalten – wenn keine Dateiendung verwendet wird, wird sie automatisch ergänzt (., .bas, .bin) – .bak Dateien werden generiert, wenn Dateien mit SAVE überschrieben werden.
Wenn das Web-Interface, Romboard, Echtzeituhr oder der Datei-Download aus dem Internet verwendet werden soll, muss die Netzwerkkonfiguration vorgenommen werden.
Das kann mit einen RSX-Befehl erledigt werden: |netset,““
Parameter
name – Netbios Name, nur Großbuchstaben und Zahlen verwenden
ssid – Name des WLAN-Netzwerks (Groß-/Kleinschreibung beachten)
pw – Kennwort des WLAN-Netzwerks
dhcp 0 = deaktiviert DHCP und verwende eine statische IP, 1 = verwende DHCP (die Einstellungen der statischen IP werden ignoriert
ip – statische IP für den CPC
gw – Gateway des Netzwerks
nm – Netmask des Netzwerks (normal 255.255.255.0)
dns1 – dns Server (z.B. google: 8.8.8.8)
dns2 – dns Backup Server (z.B. google: 8.8.8.4)
ntp – ntp Zeitserver – wird verwendet um die Uhrzeit zu erhalten
tz – Zeitzone – kann +/- 12 Stunden sein – entsprechend der eigenen Zeitzone einstellen
Beispiel bei Verwendung eines DHCP Servers
|netset,“name=CPC6128, ssid=NETGEAR, pw=12345678, dhcp=1, dns=8.8.8.8, dns2=8.8.8,4“
Das reicht aus, um für das Internet fit zu sein. Der Rest der Einstellungen kann über das Web-Interface des M4 Boards vorgenommen werden.
Prüfen der Einstellungen
|netstat
wenn die Verbindung in Ordnung ist, wird die IP-Adresse angezeigt
Diese IP-Adresse kann in einen Browser eingeben werden (oder auch den netbios-Namen der zuvor festgelegt wurde) und die restlichen Einstellungen unter „settings“ vornehmen
Wird der netbios-Name verwendet wird:
http://CPC6128
Es kann bei der ersten Verwendung etwas dauern, da der Computer erst den netbios-Namen mit der IP verbinden muss.
Wird die IP-Adresse verwendet:
http://192.168.178.203
Nach den ersten Einstellungen werden die entsprechenden Daten auf der microSD-Karte in dem Ordner m4 als config.txt abgespeichert. Diese Datei kann auch editiert und somit Änderungen direkt vorgenommen werden. Beim nächsten Einschalten werden diese Einstellungen geladen und der CPC automatisch mit dem Internet verbunden. Es wird empfohlen eine statische IP zu verwenden (und nicht DHCP), da damit das M4 Bord praktisch sofort verbunden wird.
Dateisystem
Dateinamen werden aus Kompatibilitätsgründen im 8.1 Format angezeigt. Verzeichnisnamen werden komplett angezeigt, wenn sie aus weniger als 17 Zeichen bestehen. Sind die Namen länger, werden kurze Namen verwendet.
Befehle
Es werden die gleichen Befehle verwendet wie beim Original-System, z.B. load, save, run, openin, openout, cat usw.
Zum richtigen Arbeiten mit Verzeichnissen, Wifi, und anderem, wurden einige RSX-Befehle hinzugefügt und haben erweiterte Fähigkeiten.
Bei CPC’s mit Basic 1.0 (z.B. CPC464), funktionieren die RSX-Befehle etwas anders, sodass die Parameter nicht direkt an die RSX übergeben werden können. Hier muss es über eine Variable gemacht werden.
z.B der Wechsel in ein Unterverzeichnis (der Name des Verzeichnisses lautet: DISCS)
BASIC 1.0:
A$=“DISCS“:|cd,@A$
BASIC 1.1:
|cd,“DISCS“
Wichtige Befehle und deren Bedeutung/Verwendung
|CD – Verzeichnis wechseln, wie aus DOS bekannt
|cd,“spiele“ – wechselt in das Verzeichnis „spiele“
|cd,“spiele/batman“ – wechselt in das Verzeichnis „spiele/batman“
|cd,“.. – ein Verzeichnis zurück
|cd,“/ – zurück in das Root-Verzeichnis der SD-Karte
DSK-Dateien, die in vielen Emulatoren verwendet werden, können auch wie Verzeichnisse verwendet werden
|cd,“robocop.dsk“ – wechselt in die DSK-Datei als wäre sie ein Ordner
|cd,“.. – springt zurück aus der DSK-Datei
Achtung: DSK-Dateien sind zurzeit nur zum Lesen!
|DISC – auf das AMSDOS Diskettenlaufwerk umschalten, wenn vorhanden
|SD – auf M4 umschalten (MicroSD)
|TAPE – auf Kassette umschalten
|SNA – Snapshot Image starten
|SNA,“FRANKIE.SNA“
|COPYF – kopiert Datei
|copyf test.bas test2.bas (Quell-Datei, Ziel-Datei)
|FCP – kopiert Dateien zwischen microSD und Disketten
|FCP,“DATEI.BIN“, „A:“ – kopiert die DATEI.BIN auf Laufwerk A
Die SD-Karte kann auch mit dem Laufwerksbuchstaben C angesprochen werden
|FCP,“A:DATEI.BIN“, „C:“ – kopiert DATEI.BIN von Laufwerk A in das aktuelle Verzeichnis der microSD
Es gibt eine Möglichkeit Wildcards zu verwenden, „*“ zum Kopieren aller Dateien von einer Diskette in ein Verzeichnis
|FCP,“A:*“,“C:“ – kopiert alle Dateien von Diskette A in das aktuelle Verzeichnis
|REN – Datei umbennen
|ren „neu.bas“,“alt.bas“
Genau wie bei CPC Disketten, kann der Befehl aber auch verwendet werden, um eine Datei oder einen Ordner von einem Verzeichnis in ein anderes zu verschieben
|ren,“games/robocop.dsk“,“robocop.dsk“ – verschiebt die Datei vom aktuellen Verzeichnis in das Spiele-Verzeichnis
|ERA – eine Datei oder ein Verzeichnis löschen
Es können Wildcards verwendet werden um mehrere Dateien/Verzeichnisse zu löschen
|era,“*.bak“ – löscht alle .bak Dateien im aktuellen Verzeichnis
|era,“spiele/r*.d?k“ – löscht alle passenden Dateien im Verzeichnis „spiele“
|MKDIR – Verzeichnis erstellen
|mkdir,“spiele/discs“ erstellt einen Unterordner im Verzeichnis „spiele“
|DIR – Verzeichnisinhalt anzeigen – wie bei den CPC Disketten – es können Wildcards verwendet werden, ähnlich wie der CAT Befehl
|dir,“games/discs/b?t*.dsk“ usw.
|LS – zeigt die Verzeichnisse mit langen Dateinamen an -die maximale Länge hängt vom Bildschirmmodus ab
|DSKX – DSK extrahieren
|dskx,“somedisk.dsk“,“/pfad“
|TIME – zeigt die aktuelle Zeit an, wenn ein entsprechender NTP Server konfiguriert wurde
|NETSET – siehe oben bei den Grundeinstellungen
|NETSTAT – zeigt den aktuellen Status der Netzwerkverbindung an
|HTTPGET – eine Datei aus dem Internet in ein bestimmtes Verzeichnis herunterladen
Parameter: url:port/name
Wenn kein Port konfiguriert wurde, wird Port 80 verwendet
|httpget,“spinpoint.org:80/battro.dsk“ oder
|httpget,“spinpoing.org/battro.dsk“
HTTPMEM – eine Datei wird aus dem Internet in den Speicher geladen, die maximale Größe auf einmal ist 0x4000 Bytes, es kann aber ein Offset angegeben werden, somit kann mehr in Chunks geladen werden
Parameter: url:port/name, Speicheradresse, zu lesende Größe
|HTTPMEM,“spinpoint.org/FIST.BIN“,&C000,&4000
Beispiel mit Offset: |HTTPMEM,“spinpoint.org/battro.dsk, offset=0x10000“,&8000, &1000
|ROMUP – ein ROM in einen bestimmten Slot laden.
|ROMUP,“UTOPIA.ROM“,15 – lädt das Utopia ROM in Slot 15
|M4ROMOFF – das M4 ROM bis zum nächsten Neustart abschalten – wird verwendet, wenn Zugriff auf das normale Diskettenlaufwerk benötigt wird oder eine CPC+ Cartridge gestartet werden soll
|VERSION – zeigt die aktuelle Firmwareversion des ESP8266 und Cortex M4 an
|UPGRADE – lädt die aktuellste Firmware aus dem Internet wenn verfügbar. Danach muss das M4 Board neu gestartet werden – entweder über den Reset-Schalter oder durch Aus-/Einschalten. Dann startet der Upgrade Vorgang und das Board zeigt nach Abschluss wieder die normale Einschaltmeldung an.
Erfahrungen
Auf die SD-Karte hatte ich vorher schon ein paar DSK-Dateien kopiert. Erst mal alle anderen Interfaces aus dem MotherX4 Board abgezogen und das M4 Board angesteckt und CPC eingeschaltet – nicht gut. Also doch ein Netzteil an das MotherX4 (ich nehm 5V 1A). Nun ist nach dem Einschalten alles OK. Als erstes gleich mal CAT eingegeben und siehe da: funktioniert schon mal. Die SD-Karte wird als A: angesprochen. Als Nächstes mit |NETSET das WLAN eingerichtet und mit |NETSTAT eine IP zurückerhalten. Passt 🙂 Nachdem ich im CPC Forum schon von einem Firmware-Update gelesen hatte, hab ich |UPGRADE ausprobiert und auf Version 1.03 aktualisiert. Als nächstes das Webinterface testen (IP-Adresse eingeben die |NETSTAT anzeigt). Dort gibt es vier Reiter – einen für Dateiupload, einen für das ROM-Board, einen für die Einstellungen. Alles sehr übersichtlich und im CPC Design gehalten. Per Dateiupload eine weitere DSK-Datei »hochgeladen« – nach |CAT am CPC fand ich die Datei auch auf der SD-Karte. Eine DSK-Datei kann auch »gestartet« werden – erst mal die Datei (Disk) mit |CD,“WESTBANK.DSK“ »öffnen« und mit RUN“ starten – läuft auch. Wenn die DSK-Datei länger als 8 Zeichen ist, sieht sie so aus: WESTBA~1.DSK – kann auch geöffnet werden; das ~ Zeichen kann mit Control+2 angezeigt werden. Verzeichnisnamen dürfen bis zu 17 Zeichen haben.
Beta-Firmware testen
Ab und zu tauchen Beta-Versionen der Firmware auf – die Dateien müssen nur in das Root-Verzeichnis der SD-Karte kopieren und der Rechner eingeschaltet werden dann wird das Upgrade ausgeführt. Ist der Vorgang abgeschlossen, werden die Dateien automatisch entfernt.
Verwendung zusammen mit XMEM
Da das M4 Board auch 32 ROM-Slots bietet, kann sich das mit dem XMEM überschneiden. Am einfachsten ist es die ROM-Slots des XMEM zu deaktivieren (Jumper unter dem großen Chip auf NO). Wenn 64 ROM Slots verwendet werden sollen (XMEM und M4 zusammen) muss per Webinterface des M4 die Startposition der ROMslots auf 32 setzen, sodass die M4 Slots hinter die XMEM Slots gemappt werden. Das kann aber Probleme mit der Position des M4 ROMs mit sich bringen, außer man hat einen CPC 6128 bei dem ROM 7 ersetzt werden kann.
Verwendung von ParaDOS
Kann ParaDOS mit dem M4 verwendet werden? Normal ersetzt es AMSDOS in Slot 7
-> M4 ROM kann in Slot 5 verwendet werden und ParaDOS wird dann in Slot 6 geladen.
Wichtige Firmwareänderungen
v2.0.4 beta 8 – http://www.spinpoint.org/cpc/M4FIRM_v204b8.zip
Sollten 512 KB CPR (Cartridges) verwendet werden, müssen die oberen 16 ROMs des M4 Romboards geopfert werden. Einfach auf der ROM-Seite im Webinterface bei „only 16 roms“ einen Haken setzen.
Ebenso wurde die Möglichkeit hinzugefügt, Cartridges per Webinterface auf das M4 zu laden und zu starten.
Es kann nun auch über das Web Interface Disks gewechselt werden – [CD ON CPC] drücken, wenn die Diskette ausgewählt wurde.
V2.0.4 beta 6 – http://www.spinpoint.org/cpc/M4FIRM_v204b6.zip
– viele Fehlerbehebungen für DSK’s – nun gibt es bei Spielen wie Chibi Akuma wieder einen Ladebildschirm und Spiele mit fragementierten Blocks wie z.B. Ninja Grannies und andere Spiele von @Joseman)
– neuer Befehl – |dskx – DSK extrahieren
Damit können die Dateien aus einem DSK-Image extrahiert werden
Verwendung: |dskx,“somedisk.dsk“,“/pfad“
Nützliche Software
– cpcxfer
Kommandozeilen Tool um Dateien auf und vom M4 via Wifi zu übertragen.
– YANCC
1. neueste Version herunterladen und auf SD-Karte
2. die entsprechende Diskette aufrufen
3. die Datei „config.bas“ aufrufen und Konfiguration starten – erst mal „Autostart YANCC“ / „Autostart Launcher“ n auswählen
4. YANCC ROM in Slot 1 und Launcher ROM in Slot 9
– Disk Navigation
Eine modifizierte Version des Disk Menu Programm von Joe Halstead zur Erleichterung der Navigation in Verzeichnissen,
1. die BAS-Datei im Hauptverzeichnis der SD-Karte speichern – Cursortasten dienen zur Navigation
2. mit der Leertaste kann ein Verzeichnis geöffnet oder eine Datei zum Laden oder Ausführen ausgewählt werden. Mit Cancel kann eine andere Datei gewählt werden. 0 = das Verzeichnis verlassen
3. wenn die .BAS-Datei in autoexec.bas umbenannt wird, wird sei gleich beim Einschalten des CPC gestartet
4. das Programm kann mit 2 x ESC verlassen werden
– Filelauncher
Ein einfacher Filelauncher als zusätzliches Programm (ROM) des YANCC, das aber separat verwendet werden kann (es müssen aber YANCC.ROM und LAUNCHER.ROM installiert sein)
– Menü Program
mit Programm und Spiele Download direkt aus dem Internet von Rafa32gr
– M4FE
ein Front-End für das M4 zum Starten von Programmen. Es wird in einen der ROM-Slots installiert und mit |M4FE gestartet. Es kann mit den Cursortasten oder einem Joystick bedient werden. Der Start der Software kann auch auf eine der Funktionstasten gelegt werden – z.B. „F0“ – einfach folgende Zeile eintippen und als AUTOEXEC.BAS speichern:
10 KEY n,“|M4FE“+CHR$(13)
Links:
www.spinpoint.org/cpc/m4info.txt
Duke aus Dänemark hat hier ein wunderbares Gerät erschaffen. Ein Massenspeicher für den CPC der leicht zu bedienen ist, ein Romboard und dazu noch Wi-Fi. Was will man noch mehr? Dazu noch eine Firmware mit einem tollen Umfang und einem tollen Support. Der Erfolg gibt ihm recht – über 350 Boards hat er schon verkauft! Dabei arbeitet er aber nebenbei auch noch an einer neuen Version, die noch etwas mehr kann – da darf man gespannt sein, wie er das M4 Board noch verbessern will.
Hallo Jungsi,
ich versuche schon seit einiger Zeit ein M4 und XMEM gleichzeitig in einem CPC464 zu betreiben.
Welche Einstellungen muß ich am XMEM vornehmen und welche im WebInterface des M4 ? Damit ich vom XMEM starten kann und auch die Slots dort mit dem ROMAN sehen kann?
Wo bekommt man das M4 Board her ?
Am einfachsten über das CPC Wiki Forum: http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amstrad-cpc-wifi/ und eine PN an den Ersteller des Beitrags mit dem Namen „Duke“ senden.
Ein richtig geiles Teil ist das. Nach deinem super Bericht habe ich mir auch direkt eines besorgt!
https://8bitrechner.wordpress.com/2019/03/09/m4-board-fuer-den-cpc/