Das MIST Board: Klassische Computer per FPGA neu implementiert (Teil 5)

Seit meinem letzten Beitrag über das MIST Projekt sind nun sechs Monate vergangen und in dieser Zeit gab es sehr viele Updates.

Zunächst gibt es vier weitere Repositories mit folgenden Cores:

  • Apogee_MIST – Eine Implementierung des Apogee BK-01 (Апогей БК-01), ein russischer 8-Bit Computer von 1988 auf Basis des Radio 86RK.
  • BK0011M – Ein russischer PDP-11-Nachbau.
  • ZX_Spectrum-128K_MIST – Ein Sinclair ZX Spectrum 128K Core, der die Modelle 48K, 128K und Pentagon 128 mit korrekten CPU und Video-Timings emuliert, sowie DivMMC mit ESXDOS (TAP, TRD, SNA) und Kassetten (CSW files).
  • Dummy FPGA Core – Zeigt nur das Startmenü an.

Insbesondere der “Dummy FPGA Core” ist praktisch, denn hiermit kann schnell ein beliebiger anderer Core mit ausgewählt werden. Die Firmware (firmware_160123) sollte auch aktualisiert werden, denn diese ist dringend notwendig für die Emulation der BK0011M Harddisk.

Bei den Cores gibt es ebenfalls viele Updates: Amstrad CPC, Apple II, Atari 800, Atari 5200, BBC Micro, Commodore C64 mit 1541, Nintendo Gameboy, Amiga AGA, Atari ST, NES, Apple Macintosh Plus, Sinclair QL und Sinclair ZX Spectrum.

Sinclair QL

MiST - QL AbacusGut hat mir die Sinclair QL Implementierung gefallen. Leider ist diese noch nicht so perfekt (und flexibel) wie bei den Software-Emulatoren, aber sie kommt immerhin mit dem original ROM (Sinclair QDOS) und dem Minerva ROM (eine QDOS Reimplementierung von Laurence Reeves unter der GNU Lizenz) klar. Die bekannten QL Programme, wie ABACUS (siehe Bild), EASEL, QUILL und ARCHIVE, laufen problemlos. Die Implementierung erlaubt es zudem zwischen PAL und NTSC sowie 128 KByte und 640 KByte Arbeitsspeicher zu wählen. Ganz ohne Handbuch wird man den QL aber nicht bedienen können, denn insbesondere der SuperBASIC Interpreter verfügt über unzählige spezielle Befehle und auch die Verwendung der Microdrives ist etwas speziell. Wer Handbücher zum QL sucht, dem sei Dilwyn Jones Sinclair QL Website empfohlen. Dilwyn hat Unmengen an Informationen und PD-Software gesammelt und stellt sie auf seiner Homepage zum Download bereit.

Apple Macintosh Plus

MiST - Apple MacGespannt war ich auch auf die Implementierung des Apple Macintosh. Auch diese funktioniert, aber auch hier wurde wieder deutlich, dass die Software-Emulatoren sehr viel flexibler sind und auch mehr Peripherie nachbilden. Zum Austesten eines Macintosh Plus reicht es aber allemal. Zumal ich persönlich den Retro-Faktor bei einer FPGA-Implementierung etwas höher einschätze, als wenn man weiß, dass der Rechner auf einem schnöden Windows-Rechner nachgebildet wird.

Die weiteren Teile mit Tests sind hier zu finden: Teil 1, Teil 2, Teil 3, Teil 4

Retro-Konsole Vega Plus: Die verbesserte Neuauflage des ZX Spectrums

Im Dezember 2014 kündigte Sir Clive mit dem Sinclair Spectrum Vega einen Nachfolger zu seinem erfolgreichen Heimcomputer ZX Spectrum als Retro-Konsole an. Mein Kommentar dazu fiel ziemlich negativ aus. Jetzt sammelt Sir Clive erneut über die Crowdfunding-Plattform Indiegogo, um einen (verbesserten) Nachfolger zum Vega zu finanzieren. Das Sinclair ZX Spectrum Vega Plus getaufte Gerät ist wieder eine Konsole, aber diesmal zumindest kein Versuch einen ZX Spectrum in einem abgespeckten Zustand wiederzubeleben. Am 16. Februar startete die Kampagne mit dem Ziel £100,000 zu sammeln. Heute haben über 2000 Unterstützer bereits mehr als das doppelte dieses Betrags zusammengetragen.

