Dies ist eine alte Version des Dokuments!


U883

Der U883 ist ein spezieller Vertreter der U881-Familie der Einchipmikrorechner (EMR) der DDR. Der U883 ist maskenprogammierter U881, der interne PROM enthält ein einfaches TINY-MPBASIC.

ub8830d_k.jpg

Von Zilog gibt es den Z8671, einen Z8601 mit integriertem TINY-BASIC. Diese Variante entspricht überhaupt nicht dem U883!! Weder die BASIC-Beschreibung noch der PROM-Hexdump entsprechen denen des U883. Damit ist der Z8671 auch kein Ersatz für den U883.

Der U883 wird im Heimcomputer JU+TE TINY genutzt.

Ein Vorläufer des U883 ist der UB881D-004. Dieser maskenprogammierte Einchipmikrorechner enthält die Version 2.0 des Tiny- MPBASIC. im U883 ist Version 3.0 des Tiny-MPBASIC enthalten.

Zusätzlich zum U883 erschien ein 8K-PROM U2365 BM200 mit Entwicklungstools zum U883 (Basic-Editor, Debugger, Assembler, MC-Monitor).

  • u883bas.zip ROM des U883 incl. Assemberquellcode (neu 07/2021)

Damit kann man den U883 durch einen U882 + 2K-EPROM ersetzen. Ebenso kann ein moderner Z8-kompatibler Prozessor genutzt werden, wie z.B. Zilog statt U883.

Achtung: Der U883 unterscheidet beim internen ROM nicht das Speichersignal /DM; es wird in jedem Fall auf den internen Speicher zugegriffen. Bei externem ROM sollte daher auch nur ein gemeinsamer 64K-Speicher ohne Trennung in Programm- und Datenspeicher genutzt werden.

  • REIHE AUTOMATISIERUNGSTECHNIK Band 216, Programmieren mit BASIC, Siegmar Müller, 1. Auflage, VEB Verlag Technik, Berlin, 1985 (Abschnitt 7, MPBASIC)
  • Claßen/Oefler, Wissensspeicher Mikrorechner-Programmierung, VEB Verlag Technik Berlin, 4. Auflage 1989
    Achtung in der 2.+3. Auflage wird die Entwicklungsversion UB881D-004 des TINY-MPBASIC beschrieben. Diese weicht in einigen Details von der finalen Version des U883 ab!
  • Müller, S.: Einchipmikrorechner U883 interpretiert Tiny-MPBASIC. Radio,Ferns. Elektron., Berlin 34(1985) 3, S.143 ff.
  • TINY-MPBASIC. Kundeninformation, VEB Mikroelektronik Erfurt, 1984
  • ein paar Hinweise zum TINY-MPBASIC stehen auch in Kieser/Bankel, Einchipmikrorechner, VEB Verlag Technik Berlin, 1986

Mit dem PROM U2365 BM200 gab es einen 8K-ROM mit Entwicklungstools zum U883. Beschrieben wurde dies in der mikroprozessortechnik MP8/1987 S.232 ff. Ein Entwicklungsboard basierend auf diesem ROM wurde 2016 entworfen:

Der Einchipmikrorechner U883 enthält in seinem 2 KByte großen internen ROM einen einfachen BASIC-Interpreter.

Autor des TINY-MPBASIC ist Siegmar Müller, damals Applikations-Ing. im Funkwerk Erfurt (Truppe Meder/Kieser).

Beschreibung s. MPBASIC, MPBASIC2 und beim JU+TE TINY.

  • nach 0D (Zeilenende) wird das 7. Bit des nachfolgenden Bytes (15. Bit der Zeilennummer) gesetzt. Die höchstmögliche Zeilennummer ist daher 32767.
  • AND, OR, XOR werden mit $A, $O, $X abgekürzt, vgl. a. Quellform Zeile 1000.
  • Zeilennummern, die in ihrer Hexadezimaldarstellung %0D (Zeilenende) oder %00 (Programmende) enthalten, sind nicht zulässig (z.B. Zeilennummer 0, 13, 256)

2021 habe ich den Code den U883-Tiny-MP-BASIC komplett reassembliert und dokumentiert.

Erkenntnisse:

  • Proc-Befehlserweiterungen können zur Laufzeit gesetzt werden (Adresse der Prozedurtabelle in Register 8 und 9).
    Es ist sogar möglich, die Tabellen zwischendurch zu wechseln und unterschiedliche Implementierungen für dieselben Prozedurnamen zu programmieren, z.B. für ein Programm, dass auf verschiedenen Systemen laufen soll.
  • Rückgabeparameter werden mit 0 vorbelegt
  • TO bei TRAP muss als , übersetzt werden
  • GOTO sucht passende Zeile oder nächstgrößere; bei Programmende → Ende
  • REM endet bei „;“, dahinter können normal ausgeführte Anweisungen folgen
  • PROC-Aufrufe können nicht mit , aneinandergereiht werden (Bug im U883)
  • erfolgt ein END in einem Unterprogramm, ist bei Rückkehr zum Aufrufer der Stackpointer geändert!
5 LET A=42
10 PROC[A,B]=ABS[-25]
20 PRINT "A="A
30 PRINT "B="B

RUN
A= 00000
B= 00025
  • elektronik/u883.1632056285.txt.gz
  • Zuletzt geändert: 2021/09/19 12:58
  • von volkerp