Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
z1013:software:tinybasic [2011/09/18 07:54] – angelegt volkerpz1013:software:tinybasic [2018/08/30 10:00] (aktuell) – [Geschichte] volkerp
Zeile 1: Zeile 1:
 ====== Tiny-Basic ====== ====== Tiny-Basic ======
  
-Mt dem Z9001 wurd ein kleiner 3K-BASIC-Interpreter "robotron Z1013 BASIC 3.01" ausgeliefert (als Hexdump in der Bedienungsanleitung/Anlagenteil oder auf Kassette M0111).+Mt dem Z1013 wurde ein kleiner 3K-BASIC-Interpreter "robotron Z1013 BASIC 3.01" ausgeliefert (als Hexdump in der Bedienungsanleitung/Anlagenteil oder auf Kassette M0111).
  
-Start: J 100 +Start: J 100\\ 
-Restart: J 103+Restart: J 103\\
 Speicher: 100h-0BFFh Speicher: 100h-0BFFh
  
-Das TINY-BASIC ist im Handbuch Teil IIA beschrieben.+Das TINY-BASIC ist im [[z1013:handbuecher:handbuch_2a#basic|Handbuch Teil IIA]] beschrieben.
  
 +Es gibt eine Vielzahl modifizierter Versionen der originalen Version 3.01 von Riesa. 3 Versionen werden hier vorgestellt (s. Inhaltsverzeichnis)
 +
 +===== Geschichte =====
 +
 +Das TINY-Basic stammt vom Palo Alto Tiny BASIC ab, s. [[wp>Tiny_BASIC]] und Autor [[wp>Li-Chen_Wang]]. Dessen Implementation des TINY-Basic für den 8080-Prosessor war wiederum die Basis für die Tiny-Basic Version von Rolf-Dieter Klein (-> [[z1013:software:tinybasic:rdk|]]). 
 +
 +Ich vermute, dass ebendiese Version die Grundlage für das Z1013-Tinybasic ist. Das **"3K-BASIC VON RER"** (Robotron-Elektronik Riesa) kennt beispielsweise wie bei Rolf-Dieter Klein hinzugekommenen Befehle wie TOP und LEN, und nutzt 0-terminierte Zeichenketten für die BASIC-Befehle((Im Palo Alto Tiny BASIC wird das Ende durch ein 
 +gesetztes 7. Bit gekennzeichnet)).
 +
 +In Details gibt es aber durchaus Abweichungen: Die Zeichentestfunktion TSTC arbeitet mit einer 2-Byte-Adresse anstelle eines 1-Byte-Offsets zur nächsten Funktion bei negativem Testergebnis. Neu sid auch die Befehle BYTE und WORD.
 +
 +2018: Die Vermutung ist bestätigt! Auch das Minibasic des AC1 basiert auf dem RDK-Basic: ein Entwickler des AC1 hat später den Z1013 mitentwickelt und die Software des AC1 dabei als Grundlage genommen. Daher hat auch das Betriebssystem des Z1013 viele Gemeinsamkeiten mit dem des [[homecomputer:ac1|AC1]] (und ZETBUG).
  
 ===== Befehlsübersicht ===== ===== Befehlsübersicht =====
  
-^ ^ Abkürzung ^ Bemerkung | +               ^ Abkürzung   ^ Bemerkung                          ^ 
-^ Kommandos     |                                               | +^ Kommandos                                                       ^^^ 
-| LIST [n]      | L.[n]     | Listen(20 Zeilen ab >=n)            +| LIST [n]       | L.[n]       | Listen(20 Zeilen ab >=n)           
-| RUN           | R.                                            +| RUN            | R.                                             
-| NEW           | N.                                            +| NEW            | N.                                             
-| BYE           | B.                                            +| BYE            | B.                                             
-| END n         | E.n       | Speicherende setzen                 +| END n          | E.n         | Speicherende setzen                
-| CSAVE"name"   | C."name                                       +| CSAVE"name"    | C."name                                        
-| CLOAD         | CL.                                           +| CLOAD          | CL.                                            
-^ Befehle       |                                               | +^ Befehle                                                         ^^^ 
-| FOR           | F.                                            +| FOR            | F.                                             
-| TO            | T.                                            +| TO             | T.                                             
-| NEXT          | N.                                            +| NEXT           | N.                                             
-| IF            | I.                                            +| IF             | I.                                             
-| GOTO          | G.                                            +| GOTO           | G.                                             
-| GOSUB         | GO.                                           +| GOSUB          | GO.                                            
-| RETURN        | R.                                            +| RETURN         | R.                                             
-| PRINT         | P.                                            +| PRINT          | P.                                             
-| INPUT["..."]a | I.["..."]a|                                     +| INPUT["..."]a  | I.["..."]a                                     
-| LET           | L.                                            +| LET            | L.                                             
-| REM           | RE.                                           +| REM            | RE.                                            
-| CALL          | C.                                            +| CALL           | C.                                             
-| POKE          | PO.                                           +| POKE           | PO.                                            
-| OUTCHARn      | O.n                                           +| OUTCHARn       | O.n                                            
-| OUT(n)        | OU.(n)                                        +| OUT(n)         | OU.(n)                                         
-| TAB(n)        | T.(n)     | Ausgabe n Leerzeichen               +| TAB(n)         | T.(n)       | Ausgabe n Leerzeichen              
-| BYTE(n)       | B.(n)     | Ausgabe 2stellige Hexzahl           +| BYTE(n)        | B.(n)       | Ausgabe 2stellige Hexzahl          
-| WORD(n)       | W.(n)     | Ausgabe 4stellige Hexzahl           +| WORD(n)        | W.(n)       | Ausgabe 4stellige Hexzahl          
-| O$(n)                   | Ausgabe Zeichenkette von (n)        +| O$(n)                      | Ausgabe Zeichenkette von (n)       
-| I$(n)                   | Einlesen Zeichenkette nach (n)      +| I$(n)                      | Einlesen Zeichenkette nach (n)     
-^ Anweisungen   |                                               | +^ Anweisungen                                                     ^^^ 
-| RND(n)        | R.(n)     | Zufallszahl 1...n                   +| RND(n)         | R.(n)       | Zufallszahl 1...n                  
-| ABS(n)        | A.(n)                                         +| ABS(n)         | A.(n)                                          
-| PEEK(n)       | P.(n)                                         +| PEEK(n)        | P.(n)                                          
-| IN(n)                                                       +| IN(n)                                                         
-| INCHAR        | I.        | ein Zeichen einlesen                +| INCHAR         | I.          | ein Zeichen einlesen               
-| STEP          | ST.                                           +| STEP           | ST.                                            
-| HEX n         | H.n       | Wandlung Hex-->Dez                  +| HEX n          | H.n         | Wandlung Hex-->Dez                 
-| TOP           | T.        | erster freier Speicher nach BASIC   +| TOP            | T.          | erster freier Speicher nach BASIC  
-| SIZE          | S.        | freier BASIC-Speicher               +| SIZE           | S.          | freier BASIC-Speicher              
-| 'a'                     | ASCII-Code von a                    +| 'a'                        | ASCII-Code von a                   
-| C                       |                                     +| C                          |                                    
-| @( )                    | eindimensionales Feld               |+| @( )           |             | eindimensionales Feld              | 
  
  
Zeile 66: Zeile 79:
  
 ===== TINY-BASIC 4.01 ===== ===== TINY-BASIC 4.01 =====
 +
 +Version von V. Pohlers, 1989
  
 Das BASIC 3.01 von Riesa wurde um einige Befehle erweitert bzw. verbessert: Das BASIC 3.01 von Riesa wurde um einige Befehle erweitert bzw. verbessert:
Zeile 85: Zeile 100:
 mehr lauffähig. Dieser Bereich ist von robotron eigentlich für Erweiterungen  mehr lauffähig. Dieser Bereich ist von robotron eigentlich für Erweiterungen 
 reserviert, in eigenen Programmen also bitte n i c h t nutzen. reserviert, in eigenen Programmen also bitte n i c h t nutzen.
- 
-vp, 1989 
  
 ===== 3K-rs-BASIC V. 1.12 ===== ===== 3K-rs-BASIC V. 1.12 =====
Zeile 166: Zeile 179:
   121 :  CD 09 E8     CALL DRAKK   121 :  CD 09 E8     CALL DRAKK
      
 +===== TINY-BASIC 3.20H =====
 +
 +von Kraft/IG-HC TU Dresden
 +
 +Mit HEADERSAVE und einem MENUE (Auflistung aller BASIC-Befehle, die implementiert sind)
 +
 +empfohlen als Standard (-> [[z1013:informationen|]]). 3K-rs-BASIC is. m.E. besser!
 +
 +
  
  • z1013/software/tinybasic.1316332447.txt.gz
  • Zuletzt geändert: 2011/09/18 07:54
  • von volkerp