Das Gerät verfügt über ein LC-Display und kann zusätzlich an einen Fernseher angeschlossen werden. Über 1000 Spiele werden bereits fest installiert mitgeliefert. Mit Hilfe einer microSD können weitere Spiele installiert werden, wobei sowohl 48K- als auch 128K-Spiele – u.a. in den Formaten .TAP, .Z80 und .SZX. – unterstützt werden.

Das Gehäuse wurde von Rick Dickinson entworfen, der auch für das Design der Gehäuse des ZX 80, ZX 81 und ZX Spectrum in den 1980ern verantwortlich war.

Im Gegensatz zum Vorgänger verfügt der Vega Plus über ein D-Pad, zusätzliche Aktionstasten und ein paar Knöpfe zum Ein- und Ausschalten und zum Aufruf eines Menüs. Ebenso gibt es einen Lautstärkeregler, einen Kopfhöreranschluss, ein Netzteilanschluss zum Laden des internen Akkus und einen TV-Anschluss (Composite Video).

Das Gerät kostet £100 (ca. 130 EUR) und wird voraussichtlich im September 2016 ausgeliefert.

Bild: Retro Computers

Kommentar:

Auch diese Neuauflage ist wieder ein Mock-up des Speccy. Aber diesmal wurde die Konsole als tragbare Retro-Konsole entworfen; sie besitzt kein lieblos abgespecktes Gehäuse mit ein paar Radiergummi-Tasten, das an einen Speccy erinnern soll.

Diese Konsole versucht gar nicht erst wie ein Speccy auszusehen, sondern geht dank des Designs von Rick Dickinson eigene Wege. Einzig die Regenbogen-Ecke und der Schriftzug “sinclair” deuten an, was sich in dem Gerät versteckt.

Sicher, es ist kein ZX Spectrum: Zu einem echten ZX Spectrum Feeling gehört halt auch die Radiergummi-Tastatur des Originals, aber eine bessere Lösung wieder die Klassiker aus den 1980er zu spielen, kann ich mir nicht vorstellen. Wer nur mal eben in BASIC programmieren möchte, kann auf eine Emulation zurückgreifen (z.B. einen der vielen Emulatoren unter Windows oder auch per FPGA-Emulation). Wer das echte Retro-Feeling möchte, muss derzeit das Original wieder in Betrieb nehmen.

Aber vielleicht erhört Sir Clive seine Fans noch und bringt einen “echten” – vielleicht auch etwas aufgemotzten – ZX Spectrum heraus oder, wie schon in meinem Kommentar zum Vega vorgeschlagen, ein passendes Speccy Gehäuse für einen Raspberry Pi.

Windows 3.11 Software im Browser ausprobieren

Das Internet Archiv stellte vor knapp zwei Jahren bereits zahlreiche klassische Spiele aus den 1970er und 1980er Jahren online. Jetzt folgt eine Software-Sammlung für Microsoft Windows 3.11, das vor nun über 22 Jahren, am 8. November 1993, erschien.

Wer neugierig ist, kann die Programme in einem im Browser laufenden Emulator ausprobieren. Außer dem Desktop mit seinen zahlreichen Werkzeugen, werden etliche Spiele und einige Anwendungen angeboten. Auch wenn die meisten Programme recht unbekannt sind, macht es Spaß auszutesten, wie PC-Software Mitte der 1990er aussah, zu einer Zeit, in der Atari ST und Commodore Amiga in Sachen Grafik und Sound dem PC weit voraus waren.

Link: Software-Sammlung auf Archive.org

Amiga Emulator WinUAE 3.2.0 veröffentlicht

Der Amiga Emulator WinUAE ist jetzt in der Version 3.2.0 verfügbar. Es gibt wieder einige neue Features, wie eine 64-Bit JIT-Emulierung (Just-in-Time) der 680×0-Prozessoren und der PPC-Architektur. Weiterhin werden PCI- und Commodores PC/AT-Bridgeboards, sowie die RTG Zorro II unterstützt. Für Videoanwendungen wird nun auch Genlock unterstützt mit einigen zusätzlichen Features, wie Transparenzen und spezieller ECS-Features. Das Changelog listet noch weitere Hardware, die WinUAE nun emulieren kann.

WinUAE ist frei verfügbar (GPLv2) und kann auf der Website des Entwicklers heruntergeladen werden.

Ausschnitt aus dem Changelog

WinUAE 3.2.0 (11.11.2015)
=========================

Major updates:

- 64-bit compatible 680x0 JIT.
- 64-bit compatible PPC emulation.
- PCI bridgeboards.
- Commodore PC/AT bridgeboards.
- A2410 RTG Zorro II board
- DCTV video port graphics adapter (Partially)
- Genlock "emulation", including transparency and ECS genlock features.
- Directory harddrive and hardfile KS 1.2 and older full autoboot support.

New emulated expansion hardware:

Accelerator boards:
- DKB Wildfire

HD controllers:
- 3-State Apollo 500/2000
- A2090 previously missing ST-506 support
- Elaborate Bytes A.L.F.
- Kupke Golem Fast SCSI/IDE
- Mainhattan Data Paradox SCSI
- Multi Evolution 500/2000
- OMTI-Adapter
- Spirit Technology HDA-506
- Tecmar T-Card/T-Disk
- Vortex System 2000
- Xebec 9720H

Commodore x86 bridgeboards:
- A1060 (A1000 Sidecar)
- A2088
- A2088T
- A2286
- A2386SX

x86 bridgeboard expansion devices:
- AT IDE HD controller (A2286 and A2386SX)
- XTIDE Universal BIOS compatible IDE HD controller.
- ISA VGA display card (Cirrus Logic GD542x based)

PCI bridgeboards:
- G-REX
- Mediator 1200/4000
- Prometheus

PCI bridgeboard compatible PCI cards:
- FM801 sound card
- ES1370 (SB128) sound card
- RTL8029 network card

Notes:

- SSE2 capable CPU is now required.

Other Updates:

- CD and sound card emulation audio output quality improved.
- 68020/030 prefetch emulation improved.
- High DPI display support improved.
- AGA subpixel scrolling emulated.
- Support shortcut paths (.lnk) in command line.
- More undocumented chipset features supported.
- Right control = right Windows key option.
- Memory accesses only -cycle-exact mode.
- UAE devices (uaeserial etc) are compatible with KS 1.2 and older.
- Improved compatibility with very old A500 config files.

Bug fixes:

- WinPCap network mode didn't detect any devices.
- 68030 data cache emulation fixes.
- Custom to/from RTG mode switch didn't check for filter changes.
- JIT on/off on the fly change (outside of GUI) was unreliable.
- Keyboard layout changed (B/C only) during device re-enumeration.
- D3D9 non-shader mode forgot scanline texture when switching modes.
- Audio wave recording created huge broken wave files.
- It was not possible to select HDF PCMCIA SRAM and IDE options.
- Flash ROM and RTC file dialogs didn't allow creation of new files.

Bild:

Das MIST Board: Klassische Computer per FPGA neu implementiert (Teil 4)

Seit meinem letzten Beitrag über das MIST Projekt sind nun drei Monate vergangen. Das ist Grund genug, um einmal nachzusehen, was sich in dem Projekt getan hat.

Zunächst einmal gibt es eine aktualisierte Firmware firmware_150715_r1207, mit der man das MIST Board updaten sollte. Die neue Firmware ist dringend notwendig für den ebenfalls aktualisierten C64 Core fpga64_c1541_150722_r1216. Die “1541” im Dateinamen bedeutet nicht, dass eine 1541 am MIST betrieben werden kann, sondern dass der Core endlich in der Lage ist D64 Images zu laden. Hierzu wird das Image im MIST Menü ausgewählt und anschießend kann man mit den üblichen Kommandos auf die Diskette zugreifen. Im Core wurden auch einige Video-Timings angepasst. War es vor drei Monaten noch schwierig ein stabiles Bild angezeigt zu bekommen, klappt das jetzt auf Anhieb.

Weiterhin gibt es Core Updates für den Amstrad CPC, Atari ST und Atari 800:

  • amstrad_150729_r003.10
  • core_150708_r1202
  • atari800_core20150517

Hier gibt es aber keine größeren Neuerungen. Beim Amstrad Core kann nun zwischen Schneider oder Amstrad gewählt werden, beim Atari ST wurden die Audio- und Video-Implementierungen verbessert und beim Atari 800 Core wurde der VGA Modus verbessert.

Die ersten drei Teile sind hier zu finden: Teil 1, Teil 2, Teil 3

C64 Emulatoren für PC und Android

In diesem Beitrag hatte ich vor einiger Zeit eine Übersicht über Emulatoren für verschiedene Systeme unter Android gegeben.

Hier nun eine Übersicht über Emulatoren, die speziell den C64 emulieren und unter Microsoft Windows oder Android laufen. Zusätzlich sind noch zwei Außenseiter für den Apple Macintosh und die Sony Playstation aufgeführt.

Microsoft Windows

Android

Sony Playstation

Apple Macintosh

Wenn kein Preis genannt wird, so ist der Emulator kostenlos verfügbar. Sollte ein C64-Emulator fehlen, bitte dieses kommentieren. Ich nehme ihn dann in die Liste auf.

Multidevice Adapter für Gamepads und Joysticks

Auf Kickstarter läuft noch bis zum 16. Juni eine Kampagne, die für den einen oder anderen Retro-Gamer interessant sein dürfte.

KADE miniConsole+Mit dem KADE miniConsole+ Adapter soll es möglich sein, die verschiedensten Eingabegeräte (Joysticks, Gamepads, Controller) an vielen Konsolen und Computern (z.B. Windows PC, Apple Macintosh, Sony Playstation, Nintendo Konsolen, Sinclair ZX Spectrum uvm.) zu betreiben. So kann z.B. ein NES Gamepad an einer Sony Playstation verwendet werden.

Günstig ist der Spaß jedoch nicht: Knapp 90 EUR soll das Gerät mit fünf Adaptern für Eingabegeräte kosten.

Bilder: KADE, Kickstarter

Das MIST Board: Klassische Computer per FPGA neu implementiert (Teil 3)

Im dritten Teil (Teil 1 hier und Teil 2 hier) möchte ich noch kurz über meine Erfahrungen mit der Implementierung des ZX Spectrums, Apple II und Colecovision berichten.

ZX Spectrum

MIST ZX SpectrumFür kaum einen anderen Rechner gibt es so viele Emulatoren wie für den ZX Spectrum. Damit ist es eigentlich schon logisch, dass es auch einen ZX Spectrum Core gibt. Ich benutze den Core spectrum_150319_r894.rbf – ein ZX Spectrum ROM wird nicht benötigt, dieses ist bereits integriert.

Wird der Core gestartet, muss als nächstes ein Reset oder NMI über das MIST Menü ausgelöst werden, damit sich der ZX Spectrum wie gewohnt meldet. Anschließend kann der Tape Loader angewählt werden, das zu ladende Tape wird danach im MIST Menü ausgewählt. Anschließend heißt es geduldig warten bis das Programm im Originaltempo geladen wurde. Leider akzeptiert der Core nur Tapes im *.csw Format. Die verbreiteten Formate wie TAP, Z80 oder TZX werden nicht unterstützt. Vorhandene TAP-Dateien müssen mit einem Tool erst konvertiert werden, was leider unnötig umständlich ist.

MIST ZX SpectrumEs gibt aber eine Möglichkeit auch andere Formate zu laden. Hierzu müssen jedoch einige Vorbereitungen getroffen werden. Zunächst wird wieder der Core auf die SD-Karte kopiert. Danach benötigt man ESXDOS, welches von dieser Website heruntergeladen werden kann. Aus dem Archiv benennt man die Datei ESXMMC.BIN in spectrum.rom um und kopiert sie zusammen mit der ESXMMC.TAP in das Hauptverzeichnis der SD-Karte. Weiterhin müssen die kompletten Ordner BIN und SYS auf die SD-Karte kopiert werden. Nachdem der MIST gestartet wurde, kann durch Auslösen eines NMI über das MIST Menü (oder F11) das ESXDOS Menü aufgerufen werden. Lohn der Mühe: Es ist nun möglich Z80-, SNA-, TRD-, SCR- und TAP-Dateien direkt zu lesen. CSW-Dateien werden jetzt nicht mehr erkannt. Möchte man diese wieder laden, muss die Datei spectrum.rom umbenannt werden.

Die Implementierung ist an sich gut. Der Core bildet einen 128K Speccy nach. Auch ein General Instrument AY-3-8912 Soundchip wird nachgebildet. Spiele für einen ZX Spectrum 128K und +2/+3 sollten daher laufen. Die PC-Tastatur simuliert eine ZX Spectrum Tastatur, indem die SHIFT-Tasten in CAPS SHIFT und STRG in SYMBOL SHIFT umgesetzt werden. Wer noch nie mit der speziellen Tastaturbelegung (immerhin sind die Tasten bis zu 6-fach belegt) eines ZX Spectrums zu tun hatte, wird es zunächst schwer haben die richtigen Kommandos zu finden. Leider kann nicht zwischen den verschiedenen ZX Spectrums, wie 16K, 48K oder 128K etc., gewählt werden. Perfekt wäre die Implementierung, wenn jetzt noch Nachbauten, wie SAM Coupe, ausgewählt werden könnten.

Ein großer Minuspunkt muss noch erwähnt werden: Leider werden die Joystickports des MIST nicht unterstützt. Hier wäre eine Kempston-Simulation wünschenswert gewesen, so ist man bei Spielen auf die PC-Tastatur angewiesen. Auch wäre es wünschenswert, wenn über das MIST Menü die Tastaturbelegung eingeblendet werden könnte.

Apple II

MIST Apple IIDie Konfiguration des Apple II Cores ist wieder einfach: Den Core appleii_150415_r1008.rbf (ggf. umbenannt in core.rbf) zusammen mit der gewünschten Apple Software als Diskettenimage *.nib auf die SD-Karte kopieren. Im MIST Menü kann ein Image ausgewählt werden, was dann automatisch startet. Die Implementierung ist gut gelungen. Es wird aber keine der zahlreichen Zusatzhardware des Apple II nachgebildet, für die meiste Software dürfte die Kompatibilität aber reichen.

Colecovision

MIST ColecovisionDie Implementierung der Colecovision ist nahezu perfekt. Einfach den Core colecovision_150324_r933.rbf auf die SD-Karte kopieren, das MIST Board starten und das gewünschte Cartridge im MIST Menü auswählen.

Von den ausprobierten Cartridges liefen alle problemlos. Video und Sound werden gut nachgebildet. Auch ein Joystick wird am MIST Board unterstützt.

Fazit

Nachdem ich nun mehrere Systeme ausprobieren konnte, muss ich dem MIST Board bescheinigen, dass in der Nachbildung eines Rechners per FPGA viel Potential steckt. Leider sind die Cores nicht so flexibel wie ein Software-Emulator und sie bilden längst nicht jede Peripherie nach. Auch die unterstützten Tape- oder Disketten-Formate sind sehr eingeschränkt, was zusammen mit dem Preis für das FPGA-System den größten Nachteil darstellt. Andererseits benötigt man keinen Windows- oder Linux-Rechner, möchte man einmal ein klassisches Spiel starten. Fans klassischer Konsolen und Computer, die etwas Kleingeld übrig haben, sollten ruhig einen Blick auf das MIST Board werfen. Zu den knapp 200 EUR für das MIST Board sind aber noch ca. 20 EUR für Maus, Tastatur und Netzteil einzuplanen. Dazu kommen weitere 10-30 EUR für ein Joystick oder Gamepad. Möchte man den C64 Core betreiben kommen ggf. auch noch 30 EUR für einen “CGA/EGA/YUV to VGA” Umsetzer dazu. Letzteren kann man aber auch noch dazu verwenden Geräte mit einem CGA- oder EGA-Ausgang an einem aktuellen Monitor zu betreiben.