DEV-TRONIC.de

6502 – Eine 256 Byte großen Block kopieren

Dieses kleine Programm kopiert 256 Byte von einem Adressbereich in einen anderen Adressbereich. Es wird mit Zero-Page-Pointern gearbeitet. / ; Kopiert 256 Bytes von $0200 nach $0300, clobbert A,X; Zyklen: ~ (4 + 256*(6..7)) je nach Page-Crossing .org $0801 ; Beispielstart (optional)srcPtr = $fb ; Zero-Page-WorddstPtr = $fd lda #$00 sta srcPtr lda #$02 sta srcPtr+1 lda #$00 sta dstPtr lda #$03 sta dstPtr+1 ldx #$00copyLp: lda (srcPtr),x ; 6 Zyklen (7 bei Page-Crossing) sta (dstPtr),x ; 6 Zyklen (7

Weiterlesen

Z80 – 8 Bit Multiplikation

Der Z80 hat selbst keine direkten Maschinenbefehle für Multiplikationen an Bord…. Leider! Aber OK, aus der Schule wissen wir, dass eine Multiplikation auch problemlos durch Additionen dargestellt werden kann. Im Folgenden nun eine kleine Routine für 8 Bit-Multiplikationen mit max 16 Bit Ergebnis Folgende Register werden genutzt: HL = ErgebnisD = MultiplikatorE = Multiplikand Hier noch eine weitere 8 Bit Multiplikation mt 16-Bit-Ergebnis in HL:

Weiterlesen

Z80Ardu – Extended Memory

Nachdem ich die Grafikkarte mit dem MC6847 beiseite gelegt, und diese durch die Grafikkarte mit dem TMS9918 ersetzt hatte, wurde der Speicherbereich von E000 bis FFFF frei. Zuvor war dort der Speicher für die MC6847-Grafikkarte. Da der TMS9918 seinen Speicher unabhängig vom regulären 64 Kilobyte-Speicher des Z80Ardu verwaltet (dieser befindet sich für den Z80-Prozessor unsichtbar auf der TMS9918-Grafikkarte), kann der nun freie Speicherbereich wieder für andere Zwecke genutzt werden. Es liegt also nahe, den Bereich wieder mit RAM zu belegen,

Weiterlesen

Z80Ardu – DoubleSID Soundkarte

Früher hatten Computer maximal einen kleinen Lautsprecher verbaut, über den Pieptöne ausgegeben wurden. Die Möglichkeiten, auf diesen Geräten „Musik“ zu erstellen, waren schlichtweg nicht vorhanden. Einige Spiele holten dennoch unterschiedliche Töne aus der spärlichen Ausstattung heraus. Als die Homecomputer Ende der 70er, Anfang der 80er Jahre herauskamen, änderte sich das. Man verbaute in diesen Computern gerne auch einen Soundchip. Häufig wurde der Chip AY-3-8910 von General Instrument eingesetzt. Dieser wurde außerdem zuvor bereits in Spielautomaten eingesetzt. Mit dem Erscheinen des

Weiterlesen

Z80Ardu – Soundkarte mit SN76489 (gestoppt)

Dieses Projekt habe ich gestoppt. Das Prinzip funktioniert. Der abgebildete Prototyp tut, was er soll, nämlich Sound wiedergeben. Ich wollte aber eigentlich immer eine Soundqualität haben, die sich mit dem SID des C64 messen kann. Deshalb gibt es das Projekt „Z80Ardu – DoubleSID Soundkarte„ Der Baustein SN76489 wurde von Texas Instruments gebaut und in vielen frühen Homecomputern und Konsolen eingebaut. Bei dem Baustein handelt es sich um einen „Digital Complex Sound Generator“ oder auch PSG (programmable sound generator) genannt. Die

Weiterlesen

Z80Ardu — Displaydapter (mit TMS9918)

Der für den Z80Ardu entwickelte „Grafikadapter“ mit dem MC6847 (siehe hier) funktioniert ganz prima. Die aktuelle Version hat auch keine Probleme mehr, wenn es um schnelle Speicherzugriffe geht. Dennoch: Ich hatte schon länger den Wunsch, die in meiner Bastelkiste schlummernden TMS9918 oder TMS9929 von Texas Instruments als Basis für eine „Grafikkarte“ zu verwenden. Diese Chips kamen unter anderem im Homecomputer TI99/4a und in den Computern nach dem MSX-standard zum Einsatz. Während ich mit dem MC6847 (inzwischen) recht vertraut bin, kenne

Weiterlesen

Z80 – Umwandeln einer Zeichenkette in Großbuchstaben

Diese kleine Routine wandelt eine Zeichenkette, die Kleinbuchstaben enthält, in Großbuchstaben. Jedes Zeichen wird geprüft. EKleinbuchstaben werden in Großbuchstaben umgewandelt. Ziffern und andere Zeichen bleiben, wie sie sind. Das Ergebnis der Umwandlung wird in die Zeichenkette zurück übertragen. Eine solche Routine ist recht hilfreich, wenn über eine serielle Konsole Daten eingegeben und interpretiert werden müssen.

Weiterlesen

Z80Ardu – Serielle Schnittstelle

Für die Kommunikation mit der Außenwelt wird typischerweise, neben einer Grafikkarte, auch gerne mal eine serielle Schnittstelle genutzt. Das kann eine klassische RS232-Schnittstelle sein oder aber auch eine einfach Kommunikation mit TTL-Signalen über drei Drähte (RX, TX und GND). Für den Z80Ardu-Computer hatte ich bereits zu einem sehr frühen Zeitüpunkt eine serielle Schnittstelle auf Basis des PC16550-UART Chips gebaut. Und die hat prima Dienste geleistet. Das Ganze war auf einer kleinen, ca 10 cm breiten und 2,5 cm hohen Platine

Weiterlesen

Z80Ardu – Displayadapter (mit MC6847)

Parallel zum eigentlichen Z80Ardu-Rechner wollte ich so etwas wie eine Grafikkarte bauen. Basis für den Displayadapter sollte der MC6847 sein. Dieser Chip wurde in den 80ern häufig in Heimcomputern verwendet. Der Chip hat folgende Eckdaten: Sicher handelt es sich um kein Grafikwunder. Aber dafür ist dieser Chip recht einfach zu handhaben. Einzig das Timing für den Zugriff auf den Videospeicher durch den Prozessor kann eine Herausforderung werden, wenn man keine Bildstörungen verursachen möchte. Zunächst habe ich meine Idee mal auf

Weiterlesen
1 2 3
Cookie Consent mit Real Cookie Banner