Welcome, Guest. Please login or register.


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

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1308
  • Country: hu
  • Stray cat from Commodore alley
Re: Általános BASIC Kérdések
« Reply #1500 on: 2021.January.31. 12:51:30 »
Az ep128.hu-n fent levő Tippek és trükkök ENTERPRISE könyv változatban az IN(n) szakasz pont ezt taglalja a billentyűzetnél. A JOY szakasz pedig a joystick esetében mutat példát. Talán.

Offline Povi

  • EP addict
  • *
  • Posts: 2300
  • Country: hu
    • http://povi.fw.hu
Re: Általános BASIC Kérdések
« Reply #1501 on: 2021.February.01. 09:20:06 »
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.
BASIC-ben a 181-es port írásával és olvasásával tudod figyelni a billentyűzetet és a belső joy-t, a külső joy-t a 181-es port írásával, és a 182-es port olvasásával. Szerintem ezt megvalósítani BASIC-ben nem egyszerűbb, mint a joy és az inkey$

nézd a billentyűzet mátrixot:
http://povi.uw.hu/images/key_matrix.png

ha pl. az ENTER-t akarod figyelni, az a 7. sorban van
ezért a 181-es portra írsz egy 7-est, majd beolvasod a 181-es port értékét, mondjuk a P nevű változóba, aminek értéke 0 és 255 között lesz
OUT 181,7
P = IN(181)

ha valaki lenyomta az ENTER-t, ami a 6. oszlopban van, akkor a P változó 6. bitje 0 lesz, vagyis  = 1011 1111 = 191, ha csak az ENTER-t nyomták le, és semmi mást abban a sorban.

vagy nézheted BAND utasítással is
P BAND 64 akkor lesz 0, ha lenyomták az ENTER-t

Code: [Select]
10 OUT 181,7
20 IF (IN(181) BAND 64)=0 THEN PRINT "Enter"
30 GOTO 10



*** Speicherplatz zu klein

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14753
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #1502 on: 2021.February.01. 10:46:54 »
A portos módszer akkor működhet, ha POKE 56,201 van, különben az EXOS maga is állítgatja B5h portot. Viszont ez esetben kell is ez a módszer, hiszen ekkor nem működik a billentyűzet kezelő. (Joy fügvény az megy)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9975
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1503 on: 2021.February.04. 20:51:48 »
A Flappy Bird témában előjött, hogyan lehetnek a karaktereknek az egyes sorai más színűek. Ilyet basicben is meg lehet csinálni? Vagy az LPT miatt inkább felejtős? Nyilván a legegyszerűbb, hogy külön kell definiálni a karaktereknek pl. a felső és az alsó részét, és más-más színnel íratni egy grafikus képernyőre, de ez nem az igazi. Bár így belegondolva, akár a kiírogatás idejére az adott karakterek alakját ki lehet olvasni a memóriából, és azzal hókuszókuszolni és külön-külön más színnel íratni ki, ez mondjuk pl. egy játék menüjében még el is menne, de biztos van kellemesebb módszer is.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 980
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #1504 on: 2021.February.04. 22:22:13 »
Úgy emlékszem a 255 lapon megvan mind a 10 sor elmentett eleme igaz a megszakításnak menni kell.

Vagy a "Hasznos kis Basic programok" résznél  INAB5.BAS

Offline geco

  • EP addict
  • *
  • Posts: 7145
  • Country: hu
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1505 on: 2021.February.05. 10:46:44 »
A soronkenti szinatmenet felejtos basicben az LPT miatt, ilyenkor minden pixel sorra kell csinalni egy LPB-t. Nalad az lehetne a megoldas, hogy attributum modot hasznalsz, minden sorra nyitsz egy csatornat, es az attributumokat allitod soronkent. A hogyan rajtad all, egyik modszer se lesz izgalom mentes, mert vagy sajat soronkenti karakter rajzolot csinalsz, hogy soronkent lehessen szinezni, vagy kiPRINTeled a karaktert mondjuk hatter szinnel, megkeresed az LPT-ben hol kezdodik az adott sor a videomemoriaban, es szepen beSPOKE-olod a szineket pixelsoronkent.

Offline dp304

  • EP fan
  • *
  • Posts: 116
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #1506 on: 2021.February.07. 00:24:16 »
A Flappy Bird témában előjött, hogyan lehetnek a karaktereknek az egyes sorai más színűek. Ilyet basicben is meg lehet csinálni? Vagy az LPT miatt inkább felejtős? Nyilván a legegyszerűbb, hogy külön kell definiálni a karaktereknek pl. a felső és az alsó részét, és más-más színnel íratni egy grafikus képernyőre, de ez nem az igazi. Bár így belegondolva, akár a kiírogatás idejére az adott karakterek alakját ki lehet olvasni a memóriából, és azzal hókuszókuszolni és külön-külön más színnel íratni ki, ez mondjuk pl. egy játék menüjében még el is menne, de biztos van kellemesebb módszer is.

