Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
elektronik:u883 [2017/12/11 09:14] – [TINY-MPBASIC] volkerp | elektronik:u883 [2024/04/28 13:13] (aktuell) – [Downloads] volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== U883 ====== | ====== U883 ====== | ||
- | FIXME | + | Der U883 ist ein spezieller Vertreter der [[elektronik: |
- | + | ||
- | Der U883 ist ein spezieller Vertreter der [[tiny: | + | |
Der U883 ist maskenprogammierter U881, der interne PROM enthält ein einfaches TINY-MPBASIC. | Der U883 ist maskenprogammierter U881, der interne PROM enthält ein einfaches TINY-MPBASIC. | ||
Zeile 12: | Zeile 10: | ||
Der U883 wird im Heimcomputer [[:tiny|]] genutzt. | Der U883 wird im Heimcomputer [[: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, | ||
===== Downloads ===== | ===== Downloads ===== | ||
- | * {{: | + | * {{ : |
Damit kann man den U883 durch einen U882 + 2K-EPROM ersetzen. Ebenso kann ein moderner Z8-kompatibler Prozessor genutzt werden, wie z.B. [[tiny: | Damit kann man den U883 durch einen U882 + 2K-EPROM ersetzen. Ebenso kann ein moderner Z8-kompatibler Prozessor genutzt werden, wie z.B. [[tiny: | ||
+ | |||
+ | **Achtung**: | ||
===== Literatur ===== | ===== Literatur ===== | ||
- | * Claßen/ | + | |
+ | | ||
+ | * Müller, S.: Einchipmikrorechner U883 interpretiert Tiny-MPBASIC. Radio, | ||
* TINY-MPBASIC. Kundeninformation, | * TINY-MPBASIC. Kundeninformation, | ||
- | * ein paar Hinweise stehen auch in Kieser/ | + | * ein paar Hinweise |
+ | Mit dem PROM U2365 **BM200** gab es einen 8K-ROM mit Entwicklungstools zum U883. Beschrieben wurde dies in der [[elektronik: | ||
+ | |||
+ | * https:// | ||
+ | * http:// | ||
===== TINY-MPBASIC ===== | ===== TINY-MPBASIC ===== | ||
Zeile 33: | Zeile 43: | ||
einen einfachen BASIC-Interpreter. | einen einfachen BASIC-Interpreter. | ||
- | ... | + | Autor des TINY-MPBASIC ist Siegmar Müller, damals Applikations-Ing. im Funkwerk Erfurt (Truppe Meder/ |
+ | |||
+ | Beschreibung s. [[elektronik: | ||
+ | |||
+ | |||
+ | ===== JU+TE-Hinweise ===== | ||
+ | |||
+ | * 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, | ||
+ | |||
+ | ===== Quellcode ===== | ||
+ | |||
+ | 2021 habe ich den Code den U883-Tiny-MP-BASIC komplett reassembliert und [[elektronik: | ||
+ | |||
+ | 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, | ||
+ | * Rückgabeparameter werden mit 0 vorbelegt | ||
+ | * TO bei TRAP muss als , übersetzt werden | ||
+ | * GOTO sucht passende Zeile oder nächstgrößere; | ||
+ | * REM endet bei ";", | ||
+ | * ";" | ||
+ | * PROC-Aufrufe können nicht mit , aneinandergereiht werden (Bug im U883) | ||
+ | * erfolgt ein END in einem Unterprogramm, | ||
+ | * Die Suche nach einer Zeile hat einen Fehler: Zeilennummern Hex xx0Dh werden nicht korrekt verarbeitet (Bug im U883). Deshalb keine Zeilen n*256+13 nutzen! | ||
+ | |||
+ | < | ||
+ | 5 LET A=42 | ||
+ | 10 PROC[A, | ||
+ | 20 PRINT " | ||
+ | 30 PRINT " | ||
- | Beschreibung s. TINY | + | RUN |
+ | A= 00000 | ||
+ | B= 00025 | ||
+ | </ |