Indeks English versionEnglish version

Casio PB-700 - formaty danych

Kody słów kluczowych języka BASIC

    $80 SIN     $90 ASC(    $A0 GOTO    $B0 ELSE    $C0 CLEAR   $D0 SYSTEM
    $81 COS     $91 LEN(    $A1 GOSUB   $B1 STEP    $C1 PROG    $D1 CLS
    $82 TAN     $92 VAL(    $A2 RETURN  $B2 THEN    $C2 PUT     $D2
    $83 EXP     $93 PI      $A3 FOR     $B3 TO      $C3 GET     $D3
    $84 ASN     $94 RND     $A4 NEXT    $B4 USING   $C4 VERIFY  $D4
    $85 ACS     $95         $A5 IF      $B5 TAB(    $C5 CHAIN   $D5
    $86 ATN     $96         $A6 STOP    $B6 ALL     $C6 SAVE    $D6
    $87 LOG     $97         $A7 INPUT   $B7 DATA    $C7 LOAD    $D7
    $88 LGT     $98         $A8 READ    $B8 REM     $C8 PASS    $D8
    $89 SQR     $99 INKEY$  $A9 RESTORE $B9 LET     $C9 NEW     $D9
    $8A ABS     $9A CHR$(   $AA END     $BA ANGLE   $CA LIST    $DA
    $8B FRAC    $9B STR$(   $AB DRAW(   $BB BEEP    $CB LLIST   $DB
    $8C INT     $9C LEFT$(  $AC DRAWC(  $BC DIM     $CC RUN     $DC
    $8D SGN     $9D RIGHT$( $AD LOCATE  $BD ERASE   $CD DELETE  $DD
    $8E POINT(  $9E MID$(   $AE PRINT   $BE TRON    $CE EDIT    $DE
    $8F ROUND(  $9F MOD     $AF LPRINT  $BF TROFF   $CF CONT    $DF

Brak nieudokumentowanych słów kluczowych.


Struktura programu w języku BASIC

Wiersz programu BASIC rozpoczyna się numerem wiersza przechowywanym w dwóch bajtach (czterech 4-bitowych słowach), kończy się znacznikiem $FF. Słowa kluczowe języka BASIC są przechowywane za pomocą jednobajtowych kodów, wartości numeryczne jako ciąg znaków, dwukropki rozdzielające kilka poleceń języka BASIC w jednym wierszu jako $FE.
Przykład:

    1234 FOR I=1 TO 49 STEP 1: NEXT I
    34 12 A3 49 3D 31 B3 34 39 B1 31 FE A4 49 FF

Format plików

Plik składa się z segmentu nazwy oraz jednego lub kilku segmentów danych.

Struktura segmentu nazwy

     1 bajt         litera 'H' - identyfikator segmentu nazwy
     1 bajt         typ pliku
     8 bajtów       nazwa pliku uzupełniona spacjami
     3 bajty        3 spacje, rezerwa na rozszerzenie nazwy pliku?
     8 bajtów       hasło, dane są zanegowane (xor FF), uzupełnione FF
    12 bajtów       parametry - informacja zależna od typu pliku, chyba
                    ignorowana przy ładowaniu pliku
     1 bajt         suma kontrolna - suma tego i wszystkich poprzednich
                    bajtów modulo 256 ma być równa zero, ignorowana, nawet
                    nie odczytywana z taśmy
     1 bajt         znacznik końca segmentu 0xF1, ignorowany, nawet nie
                    odczytywany z taśmy
     1 bajt         stała wartość 0x00, ignorowany, nawet nie odczytywany
                    z taśmy

Przykład:

    48                                      litera 'H'
    D0                                      typ pliku: PROGRAM
    50 41 53 53 20 20 20 20                 nazwa pliku: PASS
    20 20 20                                rozszerzenie nazwy pliku
    BD BA AB BE FF FF FF FF                 hasło: BETA
    00 00 00 00 00 00 04 00 00 00 00 00     parametry
    F1                                      suma kontrolna
    F1                                      znacznik końca segmentu
    00                                      bajt 0x00

 

Plik z programem w języku BASIC

Segment nazwy pliku

    typ pliku       0xD0
    parametry+6	    mniej znaczący bajt długości programu
    parametry+7     bardziej znaczący bajt długości programu

Struktura segmentu danych programu

     1 bajt         litera 'D' - identyfikator segmentu danych
  xxxx bajtów       program w języku BASIC
     1 bajt         znacznik końca segmentu 0xF0

Przykład:

    44
    10 00 A3 49 3D 31 B3 34 FE A4 49 FF     10 FOR I=1 TO 4: NEXT I
    20 00 A0 31 30 FF                       20 GOTO 10
    F0

 

Plik z wszystkimi programami BASIC (zapisany komendą SAVE ALL)

Segment nazwy pliku

    typ pliku       0xC1

Struktura segmentu danych

     1 bajt         litera 'D' - identyfikator segmentu danych
  xxxx bajtów       lista 10 programów BASIC, każdy zakończony znacznikiem 0xE0,
                    pusty program zawiera tylko bajt 0xE0
     1 bajt         znacznik końca segmentu 0xF0

Przykład:

    44
    00 10 AE FF E0                          P0: 1000 PRINT
    10 00 A2 FF E0                          P1: 10 RETURN
    E0 E0 E0 E0 E0 E0 E0 E0
    F0

 

Plik z programem w języku BASIC w formacie ASCII (zapisany komendą SAVE,A)

Każdy wiersz programu jest zapisywany w osobnym segmencie danych.

Segment nazwy pliku

    typ pliku       0x30

Struktura segmentu danych

     1 bajt         litera 'D' - identyfikator segmentu danych
     1 bajt         typ pliku = 0x30
     1 bajt         stała wartość = 0x00
     2 bajty        długość wiersza programu, najpierw bajt mniej znaczący,
                    chyba ignorowana przy odczycie
  xxxx bajtów       wiersz programu w postaci ciągu znaków ASCII, zakończony
                    znakiem CR (kod 0x0D)
     1 bajt         suma kontrolna - suma tego i wszystkich poprzednich
                    bajtów modulo 256 ma być równa zero, ignorowana, nawet
                    nie odczytywana z taśmy
     1 bajt         znacznik końca segmentu 0xF1, ignorowany, nawet nie
                    odczytywany z taśmy
     1 bajt         stała wartość 0x00, ignorowany, nawet nie odczytywany
                    z taśmy

Przykład:

    280 A$=INKEY$
    44 30 00 0F 00 20 32 38 30 20 41 24 3D 49 4E 4B 45 59 24 0D 50 F1 00

Struktura ostatniego segmentu danych

     1 bajt         litera 'D' - identyfikator segmentu danych
     1 bajt         typ pliku = 0x30
     4 bajty        stałe wartości 0xFF, 0x01, 0x00, 0x0D
     1 bajt         suma kontrolna - suma tego i wszystkich poprzednich
                    bajtów modulo 256 ma być równa zero, ignorowana, nawet
                    nie odczytywana z taśmy
     1 bajt         znacznik końca segmentu 0xF1, ignorowany, nawet nie
                    odczytywany z taśmy
     1 bajt         stała wartość 0x00, ignorowany, nawet nie odczytywany
                    z taśmy
     1 bajt         znacznik końca segmentu 0xF0, ignorowany, nawet nie
                    odczytywany z taśmy

Przykład:

    44 30 FF 01 00 0D 7F F1 00 F0

 

Plik przechowujący zmienne (zapisany komendą PUT)

Każda zmienna jest zapisywana w osobnym segmencie danych. Nazwy zmiennych nie są zapisywane.

Segment nazwy pliku

    typ pliku       0x24

Struktura segmentu danych

     1 bajt         litera 'D' - identyfikator segmentu danych
     1 bajt         typ pliku = 0x24
     1 bajt         stała wartość = 0x00
     2 bajty        długość zmiennej, najpierw bajt mniej znaczący, chyba
                    ignorowana przy odczycie
  xxxx bajtów       zawartość zmiennej w postaci ciągu znaków ASCII, zakończona
                    znakiem CR (kod 0x0D),
                    na początku zmiennej numerycznej jest spacja (kod 0x20)
     1 bajt         suma kontrolna - suma tego i wszystkich poprzednich
                    bajtów modulo 256 ma być równa zero, ignorowana, nawet
                    nie odczytywana z taśmy
     1 bajt         znacznik końca segmentu 0xF1, ignorowany, nawet nie
                    odczytywany z taśmy
     1 bajt         stała wartość 0x00, ignorowany, nawet nie odczytywany
                    z taśmy

Przykłady:

    zmienna łańcuchowa zawierająca "PIOTR":
    44 24 00 06 00 50 49 4F 54 52 0D F7 F1 00

    zmienna numeryczna zawierająca 3.141592654:
    44 24 00 0D 00 20 33 2E 31 34 31 35 39 32 36 35 34 0D 28 F1 00

Struktura ostatniego segmentu danych

     1 bajt         litera 'D' - identyfikator segmentu danych
     1 bajt         typ pliku = 0x24
     4 bajty        stałe wartości 0xFF, 0x01, 0x00, 0x0D
     1 bajt         suma kontrolna - suma tego i wszystkich poprzednich
                    bajtów modulo 256 ma być równa zero, ignorowana, nawet
                    nie odczytywana z taśmy
     1 bajt         znacznik końca segmentu 0xF1, ignorowany, nawet nie
                    odczytywany z taśmy
     1 bajt         stała wartość 0x00, ignorowany, nawet nie odczytywany
                    z taśmy
     1 bajt         znacznik końca segmentu 0xF0, ignorowany, nawet nie
                    odczytywany z taśmy

Przykład:

    44 24 FF 01 00 0D 8B F1 00 F0