Eszembe jutott erre egy egyszerű BASIC megoldás. SET ATTRIBUTES-szal meg lehet adni, hogy a PLOT ne rajzoljon át, csak a színt változtassa. Csatolok egy példát.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9975
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1507 on: 2021.February.07. 12:48:49 »
SET ATTRIBUTES-szal meg lehet adni, hogy a PLOT ne rajzoljon át, csak a színt változtassa.
Na, nekem meg évek óta lyukasra furdalta a kíváncsiság az oldalamat, mire lehet jó az a set attributes, és most itt egy jó példa.
Ha kiírás és színezés után a palettát változtatgatjuk, akkor talán jó kis hullámzást is bele lehet tenni a szövegbe.
A szöveg egyik részét így írjuk ki egy (vagy több, eltérő palettájú) videolapra, a szöveg másik részét más videolapokon úgy, hogy minden betű más színű és így mennek a színátmenetek, a harmadik részét pedig GRACHA háromszínű karakterekkel írjuk ki. És közben a háttér színét is lehet karaktersoronként váltogatni.  Ez azért nem nézne ki rosszul pl. a menüben. A következő basic játékban majd megpróbálom ezeket mind bedobni. Utána még zene kell gyűrűmodulációval, szűrővel, négy csatornán, lehetőleg sztereóban, és mindenki azt fogja hinni, Amigán fut a program. :D
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline dp304

  • EP fan
  • *
  • Posts: 116
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #1508 on: 2021.February.07. 13:06:17 »
És lehet olyat is, hogy a hátteret színezi be átmenettel, hasonlóan a szokásos rasztercsíkos effekthez: át kell írni a SZINEZ eljárásban a SET ATTRIBUTES 10-et 6-ra, a SET INK I-t pedig SET PAPER I-re.
És meg lehet csinálni azt is, hogy a sorokat azelőtt színezed, mielőtt kiírnád a szöveget. Akkor a kiírás előtt SET ATTRIBUTES 64 kell.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9975
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1509 on: 2021.February.27. 14:54:20 »
Van ez a sor:

100 SOUND PITCH 25+I

A PITCH utáni értékadásba bele lehet valahogy variálni, hogy ha pl. 50-nél nagyobb az I értéke, akkor is max 50-es értéket kezeljen itt, mint I-t? IF-fel meg lehet csinálni, de hátha van valami nagyon érdekes módszer erre, hogy a következőt egyetlen paraméter-értékadással meg lehessen oldani:

90 IF I>50 THEN I=50
100 SOUND PITCH 25+I

Ehelyett:

100 SOUND PITCH 25+(bonyolultvalami(I,50))
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline dp304

  • EP fan
  • *
  • Posts: 116
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #1510 on: 2021.February.27. 15:01:01 »
MIN(I,50) ?

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9975
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1511 on: 2021.February.27. 15:08:09 »
MIN(I,50) ?
Ne viccelj, ez ilyen egyszerű? Mindig tudtam, hogy van ez a MIN függvény, de a gyakorlatban nem ugrott be, hogy mikre lehetne használni. A matekkal is mindig ez volt a bajom, hogy sosem tudtam összekapcsolni az elméletet a gyakorlattal. Jó annak, akinek az ilyesmik könnyen beugranak. Szerintem itt kezdődhet a matematikus gondolkodás, ami nekem mindig magas volt. :D
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: 9975
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1512 on: 2021.March.09. 20:56:04 »
Valahogy le lehet kérdezni a már definiált burkológörbéket? Például parancsmódban kiadok egy envelope number definíciót, utána képernyőtörlés, és hallom, milyen szól, de már nem emlékszem pontosan, mit adtam meg.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline gflorez

  • EP addict
  • *
  • Posts: 3610
  • Country: es
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1513 on: 2021.March.10. 16:15:17 »
Esetleg bekukucskál(SPEEK) a SOUND csatorna pufferre?

--------

Maybe peeking(SPEEK) at the SOUND channel buffer?

-------

¿Quizás ojeando(SPEEK) en la zona de trabajo del canal SOUND?


[ Guests cannot view attachments ]
« Last Edit: 2021.March.10. 16:24:07 by gflorez »

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9975
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1514 on: 2021.March.10. 17:05:50 »
Esetleg bekukucskál(SPEEK) a SOUND csatorna pufferre?
És hogyan lehet oda bekukucskálni? Sejtettem, hogy valami SPEEK lesz a dologban.
Na, majd megpróbálok kísérletezni, hogy egy envelope number kiadása után mi lesz más a memóriában.
Akkor a 4946h címtől kellene kukucskálni?
Should I stare from the address 4946h?
¿Tengo que mirar del 4946h?

Remélem, nem túl nehéz visszafejteni az adatokat onnan, mert az escape szekvenciákban kiírt adatok eléggé nehezen értelmezhetőnek tűnnek első rákukucskálásra.
I hope the datas won't be too difficult to decompile as the datas saved through escape sequences seem quite hard to understand at first look.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos