ENTERPRISE KLUB
2023. december 9.,  14-19 óráig
1074 Budapest, Károly krt. 3/A.
Részletek
Welcome, Guest. Please login or register.


Author Topic: Általános BASIC Kérdések (Read 383053 times)

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1241
  • Country: hu
  • Stray cat from Commodore alley
Re: Általános BASIC Kérdések
« Reply #1485 on: 2021.January.16. 21:00:34 »
Mit hibáztam ?
Ez most beugratós kérdés?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14600
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #1486 on: 2021.January.16. 21:01:10 »
Csak 4 adat van a DATA-ban, az csak 1 ciklusra elég.

Offline Tomato77

  • EP user
  • *
  • Posts: 396
  • Country: hu
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1487 on: 2021.January.16. 21:18:59 »
Kellene RESTORE. Így a négy érték kiolvasása után kifogy a DATA sorokból. Az nem elég neki, hogy ráfut újra a DATA sorra, attól még a következő DATA sort keresi, ami itt nincs.
Kotasoft

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9750
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1488 on: 2021.January.16. 21:24:18 »
Mit hibáztam ?
A FOR után RESTORE kellene. Beolvas 4 adatot, és nincs több adat, újra kell indítani elölről az adatok olvasását.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9750
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1489 on: 2021.January.27. 22:47:37 »
Korszakalkotó felfedezésem, hogyan lehet becsempészni egy basic programba a LIST parancsot, amikor a basic interpreter nem fogadja el *** Command in program ürügyén.

A következő programot kimentettem:

100 OPEN #1:"file.txt" ACCESS OUTPUT
110 PRINT #1:
120 CLOSE #1

A kimentett, tokenizált basic programot megnyitottam hex editorral. Lgb egyedülálló oldalán megnéztem a basic tokenek kódjait. Itt kiderült, hogy a PRINT kódja 56 (hex: 38). A LIST kódja 42 (hex: 2A), így hex editorban átírtam a 38-at 2A-ra, elmentettem a fájlt, és EP-n visszatöltve LIST volt a 110-es sorban a PRINT helyén. Ez a dolog már 25 éve is foglalkoztatott, de most derült ki, hogy tényleg megoldható.
Így most vicces programokat is lehetne írni, melyekben benne van az INFO, LIST, MERGE, DELETE és egyéb utasítások is. Például a játék megkérdezi, melyik pályán akarunk játszani, aztán letörli a program egy részét, ami már nem kell, és összemerge-eli a következő pályával.
Csak azt nem értem, Lgb oldalán miért decimálisban vannak a tokenek kódjai, amikor mindig hexadecimálisban kellenek.
Biztos az emulátor debuggerében is át lehetne írni a tokeneket és nem is kellene hex editor se.
[ Guests cannot view attachments ]
« Last Edit: 2021.January.27. 22:50:46 by szipucsu »
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14600
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #1490 on: 2021.January.27. 22:55:14 »
Ez a dolog már 25 éve is foglalkoztatott
Könyveket nem olvastad? :oops:
A Tippek és Trükkökben meg a Gépi kódú programozás BASIC-kel foglalkozó részében is voltak olyan POKEolások, hogyan lehet parancs utasítást programba tenni, és programutasítást parancsba :-)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9750
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1491 on: 2021.January.28. 09:53:53 »
Könyveket nem olvastad? :oops:
Huszonvalahány éve olvastam valamelyikben ezt. De valamiért nem működött, pedig a POKE utáni számot számjegyenként ellenőriztem többször is. Így akkor elmaradt a hatalmas élmény, ami most meglett.

Egyébként gyakran mentek txt fájlba basic programot és ott szerkesztem, ezért jutott eszembe, hogy ezt így le lehetne egyszerűsíteni. Persze naiv fejemmel nem gondoltam arra, hogy ez a basic program felülírja majd azt, amit el akarok menteni. Hacsak nem chain, edit parancsokkal lépkedek a basic programok között, majd talán ezt is megpróbálom.
De gondolom, Lua scripttel is meg lehetne csinálni, hogy 1-2 kattintással kiírja txt fájlba a tárban levő basic programot.
Vagy funkcióbillentyűt átdefiniálni, és úgy írná txt-be.

Tényleg, a funkcióbillentyűk szövegei (START, LIST, stb.) hol tárolódnak? A basic romban? Mert pl. a TOGGLE REM1, TOGGLE SPEAKER soha nem kell emulátoron, nem is tudom, csinálnak-e valamit, azokat fixre át lehetne írni valami olyan szövegre, ami hasznos. (A ZT is jó, csak azt külön el kell indítani, azt hiszem.)
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Povi

  • EP addict
  • *
  • Posts: 2242
  • Country: hu
    • http://povi.fw.hu
Re: Általános BASIC Kérdések
« Reply #1492 on: 2021.January.28. 10:11:59 »
Tényleg, a funkcióbillentyűk szövegei (START, LIST, stb.) hol tárolódnak? A basic romban? Mert pl. a TOGGLE REM1, TOGGLE SPEAKER soha nem kell emulátoron, nem is tudom, csinálnak-e valamit, azokat fixre át lehetne írni valami olyan szövegre, ami hasznos. (A ZT is jó, csak azt külön el kell indítani, azt hiszem.)
A SET FKEY parancs pont erre való. Példa:

Code: [Select]
set fkey 4 "PRINT"&chr$(34)&"alma"&chr$(34)&chr$(13)
*** Speicherplatz zu klein

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14600
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #1493 on: 2021.January.28. 10:26:36 »
Huszonvalahány éve olvastam valamelyikben ezt. De valamiért nem működött, pedig a POKE utáni számot számjegyenként ellenőriztem többször is.
Ez valószínűleg angol/német gép különbség miatt volt, neked pont másik volt, mint amilyenhez a könyvet írták. (Német gépen kicsit arrébb csúsznak a dolgok a memóriában.)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9750
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1494 on: 2021.January.28. 10:36:51 »
A SET FKEY parancs pont erre való.
Ezt ismerem, de ez resetnél visszaáll eredetire. De lehet, hogy megpróbálom.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14600
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #1495 on: 2021.January.28. 11:03:30 »
Ezt ismerem, de ez resetnél visszaáll eredetire.
Na pont ezért készült ZT azon része :-)

Amikor bezáródik a billentyűcsatorna, akkor törlődik, ezért a csatornát megnyitó programnak, jelen esetben a BASIC-nek újra ki kell küldeni a funkcióbillentyű definiciókat.

Amúgy a BASIC 1-es szegmensen lévő részében vannak ezek a szövegek.



Offline SlashNet

  • EP addict
  • *
  • Posts: 1125
  • Country: ua
  • Enterprise 128K | Cubietruck
    • My old site about Enterprise
Re: Általános BASIC Kérdések
« Reply #1496 on: 2021.January.28. 11:29:00 »
SET FKEY command was very helpful when mine old kb membrane was partially broken. Besides the built-in joystick, the enter key also worked poorly, so I reprogram F8 key with chr$(13) value and can programming more comfortably.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14600
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #1497 on: 2021.January.28. 11:43:16 »
the enter key also worked poorly, so I reprogram F8 key with chr$(13) value and can programming more comfortably.
At my first membrane also the Enter dead... this is a sign of you are programmer :lol:
Then I used CTRL+M :ds_icon_cheesygrin:

Offline SlashNet

  • EP addict
  • *
  • Posts: 1125
  • Country: ua
  • Enterprise 128K | Cubietruck
    • My old site about Enterprise
Re: Általános BASIC Kérdések
« Reply #1498 on: 2021.January.28. 12:41:17 »
Then I used CTRL+M :ds_icon_cheesygrin:

:smt023
About control codes (not only for EP) I finded out only at 2000 year.
CtrlM would be more helpful in nineties, than my method.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9750
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1499 on: 2021.January.31. 12:11:37 »
A billentyű- és joystickfigyelésnek van valami más módja, mint az INKEY$ és a JOY() függvény? Arra gondolok, hogy valami cím értéke megváltozik, ha egy billentyű le van nyomva vagy a joystick el van mozdítva. Basic programoknál körülményes megoldani, hogy figyelje a joystickot és a billentyűzetet is, egyszerűbb lenne a CASE után a címértékeket odaírni, és azokra menne pl. jobbra a figura.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos