Welcome, Guest. Please login or register.


Author Topic: BASIC (Read 168694 times)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13406
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #285 on: 2012.April.02. 16:55:18 »
a 8-as számú újra a 0-ás lesz. De errõl valahol már volt szó.
A 8-15 színeket a BIAS-sal állítod egy kupacban.

Offline szipucsu

  • EP addict
  • *
  • Posts: 7796
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #286 on: 2012.April.02. 23:53:06 »
Itt, kicsit lejjebb bent van ez a táblázat, amit még István csinált.
De talán célszerûbb az Util programcsokorban lévõ COLOUR.BAS használata.
Erre emlékeztem, ez az, köszi!
A Colour.bas-sal az a gond, hogy emut kell hozzá külön futtatni. Egyszerûbb egy táblázatban megnézni a kiszemelt színt és hozzá a kódot és azt beírni.

A 8-15 színeket a BIAS-sal állítod egy kupacban.
Nekem magas, mi az a BIAS. A gépkönyvbõl rémlik valami. De talán nem is olyan fontos. :D
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13406
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #287 on: 2012.April.02. 23:58:09 »
Nekem magas, mi az a BIAS. A gépkönyvbõl rémlik valami. De talán nem is olyan fontos. :D
Pedig nagyon fontos ha 16 színû módot akarsz használni!!!
Az LPT-ben, azaz BASIC-ben SET PALETTE-vel csak a 0-7 színek adhatóak meg, a maradék 8 szín értékét a BIAS-sal adjuk meg, ez egymás utáni 8 színt határoz meg, értéke 8-ra lesz kerekítve. Tehát ha a BIAS 0, akkor a 8-15 színek értéke:0,1,2,3,4,5,6,7
Ha BIAS mondjuk 64, akkor: 64,65,66,67,68,69,70,71

Offline szipucsu

  • EP addict
  • *
  • Posts: 7796
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #288 on: 2012.April.04. 12:26:16 »
Ezzel az egyszerû basic programmal az angol számokat lehet gyakorolni 0-tól 9-ig.
A 1-es és a 2-es menüpont elszámol 0-tól 9-ig, utána véletlenszerûen kidob számokat és azokat is elmondja. A 2-es menüpont a számjegy mellé betûvel is kiírja a számot.
A 3-as menüponttal a hallás utáni felismerést gyakorolhatjuk, véletlenszerûen 20 számot elmond a gép, és a hallott számhoz tartozó számbillentyût kell leütni. Ha egy számot elsõre nem értettünk, az ENTER-re újra elmondja.
A 4-es menüpontot választva a gép kiír számjegyeket, amiket betûvel le kell írnunk, ezután el is mondja a számot. Az 5-ös ennek a fordítottja, betûvel kiír számokat, és a hozzájuk tartozó számbillentyût kell leütnünk.
Talán jobb lenne, ha a 0 helyett/mellett a 10-es számot ismerné a program? De akkor azt nem lehetne egyetlen számbillentyûhöz rendelni...

Olyan emu konfiggal mûködik, amin van EXDOS is, és a FILE: az alapértelmezett eszköz, én amúgy exos232uk.rom mellett használtam. Igazi EP-n nem mûködik még, mert a FILE: eszközt használja. Ha az engnumb.bas fájlban átírjuk a file: szöveget a:-ra, talán mûködik igazi gépen is. Az a baj, nincs olyan utasítás, amivel az alapértelmezett eszközrõl COPY-zna a RAMDISK-re, így vagy a file:-t, vagy az a:-t kell megadni, így vagy emuval (EPfileIO.rommal), vagy igazi géppel mûködik csak. Illetve lenne egy megoldás, amivel az alapértelmezett eszközrõl másol a RAMDISK-re (OPEN #1:"filenév" az alapértelmezett eszközt használja, ha nem adunk meg eszközt), de ehhez a basic COPY utasítás kell, ami sajnos percekig tart. Az EXDOS :COPY parancsának pedig muszáj bementi eszközt megadni, nem ismeri fel az alapértelmezett eszközt. Gondolom, itt is gépi kódú részek oldanák meg a problémát a basic COPY utasítása helyett.
Basic programból nem lehet a Sample Playert betölteni másként, csak az EXDOS :LOAD utasításával? Próbáltam a RUN ""-nal betölteni, de nem ment. Pedig ha megoldható lenne, a program nem csak EXDOS mellett, hanem magnós géppel is mûködne. Szerk: Bocsánat, ez nem igaz, mert a RAMDISK-hez mindenképpen kell EXDOS.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline szipucsu

  • EP addict
  • *
  • Posts: 7796
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #289 on: 2012.April.06. 19:09:46 »
Van valami praktikus módja annak, hogy egyik basic program átadjon információt egy másik basic programnak, amit elindít? A változók törlõdnek ilyenkor, tehát valami más megoldás kéne.
Szóval ilyesmire gondolok, csak másképp:

10 PROGRAM "betöltõ loader for másik program"
100 LET A=3
115 IF RND(24)=4 THEN LET A=8
110 RUN "másik program"

100 PROGRAM "másik program"
110 IF A=3 THEN GOTO 230

Lehet "cifrázni", hogy pl. egy nem használt karaktert átdefiniálunk az elsõ programban, a második program pedig SPEEK utasítással megnézi, mire van átdefiniálva az a karakter és akképpen cselekszik. Pl. a 127-es kódú karaktert úgyse használta soha senki az EP eddigi történelme folyamán (mert nincs is olyan billentyûkombináció, amivel elõ lehetne hívni), így annak átdefiniálásával aránylag nagyobb információt is lehet tárolni.
Ez jó, hogy a kérdésemet rögtön meg is válaszoltam, de amúgy van valami más megoldás is?
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 615
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
Re: BASIC
« Reply #290 on: 2012.April.06. 19:29:51 »
Ha jól emlékszem van olyasmi, hogy "Edit 1"  ilyenkor a program 0 -> program 1 lesz  és akkor az a program indul el
Ezt a lehetõséget használtam a BASIC programok titkosításának mentesítésére BASIC-ben.
Igaz nem jöttem rá, hogy lehet egyszerre ki menteni a Program 0, Program 1 ... és betölteni egy menetben.
Valamint nem volt olyan lehetõség, hogy Program 1 run 111 PL.

Offline szipucsu

  • EP addict
  • *
  • Posts: 7796
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #291 on: 2012.April.06. 20:00:36 »
Ha jól emlékszem van olyasmi, hogy "Edit 1"  ilyenkor a program 0 -> program 1 lesz  és akkor az a program indul el
Ez nekem is megfordult a fejemben. De én olyanra gondolok, hogy van egy basic program, aminek van külön egy basic betöltõje is és a betöltõ megcsinál néhány dolgot, amit a fõprogramnak már nem kell. Pl. a betöltõ átdefiniálja a karaktereket, van benne ENVELOPE NUMBER meg ilyesmik, így a fõprogram annyival kisebb helyet fog foglalni a memóriában. És a betöltõben lehetne még bizonyos dolgokat menüben kiválasztani, na ezekre lenne jó, ha emlékezne a fõprogram is. A fõprogram a betöltõbõl RUN "fõprogram" utasítással töltõdik és indul, és ezzel akkor a betöltõt felül is írja a memóriában.
Lehetne még trükközni, hogy a betöltõ a tárolandó adatnak megfelelõen a KEY CLICK-et, KEY DELAY-t, stb. átállítja, a fõprogram meg megnézi ezeknek az értékét ASK utasítással és aszerint ad értéket a változóknak, hogy van-e CLICK és mennyi a DELAY. Sõt, a betöltõ átválthat SHIFT, ALT, CAPS üzemmódba, a fõprogram meg megnézné, milyen üzemmód van. Vicces, de biztos mûködik.
Egyébként ez EDIT és CHAIN utasítás is praktikus, én nem nagyon használtam õket... A Reversi-Dáma-Awarin kívül nem tudok programról, ami ezt használná.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 615
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
Re: BASIC
« Reply #292 on: 2012.April.06. 20:21:08 »

Lehetne még trükközni, hogy a betöltõ a tárolandó adatnak megfelelõen a KEY CLICK-et, KEY DELAY-t, stb. átállítja, a fõprogram meg megnézi ezeknek az értékét ASK utasítással és aszerint ad értéket a változóknak, hogy van-e CLICK és mennyi a DELAY. Sõt, a betöltõ átválthat SHIFT, ALT, CAPS üzemmódba, a fõprogram meg megnézné, milyen üzemmód van. Vicces, de biztos mûködik.
Ezt már akkor felesleges ellenõrizni ennyi erõvel be is állítható.
A Happy letters, worldhang programokra gondolsz azok ilyenek nézd meg sokat tanulhatsz belõlük.

Offline szipucsu

  • EP addict
  • *
  • Posts: 7796
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #293 on: 2012.April.06. 20:37:53 »
Ezt már akkor felesleges ellenõrizni ennyi erõvel be is állítható.
Szerintem rosszul értetted, amit írtam, de másképp nem tudom elmagyarázni. Pl. a KEY DELAY értéke itt az eredeti funkciója szempontjából lényegtelen, mert miközben tölti a fõprogramot, úgyse nyom le senki billentyût. Arra lenne jó, hogy, mivel ugye a betöltõ program változóértéket nem tud átadni a fõprogramnak, mert a RUN "" törli a változókat, ezért a betöltõ beírna pl. 1-et vagy 2-t KEY DELAY-nek. A fõprogram meg lekérdezné a KEY DELAY értékét, és ha 1, akkor az A változónak 1 értéket adna, ha meg 2, akkor az A változónak 2-t adna. Merthogy ha a betöltõ programba be is írnánk, hogy LET A=1, miután betöltõdött a másik program, az A-nak már nem lenne értéke és hibaüzenet lenne.
Utána vissza is lehet állítani a KEY DELAY értékét normálisra akár.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13406
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #294 on: 2012.April.06. 20:49:09 »
Igaz nem jöttem rá, hogy lehet egyszerre ki menteni a Program 0, Program 1 ... és betölteni egy menetben.
SAVE ALL

Offline Ferro73

  • EP lover
  • *
  • Posts: 615
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
Re: BASIC
« Reply #295 on: 2012.April.06. 20:56:22 »
Szerintem rosszul értetted, amit írtam, de másképp nem tudom elmagyarázni. Pl. a KEY DELAY értéke itt az eredeti funkciója szempontjából lényegtelen, mert miközben tölti a fõprogramot, úgyse nyom le senki billentyût. Arra lenne jó, hogy, mivel ugye a betöltõ program változóértéket nem tud átadni a fõprogramnak, mert a RUN "" törli a változókat, ezért a betöltõ beírna pl. 1-et vagy 2-t KEY DELAY-nek. A fõprogram meg lekérdezné a KEY DELAY értékét, és ha 1, akkor az A változónak 1 értéket adna, ha meg 2, akkor az A változónak 2-t adna. Merthogy ha a betöltõ programba be is írnánk, hogy LET A=1, miután betöltõdött a másik program, az A-nak már nem lenne értéke és hibaüzenet lenne.
Utána vissza is lehet állítani a KEY DELAY értékét normálisra akár.

Igy már értem, a rendszer változókat használod átmeneti tárnak.

Offline szipucsu

  • EP addict
  • *
  • Posts: 7796
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #296 on: 2012.April.06. 21:12:24 »
Igy már értem, a rendszer változókat használod átmeneti tárnak.
Igen. :) Tömören, szépen így lehet megfogalmazni.
Csak már nem emlékeztem, hogy ezeket rendszerváltozóknak hívják.
A rendszerváltozók helyett más átmeneti tárat mit lehetne kitalálni?

Apropó, Wordhang: ha már említetted, megnéztem. Az akaszto.bas fájlt betöltöttem, kilistáztam, a végén az volt, hogy RUN "TAPE:AKASZTO1". Na, gondoltam, kiszedem a TAPE: szöveget, mert lemezes géppel nem mûködik. Kiszedtem és el akartam menteni újra akaszto.bas néven (SAVE "AKASZTO.BAS"), de nem engedte. Más néven engedte. Ez meg mitõl lehet? FILE: eszközt használok amúgy az emuban.
Itt egy snapshot is: * Akasztó probléma.ep128s (224.77 kB - downloaded 73 times.)

És itt a TAPE: szövegtõl mentes betöltõ, így bármirõl betölti a programot. Laci, szerintem cseréld ki a fájlt erre! * AKASZTO.BAS (0.91 kB. 127x3 - viewed 64 times.)
Amúgy meg fura, hogy a magyarosított verzió betöltõképe ugyanúgy angol, mint az eredetié, azt miért nem magyarosították...
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 615
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
Re: BASIC
« Reply #297 on: 2012.April.06. 21:18:37 »
Akkor használd a SPOKE, SPEEK x,32   
MEM   20H  "TAR:",A változó, B változó, C változó, D változó, .....

Offline szipucsu

  • EP addict
  • *
  • Posts: 7796
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #298 on: 2012.April.06. 22:12:53 »
Akkor használd a SPOKE, SPEEK x,32   
MEM   20H  "TAR:",A változó, B változó, C változó, D változó,
Ez nekem magas így, nem értek a gépi kódhoz.  :oops:
Erre gondolsz? SPOKE X,32,"változó értéke" a betöltõben,
a másik, betöltött programban pedig SPEEK(X,32), és erre visszakapjuk a "változó értékét"? És X akármennyi lehet 1 és 255 között?

Szóval "változóátvitel" így:

10 PROGRAM "betöltõ.bas"
20 INPUT A,B
30 SPOKE 1,32,A
40 SPOKE 2,32,B
50 RUN "fõprogram.bas"

10 PROGRAM "fõprogram.bas"
20 LET A=SPEEK(1,32): LET B=SPEEK(2,32)

Jól értem?
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit Linux 64 bit
  • Browser:
  • Firefox 5.0 Firefox 5.0
    • View Profile
Re: BASIC
« Reply #299 on: 2012.April.06. 23:40:44 »
30 SPOKE 1,32,A
40 SPOKE 2,32,B

Az EXOS ROM nem írható :) Próbálj helyette valamilyen "nem használt" RAM területre írni, pl. SPOKE 255, 11392, x (és a 11392 utáni byte-ok), ami az EXOS verem általában nem használt részén van.