Welcome, Guest. Please login or register.


Author Topic: BASIC (Read 238564 times)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13885
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #1515 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 lover
  • *
  • Posts: 516
  • Country: ua
  • Enterprise 128K | Cubietruck
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 88.0.4324.99 Chrome 88.0.4324.99
    • View Profile
    • Russian info about Enterprise
Re: BASIC
« Reply #1516 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

  • EP addict
  • *
  • Posts: 8860
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1517 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 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1003
  • Country: hu
  • Stray cat from Commodore alley
  • OS:
  • Windows NT 6.3 Windows NT 6.3
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: BASIC
« Reply #1518 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: 2083
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 88.0.4324.104 Chrome 88.0.4324.104
    • View Profile
    • http://povi.fw.hu
Re: BASIC
« Reply #1519 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

  • EP addict
  • *
  • Posts: 13885
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #1520 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

  • EP addict
  • *
  • Posts: 8860
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1521 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 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 819
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
Re: BASIC
« Reply #1522 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: 5975
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 87.0.4280.101 Chrome 87.0.4280.101
    • View Profile
Re: BASIC
« Reply #1523 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

  • Beginner
  • *
  • Posts: 44
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: BASIC
« Reply #1524 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

  • EP addict
  • *
  • Posts: 8860
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1525 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 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline dp304

  • Beginner
  • *
  • Posts: 44
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: BASIC
« Reply #1526 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

  • EP addict
  • *
  • Posts: 8860
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 86.0 Firefox 86.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1527 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 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline dp304

  • Beginner
  • *
  • Posts: 44
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: BASIC
« Reply #1528 on: 2021.February.27. 15:01:01 »
MIN(I,50) ?

Offline szipucsu

  • EP addict
  • *
  • Posts: 8860
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 86.0 Firefox 86.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1529 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 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos