Meltdown / Spectre

Aufgrund der verwendeten überlegenen Prozessortechnologie ist das Steckschwein nicht von den aktuellen Prozessor-Sicherheitslücken Meltdown bzw. Spectre betroffen.

Posted in Allgemein, cpu

Es wird wieder gesteckt

Wir haben uns schon länger ein Upgrade des Videochips des Steckschweins vorgenommen. Der TMS9929 ist ein netter Chip, aber an einem 8MHz-65c02, der dazu noch so coole Hardware-Features hat, fühlt er sich ein bisschen wie die Achillesferse an.

Zum Glück war beim TMS9929 nicht Schluss, denn dieser hat im Laufe der Zeit diverse Nachfolger bekommen, welche von Yamaha hergestellt wurden und in diversen Weiterentwicklungen des MSX-Standards Verwendung fanden.

Der direkte Nachfolger der TMS99xx-Reihe ist der V9938. Dieser kam 1984 raus, also ganze 7 Jahre nachdem der TMS9918/9929 erschienen ist, und hat dementsprechend auch einiges mehr drauf, z.B.:

  • ein 80×24 Zeichen-Textmodus
  • maximale Auflösung von 512 × 212 (16 Farben von 512)
  • 32 Sprites, davon max. 8 auf einer Rasterzeile
  • Hardwarebeschleunigtes Füllen, Linien ziehen, etc.
  • Vertikales Scrollregister

Der Nachfolger des V9938 wiederum ist der V9958 von 1988. Dieser hat gegenüber dem Vorgänger nur einige kleine Verbesserungen erhalten, und zwar unter anderem:

  • Horizontales Scrollregister
  • Hardwarebeschleunigtes Füllen, Linien ziehen, etc. auch in nicht-bitmap-Modi

Beide Chips können bis zu 192k DRAM adressieren, und zwar max. 128k Video-RAM + 64k Extended RAM. Es werden DRAMs in den Formaten 16Kx1b, 16Kx4b, 64Kx1b und 64Kx4b unterstützt.

img_3129.jpg

Unser Testaufbau “begnügt” sich mit 2x 64Kx4b und damit insgesamt 64Kb Video RAM (der TMS9929 kann nur max. 16K). Verglichen mit dem TMS9929 funktioniert das DRAM-Interface des V9958 selbst auf dem Steckbrett so stabil, dass wir auf irgendwelche SRAM-basierten Lösungen verzichten können. Auch der weitere Aufbau ist eher übersichtlich. Da der V9958 direkt RGB liefert, ist keine aufwendige Aufbereitung des Videosignals nötig. Als Ausgangsstufe wird ein Sony CXA2075M eingesetzt, der nebenher auch S-Video und Composite erzeugt. Damit dürfte sich künftig die Zahl der Steckschwein-geeigneten Fernseher/Monitore drastisch erhöhen.

Jetzt bleiben noch einige Detailfragen des Businterface zu klären. Wie MrFossi1 schon festgestellt hat, lassen sich Datentransfers ins Videoram nicht mehr in hoher Geschwindigkeit durchführen, während der Videochip im Blank ist oder das Display deaktiviert. Beim TMS9929 war das möglich.

Der V9958 hingegen verfügt allerdings über einen ominösen /WAIT-Pin, dessen Funktion allerdings erst per Software aktiviert werden muss. Das Datenblatt erwähnt die Wait-Funktion nur kurz als Möglichkeit, Zugriffe aufs VRAM zu beschleunigen, schweigt sich dann aber aus. Hier gilt es zu forschen.

Posted in 9918, Allgemein, dram, PAL, RGB, SCART, tms9929, V9958, vdp, video, video chip, video signal | 5 Comments

Neue Hardware – die Platinen sind da

Die neuen IO-Platinen mit integriertem UART sind fertig und haben ihren Weg von China nach München gefunden.

Mit dem neuen Layout hat es nicht nur der UART mit aufs IO-Board geschafft, es sind auch etliche kleinere und größere Verbesserungen eingeflossen:

  • Die Joystickports wurden komplett neu designed. Die Optokoppler sparen wir uns, stattdessen wählen wir über einen VIA Pin verschiedene Treiber an, die den gewünschten Joystickport mit VIA Port A verbindet. Die Ports lassen sich auch per Software komplett abschalten, damit der User-Port frei verfügbar ist. Als Schutz für die VIA werden Serienwiderstände verwendet.
  • Der SD-Karten-Footprint und der verwendente Slot passen genau zusammen. Das war beim alten Board nicht der Fall. Jetzt sind die Karten- und die Schreibschutzerkennung endlich nutzbar.
  • Die Datenpins für die PS/2 Schnittstelle am ATmega8 sind gewandert und liegen jetzt an PD6 und 7. Dadurch sind die RX und TX Pins des USART verfügbar geworden und können nun z.B. für das Debugging des Tastaturcontrollers verwendet werden.
  • Zweckmäßigere Plazierung vom SPI-Anschluss des ATmega8 und des freien SPI Ports am Platinenrand. Updates der Tastaturcontrollerfirmware sind nun kein Krampf mehr.
  • Der User-Port hat ein besseres Pinout.
  • Die neue Platine sieht einfach besser aus.
IMG_3091

Frisch ausgepackte Platine

IMG_3092

Fertig bestückte Platine

IMG_3093

Die nun obsolet gewordenen Platinen.

Posted in Allgemein, AVR, joystick, kicad, layout, platinen, PS/2, rs232, RTC, SPI, UART, VIA

Mal wieder neue Hardware

Die Zeit ist reif für ein Hardware-Update, und zwar für die IO-Platine 2.0. Vorgesehen war ja schon länger, den UART dort zu integrieren. Ausserdem war das Joystick–Interface noch unausgegoren, sodass auch hier etwas Neues entwickelt wurde.

Zum Schutz der VIA-Pins dienen nun keine Optokoppler, sondern simple Serienwiderstände sollen die Ports zumindest vor dem Fall schützen, dass man doch mal die Datenrichtung der Joystick-Pins auf Ausgang schaltet und dann die VIA grillt indem man den Joystick betätigt. Die Widerstände begrenzen den Strom auf 1mA. Das muss die VIA abkönnen. Zudem war im vorigen Design der Userport nicht wirklich nutzbar, weil immer noch die Joysticks daran hingen. Jetzt ist es so, dass jeder Joystick über Tri State Buffer an VIA Port A verbunden wird, und zwar grundsätzlich wahlweise. Ausserdem besteht die Möglichkeit, die Joyports komplett abzuschalten. Dies wird mit dem OUT1-Pin des UART bewerkstelligt. Somit läßt sich per Software konfigurieren, ob man Userport oder Joystick benutzen möchte.

Der User-Port hat ein neues, von Neil Franklin vorgeschlagenes Pinout, in dem nun auch die /RESET und /IRQ-Leitungen vorhanden sind. Auch am Tastaturcontroller hat sich eine Kleinigkeit geändert, die Datenpins für den PS/2 Port sind nach PD6 bzw. PD7 gewandert. Somit sind die RX/TX-Pins des AVR USART wieder frei und bereit für neue Schandtaten. Deswegen haben sie auch eine kleine Pinleiste spendiert bekommen.

io2_0

3D Rendering der neuen IO-Platine

Posted in Allgemein, joystick, RTC, SD-Karte, UART, VIA

Musik

Das Programmieren von Soundchips ist nicht trivial. Das habe ich damals auf dem C64 schon nicht kapiert. Mit dem Yamaha YM3812 oder auch OPL2 hat das Steckschwein einen weit komplexeren Chip als den SID, denn OPL2 kennt gleich ganze 9 Stimmen statt drei, und jede ist über eine Unzahl Parameter konfigurierbar.

Continue reading

Posted in Allgemein, opl2, sound, ym3812 | 5 Comments

Logikanalyse II [UPDATE]

Inzwischen sind die 74F00 eingetroffen und der 74HCT00 durch einen ebensolchen ersetzt. Das Oszilloskopbild sieht gleich deutlich besser aus:

tekway449_3

gelb: /WE, blau: A9

Der Schreibvorgang wird also jetzt zumindest abgeschlossen, bevor sich die Adresse auf dem Adressbus ändert. Das ist schonmal viel sauberer.

Nur leider hat es das Problem nicht gelöst, das Steckschwein läuft mit den “richtigen” RAMs immer noch instabil, was sich insbesondere bei BASIC-Programmen bemerkbar macht:

photo_2017-05-04_19-56-29

Wäre auch zu einfach gewesen.

[UPDATE] Ein weiterer Test mit anderen 55ns-SRAMs, nämlich Bausteinen von BSI im TSOP28-Gehäuse auf DIP28-Adaptern, lief problemlos durch. Das BASIC-Programm, mit dem wir testen, lief 2 Tage problemlos durch. Dies ist insofern bemerkenswert, als dass das Steckschwein mit diesen Bausteinen vorher überhaupt nicht lief. Also doch ein Erfolg.
Warum die 55ns-Chips von Alliance Memory Probleme machen, müssen wir noch untersuchen.

photo_2017-05-06_19-57-10

TSOP28-SRAMs auf DIP28 Adapter

Posted in adressdekoder, Allgemein, cpu, debugging, murphy, ram, sram, timing | 2 Comments

VCFe 18.0 – ein Resümee

Kein VCFe ohne einen resümmierenden Post-VCFe-Post von uns.

Vorweg: Der neue Veranstaltungsort im Kulturzentrum Trudering ist hervorragend. Eine moderne Veranstaltungshalle, mehr Platz als in der alten ESV-Turnhalle, großzügiger Foyerbereich und ein deutlich größerer Vortragsraum. Die Nahrungsversorgung bestreitet im Kulturzentrum Trudering das integrierte indische Restaurant “Taj”, welches ebenso überzeugen konnte. Alles in allem ein großer Gewinn und allen Anzeichen nach wird das nächste VCFe auch wieder dort stattfinden.

223033882_14372495918269115578

Das Steckschwein auf dem VCFe 18.0

Auch das Interesse am Steckschwein erstaunt und erfreut immer wieder. Dieses Jahr ging es in erster Linie darum, mit EhBasic ein lauffähiges BASIC auf dem Steckschwein nebst einiger Beispielprogramme aus  “101 BASIC Computer Games” zu zeigen.
Weiterhin haben wir mit Unterstützung von Carsten Strotmann versucht, VolksForth auf dem Steckschwein zum Laufen zu kriegen, um endlich mal am Ultimate Benchmark teilnehmen zu können. Leider hat sich das Steckschwein hier auch als stark Forth-resistent erwiesen, wie das auch schon bei unseren Versuchen mit FIG-Forth der Fall war. Aber wir bleiben dran.

Die Herren mit den Arcade-Automaten indessen haben merklich gefehlt. Für jüngeres Publikum gab es so nur wenig Daddelmöglichkeiten, weswegen das Steckschwein zeitweilig als Zockmaschine aushelfen durfte.

Alles in allem ist eine tolle Veranstaltung in einer neuen tollen Halle noch toller geworden und wir freuen uns aufs VCFe 19.0.

Posted in Allgemein, forth, vcfe