OLI76.HU - Orosz Olivér weboldala
személyes blog festmények, airbrush online játékok android retro rovat videoton tvc programozás
személyes blog festmények, airbrush online játékok android retro rovat videoton tvc programozás
Videoton TVC

menü:
információ a TVC-ről
TVC emulátor
TVC emulátor mini
emulátor kezelése
a TVC kezelése
játékok kezelése
emulátor letöltése
galéria
screenshot-ok 1
speciális képek 1
speciális képek 2
TVC BASIC

mélyvíz:
hardver
memória térkép
assembly

játékok:
Gyíkkirály
Boszorkány 2
Raiders of Lost Ark
Adventure
Kincskereső
Kardhalak és Kincsek

fórum:
kapcsolódó fórum



TVC BASIC

A gép teljes képernyős szerkesztővel rendelkezik.
Ha RETURN-t nyomunk, akkor a gép megvisgálja, hogy a begépelt szöveg "parancs" vagy "programsor". Ha a sor elején szám van, és az 1..9999 tartományba esik, akkor programsorként értelmezi a gép, egyébként parancsként.

Szóval minden programsort számmal kell kezdeni. A gép a programot sorszám szerint növekvő sorrendbe rendezi.
A LIST parancsal tudjuk a programot kilistázni. Ha a sorba csak egy sorszámot írunk be (parancsok nélkül), akkor azt a programsort törli a gép a memóriából.
Ha futtatni akarjuk a programot, írjuk be a RUN parancsot. Ha hibás programot írtunk, az csak futtatáskor derül ki, ebben az esetben a program futása leáll és hibaüzenetet kapunk.

A futó BASIC programból kiléphetünk, ha lenyomjuk a CTRL+ESC billentyűkombinációt.


Íme a használható BASIC parancsok, utasítások:

PRINT -szöveg vagy szám kiírása a képernyőre
pl: PRINT A
pl: PRINT"Videoton"

PRINT AT y,x -kiírás meghatározott karakterpozícióba
pl: PRINT AT 5,4,"x"

CLS -képernyő törlése
pl: CLS

FOR TO STEP NEXT -ciklus szervezése
pl: FOR I=1 TO 10 : PRINT I: NEXT
pl: FOR I=10 TO 1 STEP -1 : PRINT I: NEXT

IF THEN ELSE -feltételes elágazás
pl: IF A=1 THEN C=5: ELSE C=2
pl: IF C=5 THEN GOTO 50: ELSE GOTO 100

GOTO -feltétel nélküli vezérlés átadás
pl: GOTO 100

GOSUB -vezérlés átadása alprogramnak (visszatérés RETURN parancsra)
pl: GOSUB 200

RETURN -visszatérés alprogramból
pl: RETURN

REM -megjegyzés, a programsor további részét nem értelmezi a gép
pl: REM első sor

LIST -kilistázza a memóriában lévő BASIC programot
pl: LIST
pl: LIST 100-
pl: LIST 50-200

NEW -törli a memóriában lévő BASIC programot
pl: NEW

DELETE -programsor törlése
pl: DELETE 10
pl: DELETE 50-100

RUN -elindítja a BASIC program futását
pl: RUN

LOAD -betölt egy programot kazettáról
pl: LOAD"bombazo"

SAVE -elmenti a programot kazettára
pl: SAVE"basic1"

OPEN -fájl megnyitása pl. olvasásra, amiből pl. az INPUT# segítségével adatokat olvashatunk
pl: OPEN"basic1"

CLOSE -bezárja az OPEN-el megnyitott fájlt
pl: CLOSE

GET -egy karaktert olvas a billetnyűzetről (karakter leütésre vár)
pl: GET A$

INKEY$ -az utoljára lenyomott karaktert adja vissza, ha nem volt üres karaktert ad ""
pl: A$=INKEY$

INPUT -szöveg vagy szám bekérése (alapesetben billentyűzetről)
pl: INPUT A$
pl: INPUT B

RANDOMIZE -a véletlenszám generátort inicializálja
pl: RANDOMIZE

GRAPHICS -grafikus üzemmód beállítása, a háromféle üzemmód:
pl: GRAPHICS 2
pl: GRAPHICS 4
pl: GRAPHICS 16

PLOT -pont vagy vonal rajzolása a képernyőre
pl: PLOT 400,550
pl: PLOT 200,300;530,440

SET STYLE -rajzolandó vonal stílusa (1..14)
pl: SET STYLE 5

SET CHARACTER -karakter képének átdefiniálása (128..223 kódú karakterek)
pl: SET CHARACTER 129,0,64,0,33,38,43,125,4,0,0

SET BORDER -képernyő keret színének beállítása
pl: SET BORDER 21

SET PAPER -papír színe (háttérszín)
pl: SET PAPER 2

SET INK -írás színe
pl: SET INK 1

SET PALETTE -használható színek beállítása 2 és 4 színü üzemmódban
pl: SET PALETTE 0,80,68,85

SET MODE -színek keverésének módja (0-felülírás, 1-OR, 2-AND, 3-XOR)
pl: SET MODE 1

SET RATE -billentyűzet időállandó, folyamatosan lenyomott billentyű esetén ilyen időközönként követik egymást a karakterek
pl: SET RATE 50

SET DELAY -ennyi idő után ismétlődik a lenyomott billentyű
pl: SET DELAY 300

DATA -adatok tárolása (számok, szövegek)
pl: DATA 12,52,1,0,15,4

READ -a DATA sorokban tárolt adatokból egy adatot vesz
pl: READ A

RESTORE -a "data mutatót" a legelső DATA sorra állítja, vagy a megadott sorra
pl: RESTORE
pl: RESTORE 200

TRACE -nyomkövetés, kiírja a végrehajtott basic sor sorszámát
pl: TRACE ON
pl: TRACE OFF

STOP -megszakítja a program futását, BASIC szerkesztőbe tér vissza, CONTINUE utasítással folytatható a program
pl: STOP

CONTINUE -folytatja a program futását, ha az leállt CTRL+ESC vagy STOP utasítás hatására
pl: CONTINUE

LET -érték adás változónak. elhagyható
pl: LET A=3+2

DIM -tömb létrehozása (helyfoglalás a memóriában)
pl: DIM A(12)

ON GOTO vagy ON GOSUB -feltételes elágazás, a változó értékének megfelelő sorra ugrik, vagy az ELSE ágra.
pl: ON A GOTO 100,200,300,400 ELSE 500
pl: ON B GOSUB 100,200

DEF -saját függvény definíció
pl: DEF FNC(Y)=SIN(2*Y+Y/3): PRINT FNC(4)

SOUND -hang megszólaltatása
pl:SOUND PITCH=3349, VOLUME 7, DURATION 100
Paraméterek:
PITCH -hangmagasság (0..4094) (4095 -szünet)
VOLUME -hangerő (0..15)
DURATION - (0..255)

POKE -egy memória cellába adatot ír
pl: POKE 2000,34
Jó tudni: ha ROM területre próbálunk írni akkor az adat a video memóriába kerül.

OUT -adat küldése port-ra
pl: OUT 2,123

LOMEM -program memóribeli áthelyezésére szolgál

EXT -gépi kódú rutin végrehajtása (erre használható az USR függvény is)



függvények:

FREE -a szabad memóriaterület méretlt adja
pl: PRINT FREE

INT -a szám egész részét adja (lefelé kerekít)
pl: B=3.254 : A=INT(B) : PRINT A

RND -véletlenszámot generál
pl: A=RND
pl: B=RND(6)

PEEK -egy memóriacella jelenlegi értékét adja
pl: A=PEEK(1232)

LEN -karakterlánc hosszát adja meg (max 254)
pl: A=LEN(B$)

ORD -karakterlánc első karakterének kódját adja meg
pl: A=ORD("c")

CHR$ -karakter kódjából adja a karaktert
pl: A$=CHR$(63)

VAL -sztring változót számmá alakítja
pl: A=VAL("576");

SQR -kifejezés pozitív négyzetgyökét adja
pl: A=SQR(25);

ABS -abszolút érték (ha negatív volt, pozitív lesz)
pl: B=ABS(-5)

STR$ -számot szöveggé alakít
pl: A$=STR$(154)

STRING$ -karakterláncot hoz létre
pl: PRINT STRING$(20,"A")

COS -koszinusz
pl: A=COS(3.61)

SIN -szinusz
pl: A=SIN(1.2)

LOG -logaritmus
pl: A=LOG(15.2)

TAN -tangens
pl: A=TAN(1.4)

ATN -arcus-tangens értéket ad radiánban
pl: PRINT ATN(1.7)

EXP -az E konstanst a megadott hatványra emeli
pl: PRINT EXP(4)

IN -adatot olvas egy portról
pl: A=IN(2)

PI -pi konstans értékét adja meg
pl: B=12*PI

SGN -kifejezés előjele alapján -1,0,1 értéket generál
pl: PRINT SGN(-31)
pl: PRINT SGN(243)

USR -gépi kódú programot futtat, visszatérési értékül a HL regiszter tartalmát adja
pl: PRINT USR(14324)

VARPTR -megadott változó memóriabeli címét adja
pl: cim=VARPTR(A)
pl: cim=VARPTR(B$)

VERNUM -BASIC verziószámát adja
pl: PRINT VERNUM




Példaprogramok:

10 GRAPHICS 2
20 PRINT"Elsö programom."


10 GRAPHICS 4
20 SOR=12: OSZLOP=10
30 SZOVEG$="Miskolc-"
40 PRINT AT SOR,OSZLOP,SZOVEG$;1987


10 GRAPHICS 2
20 FOR I=1 TO 8
30 PRINT"Videoton TVC"
40 NEXT I


10 CLS
20 PRINT"Kérem az első számot:"
30 INPUT A
40 PRINT"Kérem a második számot:"
50 INPUT B
60 C=A+B
70 PRINT"A két szám összege:";C